สารบัญ:
- ขั้นตอนที่ 1: คุณสมบัติและชิ้นส่วน
- ขั้นตอนที่ 2: เค้าโครงเขียงหั่นขนม แผนผัง และการก่อสร้าง
- ขั้นตอนที่ 3: การใช้งานและแอปพลิเคชัน
วีดีโอ: โปรแกรมเมอร์ VUSBTiny AVR SPI: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
หลังจากสร้างโปรแกรมเมอร์ usbtiny isp และใช้งานเป็นเวลา 6 เดือน ฉันกำลังหาอีกอันหนึ่งสำหรับพกติดตัว ฉันชอบความเรียบง่ายของการออกแบบ usbtiny isp แต่ต้องการทำให้มันเล็กลงและใช้ชิ้นส่วนน้อยลง สิ่งหนึ่งที่ฉันต้องการเปลี่ยนในการออกแบบดั้งเดิมคือเลิกใช้นาฬิกาคริสตัล วิธีแก้ปัญหาหนึ่งที่ฉันพบคือไดรเวอร์ v-usb รองรับออสซิลเลเตอร์ภายใน 16.5Mhz บนอุปกรณ์ attiny25/45/85 ดังนั้นฉันจึงเริ่มโครงการนี้เพื่อให้ usbtiny isp ใช้ v-usb สำหรับการสื่อสาร usb ประโยชน์ทันทีคือช่วยประหยัดพื้นที่และมีจำนวนส่วนประกอบน้อยลง (ไม่มีคริสตัลอีกต่อไป) คำอธิบายusbtiny จาก https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny คือการใช้งานซอฟต์แวร์ของ USB ความเร็วต่ำ โปรโตคอลสำหรับไมโครคอนโทรลเลอร์ Atmel ATtiny แน่นอนว่ามันจะใช้ได้กับซีรีย์ ATmega ด้วย ซอฟต์แวร์นี้เขียนขึ้นสำหรับ AVR ที่ความเร็ว 12 MHz ที่ความถี่นี้ แต่ละบิตบนบัส USB ใช้เวลา 8 รอบสัญญาณนาฬิกา และด้วยกลอุบายมากมาย ซอฟต์แวร์จึงสามารถถอดรหัสและเข้ารหัสรูปคลื่น USB ได้โดยใช้ซอฟต์แวร์ ไดรเวอร์ USB ต้องการพื้นที่แฟลชประมาณ 1250 ถึง 1350 ไบต์ (ไม่รวมสตริงระบุตัวเลือก) ขึ้นอยู่กับการกำหนดค่าและเวอร์ชันของคอมไพเลอร์ และ RAM 46 ไบต์ (ไม่รวมพื้นที่สแต็ก) อินเทอร์เฟซ C ประกอบด้วย 3 ถึง 5 ฟังก์ชัน ขึ้นอยู่กับคำอธิบาย configuration.vusb จาก https://www.obdev.at/products/vusb/ V-USB เป็นการใช้งานอุปกรณ์ USB ความเร็วต่ำสำหรับ Atmel เท่านั้น ไมโครคอนโทรลเลอร์ AVR ทำให้สามารถสร้างฮาร์ดแวร์ USB กับไมโครคอนโทรลเลอร์ AVR ได้แทบทุกชนิด โดยไม่ต้องใช้ชิปเพิ่มเติมใดๆ วิดีโอเกี่ยวกับการก่อสร้างและการใช้งาน
ขั้นตอนที่ 1: คุณสมบัติและชิ้นส่วน
* ตรรกะการเขียนโปรแกรมจาก usbtiny isp รองรับ avr-dude ที่เป็นผู้ใหญ่ * รอยเท้าขนาดเล็ก * ส่วนประกอบขั้นต่ำ * ให้พลังแก่อุปกรณ์เป้าหมาย โปรดทราบว่าสาย io ไปยัง mcus เป้าหมายไม่ได้รับการป้องกัน คุณสามารถเพิ่มตัวต้านทาน 1k-2k ให้กับ SCK และ MOSI และป้องกันการเชื่อมต่อที่ไม่ถูกต้องตามงานที่พบใน v-usb จากเฟรมเวิร์ก https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all nl/~dicks/avr/usbtiny/parts list * attiny45/85 (85 ง่ายกว่าที่จะมา) * ไดโอด zener 3.6v (1n747, BZX79,..หลีกเลี่ยง 1W ประเภท) * ตัวต้านทาน 68ohm x 2 * ตัวต้านทาน 1.5K * mini breadboard 170 tiepoints * สาย usb (สาย usb เครื่องพิมพ์ usb ของร้านดอลล่าร์ใช้ได้) * ตัวต้านทาน 1k/2k สำหรับการป้องกันสาย io (อุปกรณ์เสริม) จำเป็นต้องใช้เครื่องมือ * โปรแกรมเมอร์ avr ที่ใช้งานได้ (ใช่แล้ว มันคือ catch22 เราต้องการหนึ่งตัวเพื่อสร้าง) * สภาพแวดล้อมการเขียนโปรแกรม avr ทำงาน
ขั้นตอนที่ 2: เค้าโครงเขียงหั่นขนม แผนผัง และการก่อสร้าง
การก่อสร้าง
* ตามรูปแบบเขียงหั่นขนมไม่มีส่วนประกอบใด ๆ ตัวต้านทาน 3 ตัวไดโอด 2 ตัว 1 แคปบวก mcu 8 พิน * รับสายเครื่องพิมพ์ usb ของร้านดอลลาร์ที่ตัดปลายเครื่องพิมพ์จะมีลวดเปิดอยู่ 4 เส้นยึดให้แน่นแล้วทำเป็นหัวต่อตัวผู้ 4 พินเราจะใช้เพื่อเชื่อมต่อกับเขียงหั่นขนม ปรึกษาแผนผังสำหรับเลย์เอาต์และการกำหนดพิน (J1) * ระวังขั้วไดโอด
สร้างและฉายภาพโครงการ
โปรเจ็กต์ถูกสร้างขึ้นในกล่อง linux ubuntu lucid พร้อม avr-gcc toolchain ถือว่าคุณมีสภาพแวดล้อมดังกล่าวอยู่แล้ว หรือคุณสามารถค้นหาวิธีตั้งค่าได้จากอินเทอร์เน็ต ซอร์สโค้ดคือ gnu gpl v2 ที่ได้รับอนุญาตจากการสืบทอด
ซอร์สโค้ดเป็นไปตามแบบแผนที่แนะนำโดย v-usb คุณสามารถดาวน์โหลดแพ็คเกจต้นทาง vusbtiny.tgz และยกเลิกการกำหนดเป้าหมายในไดเร็กทอรีโครงการ ภายในไดเรกทอรีต้นทางของคุณ มี main.c ซึ่งเป็นโปรแกรมเมอร์ usbtiny รุ่นแก้ไขของฉัน และไดเร็กทอรีย่อย usbdrv ซึ่งมีเลเยอร์ v-usb โปรดสังเกตเงื่อนไขใบอนุญาตจากสองโครงการข้างต้นเมื่อสร้างสิ่งนี้ แหล่งที่มาของฉันเกี่ยวกับตรรกะของโปรแกรมเมอร์นั้นอิงตามเวอร์ชั่นของ Dick Streefland ไม่ใช่รุ่น Ladyada (แม้ว่าจะเกือบจะเหมือนกันก็ตาม)
สำหรับผู้ที่ไม่มี build too-chain คุณสามารถใช้ binary. ต่อไปนี้
คลิกเพื่อดาวน์โหลด vusbtiny.hex
และใช้ avrdude เพื่อแฟลชเฟิร์มแวร์
avrdude -c usbtiny -p t45 -e -V -U แฟลช:w:usbtiny.hex
(หากอุปกรณ์ของคุณเป็น tiny85 ให้เปลี่ยน -p t45 w/ -p t85)
สามารถดาวน์โหลดแหล่งที่มาได้ที่นี่ คลิกเพื่อดาวน์โหลด vusbtiny.tgz
untar แพ็คเกจต้นทางลงในไดเร็กทอรีการทำงานของคุณ
tar -zxvf vusbtiny.tgz
* ทำ cd vsubtiny เพื่อเปลี่ยนเป็นไดเร็กทอรีการทำงาน vusbtiny * ajust makefile สำหรับอุปกรณ์เป้าหมายตามชิปที่คุณจะใช้ เช่น PROGRAMMER_MCU=t45 หรือ t85 * ทำ make * แนบโปรแกรมเมอร์ ISP ที่คุณชื่นชอบ * แก้ไข makefile และเปลี่ยนพารามิเตอร์ avrdude หากจำเป็น หุ้นหนึ่งถือว่าโปรแกรมเมอร์ USBTiny เช่น AVRDUDE_PROGRAMMERID=usbtiny * เฟิร์มแวร์แฟลชผ่าน make install
หลังจากเฟิร์มแวร์กระพริบ เราจำเป็นต้องตั้งค่าฟิวส์ให้ถูกต้อง เราใช้พิน 1 รีเซ็ตเป็น io ในโครงการนี้
* นาฬิกา ppl ใช้ตามที่กำหนดโดยเลเยอร์ v-usb สำหรับเวลา usb * รีเซ็ตพินถูกปิดใช้งานเนื่องจากเราจำเป็นต้องใช้เป็น io
avrdude -c usbtiny -p t45 -V -U lfuse:w:0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xff:m
การตั้งค่านี้ปิดใช้งานการตั้งโปรแกรมเพิ่มเติมผ่าน 5V SPI เนื่องจากเราต้องการ RESET pin (pin1) สำหรับ io คุณจะต้องเข้าถึงโปรแกรมเมอร์ HVSP เพื่อกู้คืนฟิวส์
ขั้นตอนที่ 3: การใช้งานและแอปพลิเคชัน
กระพริบโดยตรงบนเขียงหั่นขนม
หากคุณกำลังใช้ vusbtiny เพื่อแฟลชอุปกรณ์ AVR 8 พิน คุณสามารถกดอุปกรณ์เป้าหมายของคุณที่ด้านบนของอุปกรณ์โปรแกรมเมอร์ โปรแกรมเมอร์ได้รับการออกแบบเพื่อให้หมุดการเขียนโปรแกรมตรงกับเป้าหมาย มีเคล็ดลับอยู่อย่างหนึ่ง คุณจะต้องแยกพิน 2 และ 3 บนโปรแกรมเมอร์ mcu เนื่องจากเป็นพิน USB D+ และ D- ที่เชื่อมต่อกับพีซี ฉันใช้สก๊อตเทปเพื่อทำสิ่งนี้ คุณสามารถดูได้ในภาพถ่าย แสดงด้านล่างเป็น Tiny13v "ขี่" บน tiny45 พร้อมรับเฟิร์มแวร์
ISP กระพริบผ่านจัมเปอร์
ในการตั้งโปรแกรมวงจรเป้าหมายผ่าน ISP (การเขียนโปรแกรมในระบบ) คุณต้องมีสายเคเบิล ISP ที่นี่ฉันไม่ได้ใช้ส่วนหัวพินมาตรฐาน 2x3 หรือ 2x5 แต่ฉันใช้จัมเปอร์ 1x6 ซึ่งเป็นมิตรกับเขียงหั่นขนมมากกว่า คุณสามารถสร้างส่วนหัวพิน 2x3 หรือ 2x5 โดยแมปกับ J2 ตามที่แสดงบนโครงร่างเขียงหั่นขนมและแผนผัง ภาพต่อไปนี้แสดง tiny2313 พร้อมที่จะแฟลชผ่าน ISP
การแก้ไขปัญหา
* ไม่สามารถแฟลชเฟิร์มแวร์ได้? ตรวจสอบโปรแกรมเมอร์ดั้งเดิมของคุณ อาจต้องปรับเวลาผ่านแฟล็ก -B ใน avrdude ลองอ่านชิปที่ 1 อาจเป็นฟิวส์ที่ไม่ดี บางทีชิปของคุณอาจต้องการสัญญาณนาฬิกาภายนอก คุณอาจต้องแก้ไขชิปของคุณกลับเป็นค่าเริ่มต้นที่ 1 * ตรวจสอบการเชื่อมต่อ * หากใช้หมุด io ที่แตกต่างกัน ตรวจสอบรหัสและการเชื่อมต่อ * คุณอาจใช้ไดโอด zener แทนด้วย 500mw, 400mw ประเภท * คุณอาจลองลดค่า R3 เป็น 1.2K หรือน้อยกว่า * คุณมีแนวโน้มที่จะประสบปัญหาเรื่องเวลามากเกินไป ลอง -B ธงของ avrdude มีสาย USB ที่สั้นกว่าทั้งหมดช่วยได้
แนะนำ:
CH341A โปรแกรมเมอร์: 8 ขั้นตอน
CH341A Programmer: ฉันเพิ่งซื้อ CH341A mini programmer โปรแกรมเมอร์ขนาดเล็กใช้ได้ และสามารถใช้เพื่อตั้งโปรแกรมชิปซีรีส์ 24 และ 24 ได้ มันมีต้นทุนต่ำมาก แต่มีประโยชน์มากเพราะฉันสามารถใช้เพื่อแฟลช BIOS ของคอมพิวเตอร์และเฟิร์มแวร์เราเตอร์ของฉัน WCH ได้โปรดปล่อย
โปรแกรมเมอร์ ATTiny HV: 4 ขั้นตอน
โปรแกรมเมอร์ ATTiny HV: คำแนะนำนี้มีไว้สำหรับยูทิลิตี้การเขียนโปรแกรม ATTiny โดยใช้ ESP8266 และส่วนต่อประสานผู้ใช้บนเบราว์เซอร์ มันต่อจากตัวแก้ไขฟิวส์ที่สั่งได้ก่อนหน้านี้สำหรับการอ่านและการตั้งค่าฟิวส์ แต่ตอนนี้รองรับการลบ อ่าน และเขียน fla
โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง: 17 ขั้นตอน
โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง: นี่เป็นคำสั่งสอนครั้งแรกของฉัน บอร์ดที่ฉันออกแบบคือ AVR Programmer บอร์ดนี้รวมเอาฟังก์ชันของบอร์ดต้นแบบที่แยกจากกัน 4 บอร์ดที่ฉันสร้างขึ้นในช่วงไม่กี่ปีที่ผ่านมา: - โปรแกรมเมอร์ AVR ไฟฟ้าแรงสูง ซึ่งใช้เป็นหลักในอุปกรณ์ ATtiny เพื่อตั้งค่า
โปรแกรมเมอร์ STK500 AVR ราคาถูกสำหรับ Atmel Studio: 7 ขั้นตอน
โปรแกรมเมอร์ STK500 AVR ราคาถูกสำหรับ Atmel Studio: Atmel Studio เป็นเครื่องมือที่ทรงพลังสำหรับการสร้างโปรแกรม AVR แต่การเขียนโปรแกรมเป็นขั้นตอนแรก ในการใช้โปรแกรม คุณต้องสร้างวงจรและโอนรหัสของคุณไปยังไมโครคอนโทรลเลอร์ คุณสามารถตั้งโปรแกรม AVR ของคุณจาก Atmel Studio โดยใช้
โปรแกรมเมอร์ ISP สำหรับไมโครคอนโทรลเลอร์ AVR: 4 ขั้นตอน
โปรแกรมเมอร์ ISP สำหรับไมโครคอนโทรลเลอร์ AVR: โปรแกรมเมอร์ไมโครคอนโทรลเลอร์เป็นอุปกรณ์ฮาร์ดแวร์ที่มาพร้อมกับซอฟต์แวร์ซึ่งใช้ในการถ่ายโอนรหัสภาษาเครื่องไปยังไมโครคอนโทรลเลอร์/EEPROM จากพีซี โปรแกรมเมอร์ ISP สำหรับไมโครคอนโทรลเลอร์ AVR คือโปรแกรมเมอร์แบบอนุกรมซึ่งใช้ส