Upload
dinhbao
View
224
Download
0
Embed Size (px)
Citation preview
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-1- WWW.ETT.CO.THETT CO., LTD.
ET-BASE AVR (ATmega8535) ET-BASE AVR เปนบอรดไมโครคอนโทรลเลอรในตระกูล AVR ของบริษัท Atmel ซึ่งในเวอรชันนี้ไดนําเอา MCU เบอร ATmega8535 ขนาด 40 Pin มาจัดวงจรใชงาน โดยในบอรด ET-BASE AVR นี้จะเนนการใชงานทรัพยากรของตัว MCU เองเปนหลกั ซึ่งจะมีการตอขาสญัญาณ I/O ออกมาจัดเรียงใหเปนพอรต PA, PB, PC, PD เพื่อใหสะดวกในการตอใชงาน พรอมทัง้พอรตสําหรับดาวนโหลดโปรแกรม นอกจากนี้ยงัไดเพิ่มเติมในสวนของวงจรไดรฟเวอร RS-232 เขาไปดวย เพื่อใหสามารถใชงานทางดานพอรตอนุกรม RS-232 ไดงายและสะดวกยิ่งขึน้ คุณสมบัติของบอรด
Support AVR Microcontroller 40 PIN เบอร AT90S8535, ATmega8535, ATmega16, ATmega163 ความเร็วสัญญาณนาฬิกา Crystal 8MHz I/O PORT 10 PIN จํานวน 4 PORT ดังนี ้PORT-PA, PORT-PB, PORT-PC, PORT-PD พอรต ET-PSPI Download สําหรับโปรแกรม MCU ชุดการสื่อสารแบบ RS-232 จํานวน 1 ชอง LED แสดงการทํางาน สีแดงคือ Power Supply, สีเขียวคือดาวนโหลด และสีเหลืองคือการ Self test ข้ัวตอแรงดันไฟ +5V DC และ GND
โครงสรางบอรด
3 5
10
71
1415
11
2
12
8
6
169
4
13
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-2- WWW.ETT.CO.THETT CO., LTD.
รายละเอียดหมายเลขตางๆ ดังนี้
• หมายเลข 1 คือข้ัวตอแหลงจายไฟ +5V DC
1 2
GND
+5V
• หมายเลข 2 คือ JUMPER เลือกการเชื่อมตอระหวาง LED หมายเลข 16 หรือตอไปยังพอรต PB0 ดังรูป LED/PB0
• หมายเลข 3 คือ Reset Switch • หมายเลข 4 คือ AVR Microcontroller 40 PIN เบอร AT90S8535/mega8535/mega16/mega163 • หมายเลข 5 คือ JUMPER เลือกการเชื่อมตอระหวาง RS232 หรือ I/O (PD0, PD1) ดังรูป
PD1
PD0
I/O
RS232
• หมายเลข 6 และ 7 คือ จุดเชื่อมตอไฟ +5V และ GND ตามลําดับ • หมายเลข 8, 9 , 10 และ 11 คือ I/O PORT 10 PIN จํานวน 4 PORT ดังนี้ PORT-PC, PORT-PA,
PORT-PB และ PORT-PD ตามลําดับ โดยจัดเรียงขาสัญญาณดังรูปตอไปนี้
PC2PC4PC6
+VCC
PC3PC5PC7GND
PC1PC0
PORT-PC[0..7]
PA2PA4PA6
+VCC
PA3PA5PA7GND
PA1PA0
PORT-PA[0..7]
PB2PB4PB6
+VCC
PB3PB5PB7GND
PB1PB0
PORT-PB[0..7]
PD2PD4PD6
+VCC
PD3PD5PD7GND
PD1PD0
PORT-PD[0..7]
• หมายเลข 12 คือพอรต ET-PSPI DOWNLOAD สําหรับเชื่อมตอ ET-CAB10PIN เพื่อโปรแกรม Hex File ใหกับ AVR ซึ่งไดจัดเรียงขาดังนี้
NCNC
MISOMOSI
NCSSRESSCK
GND+VCC
ET-PSPI DOWNLOAD
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-3- WWW.ETT.CO.THETT CO., LTD.
• หมายเลข 13 คือ LED PGM (สีเขียว) แสดงสถานะของการโปรแกรมหรือดาวนโหลด Hex file ลง MCU • หมายเลข 14 คือ LED PWR (สีแดง) แสดงสถานะของไฟเลี้ยงบอรด • หมายเลข 15 คือพอรตการสื่อสารแบบอนุกรม RS232 โดยมีรายละเอียดดังรูปตอไปนี้
2 41 3
+VCC
RXD
TXD
GND
RS232
• หมายเลข 16 คือ LED (สีเหลือง) ใชสําหรับการ Self test ตอกับขาสัญญาณ PB0 ดังรูปดานลาง
560
PB0PB0 Pin 1PB0 I/O
LED
PB0
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-4- WWW.ETT.CO.THETT CO., LTD.
การเชื่อมตออุปกรณสําหรับโปรแกรม Hex File การโปรแกรมซอรสโคด (Hex File) ใหกบั AVR MCU ตองใชงานรวมกับ ET-CAB10PIN และโปรแกรม PonyProg2000 โดยตอ ET-CAP10PIN เขากับพอรต Printer พรอมทั้งเลือก Jumper สําหรับใชงานกับโปรแกรม PonyProg2000 แลวตอสาย Download ที่ข้ัวตอ ET-PSPI Download ของบอรด พรอมทั้งจายไฟเขาบอรดใหเรียบรอย ถามกีารตออุปกรณภายนอกทีพ่อรต PB ใหปลดออกกอน โดยการเชื่อมตอจะมีลักษณะดังรูปตอไปนี ้
(ซาย) ET-CAP10P V2.0 (ขวา) ET-CAP10P V1.0 รูปแสดง การเลือก Jumper และการตอสาย Download ของ ET-CAP10P เพื่อใชกบั AVR
ET-CAB10PIN V2 ET-BASE AVR
ตอกับ Printer Port ของคอมพิวเตอร
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-5- WWW.ETT.CO.THETT CO., LTD.
การ Program ให Board ET-BASE AVR ดวยโปรแกรม PonyProg2000
โปรแกรม PonyProg2000 เปนโปรแกรม Download ขอมูลแบบ HEX File ใหกับ CPU ตระกูล AVR โดยใชวิธีการแบบ Serial Programming ซึ่งสามารถใชงานกับบอรดตระกูล AVR ของ อีทีที ไดเปนอยางดี ซึ่งวิธีการใชงานโปรแกรมโดยทั่วไปนั้น สามารถศึกษาไดจาก Help ของโปรแกรมไดเอง โดยในที่นี้จะขอแนะนําใหทราบถึงวิธีการ Setup โปรแกรม PonyProg2000 เพื่อใชงานกับบอรดตระกูล AVR ของ อีทีที ซึ่งสามารถใชงานไดกับบอรดตระกูล AVR ทุกรุนของ อีทีที สําหรับกรณีที่ใช CPU ตระกูล AVR เบอร ATmega8535 และ Atmega16 นั้น จะมีขอควรระวังอยูอยางหนึ่ง เนื่องจากโครงสรางภายในของ ATmega8535 นั้นจะมี Fuse Bit สําหรับกําหนดเงื่อนไขการทํางานของ CPU รวมอยูดวยหลายบิต ซ่ึง Fuse Bit ตางๆเหลานี้ บางบิตจะมีผลตอการ Download แบบ Serial Programming ดวย เนื่องจากถาเลือกกําหนดคุณสมบัติของ Fuse Bit ไมถูกตองอาจทําใหไมสามารถสั่งโปรแกรม CPU ตัวนั้นดวยวิธีการ Serial Programming ไดอีก นอกจากจะนํา CPU ตัวนั้นไปแกไข Fuse Bit ดวยเครื่องโปรแกรมแบบ Parallel ใหไดคาที่ถูกตองเสียกอน
โดยในการสั่งโปรแกรม CPU ตระกูล AVR ที่ใชงานกับบอรดของ อีทีที นั้น ถาใชการโปรแกรมดวยโปรแกรมของ “PonyProg2000” จะตองกําหนด Option ของโปรแกรมเพื่อใหสามารถใชงานกับบอรดของ อีทีที ดังนี้ 1. กําหนด Setup → Interface Setup… เปนดังนี้
- ใหเลือก I/O Port เปน Parallel และเลือก
รูปแบบการโปรแกรมเปน Avr ISP I/O - ใหเลือก Printer Port ตามทีต่อจริง เชน LPT1
ในกรณีที่ใชกบั Printer Port LPT1 - สวนของ Polarity Control Line ไมตองเลอืก - การ Setup นีท้ําเพียงครั้งเดยีวตอนเริ่มใชงาน
โปรแกรมในครั้งแรกเทานัน้
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-6- WWW.ETT.CO.THETT CO., LTD.
2. ส่ังใหโปรแกรม PonyProg2000 ทําการคํานวณหาคาความเร็วที่เหมาะสมสําหรับใชในการสงสัญญาณไปโปรแกรม CPU โดยเลือกจาก Setup → Calibration
↓
- การสั่ง Calibration จะกระทําเพียงครั้งเดียวในตอนเรียกใชงานโปรแกรมครั้งแรกเทานั้น 3. เลือกกําหนดเบอร CPU จาก Device → AVR Micro → เชน Atmega8535
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-7- WWW.ETT.CO.THETT CO., LTD.
4. เลือกกําหนด Command → Security and Configuration Bits โดยถาเปน AVR เบอรอ่ืนๆ สามารถกําหนดการทํางานของ Fuse Bit ไดตามตองการ โดยสามารถศึกษารายละเอียดของ Fuse Bit ตางๆไดจาก Data Sheet ของ CPU ที่ใชไดเอง แตในกรณีที่ใชงานกับ Atmega8535 และ Atmega16 นั้นตองระมัดระวังในการเลือกกําหนด Fuse Bit ใหถูกตองดวย ซ่ึงถากําหนดผิดอาจสงผลใหไมสามารถสั่งโปรแกรม CPU ดวยวิธีการ Serial Programming ไดอีก โดยใหกําหนดเปนดังนี้
รูปแสดง การเลือกกําหนด Fuse Bit เพื่อใชกับ CPU เบอร ATmega8535
รูปแสดง การเลือกกําหนด Fuse Bit เพื่อใชกับ CPU เบอร ATmega16
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-8- WWW.ETT.CO.THETT CO., LTD.
ความหมายของ Fuse Bit ตางๆของ ATmega8535 และ Atmega16
ในกรณีที่เลือก [√] ที่หนา Fuse Bit ตัวใด หมายถงึการกําหนดให Fuse Bit นั้นๆมีคาเปน “0” หรือการส่ังโปรแกรม Fuse Bit นั้นๆ
ในกรณีที่ไมเลอืก [√] ที่หนา Fuse Bit ตัวใด หมายถึงการกําหนดให Fuse Bit นั้นๆ มีคาเปน “1” หรือส่ังไมโปรแกรม Fuse Bit นั้นๆ
ความหมายของ Fuse Bit ของ ATmega8535 และ Atmega16 ที่มีผลตอ Serial Programming
• S8535C เปน AT90S8535 Compatible Mode Bit ถาสั่งโปรแกรม Fuse Bit นี้จะเปนการกาํหนดให ATMEGA8535 มีคุณสมบัติเหมือนกับกบั AT90S8535 (AT90S8535 Compatible) ซึ่งในกรณีที่ใช ATmega8535 แทน AT90S8535 ควรสั่งโปรแกรม Fuse Bit นี้เพื่อให CPU สามารถทํางานกับโปรแกรมตัวอยางของ AT90S8535 ได
• SPIEN เปน Serial Programming Enable Bit ซึ่งจะตองสั่งโปรแกรม Fuse Bit นี้ไวเสมอ เพื่อใหสามารถสัง่ Download โปรแกรมใหกับ CPU ดวยวธิีการ In-System Serial Programming ได ซึ่งตามปรกติแลว Fuse Bit นี้จะถกูสั่งโปรแกรมมาจากโรงงานอยูแลว และไมสามารถสัง่ลบหรือแกไข Fuse Bit นี้ไดดวยโหมด Serial Programming แตถามีการนํา CPU ไปโปรแกรมดวยเครื่องแบบ Parallel Programming จะตองไมลืมส่ังโปรแกรม Fuse Bit นี้ไวดวยเสมอทุกครั้ง
• CKOPT เปน Oscillator Option Bit ถาสั่งโปรแกรม Fuse Bit นี้จะเปนการกําหนดให CPU ทํางานที่ยานความถี่ 16MHz แตถาไมไดส่ังโปรแกรม Fuse Bit นี้จะเปนการกําหนดให CPU ทํางานที่ยานความถี่ไมเกิน 8MHz ซึ่งถาใชกับบอรดมาตรฐานของอทีทีี จะใช XTAL เปนแหลงกําเนิดความถี ่ดังนั้นควรสั่งโปรแกรมคา Fuse Bit นี้ไว เพื่อให CPU สามารถทาํงานไดที่ยานความถี่ของ XTAL ต้ังแต 1.0MHz-16.0MHz
• CKSEL3…0 เปน Select Clock Source Bit ใชรวมกันสําหรับเลือกแหลงกําเนิดและยานของความถี่ที่จะใชกับ CPU ซึ่งในกรณีใชงานกับบอรดมาตรฐานของอีทีที ตองเลือกเปน External Crystal คา 1.0 MHz - 16.0 MHz ซึ่งถาเลอืกเปนอยางอืน่จะทําใหการทํางานของโปรแกรมผิดพลาด และที่สาํคัญถาเลือกแหลงกาํหนดความถี่ผิด เชน เลือกเปน External Clock หรือ External RC Oscillator จะทําให CPU ไมสามารถทํางานได เนื่องจากไมมกีารตอสัญญาณนาฬกิาจากภายนอกไวให และจะทาํใหไมสามารถสัง่โปรแกรม CPU ตัวนั้นดวยวธิีการแบบ Serial Programming ไดอีก จนกวาจะมีการนํา CPU ไปแกไขคา Fuse Bit เพื่อเลือกแหลงกําเนิดสัญญาณนาฬกิาเปน External Crystal ใหถูกตองเสียกอน
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-9- WWW.ETT.CO.THETT CO., LTD.
แหลงกาํเนิดสัญญาณนาฬิกาของ AVR Atmega8535 และ ATmega16
การกาํหนด Fuse Bit ของ CKSEL[3…0] (0=Program,1=Un-Program)
External Crystal/Ceramic Resonator 1111-1010 External Low Frequency Crystal 1001 External RC Oscillator 1000-0101 Calibrated Internal RC Oscillator 0100-0001 External Clock 0000
ตารางแสดง การเลือกแหลงกําเนิดความถีจ่าก Fuse Bit CKSEL [3…0]
หมายเหต ุ - คา 1 หมายถงึ การสัง่ไมโปรแกรม Fuse Bit นั้นๆ โดยไมตองใสเครื่องหมาย [√] หนา Fuse Bit - คา 0 หมายถงึ การสัง่โปรแกรม Fuse Bit นั้นๆ โดยการเลือกเครื่องหมาย [√] หนาชือ่ Fuse Bit - ในกรณีที่ใชกบั Atmega8535 ควรสั่งโปรแกรม Fuse Bit ของ S8535C เพื่อให ATmega8535 มี
คุณสมบัติเหมอืนกับ AT90S8535 - ควรสั่งโปรแกรม Fuse Bit ของ CKOPT เพื่อใหใชงานที่ยานความถี่ 1.0MHz-16.00MHz - หามสัง่โปรแกรม Fuse Bit ของ CKSEL[3..0] เพราะจะทําใหการทาํงานไมถูกตอง
ตัวอยางเชน ถาเลือกสั่งโปรแกรม Fuse Bit ของ CKSEL[3..0] ใหมีคาเปน 0 ทั้งหมด ซ่ึงหลังจากโปรแกรม PonyProg2000 ทาํการเขียนคา Fuse Bit นี้ใหกับ CPU เรียบรอยแลวจะทําให CPU ไมสามารถใชงานไดกบับอรดของ อีทีที อีก และจะไมสามารถสั่งโปรแกรมแกไขคา Fuse Bit ใหมใหกับ CPU ดวยวิธกีารแบบ Serial Programming ไดอีก เนื่องจาก CPU ไมสามารถทํางานไดอีก เพราะวาการสัง่โปรแกรม Fuse Bit ของ CKSEL[3..0] ใหเปน 0 ทั้งหมด จะเปนการสั่งให CPU ทํางานดวยความถี่ของสัญญาณนาฬกิาจากภายนอก (External Clock) ซ่ึงจะทําใหวงจรกําเนดิความถี่ของ External Crystal หยุดทํางาน โดย CPU จะรอรบัสัญญาณนาฬิกาจากภายนอกเพยีงอยางเดียวเทานั้น แตบอรดของ อีทีที จะใชสัญญาณนาฬกิาจาก วงจร Crystal (External Crystal) เทานัน้ ดังนั้นเมื่อ CPU ไมสามารถเริ่มตนทาํงานได กจ็ะทําใหเราไมสามารถสั่งโปรแกรมแกไขคา Fuse Bit ที่ถูกตองใหกับ CPU ดวยวิธกีารแบบ Serial Programming ไดอีก ซ่ึงจะตองนํา CPU ตัวนั้น ไปทาํการแกไขคา Fuse Bit ดวยเครื่องโปรแกรมแบบ Parallel เสียกอนจึงจะสามารถนํามาใชงานกับวธิีการโปรแกรมแบบ Serial Programming ไดเหมือนเดิม
- ตําแหนง Fuse Bit ของ Lock[2..1] สามารถกําหนดไดตามตองการ
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-10- WWW.ETT.CO.THETT CO., LTD.
5. เลือกกําหนด Command → Program Option เปนดังนี้
6. ส่ังเปดไฟลสําหรับที่จะใชโปรแกรมใหกับ CPU โดยเลือกจาก File → Open Program (FLASH) File… → พรอมทั้งระบุชื่อและที่อยูของ HEX File ที่จะใชโปรแกรมใหเรียบรอย
↓
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-11- WWW.ETT.CO.THETT CO., LTD.
7. ส่ังเริ่มตนโปรแกรมขอมูลใหกับ CPU โดยเลือก Command → Program จากนั้นโปรแกรมจะเริ่มทํางานตามคําสั่งที่เราเลือกกําหนดไวในขอ 5 คือ Load File →Erase→Write Program memory (FLASH) และ Write Security and Config Bits ตามลําดับ ซึ่งใหรอจนการทํางานของโปรแกรมเสร็จสมบูรณ
↓
ซึ่งหลังจากการโปรแกรมเสร็จเรียบรอยแลว CPU จะเริ่มตนทํางานตามขอมูลในโปรแกรมที่ส่ัง Download
ใหทันที
คูมือการใชงาน ET-BASE AVR (ATmega8535)
-12- WWW.ETT.CO.THETT CO., LTD.
การตรวจสอบเบื้องตนเมื่อไมสามารถดาวนโหลดโปรแกรมได
ถาเกิดการ Error ในขั้นตอนของการโปรแกรมใหตรวจสอบปญหาดังนี้ อานคูมือการใชงานบอรด และคูมือวิธีการ Download โปรแกรม AVR ดวย PonyProg2000 ใหละเอียด ตรวจสอบการเชื่อมตอของสายสัญญาณตางๆ และ ในการ Download โปรแกรมโดยใช PonyProg2000 นั้น จะตองใชงานรวมกับชุด Cable Download รุน ET-CAP10PIN ของ ETT ดวย ซึ่งตองมีการกําหนด JUMPER ใหเปน PonyProg ใหถูกตองดวย (รายละเอียดหนา 4)
ตรวจสอบการจายไฟเลี้ยงใหกับบอรด ตรวจสอบการตั้งคาตางๆของโปรแกรมสําหรับดาวนโหลด PonyProg2000 ตรวจสอบวามีการนําสัญญาณจากพอรต PORT-PB ของ CPU ไปตอไวกับอุปกรณภายนอกในขณะสั่ง
Download หรือไม ตัวอยางเชน ตอกับ LED หรือ นําสัญญาณจากพอรต PB ไปตอไวกับวงจรอื่นๆในขณะส่ัง Download ขอมูลอยู
12
34
56
A B C D
65
43
21
DCBA
Title
Num
berRevision
Size
BDate:
8-Nov-2005
Sheet of File:
D:\M
y Circuit\ET-BASE_A
VR.D
dbD
rawn By:
12
34
56
78
910
PA0
PA2
PA4
PA6
PA1
PA3
PA5
PA7
12
34
56
78
910
PB0 I/OPB2PB4PB6
PB1PB3PB5PB7
12
34
56
78
910
PC0PC2PC4PC6
PC1PC3PC5PC7
12
34
56
78
910
PD0 I/O
PD2
PD4
PD6
PD1 I/O
PD3
PD5
PD7
PB0 (T0)1
PB1 (T1)2
PB2 (AIN
0)3
PB3 (AIN
1)4
PB4 (SS)5
PB5 (MO
SI)6
PB6 (MISO
)7
PB7 (SCK)
8
PA0 (A
DC0)
40
PA1 (A
DC1)
39
PA2 (A
DC2)
38
PA3 (A
DC3)
37
PA4 (A
DC4)
36
PA5 (A
DC5)
35
PA6 (A
DC6)
34
PA7 (A
DC7)
33
PC0 (SCL)22
PC1 (SDA
)23
PC224
PC325
PC426
PC527
PC6 (TOSC1)
28
PC7 (TOSC2)
29
PD0 (RX
D)
14
PD1 (TX
D)
15
PD2 (IN
T0)16
PD3 (IN
T1)17
PD4 (O
C1B)18
PD5 (O
C1A)
19
PD6 (ICP)
20
PD7 (O
C2)21
VCC
10
RESET9
GN
D11
XTA
L113
XTA
L212
AREF
32
AV
CC30
AG
ND
31
90S8535/Mega8535/M
ega16/Mega163
8MH
z22pF
22pF
470K
+5V
SW-RESET
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PB0 Pin 1PB1PB2PB3PB4PB5PB6PB7
PC0PC1PC2PC3PC4PC5PC6PC7
PD0 Pin 14
PD1 Pin 15
PD2
PD3
PD4
PD5
PD6
PD7
RESET
10uF/25V
10uF/25V
10uF/25V
10uF/25V
C1+1
C1-3
C2+4
C2-5
R1O12
T1I11
R2O9
T2I10
VCC
16
V+
2
V-
6
GN
D15
R1I13
T1O14
R2I8
T2O7
MA
X232
+5V
1 2 3 4
RS232
VCC
RXD
TXD
GN
D
+5V
560
PWR (Red)
+5V
ET
T C
O.,L
TD
.
ET
-BA
SE A
VR
1.0
12
74LS07
1312
74LS07
34
74LS07
98
74LS07
56
74LS07
10K
+5v
PGM
560
+5V
10K
+5V
10K
+5V
0.01uF
0.01uF
0.01uF
+5V
MO
SI
SCK
RES
MISO
PB5
PB7
RESET
PB6560
PB0
10K
10K
10K
10K
12
34
56
78
910
DO
WN
LOA
D
+5V
MISO
MO
SI
GN
D
RESSCK
PD0 I/O
PD0 Pin 14
PD1 Pin 15
PD1 I/O
PB0 Pin 1PB0 I/O
0.1uF
0.1uF
0.1uF0.1uF
1010
+5V
+5V
GN
D
AVR
TC. U1
+5VG
ND
+5VG
ND
+5VG
ND
GN
D+5V
10K
+5
GN
D
I/O
RS232
I/O
RS232
+5V
+5V
+5V
+5V
1
LED
PB0