วันอาทิตย์ที่ 2 ตุลาคม พ.ศ. 2554

Blink LED by ATxmega128D3


วันนี้ผมทดลองต่อ MCU ตัวใหม่ของทาง ATMEL ที่เป็นตัวต่อยอดจาก AVR ซึ่ง MCU ตัวนี้เป็น Core เดียวกันกับสถาปัตกรรมของ AVR ซึ่งแก้ไขข้อจำกัดบางประการของ AVR อย่างเช่นเรื่องแก้ Fuse bit , เรื่อง Interrupt ซึ่งแยกการทำงานโดยอิสระต่อกัน , แรงพลังงานที่ประหยัดลง, มีออสซิลเลเตอร์ภายใน และสามารถต่อภายนอกได้อีกครับ!!!
ผมทดลองต่อวงจรเพื่อทดสอบการทำงานของ ATxmega128D3 ที่ได้ Sample มาจาก Mobicon Thailand
วรจรตามรูปด้านบน ผมต่อไฟ 3VDC ให้กับวงจรที่ขา 15,24,35,45,53,61 และต่อ GND ขา 14,24,34,44,52,60 และต่อขาเพื่อโปรแกรม 56(PDI), 57(RESET) และต่อ PORTA0 กับ LED โดยในวงจรไม่ได้ต่อ XTAL ครับ
เพื่อให้ง่ายต่อการต่อวงจรผมทำ PCB ขึ้นมาเพื่อบัดกรี ATxmega128 ลงไปในบอร์ดเนืองจาก เป็นตัวถังแบบ TQFP64 ผมทำเผื่อไว้ให้ใช้งานได้กับ TQFP32, TQFP44, TQFP64 ที่ทำเป็นแถวยาวเพราะต้องการให้เสียบลง Breadboard ได้ ดาว์นโหลดไฟล์ PCB
รูปการต่อวงจรโดยการโปรแกรมใช้เครื่องโปรแกรมที่สามารถโปรแกรมโหมด PDI ให้ต่อไฟจากเครื่องโปรแกรมลงที่บอร์ดและ ขา GND ด้วยนะครับไม่เช่นนั้นจะไม่สามารถโปรแกรม ATxmega ได้
การเขียนโปรแกรมทดสอบ
#define  F_CPU 2000000UL  		//Int RC 2 MHz
 
#include<avr/io.h>
#include<util/delay.h>
void main(void){
	PORTA.DIRSET |= (1<<PORT0);
	for(;;){
		PORTA.OUTTGL= (1<<PORT0);
		_delay_ms(250);
	}
}
การโปรแกรม

ไม่มีความคิดเห็น: