แบบแผนและวัสดุ การอัพเดตเฟิร์มแวร์โปรแกรมเมอร์
เมื่อตัดสินใจประกอบโปรแกรมเมอร์ขนาดเล็กแล้ว ฉันจึงสร้างวงจรใหม่สำหรับไมโครคอนโทรลเลอร์ Atmega8 ในตัวเครื่อง มคสป32(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 คุณสามารถไปที่ลิงค์นี้
นักวิทยุสมัครเล่นควรทำตามขั้นตอนแรกอย่างไรหากตัดสินใจประกอบวงจรบนไมโครคอนโทรลเลอร์ โดยปกติแล้วจำเป็นต้องมีโปรแกรมควบคุม - "เฟิร์มแวร์" เช่นเดียวกับโปรแกรมเมอร์
และหากไม่มีปัญหากับจุดแรก - โดยปกติแล้วผู้เขียนวงจรจะอัปโหลด "เฟิร์มแวร์" ที่เสร็จแล้วจากนั้นสิ่งต่าง ๆ สำหรับโปรแกรมเมอร์ก็จะซับซ้อนกว่า
ราคาของโปรแกรมเมอร์ USB สำเร็จรูปค่อนข้างสูงและวิธีที่ดีที่สุดคือประกอบเอง นี่คือแผนภาพของอุปกรณ์ที่นำเสนอ (คลิกรูปภาพได้)
ส่วนสำคัญ.
แผงติดตั้งเอ็มเค
แผนภาพต้นฉบับนำมาจากเว็บไซต์ LabKit.ru โดยได้รับอนุญาตจากผู้เขียนซึ่งต้องขอบคุณเขามาก นี่คือโคลนที่เรียกว่าโปรแกรมเมอร์ PICkit2 ที่เป็นกรรมสิทธิ์ เนื่องจากเวอร์ชันอุปกรณ์เป็นสำเนา "น้ำหนักเบา" ของ PICkit2 ที่เป็นกรรมสิทธิ์ ผู้เขียนจึงเรียกการพัฒนาของเขา PICkit-2 Liteซึ่งเน้นความง่ายในการประกอบอุปกรณ์ดังกล่าวสำหรับนักวิทยุสมัครเล่นมือใหม่
โปรแกรมเมอร์สามารถทำอะไรได้บ้าง? เมื่อใช้โปรแกรมเมอร์ คุณสามารถแฟลช MCU ซีรีส์ PIC ที่พร้อมใช้งานและได้รับความนิยมมากที่สุดได้ (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A ฯลฯ) รวมถึงชิปหน่วยความจำ EEPROM ซีรีส์ 24LC นอกจากนี้โปรแกรมเมอร์สามารถทำงานในโหมดตัวแปลง USB-UART และมีฟังก์ชั่นบางอย่างของเครื่องวิเคราะห์ลอจิก ฟังก์ชันที่สำคัญอย่างยิ่งที่โปรแกรมเมอร์มีคือการคำนวณค่าคงที่การสอบเทียบของเครื่องกำเนิด RC ในตัวของ MCU บางตัว (เช่น PIC12F629 และ PIC12F675)
การเปลี่ยนแปลงที่จำเป็น
มีการเปลี่ยนแปลงบางอย่างในวงจรที่จำเป็นเพื่อให้การใช้โปรแกรมเมอร์ PICkit-2 Lite สามารถเขียน/ลบ/อ่านข้อมูลจากชิปหน่วยความจำ EEPROM ของซีรีส์ 24Cxx ได้
จากการเปลี่ยนแปลงที่เกิดขึ้นกับโครงการ เพิ่มการเชื่อมต่อจากพิน 6 ของ DD1 (RA4) ไปยังพิน 21 ของแผง ZIF พิน AUX ใช้เฉพาะสำหรับการทำงานกับชิปหน่วยความจำ 24LC EEPROM (24C04, 24WC08 และแอนะล็อก) มันส่งข้อมูล ซึ่งเป็นสาเหตุว่าทำไมจึงมีเครื่องหมายคำว่า “ข้อมูล” บนแผนภาพแผงการเขียนโปรแกรม เมื่อตั้งโปรแกรมไมโครคอนโทรลเลอร์ โดยปกติจะไม่ใช้พิน AUX แม้ว่าจะจำเป็นเมื่อตั้งโปรแกรม MK ในโหมด LVP
นอกจากนี้ ยังมีการเพิ่มตัวต้านทานแบบดึงขึ้น 2 kOhm ซึ่งเชื่อมต่อระหว่างพิน SDA และ Vcc ของชิปหน่วยความจำ
ฉันได้ทำการปรับเปลี่ยนทั้งหมดนี้บนแผงวงจรพิมพ์แล้วหลังจากประกอบ PICkit-2 Lite ตามแผนภาพต้นฉบับของผู้เขียน
ชิปหน่วยความจำ 24Cxx (24C08 ฯลฯ) มีการใช้กันอย่างแพร่หลายในอุปกรณ์วิทยุในครัวเรือน และบางครั้งจะต้องทำการแฟลช เช่น เมื่อซ่อมทีวี CRT พวกเขาใช้หน่วยความจำ 24Cxx เพื่อจัดเก็บการตั้งค่า
ทีวี LCD ใช้หน่วยความจำประเภทอื่น (หน่วยความจำแฟลช) ฉันได้พูดคุยไปแล้วเกี่ยวกับวิธีการแฟลชหน่วยความจำของแอลซีดีทีวี ถ้าใครสนใจก็ลองดูครับ
เนื่องจากจำเป็นต้องทำงานกับไมโครวงจรซีรีส์ 24Cxx ฉันจึงต้อง "เสร็จสิ้น" โปรแกรมเมอร์ ฉันไม่ได้แกะสลักแผงวงจรพิมพ์ใหม่ ฉันเพียงเพิ่มองค์ประกอบที่จำเป็นลงบนแผงวงจรพิมพ์ นี่คือสิ่งที่เกิดขึ้น
แกนหลักของอุปกรณ์คือไมโครคอนโทรลเลอร์ PIC18F2550-I/SP.
นี่เป็นชิปตัวเดียวในอุปกรณ์ MK PIC18F2550 จำเป็นต้อง "แฟลช" การดำเนินการง่ายๆ นี้ทำให้เกิดความสับสนสำหรับหลาย ๆ คน เนื่องจากปัญหาที่เรียกว่า "ไก่กับไข่" เกิดขึ้น ฉันจะบอกคุณว่าฉันแก้ไขมันได้อย่างไรในภายหลัง
รายการชิ้นส่วนสำหรับประกอบโปรแกรมเมอร์ ในเวอร์ชันมือถือ ให้ลากตารางไปทางซ้าย (ปัดซ้าย-ขวา) เพื่อดูคอลัมน์ทั้งหมด
ชื่อ | การกำหนด | คะแนน/พารามิเตอร์ | ยี่ห้อหรือประเภทรายการ |
สำหรับส่วนหลักของโปรแกรมเมอร์ | |||
ไมโครคอนโทรลเลอร์ | ดีดี1 | ไมโครคอนโทรลเลอร์ 8 บิต | PIC18F2550-I/SP |
ทรานซิสเตอร์แบบไบโพลาร์ | วีที1,วีที2,วีที3 | KT3102 | |
VT4 | เคที361 | ||
ไดโอด | วีดี1 | KD522, 1N4148 | |
ชอตกีไดโอด | วีดี2 | 1N5817 | |
ไฟ LED | HL1, HL2 | 3 โวลต์ใดๆ สีแดงและ สีเขียวสีเรืองแสง | |
ตัวต้านทาน | R1, R2 | 300 โอห์ม | |
R3 | 22 kโอห์ม | ||
R4 | 1 โอห์ม | ||
R5, R6, R12 | 10 kโอห์ม | ||
R7, R8, R14 | 100 โอห์ม | ||
R9, R10, R15, R16 | 4.7 โอห์ม | ||
ร11 | 2.7 โอห์ม | ||
ร13 | 100 โอห์ม | ||
ตัวเก็บประจุ | ค2 | 0.1 ไมโคร | K10-17 (เซรามิก) อะนาล็อกนำเข้า |
ค3 | 0.47 ไมครอน | ||
ตัวเก็บประจุด้วยไฟฟ้า | ค1 | 100uF * 6.3V | K50-6 อะนาล็อกนำเข้า |
ค4 | 47 ยูเอฟ * 16 โวลต์ | ||
ตัวเหนี่ยวนำ (สำลัก) | L1 | 680 µH | แบบรวม EC24, CECL หรือแบบโฮมเมด |
เครื่องสะท้อนควอตซ์ | ZQ1 | 20 เมกะเฮิรตซ์ | |
ช่องเสียบยูเอสบี | XS1 | ประเภท USB-BF | |
จัมเปอร์ | เอ็กซ์ที1 | "จัมเปอร์" ทุกประเภท | |
สำหรับแผงติดตั้งไมโครคอนโทรลเลอร์ (MK) | |||
แผง ZIF | XS1 | แผง ZIF 40 พินใด ๆ | |
ตัวต้านทาน | R1 | 2 โอห์ม | MLT, MON (กำลังตั้งแต่ 0.125 W ขึ้นไป) อะนาล็อกที่นำเข้า |
R2, R3, R4, R5, R6 | 10 kโอห์ม |
ตอนนี้เล็กน้อยเกี่ยวกับรายละเอียดและวัตถุประสงค์ของพวกเขา
สีเขียว LED HL1 จะสว่างขึ้นเมื่อมีการจ่ายไฟให้กับโปรแกรมเมอร์และ สีแดง HL2 LED จะเปล่งเสียงเมื่อมีการถ่ายโอนข้อมูลระหว่างคอมพิวเตอร์และโปรแกรมเมอร์
เพื่อให้อุปกรณ์มีความอเนกประสงค์และเชื่อถือได้ จึงใช้ช่องเสียบ USB “B” (สี่เหลี่ยม) ขนาด XS1 คอมพิวเตอร์ใช้ช่องเสียบ USB Type A ดังนั้นจึงเป็นไปไม่ได้ที่จะปะปนกันช่องเสียบของสายเชื่อมต่อ โซลูชันนี้ยังช่วยเพิ่มความน่าเชื่อถือของอุปกรณ์อีกด้วย หากสายเคเบิลใช้งานไม่ได้ก็สามารถเปลี่ยนเป็นสายใหม่ได้อย่างง่ายดายโดยไม่ต้องพึ่งการบัดกรีหรืองานติดตั้ง
เนื่องจากเป็นตัวเหนี่ยวนำ L1 680 µH ควรใช้ตัวเหนี่ยวนำสำเร็จรูป (เช่น ประเภท EC24 หรือ CECL) แต่ถ้าคุณไม่พบผลิตภัณฑ์สำเร็จรูปคุณสามารถทำคันเร่งเองได้ ในการทำเช่นนี้ คุณจะต้องพันลวด PEL-0.1 จำนวน 250 - 300 รอบบนแกนเฟอร์ไรต์จากตัวเหนี่ยวนำประเภท CW68 ควรพิจารณาว่าเนื่องจากมี PWM พร้อมฟีดแบ็ค จึงไม่จำเป็นต้องกังวลเกี่ยวกับความแม่นยำของระดับความเหนี่ยวนำ
แรงดันไฟฟ้าสำหรับการเขียนโปรแกรมไฟฟ้าแรงสูง (Vpp) ตั้งแต่ +8.5 ถึง 14 โวลต์ถูกสร้างขึ้นโดยตัวควบคุมหลัก ประกอบด้วยองค์ประกอบ VT1, VD1, L1, C4, R4, R10, R11 พัลส์ PWM ถูกส่งจากพิน 12 ของ PIC18F2550 ไปยังฐาน VT1 ข้อเสนอแนะมีให้โดยตัวแบ่ง R10, R11
เพื่อปกป้ององค์ประกอบของวงจรจากแรงดันย้อนกลับจากสายการเขียนโปรแกรมเมื่อใช้โปรแกรมเมอร์ USB ในโหมด ICSP (In-Circuit Serial Programming) จะใช้ไดโอด VD2 VD2 เป็นไดโอดชอตกี ควรเลือกโดยมีแรงดันตกคร่อมที่ทางแยก P-N ไม่เกิน 0.45 โวลต์ นอกจากนี้ ไดโอด VD2 ยังปกป้ององค์ประกอบจากแรงดันย้อนกลับเมื่อใช้โปรแกรมเมอร์ในการแปลง USB-UART และโหมดวิเคราะห์ลอจิก
เมื่อใช้โปรแกรมเมอร์โดยเฉพาะสำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ในแผงควบคุม (โดยไม่ต้องใช้ ICSP) คุณสามารถกำจัดไดโอด VD2 ได้อย่างสมบูรณ์ (นี่คือสิ่งที่ฉันทำ) และติดตั้งจัมเปอร์แทน
ความกะทัดรัดของอุปกรณ์ทำโดยแผง ZIF สากล (Zero Insertion Force - โดยไม่ต้องใช้แรงในการติดตั้ง)
ด้วยเหตุนี้คุณจึงสามารถ "เดินสาย" ไมโครคอนโทรลเลอร์ลงในแพ็คเกจ DIP ได้เกือบทุกแบบ
แผนภาพ "แผงการติดตั้งไมโครคอนโทรลเลอร์ (MK)" ระบุว่าต้องติดตั้งไมโครคอนโทรลเลอร์ที่มีตัวเรือนต่างกันในแผงควบคุมอย่างไร เมื่อติดตั้ง MK คุณควรคำนึงถึงความจริงที่ว่าไมโครคอนโทรลเลอร์ในแผงอยู่ในตำแหน่งเพื่อให้ปุ่มบนชิปอยู่ที่ด้านข้างของคันโยกล็อคแผง ZIF
นี่คือวิธีการติดตั้งไมโครคอนโทรลเลอร์ 18 พิน (PIC16F84A, PIC16F628A ฯลฯ)
และนี่คือไมโครคอนโทรลเลอร์ 8 พิน (PIC12F675, PIC12F629 ฯลฯ )
หากคุณต้องการแฟลชไมโครคอนโทรลเลอร์ในแพ็คเกจแบบยึดบนพื้นผิว (SOIC) คุณสามารถใช้อะแดปเตอร์หรือบัดกรี 5 พินเข้ากับไมโครคอนโทรลเลอร์ที่ปกติต้องใช้สำหรับการเขียนโปรแกรม (Vpp, นาฬิกา, ข้อมูล, Vcc, GND)
คุณสามารถค้นหาภาพวาดแผงวงจรพิมพ์ที่เสร็จแล้วพร้อมการเปลี่ยนแปลงทั้งหมดได้ที่ลิงค์ท้ายบทความ ด้วยการเปิดไฟล์ในโปรแกรม Sprint Layout 5.0 โดยใช้โหมด "พิมพ์" คุณไม่เพียงสามารถพิมพ์เลเยอร์ที่มีรูปแบบของตัวนำที่พิมพ์ออกมาเท่านั้น แต่ยังสามารถดูตำแหน่งขององค์ประกอบบนแผงวงจรพิมพ์ได้อีกด้วย ให้ความสนใจกับจัมเปอร์แบบแยกที่เชื่อมต่อพิน 6 ของ DD1 และพิน 21 ของแผง ZIF คุณต้องพิมพ์ภาพวาดของกระดาน ในภาพสะท้อนในกระจก.
คุณสามารถสร้างแผงวงจรพิมพ์โดยใช้วิธี LUT เช่นเดียวกับเครื่องหมายสำหรับแผงวงจรพิมพ์โดยใช้ tsaponlak (นี่คือสิ่งที่ฉันทำ) หรือวิธี "ดินสอ"
นี่คือรูปภาพการวางตำแหน่งองค์ประกอบต่างๆ บนแผงวงจรพิมพ์ (คลิกได้)
เมื่อทำการติดตั้ง ขั้นตอนแรกคือการบัดกรีจัมเปอร์ที่ทำจากลวดทองแดงกระป๋อง จากนั้นติดตั้งองค์ประกอบแบบ low-profile (ตัวต้านทาน ตัวเก็บประจุ ควอทซ์ ขั้วต่อพิน ISCP) จากนั้นจึงติดตั้งทรานซิสเตอร์และ MK ที่ตั้งโปรแกรมไว้ ขั้นตอนสุดท้ายคือการติดตั้งแผง ZIF, ช่องเสียบ USB และปิดผนึกสายไฟในฉนวน (จัมเปอร์)
"เฟิร์มแวร์" ของไมโครคอนโทรลเลอร์ PIC18F2550
ไฟล์เฟิร์มแวร์ - PK2V023200.ฐานสิบหกคุณต้องเขียน PIC18F2550I-SP MK ลงในหน่วยความจำโดยใช้โปรแกรมเมอร์ที่รองรับไมโครคอนโทรลเลอร์ PIC (เช่น Extra-PIC) ฉันใช้ JDM Programmator JONIC PROG และโปรแกรม WinPic800.
คุณสามารถอัปโหลดเฟิร์มแวร์ไปยัง MCU PIC18F2550 ได้โดยใช้โปรแกรมเมอร์ PICkit2 ที่เป็นเอกสิทธิ์เดียวกันกับ PICkit2 หรือ PICkit3 เวอร์ชันใหม่ โดยปกติแล้ว คุณสามารถทำได้ด้วย PICkit-2 Lite แบบโฮมเมด หากเพื่อนของคุณคนใดคนหนึ่งจัดการประกอบมันต่อหน้าคุณ :)
นอกจากนี้ยังควรทราบด้วยว่า "เฟิร์มแวร์" ของไมโครคอนโทรลเลอร์ PIC18F2550-I/SP (ไฟล์ PK2V023200.ฐานสิบหก) ถูกเขียนเมื่อติดตั้งโปรแกรม PICkit 2 Programmer ในโฟลเดอร์พร้อมกับไฟล์ของโปรแกรมเอง ตำแหน่งโดยประมาณของไฟล์ PK2V023200.hex - "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . สำหรับผู้ที่ติดตั้ง Windows เวอร์ชัน 32 บิตบนพีซี เส้นทางตำแหน่งจะแตกต่างออกไป: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .
ถ้าคุณไม่สามารถแก้ปัญหา "ไก่กับไข่" โดยใช้วิธีการที่เสนอได้ คุณสามารถซื้อโปรแกรมเมอร์ PICkit3 สำเร็จรูปบนเว็บไซต์ AliExpress ได้ ที่นั่นราคาถูกกว่ามาก ฉันเขียนเกี่ยวกับวิธีซื้อชิ้นส่วนและชุดอิเล็กทรอนิกส์ใน AliExpress
การอัพเดตเฟิร์มแวร์โปรแกรมเมอร์
ความคืบหน้าไม่หยุดนิ่ง และในบางครั้ง Microchip จะเผยแพร่การอัปเดตสำหรับซอฟต์แวร์ของบริษัท ซึ่งรวมถึงโปรแกรมเมอร์ PICkit2 และ PICkit3 โดยปกติแล้ว เรายังสามารถอัปเดตโปรแกรมควบคุมของ PICkit-2 Lite แบบโฮมเมดของเราได้ด้วย ในการดำเนินการนี้ คุณจะต้องมีโปรแกรมโปรแกรมเมอร์ PICkit2 มันคืออะไรและใช้งานอย่างไร - ในภายหลัง ในระหว่างนี้ มีคำสองสามคำเกี่ยวกับสิ่งที่ต้องทำเพื่ออัปเดตเฟิร์มแวร์
หากต้องการอัปเดตซอฟต์แวร์โปรแกรมเมอร์ คุณต้องปิดจัมเปอร์ XT1 บนโปรแกรมเมอร์เมื่อถูกตัดการเชื่อมต่อจากคอมพิวเตอร์ จากนั้นเชื่อมต่อโปรแกรมเมอร์เข้ากับพีซีแล้วเปิดโปรแกรมเมอร์ PICkit2 เมื่อปิด XT1 โหมดจะถูกเปิดใช้งาน บูตโหลดเดอร์เพื่อดาวน์โหลดเฟิร์มแวร์เวอร์ชั่นใหม่ จากนั้นในโปรแกรมเมอร์ PICkit2 ผ่านเมนู "เครื่องมือ" - "ดาวน์โหลดระบบปฏิบัติการ PICkit 2" ให้เปิดไฟล์ hex ที่เตรียมไว้ก่อนหน้านี้ของเฟิร์มแวร์ที่อัพเดต ต่อไปจะเกิดกระบวนการอัพเดตซอฟต์แวร์โปรแกรมเมอร์
หลังจากการอัพเดต คุณจะต้องยกเลิกการเชื่อมต่อโปรแกรมเมอร์จากพีซี และถอดจัมเปอร์ XT1 ออก ในโหมดปกติจัมเปอร์จะเปิดอยู่. คุณสามารถค้นหาเวอร์ชันซอฟต์แวร์โปรแกรมเมอร์ได้จากเมนู "ช่วยเหลือ" - "เกี่ยวกับ" ในโปรแกรมโปรแกรมเมอร์ PICkit2
ทั้งหมดนี้เกี่ยวกับปัญหาทางเทคนิค และตอนนี้เกี่ยวกับซอฟต์แวร์
ทำงานร่วมกับโปรแกรมเมอร์ โปรแกรมเมอร์ PICkit2
ในการทำงานกับโปรแกรมเมอร์ USB เราจะต้องติดตั้งโปรแกรม PICkit2 Programmer บนคอมพิวเตอร์ โปรแกรมพิเศษนี้มีอินเทอร์เฟซที่เรียบง่าย ติดตั้งง่าย และไม่ต้องการการกำหนดค่าพิเศษ เป็นที่น่าสังเกตว่าคุณสามารถทำงานร่วมกับโปรแกรมเมอร์ได้โดยใช้สภาพแวดล้อมการพัฒนา MPLAB IDE แต่เพื่อที่จะแฟลช/ลบ/อ่าน MK โปรแกรมง่ายๆ - โปรแกรมเมอร์ PICkit2 ก็เพียงพอแล้ว ฉันแนะนำ.
หลังจากติดตั้งโปรแกรม PICkit2 Programmer แล้ว ให้เชื่อมต่อโปรแกรมเมอร์ USB ที่ประกอบเข้ากับคอมพิวเตอร์ ในขณะเดียวกันก็จะสว่างขึ้น สีเขียว LED (“พลังงาน”) และระบบปฏิบัติการจดจำอุปกรณ์เป็น "โปรแกรมเมอร์ไมโครคอนโทรลเลอร์ PICkit2" และติดตั้งไดรเวอร์
เปิดตัวโปรแกรมเมอร์ PICkit2 คำจารึกควรปรากฏในหน้าต่างโปรแกรม
หากไม่ได้เชื่อมต่อโปรแกรมเมอร์ หน้าต่างโปรแกรมจะแสดงข้อความที่น่ากลัวและคำแนะนำสั้น ๆ ว่า "ต้องทำอย่างไร" เป็นภาษาอังกฤษ.
หากโปรแกรมเมอร์เชื่อมต่อกับคอมพิวเตอร์ที่ติดตั้ง MK โปรแกรมจะตรวจพบเมื่อเปิดตัวและจะแจ้งให้เราทราบในหน้าต่างโปรแกรมเมอร์ PICkit2
ยินดีด้วย! ขั้นตอนแรกได้ดำเนินการแล้ว และฉันได้พูดคุยเกี่ยวกับวิธีใช้โปรแกรม PICkit2 Programmer ในบทความแยกต่างหาก ขั้นตอนต่อไป .
ไฟล์ที่จำเป็น:
คู่มือผู้ใช้ PICkit2 (ภาษารัสเซีย) ใช้หรือ
ด้วยการพัฒนาเทคโนโลยีคอมพิวเตอร์ แต่ละครั้งมีคอมพิวเตอร์ที่มีพอร์ต COM และ LPT น้อยลงเรื่อยๆ สิ่งนี้ทำให้เกิดปัญหาโดยเฉพาะสำหรับนักวิทยุสมัครเล่นที่เกี่ยวข้องกับการจับคู่เครื่องมือการเขียนโปรแกรมไมโครคอนโทรลเลอร์กับคอมพิวเตอร์ส่วนบุคคล
บทความนี้จะอธิบายเกี่ยวกับโปรแกรมเมอร์ USB สำหรับไมโครคอนโทรลเลอร์ AVR ซึ่งคุณสามารถประกอบเองได้ สร้างขึ้นบนไมโครคอนโทรลเลอร์ Atmega8 และสามารถทำงานได้จากขั้วต่อ USB ของคอมพิวเตอร์ โปรแกรมเมอร์นี้เข้ากันได้กับ STK500 v2.
คำอธิบายของโปรแกรมเมอร์ USB
โปรแกรมเมอร์ USB สร้างขึ้นบนบอร์ดที่ทำจากไฟเบอร์กลาสฟอยล์ด้านเดียว บนบอร์ดมีจัมเปอร์ 2 ตัว: อันหนึ่งอยู่ใต้ตัวเชื่อมต่อ SPI จัมเปอร์ตัวที่สองตั้งอยู่ใกล้กับตัวเชื่อมต่อเดียวกัน
หลังจากปิดผนึกชิ้นส่วนทั้งหมดแล้ว คุณจะต้องแฟลชไมโครคอนโทรลเลอร์ Atmega8 ด้วยเฟิร์มแวร์ที่ให้ไว้ท้ายบทความ ฟิวส์ที่ต้องตั้งค่าเมื่อตั้งโปรแกรมไมโครคอนโทรลเลอร์ Atmega8 ควรมีลักษณะดังนี้:
- SUT1 = 0
- บู๊ทส์Z1 = 0
- บู๊ทส์Z0 = 0
- คคอปต์ = 0
- สเปียน = 0
ต้องจำไว้ว่าในบางโปรแกรมการตั้งค่าฟิวส์จะตั้งไปในทิศทางตรงกันข้ามกับสิ่งนี้ ตัวอย่างเช่น ในโปรแกรม CodeVisionAVR คุณต้องทำเครื่องหมายในช่องถัดจากฟิวส์ที่กล่าวถึงข้างต้น และในโปรแกรม PonyProg ในทางกลับกัน
การเขียนโปรแกรม Atmega8 ผ่านพอร์ต LPT ของคอมพิวเตอร์
วิธีที่เร็วและถูกที่สุดในการเขียนโปรแกรม Atmega8 คือการใช้โปรแกรมเมอร์ LPT สำหรับ AVR แผนภาพที่คล้ายกันแสดงอยู่ด้านล่าง
ไมโครคอนโทรลเลอร์ใช้พลังงานจากตัวควบคุมแรงดันไฟฟ้า 78L05 แบบธรรมดา คุณสามารถใช้โปรแกรม UniProf เป็นเชลล์การเขียนโปรแกรมได้
เมื่อคุณเปิดโปรแกรมครั้งแรกและเมื่อไม่ได้เชื่อมต่อคอนโทรลเลอร์โดยการกดปุ่ม "LPTpins" คุณจะต้องกำหนดค่าพินพอร์ต LPT ดังนี้:
เมื่อ UniProf เริ่มทำงาน ระบบจะกำหนดประเภทของไมโครคอนโทรลเลอร์โดยอัตโนมัติ เราโหลดเฟิร์มแวร์ Atmega8_USB_prog.hex ลงในหน่วยความจำ UniProf และปฏิเสธการเชื่อมต่อของไฟล์ EEPROM
เราตั้งค่าฟิวส์ดังนี้ (สำหรับโปรแกรม UniProF) โดยกดปุ่ม "FUSE":
หากต้องการจดจำการตั้งค่า ให้กดปุ่ม "เขียน" ทั้งสามปุ่ม จากนั้นโดยการคลิกที่ "ลบ" เราจะล้างหน่วยความจำของไมโครคอนโทรลเลอร์ที่ถูกแฟลชก่อน หลังจากนี้คลิกที่ "Prog" และรอให้เฟิร์มแวร์เสร็จสิ้น
การตั้งค่าโปรแกรมเมอร์ USB
หลังจากที่ไมโครคอนโทรลเลอร์ของเรากระพริบแล้ว จะต้องติดตั้งบนบอร์ดโปรแกรมเมอร์ USB ต่อไปเราเชื่อมต่อโปรแกรมเมอร์เข้ากับพอร์ต USB ของคอมพิวเตอร์ แต่ยังไม่ได้จ่ายไฟ
การตั้งค่าพอร์ต:
การตั้งค่าเทอร์มินัล:
การตั้งค่า ASCII:
หลังจากเสร็จสิ้นขั้นตอนทั้งหมดแล้ว เราจะจ่ายไฟให้กับโปรแกรมเมอร์ USB ไฟ LED HL1 ควรกะพริบ 6 ครั้ง จากนั้นจึงติดสว่าง
หากต้องการตรวจสอบการเชื่อมต่อระหว่างโปรแกรมเมอร์ USB และคอมพิวเตอร์ให้กดปุ่ม "Enter" 2 ครั้งในโปรแกรม HyperTerminal หากทุกอย่างเรียบร้อยเราควรเห็นภาพต่อไปนี้:
หากไม่เป็นเช่นนั้น ให้ตรวจสอบการติดตั้งอีกครั้ง โดยเฉพาะบรรทัด TxD
ต่อไปเราจะเข้าสู่โปรแกรมเมอร์เวอร์ชัน 2.10 เนื่องจากหากไม่มีสิ่งนี้โปรแกรมเมอร์จะไม่ทำงานกับโปรแกรม "ระดับบนสุด" ในการดำเนินการนี้ให้ป้อน "2" แล้วกด "Enter" ป้อน "a" (ภาษาอังกฤษ) แล้วกด "Enter"
โปรแกรมเมอร์ USB สามารถรับรู้การเชื่อมต่อของไมโครคอนโทรลเลอร์ที่ตั้งโปรแกรมได้ ทำได้ในรูปแบบของการตรวจสอบ "การดึงขึ้น" ของสัญญาณรีเซ็ตไปยังแหล่งพลังงาน โหมดนี้เปิดและปิดดังนี้:
- “0”, “Enter” - โหมดนี้ปิดใช้งาน
- “1”, “Enter” - เปิดใช้งานโหมดแล้ว
การเปลี่ยนแปลงความเร็วการเขียนโปรแกรม (1MHz):
- “0”, “Enter” – ความเร็วสูงสุด
- “1”, “Enter” – ลดความเร็ว
นี่เป็นการเสร็จสิ้นงานเตรียมการ ตอนนี้คุณสามารถลองแฟลชไมโครคอนโทรลเลอร์บางตัวได้แล้ว
(ดาวน์โหลด: 1,203)
วันหนึ่งฉันตัดสินใจประกอบเครื่องวัด LC ง่ายๆ สำหรับ pic16f628a และโดยธรรมชาติแล้ว มันจะต้องมีการแฟลชอะไรบางอย่าง ฉันเคยมีคอมพิวเตอร์ที่มีพอร์ต COM จริง แต่ตอนนี้ฉันมีเพียง USB และบอร์ด pci-lpt-2com เริ่มต้นด้วยการรวบรวมโปรแกรมเมอร์ JDM ธรรมดา ๆ แต่เมื่อปรากฏออกมามันไม่ต้องการทำงานกับบอร์ด pci-lpt-com หรืออะแดปเตอร์ usb-com (สัญญาณ RS-232 แรงดันต่ำ) จากนั้นฉันก็รีบไปหาโปรแกรมเมอร์ usb pic แต่เมื่อปรากฎว่าทุกอย่างถูก จำกัด ให้ใช้ pic18f2550/4550 ราคาแพงซึ่งฉันไม่มีโดยธรรมชาติและน่าเสียดายถ้าใช้ MK ราคาแพงเช่นนี้ถ้าฉันมาก ไม่ค่อยทำอะไรที่จุดสูงสุด (ฉันชอบ av- ใช่การกระพริบไม่ใช่ปัญหาราคาถูกกว่ามากและสำหรับฉันแล้วดูเหมือนว่าการเขียนโปรแกรมกับพวกมันง่ายกว่า) หลังจากเจาะลึกบนอินเทอร์เน็ตเป็นเวลานานในบทความหลายบทความเกี่ยวกับโปรแกรมเมอร์ EXTRA-PIC และรุ่นต่างๆ ผู้เขียนคนหนึ่งเขียนว่า extrapic ใช้งานได้กับพอร์ต com ใด ๆ และแม้แต่อะแดปเตอร์ usb-com
วงจรของโปรแกรมเมอร์นี้ใช้ตัวแปลงระดับลอจิก max232
ฉันคิดว่าถ้าคุณใช้อะแดปเตอร์ usb มันจะโง่มากที่จะแปลง usb เป็น usart TTL, TTL เป็น RS232, RS232 กลับเป็นระดับ TTL สองครั้ง หากคุณสามารถรับสัญญาณ TTL ของพอร์ต RS232 จาก usb- ชิปแปลง usart
ฉันก็เลยทำ ฉันใช้ชิป CH340G (ซึ่งมีสัญญาณพอร์ต com ทั้งหมด 8 พอร์ต) และเชื่อมต่อแทน max232 และนี่คือสิ่งที่เกิดขึ้น
ในวงจรของฉันมีจัมเปอร์ jp1 ซึ่งไม่อยู่ในจุดสูงสุดพิเศษ ฉันติดตั้งมันเพราะฉันไม่รู้ว่าเอาต์พุต TX จะทำงานอย่างไรที่ระดับ TTL ดังนั้นฉันจึงทำให้มันเป็นไปได้ที่จะกลับด้านบน NAND อิสระที่เหลือ องค์ประกอบและเมื่อมันปรากฏออกมา มันถูกต้องว่ามีตรรกะอยู่ที่พิน TX และดังนั้นจึงมี 12 โวลต์ที่พิน VPP เมื่อเปิดเครื่อง แต่จะไม่มีอะไรเกิดขึ้นระหว่างการเขียนโปรแกรม (แม้ว่าคุณจะสามารถแปลง TX ในซอฟต์แวร์ได้ก็ตาม) .
หลังจากประกอบบอร์ดแล้วก็ถึงเวลาทดสอบ และนี่คือความผิดหวังหลัก ตรวจพบโปรแกรมเมอร์ทันที (ด้วยโปรแกรม ic-prog) และเริ่มทำงานแต่ช้ามาก! โดยหลักการแล้ว - ตามที่คาดไว้ จากนั้นในการตั้งค่าพอร์ต com ฉันตั้งค่าความเร็วสูงสุด (128 กิโลไบต์) และเริ่มทดสอบโปรแกรมที่พบทั้งหมดสำหรับ JDM เป็นผลให้ PicPgm กลายเป็นวิธีที่เร็วที่สุด pic16f628a ของฉันแฟลชเต็มที่ (hex, eeprom และ config) พร้อมการตรวจสอบความถูกต้องประมาณ 4-6 นาที (การอ่านช้ากว่าการเขียน) IcProg ก็ใช้งานได้เช่นกัน แต่ช้ากว่า ไม่มีข้อผิดพลาดในการเขียนโปรแกรม ฉันพยายามแฟลช eeprom 24c08 ด้วยผลลัพธ์ก็เหมือนเดิม - ทุกอย่างเย็บ แต่ช้ามาก
สรุป: โปรแกรมเมอร์ค่อนข้างง่ายไม่มีชิ้นส่วนราคาแพง (CH340 - 0.3-0.5 $ โดยทั่วไป k1533la3 สามารถพบได้ในขยะวิทยุ) ทำงานบนคอมพิวเตอร์แล็ปท็อปเครื่องใดก็ได้ (และคุณสามารถใช้แท็บเล็ตบน Windows 8/10 ได้ ). จุดด้อย: มันช้ามาก นอกจากนี้ยังต้องใช้พลังงานภายนอกสำหรับสัญญาณ VPP ด้วยเหตุนี้สำหรับฉันดูเหมือนว่าสำหรับการกระพริบของยอดเขาไม่บ่อยนักนี่เป็นตัวเลือกที่ทำซ้ำได้ง่ายและราคาไม่แพงสำหรับผู้ที่ไม่มีคอมพิวเตอร์โบราณที่มีพอร์ตที่จำเป็นอยู่ในมือ
นี่คือรูปถ่ายของอุปกรณ์ที่เสร็จแล้ว:
ดังที่เพลงกล่าวไว้ว่า “ฉันสร้างเขาขึ้นมาจากสิ่งที่เป็นอยู่” ชุดชิ้นส่วนมีความหลากหลายมาก: ทั้ง SMD และ DIP
สำหรับผู้ที่กล้าทำซ้ำวงจรเกือบทุกคนจะเหมาะกับตัวแปลง usb-uart (ft232, pl2303, cp2101 ฯลฯ ) แทนที่จะเป็น k1533la3 k555 ก็เหมาะฉันคิดว่าแม้แต่ซีรีย์ k155 หรือ อะนาล็อกต่างประเทศ 74als00 อาจใช้งานได้กับองค์ประกอบ NOT แบบลอจิคัลประเภท k1533ln1 ฉันกำลังติดแผงวงจรพิมพ์ของตัวเอง แต่ใครๆ ก็สามารถวาดการเดินสายไฟที่นั่นใหม่สำหรับองค์ประกอบที่มีอยู่ได้
รายชื่อธาตุกัมมันตภาพรังสี
การกำหนด | พิมพ์ | นิกาย | ปริมาณ | บันทึก | ร้านค้า | สมุดบันทึกของฉัน |
---|---|---|---|---|---|---|
ไอซี1 | ชิป | CH340G | 1 | ไปยังสมุดบันทึก | ||
ไอซี2 | ชิป | K1533LA3 | 1 | ไปยังสมุดบันทึก | ||
VR1 | ตัวควบคุมเชิงเส้น | LM7812 | 1 | ไปยังสมุดบันทึก | ||
VR2 | ตัวควบคุมเชิงเส้น | LM7805 | 1 | ไปยังสมุดบันทึก | ||
วีที1 | ทรานซิสเตอร์แบบไบโพลาร์ | KT502E | 1 | ไปยังสมุดบันทึก | ||
วีที2 | ทรานซิสเตอร์แบบไบโพลาร์ | KT3102E | 1 | ไปยังสมุดบันทึก | ||
วีดี1-วีดี3 | ไดโอดเรียงกระแส | 1N4148 | 2 | ไปยังสมุดบันทึก | ||
C1, C2, C5-C7 | ตัวเก็บประจุ | 100 nF | 5 | ไปยังสมุดบันทึก | ||
ซี3,ซี4 | ตัวเก็บประจุ | 22 พิโคเอฟ | 2 | ไปยังสมุดบันทึก | ||
HL1-HL4 | ไดโอดเปล่งแสง | ใดๆ | 4 | ไปยังสมุดบันทึก | ||
R1, R3, R4 | ตัวต้านทาน | 1 โอห์ม | 3 |
โปรแกรมเมอร์ 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 ได้โดยใช้