สารบัญ:

โปรแกรมเมอร์ ATTiny HV: 4 ขั้นตอน
โปรแกรมเมอร์ ATTiny HV: 4 ขั้นตอน

วีดีโอ: โปรแกรมเมอร์ ATTiny HV: 4 ขั้นตอน

วีดีโอ: โปรแกรมเมอร์ ATTiny HV: 4 ขั้นตอน
วีดีโอ: Codebender, ATtiny85, and the TinyAVR Programmer 2024, กรกฎาคม
Anonim
โปรแกรมเมอร์ ATTiny HV
โปรแกรมเมอร์ ATTiny HV
โปรแกรมเมอร์ ATTiny HV
โปรแกรมเมอร์ ATTiny HV

คำแนะนำนี้มีไว้สำหรับยูทิลิตี้การเขียนโปรแกรม ATTiny โดยใช้ ESP8266 และส่วนต่อประสานผู้ใช้ที่ใช้เบราว์เซอร์ มันติดตามจากตัวแก้ไขฟิวส์ที่สั่งได้ก่อนหน้านี้สำหรับการอ่านและการตั้งค่าฟิวส์ แต่ตอนนี้รองรับการลบอ่านและเขียนหน่วยความจำแฟลชและ EEPROM

การสนับสนุนฟิวส์ช่วยให้การเปลี่ยนแปลงการตั้งค่าที่ควบคุมโดย 2 ไบต์ฟิวส์เป็นกิจกรรมที่ง่ายมาก

รองรับหน่วยความจำช่วยให้สำรองและกู้คืนเนื้อหาของแฟลชและ EEPROM เนื้อหาใหม่จากไฟล์ hex อาจถูกเขียนด้วย ทำให้การกู้คืนหรือเขียนไมโครนิวเคลียส bootloaders ใหม่ทำได้ง่ายมาก

อุปกรณ์มีคุณสมบัติดังต่อไปนี้

  • เว็บเซิร์ฟเวอร์ที่รองรับการอ่านและเขียนข้อมูลฟิวส์และหน้าแก้ไขทำให้เข้าถึงตัวเลือกฟิวส์ได้ง่าย
  • ชิปลบ (จำเป็นก่อนเขียนเนื้อหาใหม่)
  • การอ่านและเขียนข้อมูลโปรแกรม Flash จากไฟล์ hex
  • การอ่านและเขียนข้อมูล EEPROM จากไฟล์ hex
  • รองรับ ATTiny 25, 45 และ 85 ตัวแปร
  • USB ขับเคลื่อนด้วยเครื่องกำเนิดไฟฟ้า 12V ภายในสำหรับการเขียนโปรแกรมไฟฟ้าแรงสูง
  • การกำหนดค่าเครือข่าย Wifi โดยใช้จุดเชื่อมต่อ wifiManager การเข้าถึงเบราว์เซอร์ไปยังระบบการจัดเก็บ ESP8266 SPIFFS สำหรับการอัปโหลดและดาวน์โหลดไฟล์
  • อัปเดต OTA ของเฟิร์มแวร์ ESP8266

ขั้นตอนที่ 1: ส่วนประกอบและเครื่องมือ

ส่วนประกอบ

  • โมดูล ESP-12F
  • โมดูลบูสต์ 5V ถึง 12V
  • ช่องเสียบ micro USB พร้อมขั้วต่อแบบบัดกรี
  • ตัวเก็บประจุแทนทาลัม 220uF
  • xc6203 ตัวควบคุม 3.3V LDO
  • ทรานซิสเตอร์ MOSFET 3x n ช่อง AO3400 1 x p-channel AO3401
  • ตัวต้านทาน 2 x 4k7 1x 100k 1x 1K 1x470R 1x 1R27
  • บล็อกส่วนหัวของพิน
  • เขียงหั่นขนมชิ้นเล็กสำหรับวงจรรองรับ
  • ต่อ wireEnclosure (ฉันใช้กล่องพิมพ์ 3 มิติที่

เครื่องมือ

  • หัวแร้งหัวแร้ง
  • แหนบ
  • เครื่องตัดลวด

ขั้นตอนที่ 2: อุปกรณ์อิเล็กทรอนิกส์

อิเล็กทรอนิกส์
อิเล็กทรอนิกส์

แผนผังแสดงพลังงานทั้งหมดมาจากการเชื่อมต่อ USB 5V ตัวควบคุมให้ 3.3V กับโมดูล ESP-12F โมดูลบูสต์ขนาดเล็กสร้าง 12V ที่จำเป็นสำหรับการตั้งโปรแกรมไฟฟ้าแรงสูง

ESP GPIO ให้สัญญาณลอจิก 4 ตัวที่ใช้ในการตั้งโปรแกรมไฟฟ้าแรงสูง (นาฬิกา ข้อมูลเข้า ข้อมูลออก และคำสั่งเข้า)

ใช้ GPIO หนึ่งตัวเพื่อเปิดและปิดทรานซิสเตอร์ MOSFET ที่ป้อนโดยราง 12V ผ่านตัวต้านทาน 1K เมื่อ GPIO สูง tMOSFET จะเปิดอยู่และการระบายน้ำอยู่ที่ 0V เมื่อ GPIO ถูกตั้งค่าให้ต่ำ การระบายจะเพิ่มขึ้นเป็น 12V ที่จำเป็นในการตั้งค่าโหมดการตั้งโปรแกรมไฟฟ้าแรงสูง สามารถใช้ GPIO ตัวที่สองเพื่อลดระดับสูงสุด 12V ลงเหลือ 4V เพื่อให้สามารถใช้เป็นสัญญาณรีเซ็ตแบบธรรมดาได้ สถานที่นี้ไม่ได้ใช้ในขณะนี้ แต่สามารถใช้เพื่อสนับสนุนการเขียนโปรแกรม SPI มากกว่าการเขียนโปรแกรมไฟฟ้าแรงสูง

ใช้ GPIO หนึ่งตัวในการเปิดและปิดไดรเวอร์สเตจ MOSFET 2 สำหรับการจ่ายไฟ 5V ให้กับ ATTiny การจัดเรียงนี้ใช้เพื่อให้เป็นไปตามข้อกำหนดว่าเมื่อเปิด 5V จะมีเวลาเพิ่มขึ้นอย่างรวดเร็ว สิ่งนี้ไม่เป็นไปตามการขับอุปทานโดยตรงจาก GPIO โดยเฉพาะอย่างยิ่งกับตัวเก็บประจุแบบแยกส่วน 4u7 ที่มีอยู่ในโมดูล ATTiny ส่วนใหญ่ ตัวต้านทานค่าต่ำใช้เพื่อรองรับกระแสไฟที่เกิดจากการเปิดทรานซิสเตอร์ MOSFET อย่างรวดเร็ว อาจไม่จำเป็นแต่ใช้ที่นี่เพื่อหลีกเลี่ยงความบกพร่องที่อาจเกิดจากการเปิดสไปค์

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

ขั้นตอนที่ 3: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ

รูปภาพแสดงส่วนประกอบที่ประกอบเป็นกล่องขนาดเล็ก เขียงหั่นขนมขนาดเล็กตั้งอยู่บนโมดูล ESP-12F และมีตัวควบคุม 3.3V และวงจรขับแรงดันไฟฟ้า 2 วงจร

โมดูลบูสต์ 12V อยู่ทางด้านซ้ายเพื่อรับพลังงานอินพุตจาก USB กล่องหุ้มมีช่องสำหรับบล็อกส่วนหัว 7 พินเพื่อให้สามารถเชื่อมต่อกับ ATTiny หลังจากเดินสายและทดสอบ USB และบล็อกส่วนหัวจะถูกยึดเข้ากับตัวเครื่องด้วยกาวเรซิน

อาจพิมพ์ฉลากจากภาพไปติดที่กล่องเพื่อช่วยในการต่อสัญญาณ

ขั้นตอนที่ 4: ซอฟต์แวร์และการติดตั้ง

ซอฟต์แวร์สำหรับโปรแกรมเมอร์อยู่ในร่าง Arduino ATTinyHVProgrammer.ino ที่

มันใช้ไลบรารีที่มีฟังก์ชั่นพื้นฐานทางเว็บ รองรับการตั้งค่า wifi การอัปเดต OTA และการเข้าถึงระบบการจัดเก็บตามเบราว์เซอร์ มีให้ที่

การกำหนดค่าซอฟต์แวร์อยู่ในไฟล์ส่วนหัว BaseConfig.h 2 รายการที่ต้องเปลี่ยนที่นี่คือรหัสผ่านสำหรับจุดเข้าใช้งานที่ตั้งค่า wifi และรหัสผ่านสำหรับการอัปเดต OTA

รวบรวมและอัปโหลดไปยัง ESP8266 จาก Arduino IDE การกำหนดค่า IDE ควรอนุญาตสำหรับพาร์ติชั่น SPIFFS เช่น การใช้ 2M/2M จะอนุญาต OTA และระบบการจัดเก็บไฟล์ขนาดใหญ่ การอัปเดตเพิ่มเติมสามารถทำได้โดยใช้ OTA

เมื่อเรียกใช้ครั้งแรก โมดูลจะไม่ทราบวิธีเชื่อมต่อกับ wifi ในพื้นที่ ดังนั้นจะตั้งค่าเครือข่าย AP การกำหนดค่า ใช้โทรศัพท์หรือแท็บเล็ตเพื่อเชื่อมต่อกับเครือข่ายนี้แล้วเรียกดู 192.168.4.1 หน้าจอการกำหนดค่า wifi จะปรากฏขึ้น และคุณควรเลือกเครือข่ายที่เหมาะสมและป้อนรหัสผ่าน โมดูลจะรีบูตและเชื่อมต่อโดยใช้รหัสผ่านนี้นับจากนี้เป็นต้นไป หากย้ายไปยังเครือข่ายอื่นหรือเปลี่ยนรหัสผ่านเครือข่าย AP จะเปิดใช้งานอีกครั้ง ดังนั้นให้ทำตามขั้นตอนเดียวกัน เมื่อเข้าสู่ซอฟต์แวร์หลักหลังจากเชื่อมต่อกับ wifi แล้วให้อัปโหลดไฟล์ในโฟลเดอร์ data โดยเรียกดูโมดูล ip/upload อนุญาตให้อัปโหลดไฟล์ได้ หลังจากอัปโหลดไฟล์ทั้งหมดแล้ว การเข้าถึงระบบการจัดเก็บเพิ่มเติมสามารถทำได้โดยใช้ ip/edit หากเข้าถึง ip/ แล้ว index.htm จะถูกใช้และเปิดหน้าจอโปรแกรมเมอร์หลักขึ้นมา ซึ่งช่วยให้สามารถดู แก้ไข และเขียนข้อมูลฟิวส์ ลบชิป และแฟลช และอ่านและเขียนหน่วยความจำ EEPROM ได้

มีการโทรผ่านเว็บจำนวนหนึ่งที่ใช้เพื่อให้บรรลุสิ่งนี้

  • ip/readFuses รับข้อมูลฟิวส์ปัจจุบัน
  • ip/writeFuses เขียนข้อมูลฟิวส์ใหม่
  • ip/erasechip.erases ชิป
  • ip/dataOp รองรับฟังก์ชั่นการอ่านและเขียนหน่วยความจำที่ให้พารามิเตอร์ต่อไปนี้

    • dataOp (0=อ่าน, 1=เขียน)
    • dataFile (ชื่อไฟล์ hex)
    • อีพรอม (0= แฟลช, 1 = อีพรอม)
    • รุ่น (0= 25, 1=45, 2=85)

นอกจากนี้ พารามิเตอร์ AP_AUTHID อาจกำหนดไว้ในแบบร่างก่อนการคอมไพล์ หากกำหนดไว้จะต้องป้อนในหน้าเว็บเพื่ออนุญาตให้ดำเนินการ

ip/edit ให้การเข้าถึงไฟล์; ip/เฟิร์มแวร์ให้การเข้าถึงการอัปเดต OTA

รูปแบบไฟล์ฐานสิบหกคือเร็กคอร์ดสไตล์ Intel ที่เข้ากันได้กับที่สร้างโดย Arduino IDE หากมีบันทึกที่อยู่เริ่มต้น จะทริกเกอร์การแทรกคำสั่ง RJMP ที่ตำแหน่ง 0 ซึ่งจะช่วยให้สามารถตั้งโปรแกรมไฟล์ตัวโหลดการบูตไมโครนิวเคลียสลงในชิปที่ถูกลบและทำงานได้ เพื่อความสะดวก ไฟล์ Hex ธรรมดาที่ประกอบด้วยที่อยู่ฐานสิบหก 4 ตัวตามด้วย 16 ไบต์ข้อมูลฐานสิบหกอาจถูกอ่านและใช้งาน

แนะนำ: