การคืนค่าไมโครคอนโทรลเลอร์ การซ่อมฟิวส์ AVR

_________________________________________________________________________________________________________

หากคุณกำลังทำงานกับเครื่องกำเนิดสัญญาณนาฬิกาในตัวและฟิวส์เกิดประกายไฟโดยไม่ตั้งใจ (เช่นกดปุ่มแล้วลืมยกเลิกการเลือกช่อง " ฟิวส์โปรแกรม" โปรแกรมฟิวส์บิต - ไมโครคอนโทรลเลอร์สามารถปิดเครื่องกำเนิดสัญญาณนาฬิกาในตัวและสลับไปทำงานกับควอตซ์ภายนอก (หยุดทำงานตามธรรมชาติ)

เมื่อพยายามแฟลชคริสตัล CodeVision จะสร้างข้อผิดพลาดดังนี้:


หรือเช่นนี้:

ฟิวส์คือ "สวิตช์" ภายในไมโครคอนโทรลเลอร์ที่รับผิดชอบในการเชื่อมต่อเครื่องกำเนิดสัญญาณนาฬิกาในตัวสำหรับเชื่อมต่อควอตซ์ภายนอกสำหรับเชื่อมต่อโหมดการทำงานจากเครื่องกำเนิดไฟฟ้าภายนอก ฯลฯ คุณไม่สามารถกำหนดค่าได้โดยตรงในโปรแกรม เช่นเดียวกับการลงทะเบียน ฟิวส์จะถูกปรับเฉพาะเมื่อกระพริบเฟิร์มแวร์เท่านั้น

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

ตอนนี้ฟิวส์สามารถนำกลับมาใช้ใหม่ได้ (นี่เป็นเพียงเซลล์หน่วยความจำเสริม)แต่ของที่ระลึกในยุคนั้นยังคงอยู่ในการกำหนดฟิวส์ที่ตั้งโปรแกรมไว้:
ตั้งโปรแกรมไว้
ฟิวส์หมายถึง รู (log.0, ส่วนที่ไม่นำไฟฟ้า);
ไม่ได้ตั้งโปรแกรม - ทำเครื่องหมาย (log.1, ส่วนที่เป็นสื่อกระแสไฟฟ้า);

ดังนั้นฟิวส์จึงถูกตั้งโปรแกรมไว้ด้วย "รู" แทนที่จะตั้งโปรแกรมเห็บ
__________________________________________________________________________________________________

หากต้องการคืนค่าการทำงานของไมโครคอนโทรลเลอร์ ให้ค้นหาในหน้าต่าง
โปรแกรมFuseBit บิต:
ซีเคเซล0
ซีเคเซล1
ซีเคเซล2
ซีเคเซล3
มท0
มท1
คคอปต์
...และเปรียบเทียบกับจาน พิจารณาว่าโหมดการทำงานใดที่คุณเพิ่งแฟลช
ไมโครคอนโทรลเลอร์ :

ส่วนใหญ่แล้วบิตข้างต้นทั้งหมดจะเป็นรู (โดยค่าเริ่มต้นใน CVAVR จะไม่มีเครื่องหมายถูกแม้แต่อันเดียว) กล่าวคือ บิตเหล่านี้ทั้งหมดถูกตั้งโปรแกรมไว้ ซึ่งสอดคล้องกับการเชื่อมต่อควอตซ์ภายนอกที่มีความถี่ตั้งแต่ 3 ถึง 8 MHz:



1. ซื้อควอตซ์ที่มีความถี่ 3 ถึง 8 MHz หรือแยกออกจากเศษคอมพิวเตอร์ (ความถี่ของควอตซ์เขียนอยู่บนตัวเครื่อง) และตัวเก็บประจุสองตัวตั้งแต่ 12 ถึง 36 pF



2. ค้นหาพิน XTAL1 และ XTAL2 บนไมโครคอนโทรลเลอร์ ใส่ควอตซ์ระหว่างหมุดเหล่านั้น จากขั้วเดียวกัน ให้โยนตัวเก็บประจุลงบนสายสามัญ (แม้ว่าคุณจะลองได้โดยไม่ต้องใช้พวกมันก็ตาม)


3. ในการกำหนดค่าโปรเจ็กต์ ให้เปลี่ยนความถี่ชิปเป็น 8,000,000 (หรือความถี่อื่นที่ควอตซ์ของคุณได้รับการออกแบบ) คุณไม่จำเป็นต้องเปลี่ยน แต่ฟังก์ชันการหน่วงเวลาจะคำนวณความล่าช้าอย่างไม่ถูกต้อง (ถ้าคุณใช้แน่นอน)


4. ในกรณีนี้ ให้ทำการแฟลชฟิวส์อีกครั้ง (ตอนนี้ CVAVR ควรรู้จักไมโครคอนโทรลเลอร์ตามปกติ):
เครื่องมือ >> โปรแกรมเมอร์ชิป >> โปรแกรม >> บิตฟิวส์

5. ทำความสะอาดชิปแล้วอัพโหลดโปรแกรมอีกครั้ง (แน่นอน อย่าลืมคอมไพล์ก่อนทำนะครับ)
หากมีข้อผิดพลาดปรากฏขึ้น เพียงลองปิดหน้าต่างที่มีข้อผิดพลาดแล้วแฟลชอีกครั้ง โปรโตคอลสำหรับโปรแกรมเมอร์ได้รับการพัฒนาในสมัยของ Windows95 และสำหรับคอมพิวเตอร์รุ่นเก่า ในเรื่องสมัยใหม่โดยเฉพาะ คอมพิวเตอร์แบบมัลติคอร์ด้วย Windows XP (Windows Vista, Windows 7) บางครั้งสามารถแฟลชได้ตามปกติเป็นครั้งที่สองหรือสามเท่านั้น (อย่างน้อยสำหรับฉัน)

6. เมื่อคุณได้รับ "พลัง" เหนือไมโครคอนโทรลเลอร์อีกครั้ง ให้ทำตามที่คุณต้องการ คุณสามารถเปลี่ยนกลับไปใช้ออสซิลเลเตอร์ในตัว หรือคุณสามารถทำงานต่อกับควอตซ์ที่ความถี่สูงได้

ป.ล. คุณสามารถอ่านค่าฟิวส์ได้จาก CodeVisionAVR (และจดไว้ก่อนที่จะทำอะไรกับไมโครคอนโทรลเลอร์เพื่อให้คุณสามารถกู้คืนได้ในภายหลัง) ดังนี้:เครื่องมือ >> โปรแกรมเมอร์ชิป >> อ่าน >> บิตฟิวส์



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

  1. ห้ามเขียนโปรแกรมผ่าน SPI
  2. พิน RESET ได้กลายเป็นพินพอร์ตปกติ
  3. เลือกแหล่งสัญญาณนาฬิกาไม่ถูกต้อง

หากในกรณีแรกและกรณีที่สองคุณไม่สามารถทำได้หากไม่มีโปรแกรมเมอร์แบบขนาน หากเลือกแหล่งสัญญาณนาฬิกาไม่ถูกต้อง คุณสามารถลองใช้วิธีที่อธิบายไว้ในคู่มือขนาดเล็กนี้ เพื่อสิ่งนี้เราต้องการ:

  • ควอตซ์ ~4 เมกะเฮิรตซ์
  • ตัวเก็บประจุตั้งแต่ 12 pF ถึง 22 pF (2 ชิ้น)
  • ตัวต้านทาน 10 kOhm
  • ชิป 74HC00
  • แขนตรง :-)

สมมติว่าเราไม่รู้ว่าเราได้เลือกแหล่งสัญญาณนาฬิกาใด มีแหล่งสัญญาณนาฬิกาต่อไปนี้:

  • เครื่องสะท้อนควอตซ์
  • โซ่ RC ภายนอก
  • เครื่องกำเนิดไฟฟ้าภายนอก

นอกจากนี้ยังมีเครื่องกำเนิด RC ภายใน แต่ด้วยเหตุผลที่ชัดเจนเราจึงไม่สนใจมัน ในการคืนชีพคอนโทรลเลอร์ คุณต้องดำเนินการตามตัวเลือกที่เป็นไปได้ตามลำดับ

เครื่องสะท้อนควอตซ์

เครื่องสะท้อนเสียงแบบควอตซ์เชื่อมต่อกับขา XTAL2 และ XTAL1 ขาควอทซ์แต่ละขาเชื่อมต่อกับตัวเก็บประจุซึ่งจะเชื่อมต่อกับกราวด์ ตัวเก็บประจุใด ๆ ตั้งแต่ 12 ถึง 22 pf

หากการเชื่อมต่อควอทซ์ไม่ได้ช่วยเรามาดูกันดีกว่า

โซ่ RC ภายนอก

ผมจะไม่ใช้มันเพื่อการตอกบัตร เพราะความถี่จะลอยเหมือนคุณรู้อะไรอยู่ในหลุม มันเชื่อมต่อกับคอนโทรลเลอร์ดังนี้:

สิ่งสำคัญ: พิน XTAL2 จะต้องลอยอยู่ในอากาศ!คุณไม่จำเป็นต้องเชื่อมต่อทุกที่ หากวิธีนี้ไม่ได้ผล ตัวเลือกสุดท้ายก็จะยังคงอยู่

เครื่องกำเนิดไฟฟ้าภายนอก

เครื่องกำเนิดนี้สามารถสร้างขึ้นได้จากเกือบทุกตรรกะหรือจากตัวจับเวลา 555 ฉันบังเอิญมีชิป 74HC00 อยู่ในมือ คุณสามารถใช้ k155la3 ของเราแทนได้ โครงการนี้ง่ายมากและไม่จำเป็นต้องปรับเปลี่ยน:

เครื่องกำเนิดไฟฟ้าทำงานที่ความถี่ประมาณ 1.3 MHz โดยธรรมชาติแล้วสามารถปรับได้โดยการเปลี่ยนค่าของตัวต้านทานและตัวเก็บประจุ แต่ก็ไม่น่าจะจำเป็น ฉันไม่ได้จ่ายเงินให้เขาเพราะ... ไม่มีประเด็น ควรปล่อยให้ขาของ XTAL2 ห้อยอยู่ในอากาศ หากหลังจากนี้คอนโทรลเลอร์ไม่เริ่มทำงาน แสดงว่าคอนโทรลเลอร์ไม่ทำงานหรือห้ามตั้งโปรแกรมผ่าน SPI หรือรีเซ็ตถูกปิดใช้งาน เฉพาะโปรแกรมเมอร์แบบขนานเท่านั้นที่สามารถช่วยได้ที่นี่

คำถามข้อเสนอแนะคำชี้แจงจะโพสต์ไว้ในความคิดเห็น

ความสนใจ! ผู้เขียนอุปกรณ์ไม่หยุดนิ่ง - เขาปรับปรุง "หมอ" ของเขาอยู่ตลอดเวลา ฉันยังติดตามการเปลี่ยนแปลงและอัปเดตบทความด้วย
บทความอธิบายได้มากที่สุด เวอร์ชันเสถียร อัปเดตหมายเลข 9 ลงวันที่ 03/13/2554
ในตอนท้ายของบทความจะมีเวอร์ชันล่าสุดและไฟล์เก็บถาวรที่มี "Doctor" เวอร์ชันเก่าทั้งหมด

ฉันอยากจะถามผู้ที่อ่านบล็อกของฉัน: คุณมีไมโครคอนโทรลเลอร์จำนวนเท่าใดที่มีข้อมูลที่แฟลชไม่ถูกต้องและไม่เหมาะสมสำหรับการใช้งานต่อไป ฉันคิดว่าถ้าคุณสวย เวลานานทำงานกับไมโครคอนโทรลเลอร์แล้วคุณก็เจอเคสต่างๆ เฟิร์มแวร์ไม่ถูกต้องฟิวส์ ฉันใส่ไมโครคอนโทรลเลอร์ที่ "เสียหาย" ของฉันลงในกล่องพิเศษ ด้วยความหวังว่าสักวันหนึ่งในอนาคต ฉันจะประกอบโปรแกรมเมอร์แบบขนานแรงดันสูงและนำพวกมันกลับมามีชีวิตอีกครั้ง แต่อย่างใดฉันไม่ต้องการประกอบโปรแกรมเมอร์ไฟฟ้าแรงสูงเป็นพิเศษ วงจรค่อนข้างซับซ้อนและการใช้โปรแกรมเมอร์ดังกล่าวเพียงครั้งเดียว - เพื่อฟื้นฟูไมโครคอนโทรลเลอร์ที่แฟลชผิดพลาด กล่าวโดยสรุป การซื้อไมโครคอนโทรลเลอร์ตัวใหม่ง่ายกว่าเสมอ (และถูกกว่า) ดังนั้นไมโครคอนโทรลเลอร์ที่ "ตาย" จะถูกเก็บไว้ต่อไปหากไม่มีสิ่งแปลก ๆ เกิดขึ้น - ในระหว่างการผลิตอุปกรณ์ใหม่ (ฉันจะโพสต์เร็วๆ นี้) พวกเขาหยุดแสดงสัญญาณของชีวิต สองตัวจิ๋ว 2313 พร้อมกันโดยไม่มีเหตุผลเฉพาะ . ความสงสัยเกิดขึ้นจากข้อเท็จจริงที่ว่าฟิวส์ถูกตั้งค่าไม่ถูกต้องระหว่างเฟิร์มแวร์ มันเป็นไปไม่ได้เลยที่จะได้อันใหม่ในแพ็คเกจ SOIC อย่างรวดเร็ว และมือของฉันก็อยากจะจบวงจร เนื่องจากฉันกำลังจะสร้างโปรแกรมเมอร์ไฟฟ้าแรงสูงอยู่แล้ว ฉันจึงตัดสินใจว่าถึงเวลาต้องทำแล้ว แต่ฉันไม่เคยสร้างโปรแกรมเมอร์ไฟฟ้าแรงสูง แต่สร้างอุปกรณ์ที่ออกแบบมาเพื่อแก้ไขฟิวส์ที่ติดตั้งผิดพลาดโดยเฉพาะ

Atmega fusebit doctor มีอะไรน่าสนใจบ้าง?
ดังที่คุณเข้าใจนี่ไม่ใช่โปรแกรมเมอร์ไฟฟ้าแรงสูงอย่างแน่นอน อุปกรณ์นี้มีวัตถุประสงค์เพื่อจุดประสงค์เดียวเท่านั้น - เพื่อนำไมโครคอนโทรลเลอร์กลับมา "มีชีวิต" ด้วยการเย็บเส้นใยที่ไม่ถูกต้อง

ฟิวส์ดังกล่าวอาจเป็น:
—ซีเคเซลฟิวส์สำหรับเลือกออสซิลเลเตอร์หลัก (ออสซิลเลเตอร์ภายนอกจะถูกเลือกเมื่อไม่มีอยู่หรือเลือกความถี่ภายในที่ต่ำมาก)
— สเปียนข้อห้ามในการเขียนโปรแกรมตามลำดับ
—RSTDISBLการใช้พินรีเซ็ตเป็นสาย I/O เพิ่มเติม
- ติดตั้งแล้ว ล็อคบิต;
— อื่นๆ ที่รบกวนการเขียนโปรแกรมตามลำดับ

หลักการทำงานของอุปกรณ์

- ง่ายมาก - ใช้ไฟ 12 โวลต์กับบอร์ด ใส่ไมโครคอนโทรลเลอร์ที่ "เสียหาย" เข้าไปในซ็อกเก็ต กดปุ่ม " เริ่ม"และในเสี้ยววินาที เราก็จะได้ไมโครคอนโทรลเลอร์ตัวใหม่ที่ใช้งานได้จริง มันง่ายมาก คุณไม่จำเป็นต้องมีคอมพิวเตอร์ด้วยซ้ำ (พวกเขาจะไม่พอใจกับเสียงระฆังและนกหวีดหลอกอยู่เสมอ เช่น การควบคุมการใช้ โปรแกรมพิเศษบนพีซี ซึ่งโดยพื้นฐานแล้วไม่จำเป็น) และถ้าภายนอกดูเรียบง่าย ทุกอย่างก็จะซับซ้อนมากขึ้นจากภายใน เมื่อคุณกดปุ่ม "เริ่มต้น" อุปกรณ์จะอ่านลายเซ็นของไมโครคอนโทรลเลอร์ของผู้ป่วย และหากไม่ได้อ่าน จะพยายามอ่านหลายครั้ง วิธีทางที่แตกต่าง- หลังจากอ่านลายเซ็นจากฐานข้อมูลแล้ว ประเภทของไมโครคอนโทรลเลอร์จะถูกกำหนดและการตั้งค่าจากโรงงานจะถูกกู้คืน ของไมโครคอนโทรลเลอร์ตัวนี้, การตั้งค่าบิตฟิวส์ หากไม่ทราบลายเซ็นหรือไมโครคอนโทรลเลอร์สร้างลายเซ็นไม่ถูกต้อง อุปกรณ์จะตั้งค่าบิตฟิวส์ให้อยู่ในสถานะที่สามารถตั้งโปรแกรมตามลำดับได้ เมื่อกู้คืนบิตฟิวส์ เฟิร์มแวร์ของไมโครคอนโทรลเลอร์จะยังคงอยู่เหมือนเดิม บนกระดานก็มีจัมเปอร์ด้วย” อนุญาตให้ลบ“ เมื่อปิด อุปกรณ์จะ "ศูนย์" ไมโครคอนโทรลเลอร์โดยสมบูรณ์ นี่เป็นสิ่งจำเป็นหากผู้ป่วย "ถูกล็อค" เช่น มีการติดตั้งบิตความปลอดภัยเพื่อป้องกันการอ่าน/การเขียนไมโครคอนโทรลเลอร์

อุปกรณ์มีไฟ LED สองดวงเพื่อระบุการทำงาน– แดงและเขียว :) มินิมอล? แต่แค่นี้ก็เพียงพอแล้ว!
หากไฟเป็นสีเขียว– ผู้ป่วยได้รับการรักษาจนหายดี บิตฟิวส์กลับคืนสู่การตั้งค่าจากโรงงาน หากไมโครคอนโทรลเลอร์ "ล็อค" (เปิดใช้งาน LockBits) บิตฟิวส์จะถูกตรวจสอบ และหากตรงกับบิตจากโรงงาน ไฟ LED สีเขียวจะสว่างขึ้น
ถ้าไฟเป็นสีแดง– ปัญหาเกี่ยวกับลายเซ็นชิป ไม่สามารถอ่านได้ว่าไม่มีไมโครคอนโทรลเลอร์ในซ็อกเก็ตหรือไม่มีลายเซ็นดังกล่าวในฐานข้อมูล
หากสีเขียวกะพริบ- ลายเซ็นก็โอเค บิตฟิวส์มีข้อผิดพลาด แต่ไม่สามารถแก้ไขได้เนื่องจากไมโครคอนโทรลเลอร์ "ล็อค" (เปิดใช้งาน LockBits) จึงจำเป็น ลบออกอย่างสมบูรณ์ไมโครคอนโทรลเลอร์ (คุณต้องตั้งค่าจัมเปอร์สำหรับการลบ - "อนุญาตให้ลบ")
หากสีแดงกะพริบ- ลายเซ็นก็โอเคไมโครคอนโทรลเลอร์ "ไม่ล็อค" แต่ด้วยเหตุผลบางอย่างจึงเป็นไปไม่ได้ที่จะกู้คืนบิตฟิวส์

หากคุณต้องการที่จะได้รับมากขึ้น รายละเอียดข้อมูลมีข้อมูลเกี่ยวกับกระบวนการ “รักษา” อยู่บนกระดาน เอาต์พุต UART- ส่งสัญญาณนี้ไปยังเครื่องเทอร์มินัลและรับ "งานพิมพ์" ของสิ่งที่ทำเสร็จแล้ว

การตั้งค่าเทอร์มินัล:
บอดเรต: 4800
ความเท่าเทียมกัน: ไม่มี
บิตข้อมูล: 8
หยุดบิต: 1
การจับมือกัน: ไม่มี

กระดานมีแผงสำหรับ "ผู้ป่วย" สามแผง 20 (แอตตินี่2313...), 28 (ATmega48/88/168, Atmega8...), 40 (Atmega16, Atmega8535...) ขา. หากคุณตัดสินใจที่จะ "รักษา" "ผู้ป่วย" อีกคน คณะกรรมการก็มีสิ่งพิเศษ ขั้วต่ออะแดปเตอร์พร้อมช่องเสียบสำหรับไมโครคอนโทรลเลอร์ที่คุณต้องการ อุปกรณ์รองรับได้มาก 106 ประเภทของไมโครคอนโทรลเลอร์ AVR
นี่คือรายการทั้งหมด:
1กิโลไบต์:
AT90s1200 , Attiny11 , Attiny12 , Attiny13/A , Attiny15
2กิโลไบต์:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313 , AT90s2323, AT90s2343
4กิโลไบต์:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8 กิโลไบต์:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515 , AT90s8535
16 กิโลไบต์:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, 90p, wm216, AT90pwm316, AT90usb162
32 กิโลไบต์:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, 28, ga328P , Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/ PA, AT90can32
64 กิโลไบต์:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, AT90usb646, 0usb647,AT90can64
128 กิโลไบต์:
Atmega103, Atmega128/A, Atmega1280 , Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 กิโลไบต์:
เอตเมก้า2560, เอตเมก้า2561

สีเขียว คริสตัลที่ได้รับการทดสอบและรักษาโดยผู้ใช้ “แพทย์” เรียบร้อยแล้วจะถูกทำเครื่องหมายไว้ หากคุณได้รักษาคริสตัลที่ไม่มีเครื่องหมายสีเขียวแล้ว โปรดแจ้งให้ผู้เขียนอุปกรณ์หรือฉันทราบเกี่ยวกับเรื่องนี้ - ฉันจะส่งต่อให้

จบการรีวิวแบบประจบสอพลอแล้ว เรามาประกอบอุปกรณ์กันดีกว่า

การประกอบอุปกรณ์

แผนภาพวงจรของอุปกรณ์ค่อนข้างง่าย ค่าตัวต้านทานสามารถเปลี่ยนแปลงได้ภายในขีดจำกัดเล็กๆ

เฟิร์มแวร์เวอร์ชันนี้มีให้สำหรับไมโครคอนโทรลเลอร์ด้วย:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
เฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์ที่มีหน่วยความจำ 16kB และ 32kB ยังแสดงชื่อของไมโครคอนโทรลเลอร์ที่กำลังกู้คืนอีกด้วย
สำหรับเฟิร์มแวร์และฟิวส์สำหรับไมโครคอนโทรลเลอร์อื่น ๆ โปรดดูที่ไฟล์เก็บถาวรของ Doctor เวอร์ชันเก่าที่ท้ายบทความ

อะแดปเตอร์สำหรับไมโครคอนโทรลเลอร์

ผู้เขียนได้พัฒนาอะแดปเตอร์สองตัว:
— สำหรับการเขียนโปรแกรม HVPP ของคอนโทรลเลอร์แบบ Attiny26 แบบ 20 พินและคอนโทรลเลอร์แบบ Atmega8515 40 พิน
- สำหรับการเขียนโปรแกรม HVSP สำหรับไมโครคอนโทรลเลอร์ 8 พินและ 14p พินที่มีแรงดันไฟฟ้าสูง อย่างสม่ำเสมอการเขียนโปรแกรม
- อะแดปเตอร์สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ 20 และ 40 พินในแพ็คเกจ DIP
- อะแดปเตอร์สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ 8 และ 14 พินในแพ็คเกจ DIP

โบนัสเล็กน้อยจากฉัน– อะแดปเตอร์สำหรับไมโครคอนโทรลเลอร์ 8 พิน (ATtiny13...) และ 20 พิน (ATtiny2313...) ในแพ็คเกจ SOIC


- อะแดปเตอร์สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ 8 และ 20 พินในแพ็คเกจ SOIC

การใช้อะแดปเตอร์สำหรับแพ็คเกจ SOIC นั้นง่ายมาก:

เอกสารสำคัญของแพทย์รุ่นก่อนหน้าทั้งหมด

นี่คือไฟล์เก็บถาวรกับทุกคน รุ่นก่อนหน้า"พวกหมอ". นอกจากนี้ ไฟล์เก็บถาวรยังมีวัสดุเพิ่มเติม เช่น pinout สำหรับเคส AVR บอร์ดอะแดปเตอร์ และอื่นๆ อีกมากมาย

เก็บถาวร "Doctor" เวอร์ชันเก่า

ล่าสุดในขณะนี้ เวอร์ชันของ “DOCTOR”

ดังที่ได้กล่าวไปแล้วข้อดีหลักของ "หมอ" คือความเป็นอิสระ หากต้องการคืนฟิวส์ คุณจะต้องใช้อุปกรณ์เท่านั้น นี่เป็นสิ่งที่ดีมาก!
ใช่ “แพทย์” ให้ข้อมูลเกี่ยวกับกระบวนการ “การรักษา” ผ่านทาง UART ข้อความผ่าน UART ซึ่งทำซ้ำ LED ทำให้ได้ภาพ "การรักษา" ที่สมบูรณ์ยิ่งขึ้น แต่สำหรับหลาย ๆ คนยังไม่เพียงพอ ฉันต้องการควบคุมกระบวนการกู้คืนที่สมบูรณ์ยิ่งขึ้น และในการอัพเดทใหม่ผู้เขียนได้ให้สิ่งนี้ ควบคุมทั้งหมด!

ตอนนี้มันเป็นไปได้:
- การสื่อสารสองทางกับ “แพทย์” ผ่าน UART
— การทำงานกับคริสตัลที่มีลายเซ็นไม่ถูกต้อง
- ตั้งค่าฟิวส์และล็อคบิตของคุณ
— อ่านเกี่ยวกับส่วนที่เหลือในคำอธิบายภายในไฟล์เก็บถาวร...
- "หมอ" เวอร์ชั่นล่าสุด

ค่าธรรมเนียมของผู้อ่านบล็อกของแพทย์
นี่คืออุปกรณ์ที่ผู้อ่านรวบรวม - เป็นทางเลือกที่ดี

Signet "Doctor" จาก Paul (ใน Splint)

Doctor's Signet โดย Paul (ใน Splint)
ซลอยนิคพบข้อผิดพลาดบางประการ:
1. ตัวต้านทานที่มีขา 23 เมกะไบต์ไม่ได้เชื่อมต่อกับซ็อกเก็ต
2. ตัวต้านทานจากขา 4 เมกะไบต์ไม่ได้เชื่อมต่อกับซ็อกเก็ต
3. ตัวต้านทานจากขาเมกะที่ 5 ไม่ได้เชื่อมต่อกับซ็อกเก็ต
4.ทรานซิสเตอร์ BC547(T2) พร้อมขา 13 เมกะไบต์ - ไม่มีการสัมผัสจากตัวส่งสัญญาณถึงกราวด์
ไม่อย่างนั้นทุกอย่างก็ดูจะดี รวบรวมและล็อค Tinka 2313 และกู้คืน
โปรดคำนึงถึงสิ่งนี้ในระหว่างการผลิต

ตัวเลือก “Doctor” ในเวอร์ชัน SMD จาก webconn

ตัวเลือก "หมอ" ใน SMD จาก webconn
ฉันอยากจะมีส่วนร่วมในรูปแบบของบอร์ดอื่นสำหรับ "หมอ" ในเวอร์ชัน SMD มีจัมเปอร์เพียง 5 ตัวและอุปกรณ์ "ไม่สนใจ" SMD 3 ตัวขับเคลื่อนโดย Power Jack 5 มม. (แต่มีรุ่นที่มีตัวเชื่อมต่อในไฟล์เก็บถาวร) ผ่าน 78L05 (มันร้อน แต่คุณสามารถทำงานได้สองสามนาที โดยไม่ต้องปิดเครื่องและโดยปกติแล้วคุณไม่จำเป็นต้องใช้อีกต่อไป) หนึ่งในทรานซิสเตอร์ แต่ก็อยู่ในระดับปานกลาง (สิ่งเล็ก ๆ ต้องเสียสละ) แต่บอร์ดยังใช้งานได้ เข้ากันได้กับ รุ่นล่าสุดแพทย์ V2h (นั่นคือ UART ถูกทำลายโดยสิ้นเชิง)

รุ่น "Doctor" ของ Machineman

สายไฟ "หมอ" จาก Machiman


บอร์ดอยู่ในระยะวิ่งโดยมีสายสำหรับชิ้นส่วนที่มีอยู่ดังนั้นจึงมีส่วนประกอบของ SMD ที่มีองค์ประกอบนำออก มันเป็นไปไม่ได้ที่จะหนีจากจัมเปอร์ไม่ว่าฉันจะบิดมันมากแค่ไหนก็ตาม ทรานซิสเตอร์ T3 หันไปในทิศทางที่ถูกต้อง (ตอนแรกสับสนกับตัวสะสมตัวปล่อย) ใช่ ฉันไม่ได้กังวลเรื่องแหล่งจ่ายไฟมากเกินไปและเชื่อมต่อทุกอย่างเข้ากับขั้วต่อ molex และแน่นอนว่าสามารถเข้าถึงการ์ดเอ็กซ์แพนชันได้ ขอให้โชคดี!

ตัวเลือก “หมอ” จาก TaseG (การเดินสายไฟเข้าเฝือก)

ตัวแปร "หมอ" จาก TaseG



การแก้ไขสายไฟโดย Maxim Nosyrev
ฉันเป็นมือใหม่ ดังนั้นโปรดอย่าตัดสินฉันอย่างรุนแรงหากฉันทำผิดพลาด
หากคุณเปรียบเทียบการเดินสายไฟกับต้นฉบับจากบทความแสดงว่ามีรางพิเศษที่เชื่อมต่อ 9 และ 5 โวลต์ตามที่ฉันเข้าใจ 9 โวลต์จะจ่ายให้กับเมกะ บางทีฉันอาจจะผิดแต่มันไม่ควรเป็นแบบนี้...

ตัวแปรของ "Doctor" จาก Sailanser (เค้าโครงใน Eagle 5.10)

การเดินสายไฟจาก Sailanser (Eagle 5.10)


ใครที่เริ่มงานด้วย. ไมโครคอนโทรลเลอร์ AVRรู้อย่างนั้น การติดตั้งไม่ถูกต้อง"ฟิวส์" คุณอาจได้รับผลที่น่าเศร้า
กรณีทั่วไป ได้แก่ การปิดพินรีเซ็ตของไมโครคอนโทรลเลอร์อย่างผิดพลาด (ฟิวส์บิต RSTDISBL เพื่อให้สามารถใช้เป็นสาย I/O ได้) หรือการปิดใช้งานโหมด การเขียนโปรแกรมไอเอสพี(ฟิวส์บิต SPIEN) - ในกรณีเหล่านี้ การตั้งโปรแกรมในวงจรจะเป็นไปไม่ได้
มีเพียงโปรแกรมเมอร์แบบขนานเท่านั้นที่สามารถคืนค่าฟังก์ชันการทำงานและทำให้พวกเขากลับมามีชีวิตได้

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

ฉันเพิ่งเจอบนอินเทอร์เน็ต อุปกรณ์ที่น่าสนใจมีสิทธิ์ "หมอ Atmega fusebit"ซึ่งผมอยากจะแนะนำให้ผู้อ่านของเรารู้จัก
ผู้เขียนการพัฒนานี้คือเสา พาเวล คิซีเลฟสกี้.วงจรของอุปกรณ์นี้ค่อนข้างง่ายและมีจุดประสงค์เพื่อจุดประสงค์เดียวเท่านั้น - เพื่อนำไมโครคอนโทรลเลอร์กลับมา "มีชีวิต" ด้วยฟิวส์ที่เย็บไม่ถูกต้อง

ฟิวส์ดังกล่าวอาจเป็น:
-ซีเคเซลฟิวส์สำหรับเลือกออสซิลเลเตอร์หลัก (ออสซิลเลเตอร์ภายนอกจะถูกเลือกเมื่อไม่มีอยู่หรือเลือกความถี่ภายในที่ต่ำมาก)
- สเปียนข้อห้ามในการเขียนโปรแกรมตามลำดับ
-RSTDISBLการใช้พินรีเซ็ตเป็นสาย I/O เพิ่มเติม
- ติดตั้งแล้ว ล็อคบิต;
- อื่นๆ ที่รบกวนการเขียนโปรแกรมตามลำดับ

การใช้อุปกรณ์นี้ง่ายมาก - เราจ่ายไฟ 12 โวลต์ให้กับบอร์ดจากแหล่งจ่ายไฟที่มีความเสถียร ใส่ไมโครคอนโทรลเลอร์ที่ "ตาย" เข้าไปในซ็อกเก็ตแล้วกดปุ่ม " เริ่ม“และในไม่กี่วินาที เราก็จะได้ไมโครคอนโทรลเลอร์ที่ใช้งานได้ “ใหม่ล่าสุด” นอกจากนี้ “หมอฟิวส์บิต Atmega”ไม่ส่งผลกระทบต่อโปรแกรมที่เดินสายเข้ากับไมโครคอนโทรลเลอร์ แต่ไม่สนใจว่ามีอะไรเดินสายอยู่ที่นั่น แต่จะตรวจสอบเฉพาะ "ฟิวส์" เท่านั้น คุณเห็นไหมว่าทุกอย่างเรียบง่ายมากและคุณไม่จำเป็นต้องมีคอมพิวเตอร์ด้วยซ้ำ

หลักการทำงาน “หมอฟิวส์บิต Atmega”.

เมื่อคุณกดปุ่ม "เริ่มต้น" “หมอฟิวส์บิต Atmega”อ่านลายเซ็นของไมโครคอนโทรลเลอร์ที่ "ตาย" หากไม่สามารถอ่านได้ จะต้องพยายามอ่านหลายครั้งในรูปแบบต่างๆ หลังจากอ่านลายเซ็นแล้ว ประเภทของไมโครคอนโทรลเลอร์จะถูกกำหนดจากฐานข้อมูล และการตั้งค่าจากโรงงานของบิตฟิวส์จะถูกกู้คืน
หากไม่ทราบลายเซ็นหรือไมโครคอนโทรลเลอร์สร้างลายเซ็นไม่ถูกต้อง อุปกรณ์จะตั้งค่าบิตฟิวส์ให้อยู่ในสถานะที่ทำให้สามารถตั้งโปรแกรมแบบอนุกรมได้
เมื่อกู้คืนบิตฟิวส์ เฟิร์มแวร์ของไมโครคอนโทรลเลอร์ดังที่กล่าวไว้ข้างต้นจะยังคงไม่เสียหาย บนกระดานก็มีจัมเปอร์ด้วย” อนุญาตให้ลบ“ เมื่อปิด อุปกรณ์จะ "ศูนย์" ไมโครคอนโทรลเลอร์โดยสมบูรณ์ นี่เป็นสิ่งจำเป็นหากไมโครคอนโทรลเลอร์ "ล็อค" เช่น มีการติดตั้งบิตความปลอดภัยเพื่อป้องกันการอ่าน/การเขียนไมโครคอนโทรลเลอร์

เพื่อบ่งชี้การดำเนินงาน “หมอฟิวส์บิต Atmega”มีไฟ LED สองดวง - สีแดงและสีเขียว

หากไฟเป็นสีเขียว- หมายความว่าไมโครคอนโทรลเลอร์ได้รับการฆ่าเชื้อเรียบร้อยแล้ว บิตฟิวส์กลับคืนสู่การตั้งค่าจากโรงงาน หากไมโครคอนโทรลเลอร์ "ล็อค" (เปิดใช้งาน LockBits) บิตฟิวส์จะถูกตรวจสอบ และหากตรงกับบิตจากโรงงาน ไฟ LED สีเขียวจะสว่างขึ้น
ถ้าไฟเป็นสีแดง- ปัญหาเกี่ยวกับลายเซ็นชิปไม่สามารถอ่านได้ว่าไม่มีไมโครคอนโทรลเลอร์ในซ็อกเก็ตหรือไม่มีลายเซ็นดังกล่าวในฐานข้อมูล
หากสีเขียวกะพริบ- ลายเซ็นเป็นไปตามลำดับบิตฟิวส์มีข้อผิดพลาด แต่ไม่สามารถแก้ไขได้เนื่องจากไมโครคอนโทรลเลอร์“ ล็อค” (เปิดใช้งาน LockBits) ไมโครคอนโทรลเลอร์จะต้องถูกลบอย่างสมบูรณ์ (คุณต้องตั้งค่าจัมเปอร์ลบ - “อนุญาตให้ลบ”)
หากสีแดงกะพริบ- ลายเซ็นก็โอเคไมโครคอนโทรลเลอร์ "ไม่ล็อค" แต่ด้วยเหตุผลบางอย่างจึงเป็นไปไม่ได้ที่จะกู้คืนบิตฟิวส์

หากคุณต้องการรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับกระบวนการ "บ่ม" ไมโครคอนโทรลเลอร์ มีบางอย่างบนกระดานสำหรับสิ่งนี้ เอาต์พุต UART- ส่งสัญญาณนี้ไปยังเครื่องเทอร์มินัล แล้วคุณจะได้รับ “เอกสาร” ของสิ่งที่ทำในระหว่างกระบวนการบำบัด

การตั้งค่าสำหรับเทอร์มินัลมีดังนี้:
บอดเรต: 4800
ความเท่าเทียมกัน: ไม่มี
บิตข้อมูล: 8
หยุดบิต: 1
การจับมือกัน: ไม่มี

ออกแบบ "หมอ Atmega fusebit"

แผงวงจรพิมพ์มีช่องเสียบสามช่องสำหรับไมโครคอนโทรลเลอร์ซึ่งเปิด "ผู้ป่วย" 20 (แอตตินี่2313...), 28 (ATmega48/88/168, Atmega8...), 40 (Atmega16, Atmega8535...) ขา. หากคุณตัดสินใจที่จะ "รักษา" "ผู้ป่วย" อีกคน คณะกรรมการก็มีสิ่งพิเศษ ขั้วต่ออะแดปเตอร์พร้อมช่องเสียบสำหรับไมโครคอนโทรลเลอร์ที่คุณต้องการ
“หมอฟิวส์บิต Atmega”รองรับไมโครคอนโทรลเลอร์ AVR มากกว่าร้อยประเภท

นี่คือรายการทั้งหมด:

ไมโครคอนโทรลเลอร์ที่ได้รับการทดสอบและกู้คืนสำเร็จแล้วจะมีเครื่องหมายสีเขียว

1กิโลไบต์:
AT90s1200 , Attiny11 , Attiny12 , Attiny13/A , Attiny15
2กิโลไบต์:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313 , AT90s2323, AT90s2343
4กิโลไบต์:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8 กิโลไบต์:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515 , AT90s8535
16 กิโลไบต์:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, 90p, wm216, AT90pwm316, AT90usb162
32 กิโลไบต์:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, 28, ga328P , Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/ PA, AT90can32
64 กิโลไบต์:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, AT90usb646, usb647, AT90can64
128 กิโลไบต์:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 กิโลไบต์:
เอตเมก้า2560, เอตเมก้า2561

การประกอบอุปกรณ์

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


059-atmega_fusebit_doctor_V2e_schematic.pdf - โครงการ "ATmega FuseBit Doctor"

เมื่อประกอบอุปกรณ์มีความแตกต่างกันเล็กน้อยที่สำคัญอย่าลืม
เมื่อติดตั้งซ็อกเก็ตบนบอร์ดขาของซ็อกเก็ต 40 พินตั้งแต่ 29 ถึง 37 จะต้องถูกกัดออกหรือดีกว่านั้นคืออย่าเจาะรูบนบอร์ดสำหรับขาเหล่านี้เลย ในภาพด้านล่าง สถานที่แห่งนี้ถูกวงกลมเป็นสีแดง-ชมพู

ในเอกสารสำคัญพร้อมกับตรายังมีรูปภาพสำหรับใช้กับบอร์ดจากด้านชิ้นส่วน (ภาพการติดตั้ง) การแก้ไขด้วย "หน้ากาก" ดังกล่าวจะกลายเป็น ขั้นตอนง่ายๆการติดตั้งส่วนประกอบวิทยุโดยใช้รูปภาพ (“หน้ากาก”) การออกแบบดังกล่าวยังสามารถนำไปใช้กับบอร์ดโดยใช้วิธี LUT หลังจากนั้นจะต้องเคลือบเงามิฉะนั้นจะถูกลบอย่างรวดเร็ว
059-atmega_doctor_plate_v2d_Sprint.rar - ลงนามสำหรับ "ATmega FuseBit Doctor" ใน Sprint Layout 6
059-atmega_fusebit_doctor_V2e_PCB.zip - ตราและหน้ากากสำหรับ "ATmega FuseBit Doctor" ใน "PDF"
ต่อไป เราจะติดตั้งจัมเปอร์และส่วนประกอบวิทยุบนบอร์ด ติดตั้งซ็อกเก็ต และในที่สุด เราก็ได้อุปกรณ์ที่สมบูรณ์นี้:

ตอนนี้สิ่งที่เหลืออยู่คือการแฟลชไมโครคอนโทรลเลอร์ เอทีเมก้า8และอุปกรณ์ก็พร้อม!
059-atmega_fusebit_doctor_2.09.hex - เฟิร์มแวร์ "ATmega FuseBit Doctor"

ใช่ เป็นไมโครคอนโทรลเลอร์หลักยกเว้น เอทีเมก้า8, สามารถนำไปใช้ได้ Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
การติดตั้งฟิวส์สำหรับไมโครคอนโทรลเลอร์แสดงในรูปด้านล่าง

ไบต์ฟิวส์:ล็อคบิต = 0x3F- ฟิวส์สูง = 0x D1- ฟิวส์ต่ำ = 0xE1- ต่อ ฟิวส์ = 0x00

จะตรวจสอบได้อย่างไรว่าคุณได้ตั้งค่าอย่างถูกต้องในโปรแกรมเมอร์? มีการตั้งค่าแตกต่างกันในโปรแกรมเมอร์ที่แตกต่างกัน บางอย่างก็เหมือนในรูป บางอย่างก็เป็นกระจกเงา หากต้องการทราบว่าต้องทำอย่างไรคุณต้องใส่ MK ที่สะอาดพร้อมการตั้งค่าฟิวส์จากโรงงานลงในโปรแกรมเมอร์และเพียงอ่านเฉพาะการตั้งค่าฟิวส์ ต่อไปเปรียบเทียบฟิวส์ตี "SPIEN" หากโปรแกรมเมอร์ของคุณไม่ได้ตรวจสอบแสดงว่าฟิวส์ถูกตั้งค่าตามภาพ แต่หากทำเครื่องหมายในช่อง ฟิวส์ทั้งหมดจะถูกตั้งค่าในลักษณะกระจก นั่นคือในกรณีที่ไม่มีเครื่องหมายถูกในรูปภาพ เครื่องหมายเหล่านั้นจะถูกวางไว้และในทางกลับกัน

เฟิร์มแวร์เวอร์ชันนี้อยู่ในไฟล์เก็บถาวรและยังมีให้ใช้งานสำหรับไมโครคอนโทรลเลอร์ด้วย:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
เฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์ที่มีหน่วยความจำ 16kB และ 32kB ยังแสดงชื่อของไมโครคอนโทรลเลอร์ที่กำลังกู้คืนอีกด้วย

อะแดปเตอร์สำหรับไมโครคอนโทรลเลอร์

ผู้เขียนได้พัฒนาอะแดปเตอร์สองตัว:
- สำหรับการเขียนโปรแกรม HVPP ของคอนโทรลเลอร์แบบ Attiny26 แบบ 20 พินและคอนโทรลเลอร์แบบ Atmega8515 40 พิน
- สำหรับการเขียนโปรแกรม HVSP สำหรับไมโครคอนโทรลเลอร์ 8 พินและ 14p พินพร้อมวิธีการเขียนโปรแกรมแบบอนุกรมแรงดันสูง
059-adapter_dip20-dip40 - อะแดปเตอร์สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ 20 และ 40 พินในแพ็คเกจ DIP
059-adapter_dip8-dip14 - อะแดปเตอร์สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ 8 และ 14 พินในแพ็คเกจ DIP


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

เมื่อเช้านี้ที่ทำงาน เราได้ปลดล็อคเมกะ 8 สองตัวในโปรแกรมเมอร์ชิปโปรก ดูเหมือนว่าเราสามารถหยุดอยู่แค่นั้นได้ แต่คุณไม่ได้มีโปรแกรมเมอร์ราคาแพงอยู่ในมือเสมอไป และคุณคงไม่ต้องการที่จะประกอบโปรแกรมเมอร์แบบคู่ขนานสำหรับกรณีเดียวเช่นนี้ จากนั้นฉันตัดสินใจมองหาอุปกรณ์ง่าย ๆ ที่สามารถฟื้นไมโครคอนโทรลเลอร์ได้ในกรณีที่เฟิร์มแวร์ฟิวส์ไม่ถูกต้อง
นั่นคือเหตุผลที่ฉันเจออุปกรณ์ที่เรียกว่า "Atmega fusebit doctor" ผู้เขียนคือ โพล ปาเวล คิซีเลฟสกี้

ฟิวส์ที่สามารถปิดกั้นตัวควบคุมได้:
- ซีเคเซลฟิวส์สำหรับเลือกออสซิลเลเตอร์หลัก (ออสซิลเลเตอร์ภายนอกจะถูกเลือกเมื่อไม่มีอยู่หรือเลือกความถี่ภายในที่ต่ำมาก)
- สเปียนข้อห้ามในการเขียนโปรแกรมตามลำดับ
- RSTDISBLการใช้พินรีเซ็ตเป็นสาย I/O เพิ่มเติม
– ตั้งค่าบิต LOCK;
– อื่นๆ ที่รบกวนการเขียนโปรแกรมตามลำดับ

หลักการทำงานของอุปกรณ์:

เราจ่ายไฟ 12 โวลต์ให้กับบอร์ด ใส่ผู้ป่วยเข้าไปในซ็อกเก็ต กดปุ่ม "เริ่มต้น" และในเสี้ยววินาที เราก็จะได้ไมโครคอนโทรลเลอร์ที่ใช้งานได้ เพื่อให้อุปกรณ์ใช้งานได้ไม่จำเป็นต้องเชื่อมต่อกับคอมพิวเตอร์นั่นคือสามารถปลดล็อคไมโครวงจรได้แม้อยู่ในสนาม (หากมี 12V)

เมื่อคุณกดปุ่ม "เริ่มต้น" อุปกรณ์จะพยายามอ่านลายเซ็นของไมโครคอนโทรลเลอร์ของผู้ป่วยอย่างเต็มที่ หลังจากอ่านลายเซ็นสำเร็จแล้ว ประเภทของไมโครคอนโทรลเลอร์จะถูกกำหนดจากฐานข้อมูล และการตั้งค่าบิตจากโรงงานสำหรับไมโครคอนโทรลเลอร์นี้จะถูกกู้คืน หากไม่ทราบลายเซ็นหรือไมโครคอนโทรลเลอร์สร้างลายเซ็นไม่ถูกต้อง อุปกรณ์จะตั้งค่าบิตให้อยู่ในสถานะที่ทำให้สามารถตั้งโปรแกรมแบบอนุกรมได้ เมื่อกู้คืนบิตฟิวส์ เฟิร์มแวร์ของไมโครคอนโทรลเลอร์จะยังคงอยู่เหมือนเดิม
สำหรับกรณีที่มีการตั้งค่าบิตป้องกันที่ป้องกันไม่ให้ไมโครคอนโทรลเลอร์อ่าน/เขียน จะมีจัมเปอร์ "ALLOW ERASE" บนบอร์ด เมื่อปิด อุปกรณ์จะ "ศูนย์" ไมโครคอนโทรลเลอร์โดยสมบูรณ์

ข้อบ่งชี้:
ไฟ LED สองดวงใช้เพื่อระบุการทำงานของอุปกรณ์:
สีเขียว – ผู้ป่วยได้รับการรักษาจนหายดีแล้ว บิตฟิวส์กลับคืนสู่การตั้งค่าจากโรงงานแล้ว หากไมโครคอนโทรลเลอร์ "ล็อค" (เปิดใช้งาน LockBits) บิตฟิวส์จะถูกตรวจสอบ และหากตรงกับบิตจากโรงงาน ไฟ LED สีเขียวจะสว่างขึ้น
สีแดง – ปัญหาเกี่ยวกับลายเซ็นชิป ไม่สามารถอ่านได้ว่าไม่มีไมโครคอนโทรลเลอร์ในซ็อกเก็ตหรือไม่มีลายเซ็นดังกล่าวในฐานข้อมูล
สีเขียวกะพริบ - ลายเซ็นไม่เป็นไรบิตฟิวส์มีข้อผิดพลาด แต่ไม่สามารถแก้ไขได้เนื่องจากไมโครคอนโทรลเลอร์“ ล็อค” (เปิด LockBits) ไมโครคอนโทรลเลอร์จะต้องถูกลบอย่างสมบูรณ์ (คุณต้องตั้งค่าจัมเปอร์ลบ - “อนุญาตให้ลบ”)
กะพริบสีแดง - ลายเซ็นนั้นใช้ได้ ไมโครคอนโทรลเลอร์ "ไม่ล็อค" แต่ด้วยเหตุผลบางอย่างจึงเป็นไปไม่ได้ที่จะกู้คืนบิตฟิวส์

หากคุณต้องการรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับกระบวนการ "การรักษา" มีเอาต์พุต UART บนบอร์ด ส่งสัญญาณนี้ไปยังเครื่องเทอร์มินัลและรับ "งานพิมพ์" ของสิ่งที่ทำเสร็จแล้ว

การตั้งค่าเทอร์มินัล:
อัตรารับส่งข้อมูล: 4800
ความเท่าเทียมกัน: ไม่มี
บิตข้อมูล: 8
จุดแวะพัก: 1
การจับมือกัน: ไม่มี

บอร์ดมีช่องเสียบสามช่องสำหรับ "ผู้ป่วย" ขนาด 20, 28 และ 40 ขาในกล่องจุ่ม หากคุณต้องการ "รักษา" "ผู้ป่วย" อีกคน บอร์ดก็จะมีขั้วต่อสำหรับเชื่อมต่ออะแดปเตอร์กับซ็อกเก็ตสำหรับไมโครคอนโทรลเลอร์ที่คุณต้องการ อุปกรณ์รองรับ 106 หลากหลายชนิดไมโครคอนโทรลเลอร์ AVR

รายชื่อคอนโทรลเลอร์ที่รองรับ (ชิปที่รักษาโดย "แพทย์" ได้สำเร็จจะมีเครื่องหมายสีเขียว):
1กิโลไบต์:
AT90s1200 , Attiny11 , Attiny12 , Attiny13/A , Attiny15
2กิโลไบต์:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25 , AT90s2313 , AT90s2323, AT90s2343
4กิโลไบต์:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8 กิโลไบต์:
Atmega8515 , Atmega8535 , Atmega8/A , Atmega88/A , Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85 , A, ,แอตตินี่88,AT90s8515 ,AT90s8535
16 กิโลไบต์:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, 90p, wm216, AT90pwm316, AT90usb162
32 กิโลไบต์:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, 28, ga328P , Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/ PA, AT90can32
64 กิโลไบต์:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A , Atmega644P/PA , Atmega645, Atmega645A/P, Atmega6450, , , AT90usb647, AT90can64
128 กิโลไบต์:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 กิโลไบต์:
เอตเมก้า2560, เอตเมก้า2561
หากคุณกู้คืนคอนโทรลเลอร์จากรายการที่ไม่ได้ทำเครื่องหมายเป็นสีเขียว ให้เขียนเกี่ยวกับคอนโทรลเลอร์นั้นในความคิดเห็น แล้วฉันจะทำเครื่องหมายให้

แผนภาพอุปกรณ์:


อุปกรณ์ค่อนข้างง่าย ค่าตัวต้านทานสามารถเปลี่ยนแปลงได้ (ภายในขอบเขตเล็กน้อยโดยไม่มีความคลั่งไคล้)

แผงวงจรพิมพ์ของอุปกรณ์มีหนึ่งอัน ความแตกต่างที่สำคัญซึ่งจะต้องนำมาพิจารณาเมื่อประกอบอุปกรณ์
ไม่จำเป็นต้องติดตั้งขาของซ็อกเก็ตพิน 40k จาก 29 ถึง 37 (ทำเครื่องหมายเป็นสีแดงในรูปภาพ) และเป็นการดีกว่าที่จะไม่เจาะรูสำหรับขาเหล่านี้บนแผงวงจรพิมพ์


เราประกอบบอร์ด แฟลชคอนโทรลเลอร์ และเริ่มสร้างชีวิต สร้างชีวิตขึ้นมา และอีกครั้ง...

ข้อได้เปรียบหลักของ "หมอ" คือความเป็นอิสระ หากต้องการคืนฟิวส์ คุณจะต้องใช้อุปกรณ์เท่านั้น และด้วย ปรับปรุงล่าสุดผู้เขียนอุปกรณ์ยังได้เพิ่มการควบคุมกระบวนการปลดล็อคอย่างสมบูรณ์ ซึ่งดำเนินการผ่านเทอร์มินัล UART

ไฟล์:
ดาวน์โหลดไฟล์โครงการ v2.11: (ดาวน์โหลด: 3172)
ในไฟล์เก็บถาวร: เฟิร์มแวร์ Atmega8, Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P, คำอธิบาย, แผงวงจรพิมพ์อุปกรณ์และอะแดปเตอร์
ดาวน์โหลดบอร์ดอะแดปเตอร์ SMD: (ดาวน์โหลด: 2062)(จิ๋ว2313, เมก้า8, เมก้า16, เมก้า128)
ดาวน์โหลดบอร์ดอะแดปเตอร์ SMD จาก GetChip.net: (ดาวน์โหลด: 1654)(จิ๋ว2313, จิ๋ว13)

ฉันเกือบลืมสิ่งที่สำคัญที่สุด - ฟิวส์