ISP กับ JTAG - KingAutomate

Breaking

Home Top Ad

Responsive Ads Here

Post Top Ad

Responsive Ads Here

วันอาทิตย์ที่ 8 เมษายน พ.ศ. 2561

ISP กับ JTAG

เรื่องของ ISP:กาลครั้งหนึ่งนานมาแล้ว (น่าจะสัก 20-40 ปี ก่อน) เมื่อคุณ จขกท. ซื้อชิปไมโครคอนโทรลเลอร์มาใช้ในวงจร
วิธีเดียวที่คุณ จขกท. จะทำการติดตั้งโปรแกรมที่คุณเขียนลงไปในชิปได้ คือคุณต้องเอาชิปนั้นไปจิ้มบนอุปกรณ์
กล่องใหญ่ๆ หนักๆ ที่ต่อกับคอมพิวเตอร์ (กล่องที่ว่า เรียก EEPROM Programmer) ซึ่งจะทำการ "เบิร์น"
โปรแกรมของคุณลงไปในชิปโดยใช้ไฟแรงสูง, เมื่อเบิร์นเสร็จ คุณก็ดึงชิปออกจากกล่อง และเอาไปใส่ในวงจรของคุณ

หน้าตา EEPROM programmer: http://en.wikipedia.org/wiki/Programmer_(hardware)

เมื่อคุณต้องการแก้โปรแกรม คุณต้องดึงชิปออกจากวงจรคุณ กลับมาเสียบลงกล่อง Programmer ที่ว่า
แล้วจึง "เบิร์น" โปรแกรมใหม่ลงไป ก่อนจะแกะชิปกลับไปใส่ในวงจรเดิมอีกครั้ง
ซึ่งไม่สะดวกมากๆ ถ้าคุณจะต้องแก้โปรแกรมบนชิปบ่อย และเวลางัดชิปออกมาจากซ็อกเก็ต ขาชิปมีโอกาสงอหรือหักได้

จึงมีคนคิดทำชิปที่คุณสามารถโปรแกรมใหม่ได้ โดยคุณ *ไม่ต้องดึงออกจากวงจร*
วิธีโปรแกรมชิปแบบนี้ เรียกว่า In-System Programming (ISP ที่คุณจขกท. ว่านั่นล่ะ)
โดยในชิปจะมีวงจรพิเศษ ซึ่งทำหน้าที่ "เบิร์น" โปรแกรมในตัวมันเอง โดยวงจรนี้จะไม่ทำงานในสภาพปกติ
แต่จะทำงานขึ้นมาในสภาวะพิเศษ เช่น ระหว่างกด Reset หรือมีการดึงขาบางขาให้เป็นลอจิกต่ำ ฯลฯ

เมื่อคุณต้องการเขียนโปรแกรมใหม่ลงในชิป คุณก็แค่สับสวิตช์ในวงจรให้เกิดภาวะพิเศษที่ว่าขึ้น
และทำการส่งข้อมูลโปรแกรมเข้าไปในขาบางขาของชิป (จะระบุไว้ในคู่มือว่าต้องใช้ขาไหน)
โปรแกรมก็จะถูกเบิร์นลงไปในชิปโดยอัตโนมัติ เมื่อคุณสับสวิตช์กลับคืน โปรแกรมใหม่ของคุณก็จะใช้งานได้ทันที
ไม่ต้องงัดชิปให้ยุ่งยาก, เมื่อคุณจะโปรแกรมไมโครคอนโทรลเลอร์ตัวเล็กๆ ในปัจจุบัน จะใช้วิธีนี้กันเป็นหลัก

เรื่องของ JTAG:

เมื่อคุณทำวงจรไมโครคอนโทรลเลอร์/ไมโครโปรเซสเซอร์ และโปรแกรมที่ซับซ้อนมากขึ้น
การดีบั๊กโปรแกรมที่คุณเขียนด้วยการมองลอจิกจากขาเอาต์พุตจะเริ่มยากลำบาก
จึงเกิดความต้องการระบบไมโครคอนโทรเลอร์ที่คุณสามารถรันโปรแกรมและ *ดีบั๊กกันได้สดๆ* ขึ้นมา

เมื่อ 30 ปีก่อน บริษัทผลิตชิปในยุโรปจึงลงขันกันตั้งคณะทำงาน Joint Test Action Group
เพื่อศึกษาวิจัยวิธีที่จะใช้ในการดีบั๊กชิปไมโครคอนโทรเลอร์ที่ติดตั้งในแผงวงจร
จนออกมาเป็นมาตรฐาน IEEE 1149.1 ซึ่งเรียกกันติดปากว่า "JTAG" (ตามชื่อของคณะทำงานนั่นล่ะ)

ชิปไมโครคอนโทรเลอร์ที่รับโปรโตคอล JTAG จะมีขาพิเศษ 2 ขา ซึ่งเมื่อคุณต่อคอมพิวเตอร์เข้าไป
คุณจะสามารถสั่งเบิร์นโปรแกรมลงชิป, สั่งรันโปรแกรม/หยุดโปรแกรมชั่วคราว, เรียกดูสถานะต่างๆ ของไมโครคอนโทรเลอร์,
และดูเนื้อหาบน ROM กับ RAM ได้แบบสดๆ ซึ่งเป็นประโยชน์มากๆ สำหรับการดีบั๊กโปรแกรมที่ซับซ้อนในสภาพการทำงานจริง

แต่ชิปไหนจะมี JTAG ได้ ชิปนั้นต้องแรงพอสมควรครับ

เครดิต https://pantip.com/topic/33279298

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

แสดงความคิดเห็น

Post Bottom Ad

Responsive Ads Here

หน้าเว็บ