et-mega2560-adk · คู มือการใช งานบอร...

36
คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุET-MEGA2560-ADK ETT CO.,LTD -1- WWW.ETT.CO.TH ET-MEGA2560-ADK จากการทีArduino ที่เปนโครงการพัฒนาระบบ MCU ของ AVR แบบ Open Source ไดรับการ แนะนําเผยแพรออกมาสูสาธารณะ ซึ่งไดรับความนิยมกันอยางแพรหลายจากผูคนทั่วโลก ภายในระยะเวลา อันรวดเร็ว ทางดานของ Software ก็มีการพัฒนากันอยางตอเนื่อง ซึ่งในขณะนี( กันยายน 2554) โปรแกรม ของ Arduino ไดรับการปรับปรุงเปน Version “arduino-0022” แลว โดยทางดาน Hardware เองก็ไดมีการ พัฒนาปรับปรุงอยางตอเนื่องควบคูกันไปดวยเชนเดียวกัน ซึ่งจากเดิมที่มีการพัฒนาโปรแกรมใหรองรับกับ การใชงานไดกับชิพ MCU รุนเล็ก 28 ขา อยาง ATMEGA8,ATMEGA88/ATMEGA168/ATMEGA328 และ พัฒนาตอมาจนเปนรุนใหญแบบ 100Pin อยาง ATMEGA1280/ATMEGA2560 ตามลําดับ และลาสุดไดมีการพัฒนาขีดความสามารถของ Arduino บน AVR ใหสามารถเชื่อมตอกับอุปกรณ USB Host ได ทําใหสามารถนํา Arduino ไปดัดแปลงประยุกตเชื่อมตอกับอุปกรณ USB Device แบบตางๆ เชน USB HID Keyboard หรือ USB HID Mouse เปนตน และที่นาตื่นเตนและนายินดีเปนอยางยิ่งก็คือการ นําเอา Arduino ไปประยุกตเชื่อมตอกับสมารทโฟนที่ใชระบบปฏิบัติการแอนดรอยด (Android) ซึ่งเปน ระบบปฏิบัติการแบบ โอเพนซอรส จากคาย Google ยักษใหญดานเวปบราวเซอรของโลก ซึ่งเปนที่รูจักกัน ในแวดวงผูใช ในนามของ แอนดรอยดโฟน ซึ่งทําใหเราสามารถเชื่อมตอสื่อสารสั่งานบอรด Arduino ผาน อุปกรณ แอนดรอยดโฟน ได ซึ่งนับเปนพัฒนาการอีกขั้นของ Arduino บน AVR ที่ไดรับการพัฒนาขึ้นมา ทํา ให Arduino มีความโดดเดนและนาสนใจมากยิ่งขึ้นไปอีก และในวันนี้ทาง อีทีที จึงไดนําชิพ MCU ตระกูล AVR เบอร ATMEGA2560 และ MAX3421 มา พัฒนาเปนบอรด Arduino แบบมี USB Host เพื่อรองรับการเชื่อมตออุปกรณ USB Device และ อุปกรณ แอนดรอยดโฟน โดยใชชื่อวา ”ET-MEGA2560-ADK” โดยไดออกแบบใหมีการจัดสรร Pin I/O ตางๆ รวมทั้งขนาดใหตรงตามมาตรฐานของบอรด “Arduino Mega” เพียงแตไดมีการเพิ่ม USB Host และ ปรับปรุงขอจํากัดบางอยางใหดียิ่งขึ้น เพื่อเพิ่มความสะดวกกับผูใชงานมากยิ่งขึ้น

Upload: others

Post on 14-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -1- WWW.ETT.CO.TH

ET-MEGA2560-ADK

จากการที ่ Arduino ที่เปนโครงการพัฒนาระบบ MCU ของ AVR แบบ Open Source ไดรับการแนะนําเผยแพรออกมาสูสาธารณะ ซึ่งไดรับความนิยมกันอยางแพรหลายจากผูคนทั่วโลก ภายในระยะเวลาอันรวดเร็ว ทางดานของ Software ก็มีการพัฒนากันอยางตอเนื่อง ซึ่งในขณะนี้ (กันยายน 2554) โปรแกรมของ Arduino ไดรับการปรับปรุงเปน Version “arduino-0022” แลว โดยทางดาน Hardware เองก็ไดมีการพัฒนาปรับปรุงอยางตอเนื่องควบคูกันไปดวยเชนเดียวกัน ซึ่งจากเดิมที่มีการพัฒนาโปรแกรมใหรองรับกับการใชงานไดกับชิพ MCU รุนเล็ก 28 ขา อยาง ATMEGA8,ATMEGA88/ATMEGA168/ATMEGA328 และพัฒนาตอมาจนเปนรุนใหญแบบ 100Pin อยาง ATMEGA1280/ATMEGA2560 ตามลําดับ

และลาสุดไดมีการพัฒนาขีดความสามารถของ Arduino บน AVR ใหสามารถเชื่อมตอกับอุปกรณ USB Host ได ทําใหสามารถนํา Arduino ไปดัดแปลงประยุกตเชื่อมตอกับอุปกรณ USB Device แบบตางๆ เชน USB HID Keyboard หรือ USB HID Mouse เปนตน และที่นาต่ืนเตนและนายินดีเปนอยางยิ่งก็คือการนําเอา Arduino ไปประยุกตเชื่อมตอกับสมารทโฟนที่ใชระบบปฏิบัติการแอนดรอยด (Android) ซึ่งเปนระบบปฏิบัตกิารแบบ โอเพนซอรส จากคาย Google ยักษใหญดานเวปบราวเซอรของโลก ซึ่งเปนที่รูจักกันในแวดวงผูใช ในนามของ แอนดรอยดโฟน ซึ่งทําใหเราสามารถเชื่อมตอสื่อสารสั่งานบอรด Arduino ผานอุปกรณ แอนดรอยดโฟน ได ซึ่งนับเปนพัฒนาการอีกขั้นของ Arduino บน AVR ที่ไดรับการพัฒนาขึ้นมา ทําให Arduino มีความโดดเดนและนาสนใจมากยิ่งขึ้นไปอีก และในวันนี้ทาง อีทีท ี จึงไดนําชิพ MCU ตระกูล AVR เบอร ATMEGA2560 และ MAX3421 มาพัฒนาเปนบอรด Arduino แบบมี USB Host เพ่ือรองรับการเชื่อมตออุปกรณ USB Device และ อุปกรณแอนดรอยดโฟน โดยใชชื่อวา ”ET-MEGA2560-ADK” โดยไดออกแบบใหมีการจัดสรร Pin I/O ตางๆ รวมทั้งขนาดใหตรงตามมาตรฐานของบอรด “Arduino Mega” เพียงแตไดมีการเพิ่ม USB Host และปรับปรุงขอจํากัดบางอยางใหดย่ิีงขึ้น เพ่ือเพ่ิมความสะดวกกับผูใชงานมากย่ิงขึ้น

Page 2: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -2- WWW.ETT.CO.TH

คุณสมบัติของบอรด

ใช ATMEGA2560 เปน MCU ประจําบอรด Run ความถี่ 16MHz จาก Crystal Oscillator 256KByte Flash(สงวนไว 4KByte สําหรับ Bootloader) / 8KByte SRAM / 4KByte EEPROM รองรับการพัฒนาโปรแกรมดวยภาษา C++ ของ Arduino ตามแบบ Arduino Mega ได 100% ใช USB Bridge ของ FTDI เบอร FT232RL พรอม Over Current Protection สําหรับติดตอสื่อสาร

และ Download Code จากคอมพิวเตอรใหบอรด โดยไมตองใชเครื่องโปรแกรมจากภายนอก On Board USB Host(MAX3421) สําหรับเชื่อมตอ USB Device หรืออุปกรณ Android ADK

รองรับการพัฒนาโปรแกรมดวย ADK (Android Open Accessories development Kit) โดยใช Google Open Accessories API เม่ือใชกับอุปกรณแอนดรอยดทีไ่ดรับการติดตั้งระบบปฏิบัติการแอนดรอนด V2.3.4 หรือสูงกวา

รองรับการพัฒนาโปรแกรมดวย Android Debug Bridge (ADB) โดยใช Library ของ Microbridge เม่ือใชกับอุปกรณแอนดรอยดที่ไดรับการติดตั้งระบบปฏิบัติการแอนดรอนด V1.5 หรือสูงกวา

54 Pin Digital I/O โดยมี 16 Pin Analog Input (ADC ขนาด 10 บิต 16 ชอง) 14 PWM outputs 4 UART(Hardware Serial Port) แบบ TTL Logic 1 Hardware TWI (I2C) 1 Hardware SPI (up to 8Mbps)

ขนาดของ PCB บอรด และ ตําแหนง Pin Connector ตางๆ ตรงกันกับ Arduino Mega ทั้งหมด ทําใหสามารถนําไปติดต้ังใชงานรวมกับบอรด Shield แบบตางๆที่มีการผลติขึ้นมาใชงานรวมกันกับบอรด Arduino Mega ไดทั้งหมด โดยบอรดมีขนาด PCB Size 5.3cm x 10.2cm

รองรับการใชงานกับ External Supply ทั้งแบบ AC และ DC ขนาด 7-12V โดยเลือกใช Regulate แบบ Switching ขนาด 1A (LM2575-5V) ลดปญหาเรื่องความรอนเม่ือมีการใชกระแสสูงๆ สามารถใชแหลงจายจากพอรต USB ไดในกรณีใชกระแสไมเกิน 500mA โดยมีวงจรเลือกแหลงจายอัตโนมัติ โดยจะตัดการใชไฟเลี้ยงจาก USB โดยอัตโนมัติ เม่ือมีการตอแหลงจายจากภายนอกใหบอรด

Page 3: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -3- WWW.ETT.CO.TH

โครงสรางบอรด ET-MEGA2560-ADK

รูปแสดง โครงสรางของบอรด ET-MEGA2560-ADK

1

3 5

7

8

2

4

9

6

10 11 12

13 14 15

16

1

2

34

56

7

8

9

10

11

12

13

14

1516

Page 4: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -4- WWW.ETT.CO.TH

หมายเลข 1 คือ ขั้วตอแหลงจายไฟเลี้ยงจากภายนอก สามารถใชไดกับแหลงจายทั้งแบบ AC และ DC พรอมวงจร Bridge Rectifier และ Regulate แบบ Switching ชวยลดความรอนของ IC Regulate เม่ือมีการดึงกระแสมากๆไดเปนอยางดี สามารถใชกับแรงดัน Input 7-12V

หมายเลข 2 เปนขั้วตอ USB Host สําหรับเชื่อมตอกับอุปกรณ USB Device ตางๆ หมายเลข 3 เปนขั้วตอ USB Device สําหรับติดตอสื่อสารกับคอมพิวเตอร PC โดยใช FT232RL

เปน USB Bridge ในการเชือ่มตอระหวางคอมพิวเตอร PC และ MCU ในบอรด และยังสามารถใชไฟจาก พอรต USB เปนแหลงจายใหกับบอรดไดดวย โดยจะมี Poly Fuse ขนาด 500mA สําหรับปองกันการดึงกระแสเกินจากพอรต USB ดวย และที่พิเศษคือมีวงจรสําหรับตรวจสอบแหลงจาย เพ่ือสลับการใชงานแหลงจายจาก USB ไปเปน External Supply ไดเอง โดยอัตโนมัติ โดยเม่ือไมไดตอ External Supply บอรดจะใชไฟจากพอรต USB เปนแหลงจายในการทํางาน แตเม่ือมีการตอ External Supply วงจรจะสลับไปใชแหลงจายจาก External Supply เองโดยอัตโนมัต ิo LED +VCC ใชแสดงสถานะเม่ือมีการจายไฟใหกับบอรด o LED VEXT ใชแสดงสถานะเม่ือมีการจายไฟจาก External Supply

หมายเลข 4 เปน LED VEXT ใชแสดงสถานะเม่ือมีการจายไฟเลี้ยงจาก External Supply หมายเลข 5 เปน LED +VCC ใชแสดงสถานะของแหลงจายไฟเลี้ยง (+VCC) ของบอรด โดยเม่ือ

บอรดใชแหลงจายจาก External Supply จะแสดงสถานะโดยการให LED VEXT และ LED +VCC ติดสวางพรอมกันทั้งคู แตถาบอรดใชแหลงจายจากพอรต USB จะแสดงสถานะโดยการให LED +VCC ติดสวางเพียงดวงเดียว

หมายเลข 6 เปน LED แสดงสถานะของ RX และ TX ใชสําหรับแสดงการรับสงขอมูลระหวางบอรด ET-MEGA2560-ADK กับคอมพิวเตอร PC ผานทางพอรต USB

หมายเลข 7 เปน LED D13 ใชสําหรับทดแสดงการทํางานของ Bootloader และ ใชทดสอบการทํางานของบอรดจากการควบคุมของ Pin Digital-13 ทํางานดวย Logic “1” และ หยุดทํางานดวย Logic “0”

หมายเลข 8 เปนสวิตช Reset ใชสําหรับสั่ง Reset การทํางานของบอรด หมายเลข 9 เปนขั้วตอ AVRISP ใชสําหรับโปรแกรม Bootloader ใหกับ MCU หมายเลข 10 เปนขั้วตอ Power หมายเลข 11,12 เปนขั้วตอสัญญาณ Analog A[0..7] และ Analog A[8..15] ตามลําดับ หมายเลข 13,14,15 เปนขั้วตอสัญญาณ Digital D[0..7],D[8..13] และ D[14..21] หมายเลข 16 เปนขั้วตอสัญญาณ Digital D[22..53]

Page 5: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -5- WWW.ETT.CO.TH

คุณสมบัติของสัญญาณตางๆของบอรด ET-MEGA2560-ADK

RESET# เปนสัญญาณ Input Reset ของ MCU ทํางานเม่ือเปน Logic Low โดยสัญญาณ RESET# นี้จะถูกควบคุมจาก 2 แหลง คือ จาก สวิตช RESET ภายในบอรด และ จากสัญญาณ DTR ของ FT232RL

+3V3 เปนแหลงจายไฟขนาด +3.3V ที่ไดจากวงจร Regulate ของ LM1117-3V3 สามารถจายกระแสไดสูงสุด 500mA

+5V เปนจุดตอแหลงจายไฟของบอรดออกไปใชงาน ซึ่งมาจากแหลงกําเนิด 2 แหลง คือ จากพอรต USB และจาก External Supply ซึ่งถาตอแหลงจายใหบอรดจาก External Supply ผานทาง Jack VIN แหลงจาย +5V นี้จะมาจาก Switching Regulate (LM2575-5V) สามารถจายกระแสไดสูงสุดถึง 1A แตถาใชแหลงจายจากพอรต USB แหลงจาย +5V นี้จะมาจากพอรต USB โดยตรงโดยจะมีฟวส แบบ Poly ขนาด 500mA ตอปองกันการดึงกระแสเกินเพ่ือปองกันความเสียหายของพอรต USB โดยจะจายกระแสไดสูงสุดไมเกิน 500mA ขึ้นอยูกับการ Configure คาใหกับ FT232RL ดวย

+VIN เปนไฟ DC ที่รับมาจาก Jack VIN(External Supply) แตผานการ Rectifier และ Filter เปน DC แลว มีขนาดแรงดันเฉลี่ยตามขนาดแรงดันที่ปอนใหกับบอรดทาง Jack VIN

A0-A15 เปนขาสัญญาณ Analog Input แบบ ADC มีขนาดความละเอียด 10บิต มี 16 Pin สามารถรับแรงดัน Analog Input ได 0-5VDC

D0-D53 เปนขาสัญญาณ Digital Input/Output แบบ TTL มีทั้งหมด 54 Pin สามารถใชทําหนาที่เปน Input หรือ Output ตามการกําหนดจากโปรแกรม โดยมีบาง Pin สามารถกําหนดหนาที่ใชงานเปนฟงกชั่นพิเศษตางๆเพ่ิมเติมไดอีก o D0-D1 ถูกสงวนไวใชทําหนาที่เปนพอรตสื่อสารอนุกรม RS232 (UART0) โดยไดทําการ

เชื่อมตอกับ USB Bridge ของ FT232RL เพ่ือใช Upload Code ใหกับบอรด และยังสามารถใชทดลองตดิตอสื่อสารรับสงขอมูลระหวางบอรดกับคอมพิวเตอร PC ไดดวย

o D2-D13 สามารถ โปรแกรมหนาที่เปน PWM ขนาด 8 บิต มี 14 Pin ได o D14 สามารถ โปรแกรมหนาที่เปน TX3 สําหรับ สงขอมูลของ UART3 ไดดวย o D15 สามารถ โปรแกรมหนาที่เปน RX3 สําหรับ รับขอมูลใหกับ UART3 ไดดวย o D16 สามารถ โปรแกรมหนาที่เปน TX2 สําหรับ สงขอมูลของ UART2 ไดดวย o D17 สามารถ โปรแกรมหนาที่เปน RX2 สําหรับ รับขอมูลใหกับ UART2 ไดดวย o D18 สามารถ โปรแกรมหนาที่เปน TX1 สําหรับ สงขอมูลของ UART1 ไดดวย o D19 สามารถ โปรแกรมหนาที่เปน RX1 สําหรับ รบัขอมูลใหกับ UART1 ไดดวย o D20,D21 สามารถ โปรแกรมหนาที่เปน SDA,SCL ของ I2C Bus ของ I2C ไดดวย

Page 6: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -6- WWW.ETT.CO.TH

AREF เปนสัญญาณ Analog Reference จากภายนอกที่ตองการปอนใหกับ MCU ซึ่งตามปรกติแลว ATMEGA2560 สามารถโปรแกรมใหเลือกใชแรงดันอางอิงจากภายในไดอยูแลวโดยสามารถเลือกเปน 1.1V หรือ 2.56V หรือ AVCC(+5V) โดยไมจําเปนตองปอนแรงดันอางอิงจากภายนอกใหกับบอรดอีก แตถาตองการแรงดันอางอิงที่มีความแตกตางจากที่กลาวมาแลวก็สามารถปอนเปนแรงดันอางอิงจากภายนอกผานทางขา AREF นี้เขาไปเองไดระหวาง 0-5V

USB Host ใชเชือ่มตอกับอุปกรณ USB Device หรือ แอนดรอยดโฟน โดยใชชิพ USB Host เบอร MAX3421 เปนตัวกลางในการเชื่อมตอระหวางอุปกรณ USB กับ MCU ATMEGA2560 ซึ่งในปจจุบันมีการ สราง Library ขึ้นมาสนับสนุนการเชื่อมตอใหนําไปประยุกตดัดแปลงใชงานกันไดฟรีๆ ทั้งแบบ USB Host และแบบเชื่อมตอกับอุปกรณ แอนดรอยนโฟน ซึ่งถาใชแอนดรอยนโฟนที่ติดตั้งระบบปฏิบัติการรุน V2.3.4 หรือสูงกวาสามารถใชการพัฒนาดวย Google ADK ได แตถาแอนดรอยนโฟนไมรองรับ ADK ก็สามารถใช ADB ของ Microbridge แทนไดเชนกัน o การพัฒนาโปรแกรมแบบ USB Host โดยใชรูปแบบการพัฒนาโปรแกรมเชนเดียวกัน

กับบอรด Arduino ปรกติทั่วๆไป โดยในกรณีนี้จะประยุกตใช MAX3421 ทําหนาที่เปนอุปกรณ USB Host เพ่ือเชื่อมตอกับอุปกรณ USB Device ทั่วๆไป เชน USB HID Keyboard, USB HID Mouse ฯลฯ

o การพัฒนาโปรแกรมแบบ Android สามารถทําได 2 แนวทาง พัฒนาโปรแกรมผาน Google Open Accessories API ดวยชุดพัฒนาของ ADK

(Android Open Accessories development Kit) มุงเนนไปที่การนําความสามารถของอุปกรณ แอดดรอยนโฟน เชน หนาจอแสดงผล ระบบ Touch Screen และอุปกรณเซ็นเซอรตางๆที่มีบรรจุไวใน แอนดรอยนโฟน มาพัฒนาตอยอดใชงาน ซึ่งความสามารถนี้จะใชไดกับอุปกรณแอนดรอยนโฟนรุนที่สามารถติดตั้งระบบปฏิบัติการของแอนดรอยน ตั้งแตเวอรชั่น 2.3.4 หรือสูงกวา

พัฒนาโปรแกรมผาน Library ของ Microbridge ดวย ADB (Android Debug Bridge) มุงเนนไปที่การเชื่อมตอสื่อสาร สัง่งานอุปกรณ I/O ภายนอกกับแอนดรอยน ซึ่งในกรณีของการเชื่อมตอกับ Arduino ก็จะทําใหเราสามารถนํา แอนดรอยนโฟน สงคําสั่งออกไป หรือ รับขอมูลจาก Arduino ไดตามตองการ ไมวาจะเปน Digital I/O,PWM,I2C Bus หรือ Analog Input(ADC) ซึ่งความสามารถนี้จะใชไดกับอุปกรณแอนดรอยนโฟนทุกรุนที่สามารถติดต้ังระบบปฏิบัติการของแอนดรอยน ตั้งแตเวอรชั่น V1.5 หรือสูงกวา

Page 7: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -7- WWW.ETT.CO.TH

สําหรับการเชื่อมตอระหวาง MAX3421E กับ ATMEGA2560 ของบอรด ET-MEGA2560-ADK นั้นจะใชขาสัญญาณทั้งหมด 7 เสน คือ

MAX3421E RESET เชื่อมตอกับ PJ2 ของ ATMEGA2560 MAX3421E GPX เชื่อมตอกับ PJ3 ของ ATMEGA2560 MAX3421E SS เชื่อมตอกับ PH7 ของ ATMEGA2560 MAX3421E INT เชื่อมตอกับ PE6 ของ ATMEGA2560 MAX3421E MISO เชื่อมตอกับ PB3(D50) ของ ATMEGA2560 MAX3421E MOSI เชื่อมตอกับ PB2(D51) ของ ATMEGA2560 MAX3421E SCK เชื่อมตอกับ PB1(D52) ของ ATMEGA2560

Page 8: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -8- WWW.ETT.CO.TH

การติดตั้ง Driver ของ USB Bridge ของบอรด ET-MEGA2560-ADK

บอรด ET-MEGA2560-ADK จะใชชิพ USB Bridge ของ FTDI เปนตัวกลางในการเชื่อมตอกับคอมพิวเตอร PC โดย USB Bridge ของ FTDI จะทําหนาที่เปนตัวกลางในการเชื่อมตอและติดตอสื่อสารระหวางเครื่องคอมพิวเตอร PC กับ MCU ATmega2560 ของบอรด ET-MEGA2560-ADK ในรูปแบบของพอรตอนุกรม (Visual Com Port) โดยโปรแกรม Application ตางๆที่ทํางานอยูบนคอมพิวเตอร PC รวมทั้งโปรแกรม Arduino จะมองเห็น พอรต USB ที่เชื่อมตอกับบอรด ET-MEGA2560-ADK เปนพอรตสื่อสารอนุกรม (Com Port) ชองหนึ่งเทานั้น ซึ่งถาเครื่องคอมพิวเตอรของผูใชเคยทําการติดต้ัง Driver สําหรับ USB Bridge ของ FTDI ไวกอนแลว เม่ือทําการเชื่อมตอสาย USB ของบอรด ET-MEGA2560-ADK เขากับ USB HUB ของเครื่องคอมพิวเตอร PC แลว Windows จะทําการติดตั้ง Driver ใหเองโดยอัตโนมัติ แตถาเคร่ืองคอมพิวเตอร PC ยังไมเคยติดต้ัง Driver ของ FTDI ไวกอนก็จะตองทําการติดตั้ง Driver ใหกับบอรดใหเรียบรอยเสียกอนซึ่งมีลําดับขั้นตอนดังนี้

1. เตรียมแผน CD ROM ที่บรรจุ Driver ของ FTDI ไวใหพรอม หรือ ในกรณีที่ผูใชไดทําการติดตั้งโปรแกรมของ Arduino ไวเรียบรอยแลว ภายในโฟลเดอรของโปรแกรม Arduino ก็จะมี Driver ของ FTDI จัดเตรียมไวใหเรียบรอบแลว โดยจะอยูที่ “C:\arduino-0012\drivers\FTDI USB Drivers\”

2. ทําการเสียบสาย USB ของบอรด ET-MEGA2560-ADK เขากับพอรต USB HUB ของเคร่ืองคอมพิวเตอร PC ซึ่ง Windows จะตรวจพบอุปกรณใหม โดยเปน “FT232R USB UART” และ แจงใหผูใชทําการติดตั้ง Driver ใหกับอุปกรณ ดังรูป

Page 9: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -9- WWW.ETT.CO.TH

3. ใหเลือก Install from list or specific location(Advanced) แลวเลือก Next ซึ่ง Windows ก็จะแจงใหผูใชระบุตําแหนงโฟลเดอรที่บรรจุไฟล Driver ของ FTDI ไว ก็ใหเลือกที่ Browse และเลือกไปยัง Drive และ โฟลเดอรที่เก็บไฟล Driver ไว ซึ่งถาผูใชไดทําการติดต้ังโปรแกรมของ Arduino ไวแลว ก็ใหเลือกไปที่ “C:\arduino-0012\drivers\FTDI USB Drivers” แลวเลือก Next ดังรูป

Page 10: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -10- WWW.ETT.CO.TH

4. ในขั้นตอนนี้โปรแกรม Windows จะทําการคนหาและติดต้ัง Driver ใหกับอุปกรณ ใหรอสักครูจนการทํางานเสร็จเรียบรอย แลวเลือก Finish ดังรูป

Page 11: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -11- WWW.ETT.CO.TH

5. หลังจากทําการติดต้ัง Driver ของฮารดแวรเรียบรอยแลว Windows ก็จะตรวจพบวามีอุปกรณใหมถูกเชื่อมตออยู โดยเปนอุปกรณประเภท “USB Serial Port” และแจงใหผูใชทําการติดตั้ง Driver ใหกับอุปกรณใหมที่ระบุเปน “USB Serial Port” อีกครั้งหนึ่ง ซึ่งก็ใหเลือกระบุตําแหนงโฟลเดอรที่เก็บไฟล Driver ไว ซึ่งใหเลือกเหมือนขั้นตอนในหัวขอที่ 3 ดังรูป

Page 12: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -12- WWW.ETT.CO.TH

6. ในขั้นตอนนี้โปรแกรม Windows จะทําการคนหาและติดต้ัง Driver ใหกับอุปกรณ ใหรอสักครูจนการทํางานเสร็จเรียบรอย แลวเลือก Finish ดังรูป

Page 13: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -13- WWW.ETT.CO.TH

7. หลังจากทําการติดต้ัง Driver เรียบรอยแลว ก็สามารถใชงานอุปกรณไดแลว แตเพ่ือความถูกตองในครั้งแรกนี้ควรตองเขาไปทําการตรวจสอบและปรับแตงคาใหกับอุปกรณกอน โดยในขั้นตอนนี้ใหไปที่ “My Computer Control Panel System Hardware Device Manager” แลวทําการตรวจสอบที่ Ports (COM&LPT) แลวดูที่ชื่อของ “USB Serial Port” ซึ่งใหผูใชจดจําหมายเลขของ Com Port ของอุปกรณดังกลาวไว เพื่อใชอางอิงถึงในการเรียกใชงาน ดังรูป

8. ในขั้นตอนนี้ใหคลิกเมาสที่เครื่องหมาย (+) หนาหัวขอ Ports(COM&LPT) แลวมองหาอุปกรณที่ชื่อ “USB Serial Port” ตามที่เราไดทําการติดต้ัง Driver ไวเรียบรอยแลว หรือ ถาไมแนใจวาอุปกรณดังกลาวใชอุปกรณที่เปนของบอรด “ET-MEGA2560-ADK” หรือไม ใหทดสอบดวยการถอดสาย USB ออก รายชื่ออุปกรณดังกลาวจะตองหายไป แตเม่ือเสียบสาย USB กลับเขามาใหม รายชื่อของอุปกรณดังกลาวก็จะตองปรากฏใหเห็นอีกคร้ัง ถาทุกอยางถูกตอง ก็ใหทําการคลิกเมาสที่ Tab รายชื่อของอุปกรณดังกลาว เม่ือปรากฏหนาตาง USB Serial Port Properties ขึ้นมาแลวใหเลือกที่ Port Setting แลวเลือก Advance เพ่ือเขาไปกําหนดคาใหกับอุปกรณใหเรียบรอย ดังนี้

a. USB Transfer Size Receive (Bytes) ใหกําหนดเปน 256 b. USB Transfer Size Transmit (Bytes) ใหกําหนดเปน 128 c. BM Option Latency Timer (mSec) ใหกําหนดเปน 1

Page 14: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -14- WWW.ETT.CO.TH

Page 15: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -15- WWW.ETT.CO.TH

การพัฒนาโปรแกรมของ ET-MEGA2560-ADK ดวย Arduino ตามปรกติแลวบอรด ET-MEGA2560-ADK จะทําการ ติดตั้งโปรแกรม Bootloader ไวใหกับ MCU เปนที่เรียบรอยแลว โดยใช Bootloader ชื่อ “stk500boot_v2_mega2560.hex” ซึ่งเปน Bootloader มาตรฐานจาก Arduino โดยโปรแกรม Bootloader นี้จะใชสําหรับติดตอสื่อสารเพ่ือสั่ง Upload Code จากคอมพิวเตอร PC ใหกับ MCU ในบอรดทํางาน โดยไมตองใชเคร่ืองโปรแกรมภายนอกใหยุงยาก ซึ่ง คุณสมบัติของ Bootloader รุน Arduino-0022 มีคุณสมบัติการทํางานเปนดังนี้

- สื่อสารกับโปรแกรมภายนอกดวย Protocol แบบ stk500v2 - ใชความเร็ว Baudrate 115200 โดยใชความถ่ี XTAL 16 MHz - โปรแกรม Bootloader มีขนาด 8KByte ทํางานที่ตําแหนง 0x3E000-0x3FFFF - ใช LED ที่ตอกับขา Digital-13 เปนตัวแสดงสถานะในขณะที่ Bootloader ทํางาน - โปรแกรมใน Bootloader จะทํางานโดยอัตโนมัติทุกครั้งหลังการรีเซ็ต โดย MCU จะเริ่มตนทํางาน

ใน Bootloader นี้กอนเสมอ เพ่ือรอการติดตอสื่อสารจากโปรแกรมสําหรับสั่งใหทําการ Upload Code ใหกับ MCU แตถาไมมีการติดตอสื่อสารเขามาภายในเวลาที่กําหนดไว ก็จะกระโดดไปทํางานตามโปรแกรมที่ผูใชโหลดไวใหทันที

สําหรับบอรด ET-MEGA2560-ADK นั้น จะรองรับการ Reset MCU แบบอัตโนมัติจาก USB Bridge (FT232RL) โดยใชขา DTR จาก FT232RL เปนขาควบคุมการรีเซ็ต MCU

Page 16: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -16- WWW.ETT.CO.TH

การติดตัง้โปรแกรม Arduino

สําหรับโปรแกรม Arduino นั้น ไดรับการพัฒนาขึ้นมาใหสามารถใชงานกับระบบปฏิบัติการแบบตางๆ ไดหลาย Platform ซึ่งปจจุบัน (เดือน กันยายน พศ.2554) โปรแกรมของ Arduino ไดรับการปรับปรุง เปนรุน เวอรชั่น “Arduino-0022” แลว โดยมีโปรแกรมใหเลือกใชงาน 4 Platform ทั้ง Windows,Mac OSx และ Linux โดยผูอานสามารถเขาไป ตรวจสอบ หรือ Download โปรแกรมรุนใหมๆของ Arduino มาใชงานไดฟรีโดยไมเสียคาใชจายใดๆจาก “http://arduino.cc/” หรือ “http://arduino.cc/en/Main/Software” ซึ่ง เปนเวปไซตที่ไดรวบรวมรายละเอียดและขาวคราวความเคลื่อนไหวตางๆ เก่ียวกับ Arduino มากมาย ซึ่งขอมูลตางๆจะไดรับการปรับปรุงอยางตอเนื่องเปนประจํา

โดยในการติดต้ังโปรแกรมของ Arduino นั้นใหทําการ Unzip แลว Copy ไปติดต้ังไวในตําแหนงโฟลเดอร “c:\arduino-0022” ดังตัวอยาง

Page 17: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -17- WWW.ETT.CO.TH

ทดสอบเขียนโปรแกรมใชงานดวย Arduino หลังจากที่เราไดทําการติดต้ังโปรแกรม Arduino เปนที่เรียบรอยแลว ก็เปนอันเสร็จสิ้นขั้นตอนของการเตรียมการแลว ลําดับขั้นตอนตอจากนี้เปนตนไป ก็เปนเรื่องของการใชงาน การเขียนโปรแกรม และการศึกษาเรียนรูตางๆตามความตองการแลว แตกอนอื่นเราจะตองทําการติดตั้งโปรแกรมของ Arduino เพ่ือใชเปนโปรแกรมสําหรับศึกษาเรียนรู ซึ่งมีลําดับขั้นตอนดังตอไปนี้

1. ทําการสั่ง Run โปแกรม “arduino.exe” จะไดผลดังรูป

Page 18: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -18- WWW.ETT.CO.TH

2. ในครั้งแรกของการเรียกใชงานโปรแกรม ใหทําการกําหนดระบบฮารดแวรที่จะใชงานกับโปรแกรมของ Arduino ใหเรียบรอยเสียกอน เนื่องจากในปจจุบันนี้ มีการออกแบบวงจรและสรางฮารดแวรบอรดแบบตางๆสําหรับนํามาใชงานรวมกับโปรแกรมพัฒนาของ Arduino ไวมากมายหลายรุน โดยในกรณีของบอรด ET-MEGA2560-ADK ใหทําการเลือกกําหนดชื่อบอรดเปน “Arduino Mega” โดยคลิกเมาสที่ “Tools Board “Arduino Mega” ดังรูป

Page 19: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -19- WWW.ETT.CO.TH

3. เลือกกําหนดหมายเลขพอรต สําหรับติดตอสื่อสารกับบอรด ใหตรงกับหมายเลข Comport ที่ตอใชงานไวจริงในเคร่ืองคอมพิวเตอร PC เชน ถาหมายเลข Comport ของเครื่องคอมพิวเตอร PC เปน COM3 ใหคลิกเมาสที่ Tools Serial Port COM3 ดังรูป

Page 20: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -20- WWW.ETT.CO.TH

4. ทดสอบเขียนโปรแกรม โดยคลิกเมาสที่ File New แลวพิมพโปรแกรมทดสอบ หรืออาจใชการสั่งเปดไฟลตัวอยางที่สรางไวแลวขึ้นมาแทนก็ได โดยในที่นี้ขอแนะนําใหทดสอบดวยโปรแกรมไฟกระพริบ โดยใหเลือก “File sketchbook Examples Digital Blink” ซึ่งจะไดดังรูป

Page 21: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -21- WWW.ETT.CO.TH

5. สั่งแปลโปรแกรมโดยคลิกเมาสที่ “Sketch Verify/Compile” เพ่ือตรวจสอบคําสั่งตางๆในโปรแกรมวาถูกตองหรือไม ดังตัวอยาง

Page 22: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-MEGA2560-ADK

ETT CO.,LTD -22- WWW.ETT.CO.TH

6. สั่ง Download Code ใหกับบอรด โดยคลิกเมาสเลือกที่ “File Upload to I/O Board” แลวรอสักครูจนโปรแกรมทํางานเสร็จ หลังจากที่ทําการ Upload Code ใหกับบอรดเปนที่เรียบรอยแลว บอรดก็จะเริ่มตนทํางานตามคําสั่งที่เขียนไวในโปรแกรมทันที โดยจะสังเกตเห็น LED กระพริบ ติด และ ดับ สลับกันไปมา ดวยความเร็วประมาณ 1 วินาที ตลอดเวลา ซึ่งควรไดผลดังรูป

Page 23: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -23- WWW.ETT.CO.TH

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ตามปรกติแลวบอรด ET-MEGA2560-ADK ไดทําการโปรแกรม Bootloader ไวใหเปนที่เรียบรอยแลว ผูใชสามารถใชงานไดทันที่ แตอยางไรก็ตามในกรณีที่ตองการเปลี่ยนแปลง Bootloader หรือ เกิดความผิดพลาดในการใชงาน จนทําให Bootloader เสียหายไป ผูใชก็ยังสามารถทําการ โปรแกรม Bootloader ใหกับบอรดไดใหม โดยบอรด ET-MEGA2560-ADK ไดออกแบบ ใหมีขั้วตอ AVRISP สําหรับใชเปนชองทางในการโปรแกรม Code ใหกับ MCU ไดโดยตรง ดวยเครื่องโปรแกรมทุกรุนที่มีขั้วตอ ตรงตามมาตรฐาน AVRISP ของ ATMEL ไดทันที แตในกรณีนี้ผูใชตองมีเครื่องโปรแกรมภายนอกดวย

สําหรับ Bootloader นั้น บอรด ET-MEGA2560-ADK จะใชไฟล Bootloader มาตรฐานของ Arduino ซึ่งในชุดโปรแกรม Arduino รุน Arduino-0022 นั้น ไฟล HEX ของ Bootloader จะมีบรรจุมาใหแลวใน“C:\arduino-0022\hardware\arduino\bootloaders\stk500v2\stk500boot_v2_mega2560.hex”

Page 24: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -24- WWW.ETT.CO.TH

การโปรแกรม Bootloader ใหบอรด ET-MEGA2560-ADK ดวย AVRISP mkII ในการใชเคร่ืองโปรแกรม ET-AVRISP mkII ของ อีทีที จะตองใชงานผานโปรแกรม AVRStudio ซึ่งตามปรกติแลว AVRStudio จะเปน Text Editor ของ ATMEL สําหรับใชพัฒนาโปรแกรมของ AVR ซึ่งสามารถเชื่อมโยงกับโปรแกรม C-Compiler เชน WinAVR และ Tools ตางๆของ ATMEL สําหรับใชพัฒนาโปรแกรมใหกับ MCU ตระกูล AVR ซึ่งในที่นี้จะไมขอกลาวถึงรายละเอียดและกระบวนการในการเขียนโปรแกรม แตจะกลาวเฉพาะสวนของการใชโปรแกรม AVRStudio ในการสั่งโปรแกรม HEX File ใหกับ MCU เทานั้น โดยจะมีลําดับขั้นตอนดังนี ้

1. ใหเปดโปรแกรม AVRStudio ขึ้นมา ซึ่งโปรแกรมจะใหเลือกเปด Project ที่ตองการ ใหเลือกเปด Project ที่สรางไวขึ้นมา ในกรณีนี้ก็ใหเลือก Cancel ผานไปดังรูป

2. เสียบสาย USB ของเคร่ือง AVRISP mkII เขากับเครื่องคอมพิวเตอร PC และใหทําการตอสายแพร

6 Pin จากเครื่อง ET-AVRISP mkII ไปยังขั้วตอ AVRISP ของบอรด ET-MEGA2560-ADK ใหเรียบรอย

Page 25: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -25- WWW.ETT.CO.TH

การเชื่อมตอบอรด ET-MEGA2560-ADK กับ ATMEL AVR ISP MKII

การเชื่อมตอบอรด ET-MEGA2560-ADK กับ ET AVR ISP MKII

Page 26: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -26- WWW.ETT.CO.TH

3. ใหเลือกเมนู Tools Program AVR Connect แลวเลือกกําหนดในตัวเลือกของ Select AVR Programmer ในหัวขอ Platform ใหเลือกเปน AVRISP mkII และเลือก Port ใหเลือกเปน USB จากนั้นเลือก Connect ดังรูป

หมายเหต ุ เมนู Tools Program AVR Connect… เพ่ือความสะดวกและรวดเร็วในการใชงานสามารถเลือกคลิกเมาสที่ Dialog Connect แทนไดดังรูป

Page 27: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -27- WWW.ETT.CO.TH

4. ถาทุกอยางถูกตองโปรแกรมจะเขาสูหนาตางโปรแกรมของ AVRISP mkII ใหเลือกที่ Tap ของ Main แลวกําหนดเบอรของ MCU ที่ตองการจะโปรแกรมในชอง Device and Signature Bytes ซึ่งเม่ือเลือกกําหนดเบอรเรียบรอยแลว ที่ชอง Programming Mode and Target Settings โปรแกรมจะแสดงรูปแบบการ Interface ที่เปนไปไดของ MCU เบอรนั้นๆใหเห็นทันที โดยในกรณีของ ATmega2560 จะเปน ISP Mode ดังตัวอยาง

Page 28: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -28- WWW.ETT.CO.TH

5. โดยเครื่องโปรแกรม ET-AVRISP mkII จะปรับเปลี่ยนโหมดการทํางานตาม Programming Mode ที่เลือกไวนี้เองโดยอัตโนมัติ ใหลองทดสอบการเชื่อมตอระหวาง MCU กับโปรแกรมดูวาสามารถสื่อสารกันไดอยางถูกตองหรือยัง ซึ่งในขั้นตอนนี้ตองกําหนดเบอร MCU ใหถูกตองตามที่เชื่อมตอไวจริงๆดวย โดยใหทดสอบเลือก Read Signature ดู ซึ่งถาทุกอยางถูกตองโปรแกรมควรตองอานคา Signature ของเบอร MCU ที่เลือกไวมาแสดงใหเห็นไดอยางถูกตอง ซึ่งถาเกิดความผิดพลาดขึ้น ควรตองตรวจสอบหาขอผิดพลาดและแกไขปญหาจนถูกตองเสียกอน ไมควรขามไปสั่งงานเครื่องโปรแกรมใหกระทําอยางอื่นกับ MCU อีกไมวาจะเปนการสั่ง Program Flash หรือ Program Fuse หรือ LockBits เพราะอาจทําใหเกิดความผิดพลาดมากขึ้น ซึ่งถาทุกอยางถูกตองควรไดผลดังรูป

Page 29: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -29- WWW.ETT.CO.TH

ในกรณีที่เกิดความผิดพลาดขึ้น ใหลองตรวจสอบหาสาเหตุของความผิดพลาดและแกไขใหถูกตอง โดยมีแนวทางดังนี ้

การเชื่อมตอสายระหวาง Target Board กับเครื่องโปรแกรม ถูกตองหรือยัง Target Board อยูในสภาวะพรอมที่จะทํางานหรือยัง

ถาเปน Target Board ที่ใชการเชื่อมตอแบบ ISP ขาสัญญาณที่ทําหนาที่เปน ISP มีการนําไปตอใชงานอยางอื่นในขณะทําการโปรแกรมอยูหรือไม ถามีใหปลดการเชื่อมตอเหลานั้นออกใหหมดเพ่ือใหขาสัญญาณดังกลาวเปนอิสระ

กําหนดคาความถ่ีของ ISP Frequency ของเคร่ืองโปรแกรมไว สัมพันธสอดคลองกันกับคาความถ่ีของ MCU ที่ทํางานใน Target Board หรือไม ซึ่งคาความถ่ีที่ถูกตองของ ISP Frequency ตองไมเกิน 1/4 ของคาความถี่ที่ MCU ใน Target Board ทํางานอยูในขณะนั้น เชน ถา MCU ทํางานที่ความถี่ 1MHz คาความถี่ของ ISP Frequency ตองไมเกิน 250KHz ซึ่งถาไมแนใจอาจทดลองปรับคาความถี่ ISP Frequency ใหมีคาตํ่าๆดูกอน เม่ือสามารถติดตอสื่อสารกับ MCU ไดเรียบรอยแลวจึงคอยเขาไปตรวจสอบ คา Fuse Bit ของ MCU ที่เกี่ยวกับระบบสัญญาณนาฬิกา Clock ตางๆ ในภายหลังตอไป ดังรูป

Page 30: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -30- WWW.ETT.CO.TH

6. เม่ือทุกอยางถูกตองแลวใหเลือกไปที่ Tab ของ Program พรอมทั้งเลือก ตัวเลือกตางๆดังนี้

Device ใหเลือก o Erase device before flash programming o Verify device after programming

Flash ใหเลือก Input HEX File ที่ตองการจะโปรแกรมใหกับ MCU บนบอรด ซึ่ง ในกรณี นี้

ใหเลือกเปน “..\stk500boot_v2_mega2560.hex” จากนั้นใหเลือกที่ Program เพ่ือสั่ง Program Hex File ใหกับ MCU ซึ่งจะไดผลดังรูป

Page 31: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -31- WWW.ETT.CO.TH

7. Fuses และ Lock Bits สามารถเลือกกําหนด และสั่งโปรแกรมคาไดตามตองการ ซึ่งกอนจะสั่ง Program คาของ Fuse Bit ผูใชควรตองศึกษารายละเอียดในการกําหนดคาใหเขาใจ ซึ่งจะตองสัมพันธสอดคลองกับความตองการของระบบ Hardware ที่ใชอยูดวย ถายังไมแนใจในรายละเอียดไมควรไปสั่งโปรแกรมคา ของ Fuse Bit เหลานี้ เพราะถามีการโปรแกรมคาของ Fuse Bit ผิดไปอาจสงผลให MCU ไมทํางาน โดยเฉพาะ Fuse Bit สําหรับเลือกกําหนด Clock และที่สําคัญคือ Fuse Bit ของ SPIEN(SPI Enable) หามไปสั่ง Disable คา Fuse Bit อันนี้ออกเพราะจะทําให MCU ไมสามารถสั่งโปรแกรมดวย ISP Mode ไดอีก

Page 32: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

การโปรแกรม Bootloader ใหกับบอรด ET-MEGA2560-ADK

ETT CO.,LTD -32- WWW.ETT.CO.TH

8. Lock Bits ใหเลือกกําหนด Lock ปองกันเฉพาะสวนของ Boot Section ซึ่งเม่ือเลือกถูกตองคาของ Lock Bit ควรจะมีคาเปน 0xCF ดังรูป

Page 33: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

12

34

A B C D

43

21

DCBATitle

Num

berRevision

SizeA4

Date:

5-Sep-2011 Sheet of

File:F:\ET_A

DK

_MEG

A2560.D

dbD

rawn By:

16 MHz

22pF22pF

0.1uF0.1uF

0.1uF

0.1uF

10

PE0:D0:RX

0PE1:D

1:TX0

PE3:D5:PW

M3

PE4:D2:PW

M0

PE5:D3:PW

M1

PG5:D

4:PWM

2

PH3:D6:PW

M4

PH4:D7:PW

M5

PH5:D8:PW

M6

PH6:D9:PW

M7

PB4:D10:PW

M8

PB5:D11:PW

M9

PB6:D12:PW

M10

PB7:D13:PW

M11

PJ1:D14:TX

D3

PJ0:D15:RX

D3

PH1:D16:TX

D2

PH0:D17:RX

D2

PD3:D

18:TXD

1PD

2:D19:RX

D1

PD1:D

20:SDA

PD0:D

21:SCL

PA7:D

29PA

6:D28

PA5:D

27PA

4:D26

PA3:D

25PA

2:D24

PA1:D

23PA

0:D22

PC7:D30

PC6:D31

PC5:D32

PC4:D33

PC3:D34

PC2:D35

PC1:D36

PC0:D37

PD7:D

38

PG2:D

39PG

1:D40

PG0:D

41

PL0:D49

PL7:D42

PL6:D43

PL5:D44

PL4:D45

PL3:D46

PL2:D47

PL1:D48

PB3:D50:M

ISOPB2:D

51:MO

SIPB1:D

52:SCKPB0:D

53

PF0:A0

PF1:A1

PF2:A2

PF3:A3

PF4:A4

PF5:A5

PF6:A6

PF7:A7

PK7:A

15PK

6:A14

PK5:A

13PK

4:A12

PK3:A

11PK

2:A10

PK1:A

9PK

0:A8

AREF

10K

22pF

RESET

+5V

VIN

1

GND3

ON

/OFF

5O

UT 2

FEEDBA

CK4

LM2575-5V

1N5819

330uF/6V3

47uF/35V

220uH

+5V

0.1uF

VIN

1

2

3

4

DFS1504

7-20VA

C/DC

LM358

10K

10K

0.1uF

NP

1234 5 6

12345USB-M

INI

Poly-500mA

0.1uF

+5V

RXTX1K1K

TXD

1

RXD

5

RTS#3

CTS#11

DTR#

2

DSR#

9

DCD

#10

RI#6

VCC

20

VCCIO

4

3V3O

UT17

USBDM

16

USBDP

15

RESET19

OSCI

27

OSCO

28

GN

D7

GN

D18

GN

D21

TEST26

AG

ND

25

CBUS023

CBUS122

CBUS213

CBUS314

CBUS412

FT232RL

+5V

1K x 2

+5V

VEXT

1K

+5V

VUSB

VUSB

+VCC 1K

FDC6327

10uF

+5V

PE0:D0:RX

PE1:D1:TX

RES#

12

34

56

AV

RISP-6PIN

+5V

PB3:D50:M

ISOPB1:D

52:SCKRES#

PB2:D51:M

OSI

+3V3

ET-MEG

A2560 A

DK

WW

W.ETT.CO

.TH1.0

12

10K

10K+5V

+5V

+-

56

7LM

358

123

84

0.1uF

(AD

7)PA7

71

(AD

6)PA6

72

(AD

5)PA5

73

(AD

4)PA4

74

(AD

3)PA3

75

(AD

2)PA2

76

(AD

1)PA1

77

(AD

0)PA0

78

(OC0A

/OC1C/PCIN

T7)PB726

(OC1B/PCIN

T6)PB625

(OC1A

/PCINT5)PB5

24

(OC2A

/PCINT4)PB4

23

(MISO

/PCINT3)PB3

22

(MO

SI/PCINT2)PB2

21

(SCK/PCIN

T1)PB120

(SS/PCINT0)PB0

19

(A15)PC7

60

(A14)PC6

59

(A13)PC5

58

(A12)PC4

57

(A11)PC3

56

(A10)PC2

55

(A9)PC1

54

(A8)PC0

53

(T0)PD7

50

(T1)PD6

49

(XCK

1)PD5

48

(ICP1)PD4

47

(TXD

1/INT3)PD

346

(RXD

1/INT2)PD

245

(SDA

/INT1)PD

144

(SCL/INT0)PD

043

(CLK0/ICP3/IN

T7)PE79

(T3/INT6)PE6

8

(OC3C/IN

T5)PE57

(OC3B/IN

T4)PE46

(OC3A

/AIN

1)PE35

(XCK

0/AIN

0)PE24

(TXD

0)PE13

(RXD

0/PCINT8)PE0

2

(AD

C7/TDI)PF7

90

(AD

C6/TDO

)PF691

(AD

C5/TMS)PF5

92

(AD

C4/TCK)PF4

93

(AD

C3)PF394

(AD

C2)PF295

(AD

C1)PF196

(AD

C0)PF097

(OC0B)PG

51

(TOSC1)PG

429

(TOSC2)PG

328

(ALE)PG

270

(RD)PG

152

(WR)PG

051

PH0(RXD

2)12

PH1(TXD

2)13

PH2(XCK

2)14

PH3(OC4A

)15

PH4(OC4B)

16PH5(O

C4C)17

PH6(OC2B)

18PH7(T4)

27

PJ0(RXD

3/PCINT9)

63PJ1(TX

D3/PCIN

T10)64

PJ2(XCK

3/PCINT11)

65PJ3(PCIN

T12)66

PJ4(PCINT13)

67PJ5(PCIN

T14)68

PJ6(PCINT15)

69PJ7

79

PK0(A

DC8/PCIN

T16)89

PK1(A

DC9/PCIN

T17)88

PK2(A

DC10/PCIN

T18)87

PK3(A

DC11/PCIN

T19)86

PK4(A

DC12/PCIN

T20)85

PK5(A

DC13/PCIN

T21)84

PK6(A

DC14/PCIN

T22)83

PK7(A

DC15/PCIN

T23)82

PL0(ICP4)35

PL1(ICP5)36

PL2(T5)37

PL3(OC5A

)38

PL4(OC5B)

39PL5(O

C5C)40

PL641

PL742

RESET30

XTA

L233

XTA

L134

AREF

98

AV

CC100

AG

ND

99

VCC

10

VCC

31

VCC

61

VCC

80

GN

D11

GN

D32

GN

D62

GN

D81

ATM

EGA

2560

0.1uF

PJ2:MA

X_RST

PJ3:MA

X_G

PX

PH7:MA

X_SS

PE6:MA

X_IN

T

Page 34: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

12

34

A B C D

43

21

DCBATitle

Num

berRevision

SizeA4

Date:

5-Oct-2011

Sheet of File:

F:\ET_AD

K_M

EGA

2560.Ddb

Draw

n By:

100uF/20V

+5V

ET-MEG

A2560 A

DK

WW

W.ETT.CO

.TH1.0

22

Vin

1

GND2

Vout

3LM

1117-3V3

100uF

+3V3

GPIN

026

GPIN

127

GPIN

228

GPIN

329

GPIN

430

GPIN

531

GPIN

632

GPIN

71

GPO

UT04

GPO

UT15

GPO

UT26

GPO

UT37

GPO

UT48

GPO

UT59

GPO

UT610

GPO

UT711

VL 2

VCC 23

INT

18

D-

20

D+

21

XO

25

XI

24

RES12

SCK13

SS14

MISO

15

MO

SI16

GPX

17

VBCO

MP

22

GND3

GND19

MA

X3421E

VCCB

14

B113

B212

B311

B410

OE

8

VCCA

1

A1

2

A2

3

A3

4

A4

5

GN

D7

MA

X3421E

+5V

+5V+3V

3

+3V3

0R0R0R

+3V3

4K7

INT-3V

322R

22R

12MHz

18pF

18pF

GPX

-3V3

MO

SI-3V3

MISO

-3V3

SS-3V3

SCK-3V

3RST-3V

3

0.1uF

0.1uF

RST-3V3

SCK-3V

3

SS-3V3

MO

SI-3V3

MISO

-3V3

GPX

-3V3

INT-3V

3

1N4148

RES#

VCCB

14

B113

B212

B311

B410

OE

8

VCCA

1

A1

2

A2

3

A3

4

A4

5

GN

D7

MA

X3421E

PH4:D7

PJ2:MA

X_RST

PB1:D52:SCK

PB0:D53:SS

PB2:D51:M

OSI

PB3:D50:M

ISOPH5:D

8PJ3:M

AX

_GPX

PH6:D9

PE6:MA

X_IN

T

***Default

***Default

***Default

0RPH7:M

AX

_SS***D

efault

10K

+3V3

MA

X_O

E

MA

X_O

E

1234

USB-HOST

500mA

10nF

FRB

0.1uF

10uF

+5V

IO1-1

1

GN

D2

IO2-3

3IO

2-44

VBUS

5

IO1-6

6

USBLC6-2

+5V

0R0R

VBUS

D(-)

D(+)

GN

D

D13:G

reen

1KPB7:D

13:PWM

11

Page 35: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

12

34

A B C D

43

21

DCBATitle

Num

berRevision

SizeA4

Date:

5-Sep-2011 Sheet of

File:F:\ET_A

DK

_MEG

A2560.D

dbD

rawn By:

16 MHz

22pF22pF

0.1uF0.1uF

0.1uF

0.1uF

10

PE0:D0:RX

0PE1:D

1:TX0

PE3:D5:PW

M3

PE4:D2:PW

M0

PE5:D3:PW

M1

PG5:D

4:PWM

2

PH3:D6:PW

M4

PH4:D7:PW

M5

PH5:D8:PW

M6

PH6:D9:PW

M7

PB4:D10:PW

M8

PB5:D11:PW

M9

PB6:D12:PW

M10

PB7:D13:PW

M11

PJ1:D14:TX

D3

PJ0:D15:RX

D3

PH1:D16:TX

D2

PH0:D17:RX

D2

PD3:D

18:TXD

1PD

2:D19:RX

D1

PD1:D

20:SDA

PD0:D

21:SCL

PA7:D

29PA

6:D28

PA5:D

27PA

4:D26

PA3:D

25PA

2:D24

PA1:D

23PA

0:D22

PC7:D30

PC6:D31

PC5:D32

PC4:D33

PC3:D34

PC2:D35

PC1:D36

PC0:D37

PD7:D

38

PG2:D

39PG

1:D40

PG0:D

41

PL0:D49

PL7:D42

PL6:D43

PL5:D44

PL4:D45

PL3:D46

PL2:D47

PL1:D48

PB3:D50:M

ISOPB2:D

51:MO

SIPB1:D

52:SCKPB0:D

53

PF0:A0

PF1:A1

PF2:A2

PF3:A3

PF4:A4

PF5:A5

PF6:A6

PF7:A7

PK7:A

15PK

6:A14

PK5:A

13PK

4:A12

PK3:A

11PK

2:A10

PK1:A

9PK

0:A8

AREF

10K

22pF

RESET

+5V

VIN

1

GND3

ON

/OFF

5O

UT 2

FEEDBA

CK4

LM2575-5V

1N5819

330uF/6V3

47uF/35V

220uH

+5V

0.1uF

VIN

1

2

3

4

DFS1504

7-20VA

C/DC

LM358

10K

10K

0.1uF

NP

1234 5 6

12345USB-M

INI

Poly-500mA

0.1uF

+5V

RXTX1K1K

TXD

1

RXD

5

RTS#3

CTS#11

DTR#

2

DSR#

9

DCD

#10

RI#6

VCC

20

VCCIO

4

3V3O

UT17

USBDM

16

USBDP

15

RESET19

OSCI

27

OSCO

28

GN

D7

GN

D18

GN

D21

TEST26

AG

ND

25

CBUS023

CBUS122

CBUS213

CBUS314

CBUS412

FT232RL

+5V

1K x 2

+5V

VEXT

1K

+5V

VUSB

VUSB

+VCC 1K

FDC6327

10uF

+5V

PE0:D0:RX

PE1:D1:TX

RES#

12

34

56

AV

RISP-6PIN

+5V

PB3:D50:M

ISOPB1:D

52:SCKRES#

PB2:D51:M

OSI

+3V3

ET-MEG

A2560 A

DK

WW

W.ETT.CO

.TH1.0

12

10K

10K+5V

+5V

+-

56

7LM

358

123

84

0.1uF

(AD

7)PA7

71

(AD

6)PA6

72

(AD

5)PA5

73

(AD

4)PA4

74

(AD

3)PA3

75

(AD

2)PA2

76

(AD

1)PA1

77

(AD

0)PA0

78

(OC0A

/OC1C/PCIN

T7)PB726

(OC1B/PCIN

T6)PB625

(OC1A

/PCINT5)PB5

24

(OC2A

/PCINT4)PB4

23

(MISO

/PCINT3)PB3

22

(MO

SI/PCINT2)PB2

21

(SCK/PCIN

T1)PB120

(SS/PCINT0)PB0

19

(A15)PC7

60

(A14)PC6

59

(A13)PC5

58

(A12)PC4

57

(A11)PC3

56

(A10)PC2

55

(A9)PC1

54

(A8)PC0

53

(T0)PD7

50

(T1)PD6

49

(XCK

1)PD5

48

(ICP1)PD4

47

(TXD

1/INT3)PD

346

(RXD

1/INT2)PD

245

(SDA

/INT1)PD

144

(SCL/INT0)PD

043

(CLK0/ICP3/IN

T7)PE79

(T3/INT6)PE6

8

(OC3C/IN

T5)PE57

(OC3B/IN

T4)PE46

(OC3A

/AIN

1)PE35

(XCK

0/AIN

0)PE24

(TXD

0)PE13

(RXD

0/PCINT8)PE0

2

(AD

C7/TDI)PF7

90

(AD

C6/TDO

)PF691

(AD

C5/TMS)PF5

92

(AD

C4/TCK)PF4

93

(AD

C3)PF394

(AD

C2)PF295

(AD

C1)PF196

(AD

C0)PF097

(OC0B)PG

51

(TOSC1)PG

429

(TOSC2)PG

328

(ALE)PG

270

(RD)PG

152

(WR)PG

051

PH0(RXD

2)12

PH1(TXD

2)13

PH2(XCK

2)14

PH3(OC4A

)15

PH4(OC4B)

16PH5(O

C4C)17

PH6(OC2B)

18PH7(T4)

27

PJ0(RXD

3/PCINT9)

63PJ1(TX

D3/PCIN

T10)64

PJ2(XCK

3/PCINT11)

65PJ3(PCIN

T12)66

PJ4(PCINT13)

67PJ5(PCIN

T14)68

PJ6(PCINT15)

69PJ7

79

PK0(A

DC8/PCIN

T16)89

PK1(A

DC9/PCIN

T17)88

PK2(A

DC10/PCIN

T18)87

PK3(A

DC11/PCIN

T19)86

PK4(A

DC12/PCIN

T20)85

PK5(A

DC13/PCIN

T21)84

PK6(A

DC14/PCIN

T22)83

PK7(A

DC15/PCIN

T23)82

PL0(ICP4)35

PL1(ICP5)36

PL2(T5)37

PL3(OC5A

)38

PL4(OC5B)

39PL5(O

C5C)40

PL641

PL742

RESET30

XTA

L233

XTA

L134

AREF

98

AV

CC100

AG

ND

99

VCC

10

VCC

31

VCC

61

VCC

80

GN

D11

GN

D32

GN

D62

GN

D81

ATM

EGA

2560

0.1uF

PJ2:MA

X_RST

PJ3:MA

X_G

PX

PH7:MA

X_SS

PE6:MA

X_IN

T

Page 36: ET-MEGA2560-ADK · คู มือการใช งานบอร ดไมโครคอนโทรลเลอร รุ น et-mega2560-adk ett co.,ltd -3 โครงสร

12

34

A B C D

43

21

DCBATitle

Num

berRevision

SizeA4

Date:

5-Oct-2011

Sheet of File:

F:\ET_AD

K_M

EGA

2560.Ddb

Draw

n By:

100uF/20V

+5V

ET-MEG

A2560 A

DK

WW

W.ETT.CO

.TH1.0

22

Vin

1

GND2

Vout

3LM

1117-3V3

100uF

+3V3

GPIN

026

GPIN

127

GPIN

228

GPIN

329

GPIN

430

GPIN

531

GPIN

632

GPIN

71

GPO

UT04

GPO

UT15

GPO

UT26

GPO

UT37

GPO

UT48

GPO

UT59

GPO

UT610

GPO

UT711

VL 2

VCC 23

INT

18

D-

20

D+

21

XO

25

XI

24

RES12

SCK13

SS14

MISO

15

MO

SI16

GPX

17

VBCO

MP

22

GND3

GND19

MA

X3421E

VCCB

14

B113

B212

B311

B410

OE

8

VCCA

1

A1

2

A2

3

A3

4

A4

5

GN

D7

MA

X3421E

+5V

+5V+3V

3

+3V3

0R0R0R

+3V3

4K7

INT-3V

322R

22R

12MHz

18pF

18pF

GPX

-3V3

MO

SI-3V3

MISO

-3V3

SS-3V3

SCK-3V

3RST-3V

3

0.1uF

0.1uF

RST-3V3

SCK-3V

3

SS-3V3

MO

SI-3V3

MISO

-3V3

GPX

-3V3

INT-3V

3

1N4148

RES#

VCCB

14

B113

B212

B311

B410

OE

8

VCCA

1

A1

2

A2

3

A3

4

A4

5

GN

D7

MA

X3421E

PH4:D7

PJ2:MA

X_RST

PB1:D52:SCK

PB0:D53:SS

PB2:D51:M

OSI

PB3:D50:M

ISOPH5:D

8PJ3:M

AX

_GPX

PH6:D9

PE6:MA

X_IN

T

***Default

***Default

***Default

0RPH7:M

AX

_SS***D

efault

10K

+3V3

MA

X_O

E

MA

X_O

E

1234

USB-HOST

500mA

10nF

FRB

0.1uF

10uF

+5V

IO1-1

1

GN

D2

IO2-3

3IO

2-44

VBUS

5

IO1-6

6

USBLC6-2

+5V

0R0R

VBUS

D(-)

D(+)

GN

D

D13:G

reen

1KPB7:D

13:PWM

11