ดาวน์โหลดวงจรโปรแกรมเมอร์ usb แบบโฮมเมด เรากำลังสร้างโปรแกรมเมอร์ COM สำหรับไมโครคอนโทรลเลอร์ AVR แผนผังของโปรแกรมเมอร์ USB

💖 ชอบไหม?แชร์ลิงก์กับเพื่อนของคุณ
22 กันยายน 2554 เวลา 20:11 น

โปรแกรมเมอร์ USB ขนาดเล็กสำหรับไมโครคอนโทรลเลอร์ AVR

  • การเขียนโปรแกรมไมโครคอนโทรลเลอร์

เช่นเดียวกับที่โรงละครเริ่มต้นด้วยที่แขวน ดังนั้นการเขียนโปรแกรมไมโครคอนโทรลเลอร์จึงเริ่มต้นด้วยการเลือกโปรแกรมเมอร์ที่ดี เนื่องจากฉันเริ่มเชี่ยวชาญไมโครคอนโทรลเลอร์จาก ATMEL ฉันจึงต้องทำความคุ้นเคยกับสิ่งที่ผู้ผลิตนำเสนออย่างละเอียด พวกเขาเสนอสิ่งที่น่าสนใจและอร่อยมากมายในราคาที่สูงเกินไปเท่านั้น ตัวอย่างเช่น ผ้าพันคอที่มีไมโครคอนโทรลเลอร์ 20 ขาหนึ่งตัวพร้อมตัวต้านทานและไดโอดหนึ่งคู่เป็นสายรัดมีราคาเหมือนกับ "เครื่องบิน" ดังนั้นคำถามเกี่ยวกับการประกอบตัวเองของโปรแกรมเมอร์จึงเกิดขึ้น หลังจากการศึกษาการพัฒนาของนักวิทยุสมัครเล่นที่มีประสบการณ์มาอย่างยาวนานก็ตัดสินใจที่จะประกอบโปรแกรมเมอร์ USBASP ที่ได้รับการพิสูจน์แล้วซึ่งมีสมองซึ่งเป็นไมโครคอนโทรลเลอร์ Atmega8 (ยังมีตัวเลือกเฟิร์มแวร์สำหรับ atmega88 และ atmega48) การเดินสายขั้นต่ำของไมโครคอนโทรลเลอร์ทำให้คุณสามารถประกอบโปรแกรมเมอร์ขนาดเล็กที่คุณสามารถพกพาติดตัวไปได้ตลอดเวลาเช่นแฟลชไดรฟ์

ผู้เขียนโปรแกรมเมอร์นี้คือ Thomas Fichl ชาวเยอรมัน ซึ่งเป็นหน้าการพัฒนาของเขาพร้อมไดอะแกรม ไฟล์แผงวงจรพิมพ์ และไดรเวอร์
เมื่อตัดสินใจประกอบโปรแกรมเมอร์ขนาดเล็กแล้ว ฉันจะสร้างวงจรใหม่สำหรับไมโครคอนโทรลเลอร์ Atmega8 ในแพ็คเกจ TQFP32 (pinout ของไมโครคอนโทรลเลอร์แตกต่างจาก pinout ในแพ็คเกจ DIP):

Jumper J1 จะใช้หากจำเป็นต้องแฟลชไมโครคอนโทรลเลอร์ที่มีความถี่สัญญาณนาฬิกาต่ำกว่า 1.5 MHz อย่างไรก็ตาม จัมเปอร์นี้สามารถกำจัดทั้งหมดได้โดยการวางขาที่ 25 ของ MK ลงบนพื้น จากนั้นโปรแกรมเมอร์จะทำงานที่ความถี่ลดลงเสมอ โดยส่วนตัวแล้วฉันสังเกตเห็นว่าการเขียนโปรแกรมด้วยความเร็วที่ลดลงจะใช้เวลานานกว่าเสี้ยววินาที ดังนั้นตอนนี้ฉันจะไม่ดึงจัมเปอร์ แต่เย็บด้วยจัมเปอร์อย่างต่อเนื่อง
ซีเนอร์ไดโอด D1 และ D2 ใช้เพื่อจับคู่ระดับระหว่างโปรแกรมเมอร์และบัส USB มันจะทำงานได้หากไม่มีพวกมัน แต่ไม่ใช่ในคอมพิวเตอร์ทุกเครื่อง
ไฟ LED สีฟ้าแสดงว่าวงจรพร้อมที่จะตั้งโปรแกรมแล้ว ไฟ LED สีแดงจะสว่างขึ้นระหว่างการตั้งโปรแกรม หน้าสัมผัสการเขียนโปรแกรมอยู่ที่ตัวเชื่อมต่อ IDC-06 โดย pinout เป็นไปตามมาตรฐาน ATMEL สำหรับตัวเชื่อมต่อ ISP 6 พิน:

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

ขั้วต่อการเขียนโปรแกรมและจัมเปอร์เพื่อลดความเร็วของโปรแกรมเมอร์จะอยู่ที่ส่วนท้ายของอุปกรณ์ซึ่งสะดวกมาก

เฟิร์มแวร์ของไมโครคอนโทรลเลอร์ควบคุม
ดังนั้นหลังจากประกอบอุปกรณ์แล้ว สิ่งที่สำคัญที่สุดที่เหลืออยู่คือการแฟลชไมโครคอนโทรลเลอร์ควบคุม เพื่อนที่ยังมีคอมพิวเตอร์ที่มีพอร์ต LPT เหมาะสำหรับวัตถุประสงค์เหล่านี้ :) โปรแกรมเมอร์ห้าสายที่ง่ายที่สุดสำหรับ AVR
สามารถแฟลชไมโครคอนโทรลเลอร์ได้จากขั้วต่อการเขียนโปรแกรมโดยเชื่อมต่อพินรีเซ็ตของไมโครคอนโทรลเลอร์ (ขา 29) และขั้วต่อ มีเฟิร์มแวร์สำหรับรุ่น Atmega48, Atmega8 และ Atmega88 ขอแนะนำให้ใช้หนึ่งในสองสโตนสุดท้ายเนื่องจากการรองรับเวอร์ชัน Atmega48 ถูกยกเลิกแล้วและเวอร์ชันเฟิร์มแวร์ล่าสุดมีอายุย้อนไปถึงปี 2009 และเวอร์ชันสำหรับสโตนที่ 8 และ 88 นั้นได้รับการอัปเดตอย่างต่อเนื่องและดูเหมือนว่าผู้เขียนกำลังวางแผนที่จะเพิ่มดีบักเกอร์ในวงจรให้กับฟังก์ชันนี้ เราได้รับเฟิร์มแวร์จากหน้าภาษาเยอรมัน ในการอัปโหลดโปรแกรมควบคุมไปยังไมโครคอนโทรลเลอร์ ฉันใช้โปรแกรม PonyProg เมื่อตั้งโปรแกรมจำเป็นต้องตั้งค่าคริสตัลให้ทำงานจากแหล่งสัญญาณนาฬิกาภายนอกที่ 12 MHz สกรีนช็อตของโปรแกรมพร้อมการตั้งค่าจัมเปอร์ฟิวส์ใน PonyProg:

หลังจากกระพริบเฟิร์มแวร์แล้ว ไฟ LED ที่เชื่อมต่อกับขา 23 ของไมโครคอนโทรลเลอร์จะสว่างขึ้น นี่จะเป็นสัญญาณที่แน่นอนว่าโปรแกรมเมอร์ได้รับการตั้งโปรแกรมสำเร็จและพร้อมใช้งาน

การติดตั้งไดรเวอร์
การติดตั้งดำเนินการบนเครื่องที่ใช้ Windows 7 และไม่มีปัญหาเกิดขึ้น เมื่อคุณเชื่อมต่อกับคอมพิวเตอร์ของคุณเป็นครั้งแรก ข้อความจะปรากฏขึ้นเพื่อระบุว่ามีการตรวจพบอุปกรณ์ใหม่ โดยแจ้งให้คุณติดตั้งไดรเวอร์ เลือกการติดตั้งจากตำแหน่งที่ระบุ:

หน้าต่างจะปรากฏขึ้นทันทีพร้อมคำเตือนว่าไดรเวอร์ที่กำลังติดตั้งไม่มีลายเซ็นดิจิทัลสำหรับซอฟท์แวร์ขนาดเล็ก:

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

เพียงเท่านี้โปรแกรมเมอร์ก็พร้อมใช้งานแล้ว

โปรแกรมเมอร์ Khazama AVR
ในการทำงานร่วมกับโปรแกรมเมอร์ ฉันเลือกโปรแกรมเมอร์โปรแกรมเมอร์ Khazama AVR โปรแกรมที่ยอดเยี่ยมพร้อมอินเทอร์เฟซที่เรียบง่าย

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

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

คุณสามารถดาวน์โหลดไฟล์ PCB ใน SprintLayout ได้โดยใช้

เช่นเดียวกับที่โรงละครเริ่มต้นด้วยที่แขวน ดังนั้นการเขียนโปรแกรมไมโครคอนโทรลเลอร์จึงเริ่มต้นด้วยการเลือกโปรแกรมเมอร์ที่ดี เนื่องจากฉันเริ่มเชี่ยวชาญไมโครคอนโทรลเลอร์จาก ATMEL ฉันจึงต้องทำความคุ้นเคยกับสิ่งที่ผู้ผลิตนำเสนออย่างละเอียด พวกเขาเสนอสิ่งที่น่าสนใจและอร่อยมากมายในราคาที่สูงเกินไปเท่านั้น ตัวอย่างเช่น ผ้าพันคอที่มีไมโครคอนโทรลเลอร์ 20 ขาหนึ่งตัวพร้อมตัวต้านทานและไดโอดหนึ่งคู่เป็นสายรัดมีราคาเหมือนกับ "เครื่องบิน" ดังนั้นคำถามเกี่ยวกับการประกอบตัวเองของโปรแกรมเมอร์จึงเกิดขึ้น หลังจากการศึกษาการพัฒนาของนักวิทยุสมัครเล่นที่มีประสบการณ์มาอย่างยาวนานก็ตัดสินใจที่จะประกอบโปรแกรมเมอร์ USBASP ที่ได้รับการพิสูจน์แล้วซึ่งมีสมองซึ่งเป็นไมโครคอนโทรลเลอร์ Atmega8 (ยังมีตัวเลือกเฟิร์มแวร์สำหรับ atmega88 และ atmega48) การเดินสายขั้นต่ำของไมโครคอนโทรลเลอร์ทำให้คุณสามารถประกอบโปรแกรมเมอร์ขนาดเล็กที่คุณสามารถพกพาติดตัวไปได้ตลอดเวลาเช่นแฟลชไดรฟ์

ผู้เขียนโปรแกรมเมอร์นี้คือ Thomas Fichl ชาวเยอรมัน ซึ่งเป็นหน้าการพัฒนาของเขาพร้อมไดอะแกรม ไฟล์แผงวงจรพิมพ์ และไดรเวอร์
เมื่อตัดสินใจประกอบโปรแกรมเมอร์ขนาดเล็กแล้ว ฉันจะสร้างวงจรใหม่สำหรับไมโครคอนโทรลเลอร์ Atmega8 ในแพ็คเกจ TQFP32 (pinout ของไมโครคอนโทรลเลอร์แตกต่างจาก pinout ในแพ็คเกจ DIP):

Jumper J1 จะใช้หากจำเป็นต้องแฟลชไมโครคอนโทรลเลอร์ที่มีความถี่สัญญาณนาฬิกาต่ำกว่า 1.5 MHz อย่างไรก็ตาม จัมเปอร์นี้สามารถกำจัดทั้งหมดได้โดยการวางขาที่ 25 ของ MK ลงบนพื้น จากนั้นโปรแกรมเมอร์จะทำงานที่ความถี่ลดลงเสมอ โดยส่วนตัวแล้วฉันสังเกตเห็นว่าการเขียนโปรแกรมด้วยความเร็วที่ลดลงจะใช้เวลานานกว่าเสี้ยววินาที ดังนั้นตอนนี้ฉันจะไม่ดึงจัมเปอร์ แต่เย็บด้วยจัมเปอร์อย่างต่อเนื่อง
ซีเนอร์ไดโอด D1 และ D2 ใช้เพื่อจับคู่ระดับระหว่างโปรแกรมเมอร์และบัส USB มันจะทำงานได้หากไม่มีพวกมัน แต่ไม่ใช่ในคอมพิวเตอร์ทุกเครื่อง
ไฟ LED สีฟ้าแสดงว่าวงจรพร้อมที่จะตั้งโปรแกรมแล้ว ไฟ LED สีแดงจะสว่างขึ้นระหว่างการตั้งโปรแกรม หน้าสัมผัสการเขียนโปรแกรมอยู่ที่ตัวเชื่อมต่อ IDC-06 โดย pinout เป็นไปตามมาตรฐาน ATMEL สำหรับตัวเชื่อมต่อ ISP 6 พิน:

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

ขั้วต่อการเขียนโปรแกรมและจัมเปอร์เพื่อลดความเร็วของโปรแกรมเมอร์จะอยู่ที่ส่วนท้ายของอุปกรณ์ซึ่งสะดวกมาก

เฟิร์มแวร์ของไมโครคอนโทรลเลอร์ควบคุม
ดังนั้นหลังจากประกอบอุปกรณ์แล้ว สิ่งที่สำคัญที่สุดที่เหลืออยู่คือการแฟลชไมโครคอนโทรลเลอร์ควบคุม เพื่อนที่ยังมีคอมพิวเตอร์ที่มีพอร์ต LPT เหมาะสำหรับวัตถุประสงค์เหล่านี้ :) โปรแกรมเมอร์ห้าสายที่ง่ายที่สุดสำหรับ AVR
สามารถแฟลชไมโครคอนโทรลเลอร์ได้จากขั้วต่อการเขียนโปรแกรมโดยเชื่อมต่อพินรีเซ็ตของไมโครคอนโทรลเลอร์ (ขา 29) และขั้วต่อ มีเฟิร์มแวร์สำหรับรุ่น Atmega48, Atmega8 และ Atmega88 ขอแนะนำให้ใช้หนึ่งในสองสโตนสุดท้ายเนื่องจากการรองรับเวอร์ชัน Atmega48 ถูกยกเลิกแล้วและเวอร์ชันเฟิร์มแวร์ล่าสุดมีอายุย้อนไปถึงปี 2009 และเวอร์ชันสำหรับสโตนที่ 8 และ 88 นั้นได้รับการอัปเดตอย่างต่อเนื่องและดูเหมือนว่าผู้เขียนกำลังวางแผนที่จะเพิ่มดีบักเกอร์ในวงจรให้กับฟังก์ชันนี้ เราได้รับเฟิร์มแวร์จากหน้าภาษาเยอรมัน ในการอัปโหลดโปรแกรมควบคุมไปยังไมโครคอนโทรลเลอร์ ฉันใช้โปรแกรม PonyProg เมื่อตั้งโปรแกรมจำเป็นต้องตั้งค่าคริสตัลให้ทำงานจากแหล่งสัญญาณนาฬิกาภายนอกที่ 12 MHz สกรีนช็อตของโปรแกรมพร้อมการตั้งค่าจัมเปอร์ฟิวส์ใน PonyProg:

หลังจากกระพริบเฟิร์มแวร์แล้ว ไฟ LED ที่เชื่อมต่อกับขา 23 ของไมโครคอนโทรลเลอร์จะสว่างขึ้น นี่จะเป็นสัญญาณที่แน่นอนว่าโปรแกรมเมอร์ได้รับการตั้งโปรแกรมสำเร็จและพร้อมใช้งาน

การติดตั้งไดรเวอร์
การติดตั้งดำเนินการบนเครื่องที่ใช้ Windows 7 และไม่มีปัญหาเกิดขึ้น เมื่อคุณเชื่อมต่อกับคอมพิวเตอร์ของคุณเป็นครั้งแรก ข้อความจะปรากฏขึ้นเพื่อระบุว่ามีการตรวจพบอุปกรณ์ใหม่ โดยแจ้งให้คุณติดตั้งไดรเวอร์ เลือกการติดตั้งจากตำแหน่งที่ระบุ:

หน้าต่างจะปรากฏขึ้นทันทีพร้อมคำเตือนว่าไดรเวอร์ที่กำลังติดตั้งไม่มีลายเซ็นดิจิทัลสำหรับซอฟท์แวร์ขนาดเล็ก:

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

เพียงเท่านี้โปรแกรมเมอร์ก็พร้อมใช้งานแล้ว

โปรแกรมเมอร์ Khazama AVR
ในการทำงานร่วมกับโปรแกรมเมอร์ ฉันเลือกโปรแกรมเมอร์โปรแกรมเมอร์ Khazama AVR โปรแกรมที่ยอดเยี่ยมพร้อมอินเทอร์เฟซที่เรียบง่าย

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

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

คุณสามารถดาวน์โหลดไฟล์ PCB ใน SprintLayout ได้โดยใช้

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

ฉันเจอไมโครคอนโทรลเลอร์ครั้งแรกเมื่อฉันสร้างไมโครคอนโทรลเลอร์ตัวแรก ตอนนั้นเองที่ปรากฎว่าคอนโทรลเลอร์ที่ไม่มีเฟิร์มแวร์นั้นเป็นเพียงชิ้นส่วนพลาสติกที่มีขา

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

โครงการที่หนึ่ง

การใช้โปรแกรมเมอร์นี้คุณสามารถแฟลชคอนโทรลเลอร์ AVR เกือบทุกชนิดจาก ATMEL คุณเพียงแค่ต้องตรวจสอบ pinout ของชิป

ขั้วต่อ COM ในแผนภาพคือ "แม่"

ในกรณีที่ฉันนำเสนอโครงร่างแผงวงจรพิมพ์สำหรับ atmega8 () แม้ว่าวงจรดั้งเดิมจะวาดด้วยมือได้ง่ายกว่าก็ตาม บอร์ดจะต้องถูกมิเรอร์ก่อนที่จะพิมพ์

เปิดไฟล์ PCB โดยใช้โปรแกรม Sprint Layout ยอดนิยม (หากคุณยังไม่ได้ติดตั้ง จะเป็นการดีกว่าทันที)

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

แทนที่จะเป็น KT315 ฉันเสียบทรานซิสเตอร์ BFR93A SMD ซึ่งฉันยังมีอยู่หลังการประกอบ

และนี่คือโปรแกรมเมอร์ทั้งหมดที่ประกอบขึ้น:

ฉันตัดสินใจใช้พลังงาน (+5V) จากพอร์ต USB

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

หากใช้ไมโครเซอร์กิตของคุณหากไม่มีควอตซ์ภายนอกก็อาจไม่เริ่มทำงาน ถ้าอย่างนั้นควรตั้งควอตซ์ไว้ที่ 4 MHz และตัวเก็บประจุจะดีกว่าที่ 33 pF

อย่างที่คุณเห็นฉันไม่ได้ติดตั้งควอตซ์พร้อมตัวเก็บประจุ แต่ในกรณีที่ฉันจัดพื้นที่ไว้บนกระดาน

วิธีที่ดีที่สุดคืออัพโหลดเฟิร์มแวร์โดยใช้โปรแกรม PonyProg (ดาวน์โหลด)

เฟิร์มแวร์โดยใช้ PonyProg

ไปที่เมนู การตั้งค่า -> การปรับเทียบ -> ใช่ หน้าต่าง "ตกลงการปรับเทียบ" ควรปรากฏขึ้น

ตอนนี้เราเสียบไมโครคอนโทรลเลอร์เข้ากับช่องเสียบโปรแกรมเมอร์และจ่ายไฟ 5 โวลต์ (เช่น จากแหล่งพลังงานแยกต่างหากหรือพอร์ต USB) จากนั้นคลิกคำสั่ง -> อ่านทั้งหมด

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

ตอนนี้คลิก Command -> Security and Configuration Bits และตั้งค่าฟิวส์ตามต้องการ

เพียงเท่านี้ MK ก็ถูกเย็บและพร้อมใช้งาน!

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

โครงการที่สอง

โปรแกรมเมอร์อีกเวอร์ชันหนึ่งซึ่งคุณสามารถอัปโหลดเฟิร์มแวร์ไปยังไมโครคอนโทรลเลอร์ ATMEG ได้ (ที่เรียกว่าโปรแกรมเมอร์ Gennady Gromov) วงจรประกอบด้วยเพียง 10 ส่วน:
คุณสามารถใช้พัลส์ไดโอดใดก็ได้ (เช่น KD510, KD522 ของเรา) ตัวเชื่อมต่อคือ "แม่" ต้องจ่ายไฟให้กับ MK (+5V) แยกต่างหาก เช่น จากคอมพิวเตอร์เครื่องเดียวกันจากเอาต์พุต USB

ทั้งหมดนี้สามารถประกอบได้โดยการติดตั้งแบบติดตั้งบนตัวเชื่อมต่อโดยตรง แต่ถ้าคุณเป็นหัวแร้งที่เจ๋งและรู้ว่าการติดตั้งแบบ SMD คืออะไร คุณสามารถทำได้อย่างสวยงาม:

อัลกอริธึมเฟิร์มแวร์โดยใช้โปรแกรมเมอร์ Gromov

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

หากทุกอย่างเรียบร้อย ให้เลือกไฟล์ที่มีเฟิร์มแวร์ที่ต้องการแล้วกดบันทึก

ควรเอาใจใส่และระมัดระวังเป็นอย่างยิ่ง เพราะหากมีข้อผิดพลาดในการบันทึกฟิวส์ MK จะถูกดีดออกหรือบัดกรีวงจรของแพทย์ (และมีความซับซ้อน) หากคุณเปลี่ยนบิต SPIEN เป็นบิตตรงกันข้ามผลลัพธ์จะเหมือนเดิม (กับแพทย์)


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

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

ดูแผนภาพของตัวแปลง USB เป็น UART ที่ทำไว้ก่อนหน้านี้(หน้าแรก)


และไดอะแกรมของโปรแกรมเมอร์ USB USBTiny(หน้าแรก)

คุณจะเห็นสิ่งนั้น มันเป็นโครงการเดียวกัน- ความแตกต่างเล็กน้อย - ไม่มีไฟ LED สัญญาณและตัวต้านทานหลายตัว เพื่อให้ตัวแปลงกลายเป็นโปรแกรมเมอร์ USB คุณเพียงแค่ต้องแฟลชไมโครคอนโทรลเลอร์ด้วยเฟิร์มแวร์ใหม่และทำสายเคเบิลสำหรับเชื่อมต่อ

ตอนนี้ทุกอย่างเป็นไปตามลำดับ
1 ก่อนอื่นคุณต้องประกอบตัวแปลง(นี่คือหากคุณยังไม่ได้รวบรวมมัน)
นี่คือภาพวาดของแผงวงจรคอนเวอร์เตอร์:
หากสนใจก็นี่เลยครับ
เมื่อประกอบแล้วตัวแปลงจะมีลักษณะดังนี้:

2 ปรับเปลี่ยนบอร์ดเล็กน้อย
เพื่อให้สัญญาณที่จำเป็นทั้งหมดสำหรับการเขียนโปรแกรมเราได้ประสานตัวต้านทานป้องกันที่มีค่าเล็กน้อย 100 โอห์มเข้ากับเส้นของขา 12, 16, 17, 18, 19 (ค่าไม่สำคัญ - สามารถเปลี่ยนแปลงได้)


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

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


แผนภาพวงจรนั้นง่าย

หนึ่งในคุณสมบัติคือฉันวาง LED แสดงสถานะและตัวต้านทานบัลลาสต์ไว้บนบอร์ดบนตัวเชื่อมต่อ - เพื่อให้สามารถใช้บอร์ดกับอุปกรณ์อื่น ๆ ได้โดยไม่ต้องบัดกรีใหม่ (วิธีนี้จะเย็นกว่า - LED กะพริบขวาในตัวเชื่อมต่อ :)) นอกจากนี้ สาย Vcc ยังแยกออกจากขั้วต่อทั่วไป - นี่เป็นในกรณีที่อุปกรณ์ที่ตั้งโปรแกรมไม่ได้ใช้พลังงานจาก USB แต่มาจากแหล่งที่มา (ซึ่งตามหลักการแล้วเป็นที่ต้องการ) ขอแนะนำให้ป้องกันสายสัญญาณ (SCK, MISO, MOSI) (เช่น โดยการสลับสัญญาณและสายกราวด์ในลูป) ความยาวของรถไฟไม่ควรยาว - ไม่เกิน 50 ซม. ไม่เกินนั้น หากคุณต้องการตั้งโปรแกรมอุปกรณ์ระยะไกล คุณสามารถใช้สายต่อ USB ได้ตลอดเวลา ซึ่งเชื่อถือได้มากกว่า นี่คือลูกไม้ที่เสร็จแล้วของฉัน:



5 โปรแกรมเมอร์เองก็พร้อมแล้ว ตอนนี้คุณต้องติดตั้งไดรเวอร์เพื่อให้ Windows สามารถทำงานได้ (สำหรับ Mac OS X และ Linux ดูเหมือนว่าไม่จำเป็นต้องใช้ไดรเวอร์เลย) ทุกอย่างเป็นเรื่องง่ายที่นี่:

5.1 ดาวน์โหลดไดรเวอร์และแตกไฟล์
หน้าไดรเวอร์


5.2 เราเสียบโปรแกรมเมอร์ของเราเข้ากับพอร์ต USB




5.3 ข้อความจะปรากฏในถาดระบุว่าพบอุปกรณ์ใหม่



5.4 Found New Hardware Wizard จะเปิดตัว



5.5 ระบุโฟลเดอร์พร้อมไดรเวอร์ในหน้าต่าง "ค้นหาตำแหน่ง"



5.6 กระบวนการติดตั้งไดรเวอร์จะเสร็จสิ้น หน้าต่างจะปรากฏขึ้นเพื่อระบุว่าติดตั้งไดรเวอร์แล้วหากต้องการตรวจสอบสิ่งที่เราติดตั้งไว้ ให้ไปที่ “My Computer/Properties/Hardware/Device Manager” และค้นหาโปรแกรมเมอร์ของเราที่นั่น

Windows เห็นอุปกรณ์ใหม่และพร้อมที่จะใช้งานแล้ว

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

ฉันไม่เคยทำงานกับ USBTiny มาก่อน แต่รีวิวเกี่ยวกับมันบนอินเทอร์เน็ตนั้นเป็นไปในเชิงบวก (เชื่อถือได้และตั้งโปรแกรมได้รวดเร็ว) - เฟิร์มแวร์ทดสอบของฉันยืนยันสิ่งนี้ ATtiny2313 จะกะพริบใน 10 วินาที (รวมถึงการตรวจสอบด้วย) ตรวจพบและตั้งโปรแกรมไมโครคอนโทรลเลอร์ได้อย่างน่าเชื่อถือ - ไม่มีข้อผิดพลาดแม้แต่ครั้งเดียวในระหว่างการทดสอบของฉัน น่าใช้โปรแกรมเมอร์!


ไฟล์สำหรับบทความ:
- การเขียนแบบ UART-USB PCB บน ATtiny2313
- เฟิร์มแวร์โปรแกรมเมอร์ USBtiny สำหรับ ATtiny2313
- บิตฟิวส์ ATtiny2313 สำหรับ USBtiny
- แผนภาพสายเคเบิลสำหรับโปรแกรมเมอร์ USBtiny

06-01-2011

คำอธิบาย

โปรแกรมเมอร์ AVR ที่เรียบง่ายนี้จะช่วยให้คุณสามารถโหลดโปรแกรม hex ลงในไมโครคอนโทรลเลอร์ ATM AVR ส่วนใหญ่ได้อย่างง่ายดายโดยไม่ต้องเสียสละงบประมาณหรือเวลาของคุณ มีความน่าเชื่อถือมากกว่าโปรแกรมเมอร์ AVR ทั่วไปอื่นๆ ส่วนใหญ่ที่มีอยู่ และใช้เวลาในการประกอบน้อยกว่ามาก

โปรแกรมเมอร์ AVR ประกอบด้วยโปรแกรมเมอร์แบบอนุกรมในวงจร (พร้อมขั้วต่อ) และแผงวงจรพิมพ์ขนาดเล็กที่มีช่องเสียบ DIP ซึ่งคุณสามารถวางไมโครคอนโทรลเลอร์และตั้งโปรแกรมได้อย่างรวดเร็ว

คุณยังสามารถใช้โปรแกรมเมอร์นี้เป็นโปรแกรมเมอร์ในวงจรได้เท่านั้น ซึ่งคุณสามารถตั้งโปรแกรมไมโครคอนโทรลเลอร์ AVR ได้อย่างง่ายดายโดยไม่ต้องถอดออกจากอุปกรณ์

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

โปรแกรมเมอร์แบบอนุกรมในวงจร AVR

บอร์ดพร้อมช่องสำหรับ AVR

บอร์ดมีจำนวนส่วนประกอบขั้นต่ำและใช้สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ภายนอกอุปกรณ์เป้าหมาย


บอร์ดประกอบด้วยซ็อกเก็ต DIP 28 พิน ตัวสะท้อนเสียงควอทซ์ 4 MHz หรือตัวสะท้อนเสียงที่มีตัวเก็บประจุ 22 pF สองตัว และขั้วต่อสองตัว ตัวเชื่อมต่อแบบสองพินใช้เพื่อเชื่อมต่อพลังงาน +5 V เข้ากับไมโครคอนโทรลเลอร์ AVR และใช้ตัวเชื่อมต่อแบบ 6 พินเพื่อเชื่อมต่อโปรแกรมเมอร์

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

ซอฟต์แวร์ PonyProg

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

ขั้นตอนต่อไปคือเลือก "AVR micro" และประเภทของไมโครคอนโทรลเลอร์ที่คุณต้องการตั้งโปรแกรม (เช่น ATmega8)

ตอนนี้การกำหนดค่า PonyProg เสร็จสมบูรณ์แล้ว และเราสามารถเปิดไฟล์ hex ด้วยโปรแกรมที่จะฮาร์ดโค้ดลงในไมโครคอนโทรลเลอร์ได้ ไปที่เมนู "ไฟล์" เลือก "เปิดไฟล์โปรแกรม (FLASH) ... " และชี้ไปที่ไฟล์ hex ที่ต้องทำการแฟลช คุณควรเห็นค่าเลขฐานสิบหกคล้ายกับค่าที่แสดงในภาพด้านล่าง หากคุณยังไม่ได้เชื่อมต่อโปรแกรมเมอร์เข้ากับพอร์ตอนุกรมของคอมพิวเตอร์ ตอนนี้ก็ถึงเวลาดำเนินการแล้ว ตรวจสอบให้แน่ใจว่าโปรแกรมเมอร์ของคุณเชื่อมต่อทางกายภาพกับไมโครคอนโทรลเลอร์ AVR ผ่านทางซ็อกเก็ตบอร์ดหรือขั้วต่อ ICSP 6 พิน สุดท้าย คลิกที่ไอคอน "เขียนโปรแกรมหน่วยความจำ (FLASH)" ที่ไฮไลต์ไว้ หรือไปที่เมนู "คำสั่ง" และเลือก "เขียนโปรแกรม (FLASH)"

คลิกที่ปุ่ม "ใช่" เพื่อยืนยันรายการ

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

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

  • ตรวจสอบการติดตั้งและการเชื่อมต่อกับไมโครคอนโทรลเลอร์เป้าหมาย
  • วงจรนี้ไม่มีการทหาร และไม่จำเป็นต้องสร้างมัน แต่ฉันเสียบพอร์ต com ของ Lonic เข้ากับคอมพิวเตอร์แล้วออกไปเลย แม้ว่าฉันจะยังมีบัฟเฟอร์อยู่ในพอร์ต com ก็ตาม เพื่อที่ฉันจะได้ไม่เผลอเผา สำหรับการใช้โปรแกรม Pony เราลืมสิ่งสำคัญอย่างหนึ่งที่จะพูด - เกี่ยวกับฟิวส์เพราะถ้าคุณติดตั้งไม่ถูกต้องชิปจะล็อค
  • พอร์ต com ล้าสมัยแล้ว หากมีเฉพาะ usb ก็ถือว่าการทำงานกับคอนโทรลเลอร์เสร็จสิ้นโดยไม่ต้องเริ่มด้วยซ้ำ ???? ไม่มีใครในเครือข่ายที่ให้บริการ usb-com และหากเป็นเช่นนั้นก็จะมีตัวควบคุมอยู่ในวงจร หากคุณประกอบเองตั้งแต่ต้น และไม่เหมือนที่หลาย ๆ คนทำตอนนี้ ฉันสั่งให้นักออกแบบยัดองค์ประกอบเข้าไปในรู บัดกรี แค่นี้ก็มีอัจฉริยะเพียงพอแล้ว และถ้าคุณถามคนแบบนั้นเขาก็จะไม่รู้จริงๆ แต่ฉันอยากรู้รายละเอียด
  • แน่นอนว่าไม่มีใครเสนอ (สะกดด้วยกัน!) เนื่องจากมีไมโครวงจรสำเร็จรูปจำนวนมากในการรวมโดยทั่วไป - สะพาน USB-COM สำหรับแหล่งจ่ายไฟ 5V และ 3.3V แต่โดยธรรมชาติแล้วพลเมืองที่รู้หนังสือมากจะไม่รู้เรื่องนี้ พวกเขาไม่ทราบเกี่ยวกับอะนาล็อก AVR910 จาก Prottos ซึ่ง MK จะแสดงผ่าน USB ด้วยพอร์ต COM เสมือนและตั้งโปรแกรมผ่าน ISP ตัวอย่างเช่น. ชนชั้นกระฎุมพีก็มีการออกแบบที่คล้ายกันมากมายเช่นกัน และแน่นอนว่าไม่มีคำอธิบายโดยละเอียด คุณต้องมองหาสิ่งนั้น และคุณต้องการบางสิ่งที่พร้อมทันที เพียงกดปุ่มเดียว ทุกอย่างก็อยู่บนจานสีเงิน หรืออาจจะดีกว่าที่จะสอนบทเรียน?
  • SergeBS ที่เคารพนับถือมาก ฟอรัมนี้ไม่ได้มีไว้สำหรับการสะกดผิด และโดยเฉพาะอย่างยิ่งไม่ใช่สำหรับการสอนเกี่ยวกับว่ามันคืออะไร ที่นี่จะขอความช่วยเหลือและคำแนะนำจากผู้รู้และเคยเจอปัญหานี้หรือปัญหานั้น แต่ความจริงที่ว่ามันเป็นแบบสำเร็จรูปและคุณสามารถซื้อได้โดยไม่ต้องรัดตัวเองก็เจ๋งอย่างแน่นอน ป.ล. อย่างไรก็ตามขอขอบคุณสำหรับการมีส่วนร่วมในปัญหา และขอขอบคุณเป็นพิเศษสำหรับคำสอนที่เป็นประโยชน์อย่างยิ่ง สวัสดีชนชั้นกระฎุมพี แต่ฉันไม่รู้ด้วยซ้ำว่าพวกเขามีอะไรมาก่อน? เราจะไปหาชาวนาที่ไหน?
  • ใช่. เช่นเดียวกับคนที่ "เจ๋ง" ที่เขียนอะไรก็ได้ที่พวกเขาต้องการ ยิ่งไปกว่านั้น พวกเขาไม่สามารถกำหนด "ปัญหา" ได้ด้วยซ้ำ น้ำมูกชอบ: “ฉันอยากรู้คำถามที่พบบ่อย แต่ฉันไม่รู้คำถามที่พบบ่อย” - ไม่นับ :)
  • คุณยังไม่รู้ว่าทั้งหมดนี้ทำมาจากอะไร... ที่ตลาดนัดในจีน ชิ้นส่วนสำหรับวงจรของคุณขายตามน้ำหนักเป็นกิโลกรัม และไม่มีมาตรฐานคุณภาพที่เกี่ยวข้องกับชิ้นส่วนดังกล่าว ซื้อเฉพาะสินค้าแบรนด์เนมจากบริษัทที่เกี่ยวข้อง
  • ฉันสั่งซื้อจากร้านค้าออนไลน์ (รัสเซีย) ลาก่อน (เอ่อ * 3) สำหรับข้อบกพร่อง/งานแฮ็ก ฯลฯ ไม่ได้บิน
  • สวัสดี! สวัสดีปีใหม่นะทุกคน! :) ฉันรวบรวมโปรแกรมเมอร์สำหรับ AVR ตามรูปแบบที่ระบุ (ตรวจสอบทุกอย่าง 3 ครั้ง) แต่ ponyprog 2000 ปฏิเสธที่จะเห็นและตั้งโปรแกรมคอนโทรลเลอร์ ATMega168-20PU - ทำให้อุปกรณ์มีข้อผิดพลาดสูญหายหรืออุปกรณ์ที่ไม่รู้จัก (-24) ฉันใช้ซีเนอร์ไดโอด KS407G, ทรานซิสเตอร์ KT3102AM และไดโอด KD522B ฉันมีควอตซ์ที่ 4.032 MHz ขับเคลื่อนโดย L7805 ก่อนที่ข้อผิดพลาดจะเกิดขึ้น ข้อความบริการจะมาถึง ซึ่งฉันตรวจสอบโดยใช้ Advanced Serial Port Monitor แต่ข้อความดังกล่าวจะเปิดและปิดเฉพาะในระหว่างขั้นตอนการบันทึกเท่านั้น ไม่มีข้อมูลสูญหาย ฉันตั้งค่า PonyProg2000 ตามคำแนะนำ เป็นขั้นเป็นตอน. อะไรอาจทำให้เกิดข้อผิดพลาดนี้ ฉันจำเป็นต้องเชื่อมต่อพิน 22 เข้ากับกราวด์และพิน 20 เข้ากับพลังงาน (กราวด์และพลังงานอะนาล็อก) หรือไม่ เหตุใดจึงไม่ได้ใช้การเลือกชิป (SS pin 16 ของคอนโทรลเลอร์) ขอบคุณสำหรับความช่วยเหลือ!
  • ฉันรวบรวมโปรแกรมเมอร์นี้และใช้: ตัวต้านทาน - ค่าที่ระบุ ทรานซิสเตอร์ - KT3102GM Diode H48 เป็นอะนาล็อกของไดโอดซีเนอร์ 1N4148 - BZX55C 5.1 โวลต์ นอกจากนี้ ควอตซ์ที่ 4 MHz และตัวเก็บประจุเซรามิก 2 ตัวที่ 22 pF แต่ฉันไม่คิดว่า จำเป็นเพราะว่า เราตั้งค่าการใช้ควอตซ์ภายใน/ภายนอกด้วยบิตที่ตั้งโปรแกรมได้ จากโรงงาน mikruhi ได้รับการตั้งโปรแกรมให้ใช้ควอตซ์ภายใน (ถ้าฉันจำไม่ผิด) ฉันต้องใช้พลังงานภายนอกจาก +5V พีซีเครื่องเดียวกับที่ฉันอัปโหลดเฟิร์มแวร์ ไดโอด H48 (เครื่องหมายนี้ไม่ปรากฏบนตัวเครื่องของไดโอดนี้) บนอินเทอร์เน็ตพวกเขาบอกว่านี่คืออะนาล็อกของ 1N4148 ทุกอย่างใช้งานได้สำหรับฉัน PonyProg 2000 อัปโหลดเฟิร์มแวร์ไปยัง ATmega8 สำเร็จ รูปภาพ http://i.imgur.com/34GhDcN.jpg http://i.imgur.com/gCzAuzA.jpg
  • ฉันอยากจะแนะนำหนึ่งในโปรเจ็กต์โคลน avr mk ii โดยอิงจาก lib และตัวอย่างจาก lufa คอนโทรลเลอร์ at90usb168 มักจะมาพร้อมกับ bootloader ซึ่งช่วยให้คุณอัปโหลดเฟิร์มแวร์ผ่าน USB หลังจากประกอบโดยไม่ต้องใช้โปรแกรมเมอร์ภายนอก รองรับ avr ปัจจุบันทั้งหมด รวมถึง xmega และ Tinki ใหม่ โปรโตคอล pdi/tpi ทำงานร่วมกับ avrstudio และเพื่อน ซึ่งเป็นเฟิร์มแวร์ที่แตกต่างกันสำหรับพวกเขา แหล่งที่มาเปิดอยู่ มีการแก้ไขจุดบกพร่องแล้ว ตัวอย่างเช่น สำหรับสตูดิโอใหม่ การเพิ่มเวอร์ชัน fw ในการตั้งค่าเฟิร์มแวร์ก็เพียงพอแล้ว กำลังรวบรวมเฟิร์มแวร์สำหรับ winavr เวอร์ชันของฉันในหัวข้อนี้ตั้งแต่อายุ 12 ปี พร้อมรูปถ่าย http://m.radiokot.ru/forum/viewtopic...rt=700&t=26417
  • สวัสดี ฉันรวบรวมโปรแกรมเมอร์นี้เพื่อแฟลชเฟิร์มแวร์ ATtiny 2313 ทุกอย่างใช้งานได้ เราอ่าน MK โดยไม่มีปัญหา แต่นี่คือปัญหา ผู้เขียนวงจรที่ฉันแฟลช MK เขียนว่าคุณสามารถแฟลชได้เป็นครั้งแรก มันไม่มีควอตซ์ภายนอก แต่ก่อนอื่นให้อัปโหลดเฟิร์มแวร์ MK แล้วเปลี่ยนฟิวส์ กล่าวโดยย่อคือฉันอัปโหลดเฟิร์มแวร์ ติดตั้งได้ดี จากนั้นฉันเปลี่ยนฟิวส์แล้วคลิกเขียน แต่หลังจากที่ฉันคลิกเขียนสิ่งนี้ออกมา: อุปกรณ์หายไปหรือไม่รู้จัก อุปกรณ์ (-24) และหลังจากนั้น MK จะไม่สามารถอ่านได้อีกต่อไป ปัญหาอาจเกิดจากอะไร
  • กลับมาแล้ว โปรดบอกฉันว่าฉันพยายามแฟลช ATtiny 2313 ด้วยควอตซ์ภายนอกและติดตั้งตัวเก็บประจุ 2 ตัว ควอตซ์ 8 MHz ตัวเชื่อมต่อ โปรแกรม เขาอ่าน MK เปิดเฟิร์มแวร์ในม้าตั้งค่าฟิวส์ซึ่งจำเป็นนี่คืออันจากโรงงาน http://i.imgur.com/rSdlENN.jpg และอันเหล่านี้จำเป็นต้องแฟลช http:/ /i.imgur.com/gc4yyxA.gif แต่อย่างอื่นที่ฉันสังเกตเห็นในการตั้งค่าจากโรงงานมีช่องทำเครื่องหมายหนึ่งช่องที่ไม่สามารถลบออกได้เรียกว่า SPIEN และช่องใดที่ต้องแฟลช ไม่มีช่องทำเครื่องหมายนี้ ตกลง ฉันจะดำเนินการต่อ ปัญหาหลังจากที่ผมเปิดเฟิร์มแวร์และตั้งค่า Fuse ดังภาพที่สอง ผมคลิก READ DEVICE เข้าสู่กระบวนการเฟิร์มแวร์ และสุดท้ายก็ออกมาเป็น http://i.imgur.com/UpR5qhE.jpg แล้วผมปิด ม้าแล้วเปิดอีกครั้งแล้วคลิกอ่าน MK และทำให้อุปกรณ์นี้หายไปหรืออุปกรณ์ที่ไม่รู้จัก (-24) เช่นเดียวกับที่ฉันแฟลชโดยไม่มีควอตซ์ภายนอกตามที่อธิบายไว้ข้างต้น และหลังจากนั้น MK นี้ก็ไม่ถูกอ่านอีกต่อไป ใครสามารถบอกฉันได้ว่ามีอะไร ผิด สิ่งที่ฉันทำผิด แค่ฉันได้ฆ่า MK ไป 3 ตัวแล้ว ขอบคุณมาก ฉันยังใหม่กับเรื่องนี้
  • ฉันได้รับข้อผิดพลาดนี้เฉพาะเมื่อฉันไม่ได้เชื่อมต่อแหล่งจ่ายไฟภายนอก แน่นอนว่าคุณอาจมีข้อผิดพลาดในวงจร บางทีคุณอาจกำหนดค่า pony prog สำหรับอุปกรณ์ผิด (แต่ไม่น่าเป็นไปได้เพราะฉันเป็นมือใหม่ ฉันอัปโหลดเฟิร์มแวร์แล้ว) SPIEN เป็นฟิวส์ที่ช่วยให้ MK ทำงานผ่านอินเทอร์เฟซ SPI ได้ ไมโครคอนโทรลเลอร์ทั้งหมดถูกปล่อยออกมาพร้อมกับบิต SPIEN ที่ตั้งค่าไว้แล้ว ถือเป็นฟิวส์อันตราย...
  • บิตฟิวส์ SPIEN ถูกตั้งค่าตามค่าเริ่มต้นในไมโครคอนโทรลเลอร์ AVR (โหมดการเขียนโปรแกรมในวงจร) และไม่สามารถลบออกได้โดยใช้ PonyProg และโดยทั่วไปแล้ว จะดีกว่าที่จะไม่แตะต้องมัน... หลังจากติดตั้งและตั้งโปรแกรมบิตฟิวส์ดังภาพสุดท้ายแล้ว คุณได้กำหนดค่าไมโครคอนโทรลเลอร์ให้ทำงานจากควอตซ์ 8 MHz ภายนอก ปิดการใช้งานตัวแบ่งความถี่สัญญาณนาฬิกาภายในด้วย 8 และเปิดใช้งาน Brown -Out Detector (โมดูลควบคุมพลังงาน) ที่ระดับ 2.7 V. และหลังจากนั้นโปรแกรมเมอร์ไม่เห็นไมโครคอนโทรลเลอร์ดังนั้นจึงสมเหตุสมผลที่จะจ่ายไฟภายนอกให้กับไมโครคอนโทรลเลอร์ (ไม่ใช่จาก PonyProg) แล้วลองอ่านอีกครั้ง PS: แน่นอน ถ้าทุกอย่างถูกต้องในตอนแรก (ประเภทของไมโครคอนโทรลเลอร์ในโปรแกรมเมอร์ถูกเลือกอย่างถูกต้องระหว่างการเขียนโปรแกรมและบิตฟิวส์ได้รับการตั้งค่าอย่างถูกต้อง)
  • ขอบคุณสำหรับคำตอบ ฉันเพิ่งแฟลชเฟิร์มแวร์สำหรับ 3 MK และตอนนี้โปรแกรมไม่เห็นมันและฉันต้องเปลี่ยนมัน และฉันก็มักจะจ่ายไฟภายนอกเสมอเมื่อทำการแฟลชเฟิร์มแวร์ แต่ม้าก็ยังไม่เห็นมัน แต่ MK ใช้งานได้ ฉันใส่มันลงในอุปกรณ์ที่ฉันคนงานทั้งสามคนเย็บมันให้ แต่ฉันต้องอัปโหลดคนอื่นที่นั่น ฉันถามผู้เขียนวงจรที่ฉันเย็บพวกเขาว่าจะเปลี่ยนมันอย่างไร เขาบอกฉันอย่างนั้น หากตรวจไม่พบควอตซ์ภายนอกคุณจะต้องสร้างเครื่องกำเนิดสัญญาณนาฬิกาภายนอกและส่งสัญญาณไปที่ XTAL 1 MK จากนั้นจึงตั้งโปรแกรม จะเห็น MK หากใครสามารถแสดงแผนภาพวงจรง่ายๆ ของเครื่องกำเนิดสัญญาณนาฬิกาภายนอกได้ ผม google บ่อยมากแล้วไม่พบอะไรเลย หรืออาจจะมีคนอื่นมีวิธี และ Fuse ก็ต้องจำอย่างแน่นอนว่าในภาพที่สองเป็นอย่างไร เพราะมันใช้กับโรงงานไม่ได้ ขอบคุณสำหรับความช่วยเหลือ
  • ขอบคุณสำหรับบทความ! อะแดปเตอร์ที่ยอดเยี่ยม มันทำงานได้อย่างรวดเร็วโดยไม่มีข้อผิดพลาด ก่อนอื่น ฉันบัดกรีพอร์ต LPT ฉันไม่มีปลั๊ก COM อยู่ในมือ พอร์ต LPT หมดระหว่างการเติมครั้งแรก ฉันต้องวิ่งไปที่ร้านเพื่อซื้อปลั๊ก COM ฉันแนะนำให้บัดกรีฟิวส์ของแพทย์ด้วยซึ่งเป็นสิ่งที่มีประโยชน์มาก ฉันเป็นคนแรกที่หลอมคริสตัลได้มาก ดูเหมือนว่ามันจะปลดปล่อยวิญญาณออกมาแล้ว (ควันสีฟ้า) แต่ก็ไม่! - ฟิวส์ Dokhdur ทำให้เขากลับมามีชีวิตอีกครั้งในทันที ปรากฎว่า: อะแดปเตอร์ + ฟิวส์ท่าเรือ = โปรแกรมเมอร์แบบขนานที่มีคุณสมบัติครบถ้วน
  • หลังจาก "หมอกควันสีฟ้า" ไม่มีแพทย์คนใดสามารถทำให้เขาฟื้นคืนชีพได้ และ "Doctor Fuse" - ใช่ มันอาจจะมีประโยชน์ในบางครั้ง แต่คุณสามารถทำได้โดยไม่ต้องใช้มันเกือบตลอดเวลา คุณเพียงแค่ต้องโอเวอร์คล็อก MK ไม่ใช่จากควอตซ์ แต่จากเครื่องกำเนิดไฟฟ้าภายนอก...
  • แต่ฉันโชคดีพอในการกำหนดค่าฟิวส์ครั้งแรก ที่สามารถกระแทกมันจนไม่มีเครื่องกำเนิดไฟฟ้าเพียงเครื่องเดียวที่สามารถช่วยชีวิตมันได้ ฉันไม่รู้ว่ามี 2 ตัวเลือกในการแสดงฟิวส์: โดยตรง (ตามประวัติศาสตร์, ตามบัญญัติ) และกลับด้าน (สะดวกโดยสังหรณ์ใจ) ดังนั้นฉันจึงใส่ช่องทำเครื่องหมายตามรูปแบบบัญญัติที่มีรูปถ่ายกลับหัว อย่างไรก็ตาม PonyProg ทำงานโดยใช้ฟิวส์ในลักษณะกลับหัว
  • อ่านสำหรับทุกคน:
บอกเพื่อน