เรื่องของ 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 Top Ad
Responsive Ads Here
Post Bottom Ad
Responsive Ads Here
Author Details
Templatesyard is a blogger resources site is a provider of high quality blogger template with premium looking layout and robust design. The main mission of templatesyard is to provide the best quality blogger templates which are professionally designed and perfectlly seo optimized to deliver best result for your blog.
ไม่มีความคิดเห็น:
แสดงความคิดเห็น