บทความล่าสุด
 AT90USB162 Prototype Board
 Codeblocks กับ Serial Port
 Image2GLCD โปรแกรมแปลงภาพสำหรับ Graphic LCD
 Codeblocks กับ Static library
 TinyRGB ควบคุม RGB LED ด้วย ATTINY2313
 การใช้ Capture Filter ใน Wireshark
 รูปแบบของ Intel hex file
 Codeblocks กับการใช้งานไฟล์ DLL
 การอัพเกรด firmware DV-393
 วิเคราะห์ระบบเครือข่ายด้วย Wireshark
 AVR JTAGICE
 บอร์ด AVRnet
 การคำนวณค่า Checksum
 การติดตั้ง CodeBlocks, wxWidgets, MinGW
Search by Google
Google
แลกเปลี่ยน Banner
ThaiEasyElec.com - จำหน่ายอุปกรณ์อิเล็กทรอนิกส์ , บทความอิเล็กทรอนิกส์  
เว็บไซต์อิเล็กทรอนิกส์-นานาสาระ   ศูนย์รวมของคนเล่นเน็ต
 
 
 

plcer.com The Zone of PLC


Web hosting by picoHosting
AVR JTAG Debuger/Programmer
    AVR JTAG : ก่อนอื่นต้องยกเครดิต ให้กับเว็บนี้ครับ http://www.floppyspongeonline.com/automation/isojtagisp/isojtagisp.php ผมได้ดัดแปลงวงจรของเขาโดยการตัดภาค Isolate ออก และตัดตัวเชื่อมต่อทาง USB ออก เพราะผมต้องการนำไปใช้กับ ตัวแปลง USB to Serial แทน สำหรับใครที่มี USB to Serial อยู่แล้วก็เอาไปใช้ได้เลย หรือถ้าใครไม่มีก็เอาไปใช้กับ พอร์ทอนุกรมได้ครับ


รูปวงจร AVR JTAG


    เมื่อประกอบวงจรแล้ว ต่อไปก็ดาวน์โหลด Boot loader ลงไปใน ATMEGA16 ถ้าใครมีเครื่องโปรแกรมแล้ว ก็ไม่มีปัญหาอะไร แต่ถ้าใครไม่มี ก็ทำวงจรง่ายๆ ของโปรแกรม Ponyprog ซึ่งมีทั้งผ่านพอร์ทอนุกรม และพอร์ทขนาน ถ้าใครใช้ Ponyprog ก็ตั้งค่า Configuration bit ตามรูปด้านล่าง




Configuration bit


    หลังจากที่ดาวน์โหลด Boot loader ลงไปแล้วต่อไปก็ Upgrade firmware ของ JTAGICE โดยเปิดโปรแกรม AVR Studio ขึ้นมา ถ้ายังไม่มีก็ไปดาวน์โหลดมาก่อนนะครับ [ ดาวน์โหลด AVR Studio ] บนบอร์ดให้เซตจัปเปอร์ ไปที่ JTAG แล้วจ่ายไฟเลี้ยงให้กับบอร์ด LED Act จะกระพริบ กลับไปที่ AVR Studio แล้วเลือกเมนู Tools->AVR Prog ถ้า AVR Prog ติดต่อกับบอร์ดได้ก็จะขึ้นหน้าต่างตามรูปด้านล่าง


Upgrade firmware


    ต่อไปก็เลือกไฟล์ที่ใช้อัพเกรด ในโฟล์เดอร์ AVR Tools\JTAGICE\Upgrade.ebn ตัวอย่างเช่น C:\MCU\Atmel\AVR Tools\JTAGICE\Upgrade.ebn แล้วก็คลิ๊กปุ่ม Program หลังจากที่ Upgrade Firmware เรียบร้อยแล้ว ให้กดปุ่มรีเซต แล้วรอจนกว่า LED Act ที่กระพริบอยู่ดับไป แล้วเลือกเมนู Tools->Program AVR->Connect ถ้า Upgrade firmware เรียบร้อยแล้ว ก็จะขึ้นหน้าต่างตามรูปด้านล่าง เป็นอันว่าเราได้ JTAG Debuger มาใช้งานแล้วครับ





Upgrade OK


    คราวนี้ก็มาทดสอบการดีบักกับ ATMEGA32 กันครับ ขาที่ใช้เชื่อมต่อระหว่าง JATGICE กับ MEGA32 มีดังนี้

  • TCK_SCK -> TCK
  • TDO_MISO -> TDO
  • TMS_RST -> TMS
  • TDI_MOSI -> TDI


    เมื่อต่อวงจรเรียบร้อยแล้วก็มาเขียนโปรแกรมกันนิดหน่อย ถ้าใครไม่มี Compiler ก็ไปดาวน์โหลดมาก่อนนะครับ [ ดาวน์โหลด WinAVR ]

Code:
/***********************************************************************
*
*	File		: main.c
*	Desc		: Blink LED on PB0
*	Compiler	: AVR GCC
*	Author		: Jirawat Kongkaen
*	Website		: http://www.avrportal.com
*
***********************************************************************/

#include 

void delay(unsigned int delay);

int main(void)
{
	DDRB = 0xFF;	// Port B as out put

	for(;;)
	{
		PORTB |= _BV(PB0);
		//delay(50000);
		PORTB &= ~(_BV(PB0));
		//delay(50000);
	}

	return 0;
}

void delay(unsigned int delay)
{
	while(delay) delay--;
}


    เมื่อเขียนโปรแกรมเรียบร้อยแล้ว ก็เริ่มดีบักได้เลย โดยเลือกที่เมนู Debug->Start Debugging ดังรูป




    ถ้า JTAGICE เชื่อมต่อกับ ATMEGA32 ได้จะแสดงดังรูปด้านล่าง หลังจากนั้นก็ลองทดสอบการดีบัก แบบ Step Into ถ้าหากไม่มีปัญหาอะไร LED ที่ต่ออยู่กับ PB0 จะติดดับตามที่เราคลิ๊กปุ่ม Step Into



    ก็เป็นอันว่าการทดสอบการดีบักกับ ATMEGA32 เรียบร้อยแล้วครับ ขออธบายการทำงานของ AVR JTAG คร่าวๆนะครับ ถ้าหาก JP1 ตั้งให้เป็น JTAG หลังจากที่ AVR JTAG เริ่มทำงาน LED Act จะกระพริบอยู่ครู่หนึ่ง ช่วงที่ LED Act กระพริบนี้ เป็นช่วงที่รอการ Upgrade firmware แต่ถ้า LED Act หยุดกระพริบแล้ว AVR JTAG ก็จะเริ่มการทำงานเป็น JTAGICE ทันที เราสามารถเริ่มต้นการดีบักได้หลังจากที่ LED Act หยุดกระพริบ ถ้า JP1 ตั้งให้อยู่ในโหมด ISP AVR JTAG จะเริ่มการทำงานเป็นตัว ISP ทันที LED Act จะไม่กระพริบ


บอร์ดนี้เป็นการทดสอบการดีบักกับ ATMEGA32 ครับ



บอร์ด AVR JTAG ที่ประกอบเรียบร้อยแล้ว


สั่งซื้อบอร์ด AVR JTAG



Contact : MSN :