ฉันจะวางแผนในการเขียนโปรแกรมวงจรของ AVR ได้อย่างไร


12

วิธีปกติของฉันในการสร้างโปรแกรมใหม่ AVR (จำกัด จนถึง ATtiny13 และ ATtiny2313) คือการตัดการเชื่อมต่อชิปจากวงจรโฮสต์เสียบเข้ากับเขียงหั่นขนมปังอีกอันหนึ่งด้วย ICSP hookups ในสถานที่โปรแกรมแล้วแทนที่ อย่างไรก็ตามฉันได้ยินอยู่เสมอว่าสามารถเขียนโปรแกรมชิปให้เข้าที่ (นั่นคือฉันเข้าใจจุดทั้งหมดของ ICSP)

มีสิ่งใดที่ต้องพิจารณาเป็นพิเศษเกี่ยวกับฮาร์ดแวร์ก่อนที่จะเขียนโปรแกรมชิปในแหล่งกำเนิด? ตัวอย่างเช่นฉันกังวลว่ากระบวนการ ICSP อาจสร้างความเสียหายให้กับส่วนประกอบวงจรที่เชื่อมต่อกับขา AVR เดียวกันซึ่งใช้สำหรับ ICSP ในบางครั้งจำเป็นต้องเพิ่มไดโอดหรือการบัฟเฟอร์ชนิดอื่นเพื่อป้องกันส่วนประกอบเหล่านี้หรือไม่?

ฉันรู้ว่าคำถามนี้ฟังดูคลุมเครือและฉันเดาว่ามันเป็น - แต่ฉันไม่ได้ให้รายละเอียดเกี่ยวกับวงจรเฉพาะของฉันเพราะฉันสนใจกฎทั่วไปมากขึ้น คือไม่ต้องกังวลเกี่ยวกับเรื่องนี้หรือคำตอบนั้นขึ้นอยู่กับวงจรเฉพาะที่ MCU เป็นส่วนหนึ่งหรือไม่?

คำตอบ:


15

ฉันใช้ ISP สำหรับบอร์ด AVR ทุกอันที่ฉันทำ มันไม่มีอะไรต้องกลัว คู่มือ AVR ISP mkIIให้สรุปที่ดีงามของข้อ จำกัด ที่คุณต้องมองออกไปสำหรับในส่วน "เป้าหมายการเชื่อมต่อ" โดยทั่วไปถ้าคุณเรียกใช้หมุด MISO / MOSI / SCK โดยตรงกับโปรแกรมเมอร์และมีประมาณ 820 โอห์มระหว่างพวกเขาและส่วนที่เหลือของวงจร (และไม่ได้ทำอะไรที่ขี้ขลาดกับพินรีเซ็ต) ฉันจะไม่กังวลเกี่ยวกับ ISP ที่ทำลายส่วนประกอบอื่น ๆ มันไม่ใช่โปรแกรมเมอร์แรงดันสูง สัญญาณทั้งหมดทำงานที่ 5V ดังนั้นถ้ามันสามารถสร้างความเสียหายให้กับส่วนประกอบภายนอกดังนั้นไมโครคอนโทรลเลอร์ของคุณสามารถทำได้

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


ขอบคุณสำหรับลิงค์ - นั่นคือสิ่งที่ฉันต้องการ ฉันไม่ได้ใช้ AVR ISP ตัวจริง - เป็น Arduino ที่ตั้งโปรแกรมไว้อย่างเหมาะสม (!) ฉันกำลังแทนที่สิ่งนี้ด้วย Bus Pirate ในสองสามวันดังนั้นการขว้างปาบอร์ดด้วยซ็อกเก็ต ZIF เป็นสิ่งที่ฉันวางแผนจะทำ ขั้นตอนปัจจุบันของฉันน่าเกลียดมาก!
ทิม

1

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

ดูเหมือนว่าทางออกที่ชัดเจนและปลอดภัยที่สุดและเป็นสิ่งที่ฉันใช้

(คำตอบแรกของฉันถูกลบดังนั้นฉันได้ลองเพิ่มรายละเอียดเพิ่มเติม)


มันจะทำงานอย่างไร จากนั้นเมื่อเชื่อมต่อสวิตช์ / จัมเปอร์หมุดจะยังคงเชื่อมต่อกับส่วนที่เหลือของวงจร
eeze

0

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

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


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

Microchip คิดค่าใช้จ่าย ~ $ 40 "ค่าติดตั้ง" อีกครั้งไม่แน่ใจเกี่ยวกับ Atmel หากคุณสั่งซื้อในช่วง 10-100 อาจจะคุ้มค่า
โทมัสโอ

3
ฉันได้เขียนโปรแกรมบอร์ดมากมายพร้อมโหลดอื่น ๆ บนพิน SPI โดยเฉพาะไฟ LED โดยไม่มีปัญหาเลย เพียงระวังอย่าให้มีสิ่งอื่นขับสัญญาณ ตัวอย่างเช่นหากคุณเชื่อมต่ออุปกรณ์ SPI ให้ตัวต้านทานแบบดึงขึ้นหรือคล้ายกันเพื่อให้อุปกรณ์นั้นถูกรีเซ็ตหรือไม่ได้เลือก
Yann Vernier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.