เมนู
ฟรี
การลงทะเบียน
บ้าน  /  โตโยต้า/ โปรแกรมเมอร์แบบทำเองง่ายๆ สำหรับตัวควบคุมระดับสูงสุด โปรแกรมเมอร์ไมโครคอนโทรลเลอร์ PIC จาก MicroChip

โปรแกรมเมอร์แบบทำเองง่ายๆ สำหรับตัวควบคุมระดับสูงสุด โปรแกรมเมอร์ไมโครคอนโทรลเลอร์ PIC จาก MicroChip

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

นอกจากนี้ที่นี่คุณจะพบคำอธิบายของโปรแกรมเมอร์จากตระกูลอื่น - AVR แต่เพื่อวัตถุประสงค์ในการเปรียบเทียบเท่านั้น เรามาเริ่มกันที่บทความซึ่งจะบอกวิธีสร้างโปรแกรมเมอร์แฟลชด้วยมือของคุณเอง

ทำไมคุณถึงต้องการโปรแกรมเมอร์?

เนื่องจากบทความนี้เขียนขึ้นสำหรับผู้อ่านที่ไม่มีความรู้เกี่ยวกับเรื่องนี้มากนักจึงจำเป็นต้องคำนึงถึงประเด็นนี้ด้วย โปรแกรมเมอร์เป็นอุปกรณ์พิเศษที่ใช้สัญญาณที่ได้รับจากคอมพิวเตอร์ตั้งโปรแกรมไมโครคอนโทรลเลอร์ที่จะควบคุมวงจร อุปกรณ์คุณภาพสูงมีความสำคัญมาก เพราะในกรณีนี้ คุณสามารถมั่นใจได้ว่า MK จะไม่ล้มเหลว หรือที่สำคัญกว่านั้น คอมพิวเตอร์จะไม่ล้มเหลว มีการชี้แจงเล็กน้อย: เฉพาะผู้ที่มีไมโครคอนโทรลเลอร์ในตระกูลนี้เท่านั้นที่สร้างโปรแกรมเมอร์ PIC ของตัวเอง บางส่วนอาจไม่ทำงานเนื่องจากสถาปัตยกรรมที่แตกต่างกัน แต่คุณสามารถลองปรับปรุงวงจรที่นำเสนอได้ด้วยตัวเองและประกอบโปรแกรมเมอร์ AVR ด้วยมือของคุณเอง

จ่ายเทียบกับโฮมเมด

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

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

ไดรเวอร์

ขั้นแรกคุณควรเลือกซอฟต์แวร์ โปรแกรมเมอร์สามารถปรับแต่งได้ทั้งสำหรับไมโครคอนโทรลเลอร์ตัวเดียวหรือจำนวนมากทั้งนี้ขึ้นอยู่กับวงจร สิ่งที่จะพิจารณาเพิ่มเติมนั้นได้รับการออกแบบสำหรับโปรแกรมเมอร์ประมาณ 98 คนจากตระกูลที่ 12 ถึง 18 สำหรับผู้ที่ชอบตัวเลือกการประกอบก็ควรชี้แจงว่าใช้โปรแกรม IC-PROG เป็นซอฟต์แวร์ไดรเวอร์ คุณสามารถลองทำงานร่วมกับคนอื่นได้ แต่ด้วยความเสี่ยงและอันตรายของคุณเอง ข้อมูลนี้มีไว้สำหรับผู้ที่ต้องการสร้างโปรแกรมเมอร์สำหรับ AVR ด้วยมือของตนเอง ต่อไปจะระบุว่าไมโครคอนโทรลเลอร์ RIS ตระกูลใดที่ได้รับการออกแบบ หากคุณต้องการสร้างโปรแกรมเมอร์ AVR ด้วยมือของคุณเองหรือ MK ประเภทอื่น ๆ คุณสามารถลองได้ตลอดเวลา

วงจรโปรแกรมเมอร์

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

  1. ประกอบโปรแกรมเมอร์ตามที่เขียนไว้ในไดอะแกรม ตรวจสอบการบัดกรีคุณภาพต่ำและการลัดวงจรที่อาจเกิดขึ้น โปรแกรมเมอร์ได้รับการออกแบบให้ทำงานกับแรงดันไฟฟ้า 15-18V ไม่แนะนำอย่างยิ่ง
  2. เตรียมสภาพแวดล้อมการจัดการเฟิร์มแวร์ (ด้านบนมีการกล่าวถึงโปรแกรมหนึ่งที่โปรแกรมเมอร์ใช้งานได้อย่างแน่นอน)

กระบวนการเฟิร์มแวร์ไมโครคอนโทรลเลอร์

กระบวนการกระพริบไมโครคอนโทรลเลอร์พร้อมข้อมูลถือได้ว่าเป็นความต่อเนื่องของรายการก่อนหน้า:

  1. ทำการตั้งค่าที่จำเป็นเพื่อให้โปรแกรมทำงานได้
  2. ติดตั้งไมโครคอนโทรลเลอร์ลงในโปรแกรมเมอร์ตามที่ระบุในแผนภาพ เป็นการดีกว่าที่จะตรวจสอบให้แน่ใจอีกครั้งว่าทุกอย่างเป็นไปตามที่ควรจะเป็นมากกว่าการไปหา MK ใหม่
  3. เชื่อมต่อพลังงาน
  4. เปิดตัวซอฟต์แวร์ที่เลือก (สำหรับโปรแกรมเมอร์นี้เราขอแนะนำ IC-Prog อีกครั้ง)
  5. ในเมนูแบบเลื่อนลงที่ด้านบนขวา ให้เลือกไมโครคอนโทรลเลอร์ที่คุณต้องการแฟลช
  6. เลือกไฟล์ที่เตรียมไว้สำหรับการเขียนโปรแกรม ในการดำเนินการนี้ให้ทำตามเส้นทาง "ไฟล์" - "เปิดไฟล์" ดูสิอย่าสับสนกับ "เปิดไฟล์ข้อมูล" สิ่งนี้แตกต่างไปจากเดิมอย่างสิ้นเชิง คุณจะไม่สามารถแฟลชไมโครคอนโทรลเลอร์โดยใช้ปุ่มที่สองได้
  7. คลิกที่ปุ่ม "เริ่มการเขียนโปรแกรมชิป" เวลาโดยประมาณที่จะตั้งโปรแกรมหลังจากนั้นคือสูงสุด 2 นาที กระบวนการตั้งโปรแกรมไม่สามารถถูกขัดจังหวะได้ เนื่องจากอาจทำให้ไมโครคอนโทรลเลอร์เสียหายได้
  8. และเพื่อเป็นการควบคุมเล็กๆ น้อยๆ ให้คลิกที่ปุ่ม “เปรียบเทียบชิปกับบัฟเฟอร์”

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

ไมโครคอนโทรลเลอร์ตัวใดที่รองรับและสามารถแฟลชด้วยซอฟต์แวร์ได้

ดังที่ได้กล่าวไปแล้วโปรแกรมเมอร์นี้สามารถทำงานร่วมกับโมเดลได้อย่างน้อย 98 รุ่น ดังที่คุณเห็นจากแผนผังและบอร์ด มันถูกออกแบบมาสำหรับ MK ที่มีพิน 8, 14, 18, 28 และ 40 นี่ควรจะเพียงพอสำหรับการทดลองที่หลากหลายและการสร้างกลไกที่หลากหลายซึ่งสามารถทำได้โดยใช้งบประมาณเพียงเล็กน้อยของประชาชนทั่วไปเท่านั้น เรามั่นใจได้ว่าโปรแกรมเมอร์ทำเองที่บ้านจะสามารถตอบสนองนักวิทยุสมัครเล่นที่มีความต้องการมากที่สุดได้โดยมีเงื่อนไขว่าจะต้องสร้างด้วยคุณภาพสูง

ดังนั้นถึงเวลาที่จะศึกษาไมโครคอนโทรลเลอร์แล้วจึงตั้งโปรแกรมพวกมันและฉันก็อยากจะประกอบอุปกรณ์เหล่านั้นด้วยซึ่งปัจจุบันมีวงจรบนอินเทอร์เน็ตมากมาย เราเจอไดอะแกรม ซื้อคอนโทรลเลอร์ ดาวน์โหลดเฟิร์มแวร์... แล้วเราจะใช้อะไรแฟลชด้วย??? และที่นี่นักวิทยุสมัครเล่นที่เริ่มเชี่ยวชาญไมโครคอนโทรลเลอร์ต้องเผชิญกับคำถามในการเลือกโปรแกรมเมอร์! ฉันต้องการที่จะหา ตัวเลือกที่ดีที่สุดในแง่ของความเก่งกาจ - ความเรียบง่ายของวงจร - ความน่าเชื่อถือ โปรแกรมเมอร์ "แบรนด์" และแอนะล็อกของพวกเขาถูกแยกออกทันทีเนื่องจากค่อนข้างมาก วงจรที่ซับซ้อนซึ่งรวมถึงไมโครคอนโทรลเลอร์ตัวเดียวกับที่ต้องตั้งโปรแกรม นั่นคือมันกลายเป็น "วงจรอุบาทว์": คุณต้องมีโปรแกรมเมอร์เพื่อสร้างโปรแกรมเมอร์ ดังนั้นการค้นหาและการทดลองจึงเริ่มต้นขึ้น! ในตอนแรก ตัวเลือกตกอยู่ที่ PIC JDM โปรแกรมเมอร์นี้ทำงานจากพอร์ต com และขับเคลื่อนจากที่นั่น ตัวเลือกนี้ได้รับการทดสอบโดยตั้งโปรแกรมคอนโทรลเลอร์ 4 ใน 10 ตัวอย่างมั่นใจโดยมีแหล่งจ่ายไฟแยกต่างหากสถานการณ์ดีขึ้น แต่ไม่มาก ในคอมพิวเตอร์บางเครื่องปฏิเสธที่จะทำอะไรเลยและไม่ได้ให้การป้องกันจาก "คนโง่" จากนั้นจึงทำการศึกษาโปรแกรมเมอร์ Pony-Prog โดยหลักการแล้วเกือบจะเหมือนกับ JDM โปรแกรมเมอร์ "Pony-prog" นั้นดีมาก แผนภาพง่ายๆขับเคลื่อนจากพอร์ต com ของคอมพิวเตอร์ดังนั้นในฟอรัมและบนอินเทอร์เน็ตคำถามเกี่ยวกับความล้มเหลวเมื่อเขียนโปรแกรมไมโครคอนโทรลเลอร์โดยเฉพาะมักปรากฏขึ้น เป็นผลให้มีการเลือกรุ่น "Extra-PIC" ฉันดูแผนภาพ - ง่ายมากมีความสามารถ! ที่อินพุตมี MAX 232 ทำหน้าที่แปลงสัญญาณจากพอร์ตอนุกรม RS-232 ให้เป็นสัญญาณที่เหมาะกับการใช้งาน วงจรดิจิตอลด้วยระดับ TTL หรือ CMOS จะไม่โอเวอร์โหลดพอร์ต COM ของคอมพิวเตอร์เนื่องจากใช้มาตรฐานการทำงาน RS232 และไม่เป็นอันตรายต่อพอร์ต COM นี่เป็นข้อดีประการแรก!
ใช้งานได้กับพอร์ต COM ใดๆ ทั้งพอร์ต COM มาตรฐาน (±12v; ±10v) และพอร์ต COM ที่ไม่ได้มาตรฐานของแล็ปท็อปสมัยใหม่บางรุ่นที่มีแรงดันไฟสายสัญญาณลดลงถึง ±5v - ข้อดีอีกอย่าง! รองรับโดยโปรแกรมยอดนิยม IC-PROG, PonyProg, WinPic 800 (WinPic800) และอื่น ๆ - บวกที่สาม!
และทั้งหมดนี้ขับเคลื่อนด้วยแหล่งพลังงานของมันเอง!
ตัดสินใจแล้ว - เราต้องรวบรวม! ดังนั้นในนิตยสาร Radio 2007 No. 8 จึงพบโปรแกรมเมอร์เวอร์ชันดัดแปลงนี้ อนุญาตให้เขียนโปรแกรมไมโครคอนโทรลเลอร์ในสองโหมด
มีสองวิธีที่ทราบกันดีในการทำให้ไมโครคอนโทรลเลอร์ PICmicro เข้าสู่โหมดการเขียนโปรแกรม:
1. เมื่อเปิดแรงดันไฟฟ้า Vcc ให้เพิ่มแรงดันไฟฟ้า Vpp (ที่พิน -MCLR) จากศูนย์ถึง 12V
2. เมื่อปิดแรงดันไฟฟ้า Vcc ให้เพิ่มแรงดันไฟฟ้า Vpp จากศูนย์เป็น 12V จากนั้นเปิดแรงดันไฟฟ้า Vcc
โหมดแรกมีไว้สำหรับอุปกรณ์ที่มีการพัฒนาในช่วงแรกเป็นหลัก โดยกำหนดข้อ จำกัด ในการกำหนดค่าพิน -MCLR ซึ่งในกรณีนี้สามารถใช้เป็นอินพุตสำหรับสัญญาณการติดตั้งเริ่มต้นเท่านั้นและไมโครคอนโทรลเลอร์จำนวนมากให้ความสามารถในการเปลี่ยนพินนี้เป็น เส้นปกติของพอร์ตใดพอร์ตหนึ่ง นี่เป็นข้อดีอีกประการหนึ่งของโปรแกรมเมอร์รายนี้ แผนภาพแสดงไว้ด้านล่าง:

ใหญ่กว่า
ทุกอย่างถูกประกอบบนเขียงหั่นขนมและทดสอบ ทุกอย่างทำงานได้อย่างสมบูรณ์และเชื่อถือได้ ไม่มีข้อบกพร่องใด ๆ เกิดขึ้น!
ตราสัญลักษณ์ถูกวาดขึ้นสำหรับโปรแกรมเมอร์รายนี้
ฝากไฟล์.com/files/mk49uejin
ทุกอย่างถูกประกอบเข้าไว้ในกล่องเปิดซึ่งมีรูปถ่ายอยู่ด้านล่าง




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


ดังนั้นโปรแกรมเมอร์จึงประกอบขึ้นสายเคเบิลก็ประกอบขึ้นด้วยก็ถึงเวลาตรวจสอบการทำงานของอุปกรณ์ทั้งหมดนี้ค้นหาข้อบกพร่องและข้อผิดพลาด
ก่อนอื่นเราติดตั้งโปรแกรม IC-prog ซึ่งสามารถดาวน์โหลดได้จากเว็บไซต์ของผู้พัฒนา www.ic-prog.com แกะโปรแกรมลงในไดเร็กทอรีแยกต่างหาก ไดเร็กทอรีผลลัพธ์ควรมีสามไฟล์:
icprog.exe - ไฟล์เชลล์โปรแกรมเมอร์
icprog.sys - ไดรเวอร์ที่จำเป็นสำหรับการทำงานบน Windows NT, 2000, XP ไฟล์นี้จะต้องอยู่ในไดเร็กทอรีโปรแกรมเสมอ
icprog.chm - ไฟล์ช่วยเหลือ
ติดตั้งแล้ว ตอนนี้เราต้องกำหนดค่ามัน
เมื่อต้องการทำสิ่งนี้:
1.(เฉพาะ Windows XP): คลิกขวาที่ไฟล์ icprog.exe “คุณสมบัติ” >> แท็บ “ความเข้ากันได้” >> ทำเครื่องหมายที่ช่อง “เรียกใช้โปรแกรมนี้ในโหมดความเข้ากันได้สำหรับ:” >> เลือก “Windows 2000”
2. เรียกใช้ไฟล์ icprog.exe เลือก "การตั้งค่า" >> "ตัวเลือก" >> แท็บ "ภาษา" >> ตั้งค่าภาษาเป็น "รัสเซีย" และคลิก "ตกลง"
เห็นด้วยกับข้อความ “You need to restart IC-Prog now” (คลิก “Ok”) เชลล์โปรแกรมเมอร์จะรีสตาร์ท
การตั้งค่า" >> "โปรแกรมเมอร์

1.ตรวจสอบการตั้งค่า เลือกพอร์ต COM ที่คุณใช้อยู่ คลิก “ตกลง”
2.ถัดไป “การตั้งค่า” >> “ตัวเลือก” >> เลือกแท็บ “ทั่วไป” >> ตรวจสอบรายการ “เปิด” NT/2000/XP driver" >> คลิก "Ok" >> หากไดรเวอร์ไม่เคยได้รับการติดตั้งในระบบของคุณมาก่อน ให้คลิก "Ok" ในหน้าต่าง "Confirm" ที่ปรากฏขึ้น ไดรเวอร์จะถูกติดตั้งและเชลล์โปรแกรมเมอร์จะรีสตาร์ท
บันทึก:
สำหรับคอมพิวเตอร์ที่ "เร็ว" มาก คุณอาจต้องเพิ่มพารามิเตอร์ "I/O Latency" การเพิ่มพารามิเตอร์นี้จะเพิ่มความน่าเชื่อถือของการเขียนโปรแกรม อย่างไรก็ตาม เวลาที่ใช้ในการเขียนโปรแกรมชิปก็เพิ่มขึ้นเช่นกัน
3. “การตั้งค่า” >> “ตัวเลือก” >> เลือกแท็บ “I2C” >> ทำเครื่องหมายที่ช่อง: “เปิดใช้งาน MCLR เป็น VCC” และ “เปิดใช้งานการบันทึกบล็อก” คลิก “ตกลง”
4. “การตั้งค่า” >> “ตัวเลือก” >> เลือกแท็บ “การเขียนโปรแกรม” >> ยกเลิกการเลือกรายการ: “ตรวจสอบหลังจากการเขียนโปรแกรม” และทำเครื่องหมายที่ช่อง “ตรวจสอบระหว่างการเขียนโปรแกรม” คลิก "ตกลง"
เลยจัดไป!
ตอนนี้เราควรทดสอบโปรแกรมเมอร์ในตำแหน่งที่มี IC-prog และที่นี่ทุกอย่างก็ง่าย:
ถัดไปในโปรแกรม IC-PROG ในเมนูให้รัน: การตั้งค่า >> การทดสอบโปรแกรมเมอร์

ก่อนดำเนินการวิธีทดสอบแต่ละจุด อย่าลืมตั้งค่า "ฟิลด์" ทั้งหมดให้อยู่ในตำแหน่งเดิม (ยกเลิกการเลือก "ช่องทำเครื่องหมาย" ทั้งหมด) ดังแสดงในรูปด้านบน
1.ทำเครื่องหมายที่ช่อง "เปิด" เอาต์พุตข้อมูล" ในกรณีนี้ "เครื่องหมายถูก" ควรปรากฏในช่อง "ป้อนข้อมูล" และควรตั้งค่าระดับบันทึกบนหน้าสัมผัส (DATA) ของตัวเชื่อมต่อ X2 “1” (อย่างน้อย +3.0 โวลต์) ตอนนี้ให้ปิดหน้าสัมผัส (DATA) และหน้าสัมผัส (GND) ของตัวเชื่อมต่อ X2 เข้าด้วยกัน และเครื่องหมายในช่อง "ป้อนข้อมูล" จะหายไปในขณะที่ปิดหน้าสัมผัส
2.เมื่อตรวจสอบช่อง “เปิด” การตอกบัตร" บนพิน (CLOCK) ของตัวเชื่อมต่อ X2 ควรตั้งค่าระดับบันทึก "1" (อย่างน้อย +3.0 โวลต์)
3.เมื่อตรวจสอบช่อง “เปิด” รีเซ็ต (MCLR)" บนหน้าสัมผัส (VPP) ของขั้วต่อ X3 ควรตั้งระดับไว้ที่ +13.0 ... +14.0 โวลต์ และ LED D4 (โดยปกติจะเป็นสีแดง) จะสว่างขึ้น หากสวิตช์โหมดถูกตั้งไว้ที่ตำแหน่ง 1 จากนั้น LED HL3 จะสว่างขึ้น
หากในระหว่างการทดสอบสัญญาณใดๆ ไม่ผ่าน คุณควรตรวจสอบเส้นทางทั้งหมดของสัญญาณนี้อย่างระมัดระวัง รวมถึงสายเชื่อมต่อกับพอร์ต COM ของคอมพิวเตอร์ด้วย
การทดสอบช่องข้อมูลของโปรแกรมเมอร์ EXTRAPIC:
1. พิน 13 ของชิป DA1: แรงดันไฟฟ้าตั้งแต่ -5 ถึง -12 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: จาก +5 ถึง +12 โวลต์
2. พิน 12 ของชิป Da1: แรงดัน +5 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: 0 โวลต์
3. พิน 6 ของชิป DD1: แรงดันไฟฟ้า 0 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: +5 โวลต์
3. 1 และ 2 พินของไมโครวงจร DD1: แรงดันไฟฟ้า 0 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: +5 โวลต์
4. พิน 3 ของชิป DD1: แรงดัน +5 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: 0 โวลต์
5. พิน 14 ของชิป DA1: แรงดันไฟฟ้าตั้งแต่ -5 ถึง -12 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: จาก +5 ถึง +12 โวลต์
หากการทดสอบทั้งหมดสำเร็จ โปรแกรมเมอร์ก็พร้อมใช้งาน
ในการเชื่อมต่อไมโครคอนโทรลเลอร์กับโปรแกรมเมอร์ คุณสามารถใช้ซ็อกเก็ตที่เหมาะสมหรือสร้างอะแดปเตอร์ตามซ็อกเก็ต ZIF (โดยไม่มีแรงกดเป็นศูนย์) เช่นที่นี่ radiokot.ru/circuit/digital/pcmod/18/
ต่อไปนี้เป็นคำไม่กี่คำเกี่ยวกับ ICSP - การเขียนโปรแกรมในวงจร
ตัวควบคุม PIC
เมื่อใช้ ICSP บนบอร์ดอุปกรณ์จำเป็นต้องจัดให้มีความสามารถในการเชื่อมต่อโปรแกรมเมอร์ เมื่อเขียนโปรแกรมโดยใช้ ICSP จะต้องเชื่อมต่อสายสัญญาณ 5 เส้นกับโปรแกรมเมอร์:
1. GND (VSS) - สายสามัญ
2. VDD (VCC) - บวกแรงดันไฟฟ้า
3. MCLR" (VPP) - อินพุตรีเซ็ตไมโครคอนโทรลเลอร์ / อินพุตแรงดันไฟฟ้าการเขียนโปรแกรม
4. RB7 (DATA) - บัสข้อมูลแบบสองทิศทางในโหมดการเขียนโปรแกรม
5. อินพุตการซิงโครไนซ์ RB6 (นาฬิกา) ในโหมดการเขียนโปรแกรม
หมุดไมโครคอนโทรลเลอร์ที่เหลือไม่ได้ใช้ในโหมดการเขียนโปรแกรมในวงจร
ตัวเลือกสำหรับการเชื่อมต่อ ICSP กับไมโครคอนโทรลเลอร์ PIC16F84 ในแพ็คเกจ DIP18:

1. “สาย MCLR” ถูกแยกออกจากวงจรอุปกรณ์โดยจัมเปอร์ J2 ซึ่งเปิดในโหมดการเขียนโปรแกรมในวงจร (ICSP) โดยถ่ายโอนพิน MCLR ไปยังการควบคุมพิเศษของโปรแกรมเมอร์
2. สาย VDD ในโหมดการเขียนโปรแกรม ICSP ถูกตัดการเชื่อมต่อจากวงจรอุปกรณ์โดยจัมเปอร์ J1 นี่เป็นสิ่งจำเป็นเพื่อลดการใช้กระแสไฟจากสาย VDD โดยวงจรอุปกรณ์
3.Line RB7 (บัสข้อมูลแบบสองทิศทางในโหมดการเขียนโปรแกรม) ถูกแยกในแง่ของกระแสจากวงจรอุปกรณ์โดยตัวต้านทาน R1 ที่มีค่าเล็กน้อยอย่างน้อย 1 kOhm ในเรื่องนี้ กระแสไหลเข้า/ออกสูงสุดที่มาจากเส้นนี้จะถูกจำกัดโดยตัวต้านทาน R1 หากจำเป็นเพื่อให้แน่ใจว่ากระแสสูงสุดจะต้องเปลี่ยนตัวต้านทาน R1 (เช่นในกรณีของ VDD) ด้วยจัมเปอร์
4. สาย RB6 (อินพุตการซิงโครไนซ์ PIC ในโหมดการเขียนโปรแกรม) เช่น RB7 ถูกแยกในแง่ของกระแสจากวงจรอุปกรณ์ด้วยตัวต้านทาน R2 พิกัดอย่างน้อย 1 kOhm ในเรื่องนี้ กระแสไหลเข้า/ระบายน้ำสูงสุดที่จัดให้โดยเส้นนี้จะถูกจำกัดโดยตัวต้านทาน R2 หากจำเป็นเพื่อให้แน่ใจว่ากระแสสูงสุดจะต้องเปลี่ยนตัวต้านทาน R2 (เช่นในกรณีของ VDD) ด้วยจัมเปอร์
ตำแหน่งพิน ICSP สำหรับคอนโทรลเลอร์ PIC:


แผนภาพนี้ใช้สำหรับการอ้างอิงเท่านั้น ควรตรวจสอบข้อสรุปการเขียนโปรแกรมจากแผ่นข้อมูลไมโครคอนโทรลเลอร์จะดีกว่า
ทีนี้มาดูเฟิร์มแวร์ไมโครคอนโทรลเลอร์ในโปรแกรม IC-prog เราจะดูตัวอย่างการออกแบบจากที่นี่ rgb73.mylivepage.ru/wiki/1952/579
นี่คือแผนภาพอุปกรณ์


นี่คือเฟิร์มแวร์
เรากำลังกระพริบคอนโทรลเลอร์ PIC12F629 ไมโครคอนโทรลเลอร์นี้ใช้ค่าคงที่ osccal สำหรับการทำงาน - เป็นค่าสอบเทียบเลขฐานสิบหกของเครื่องกำเนิด MC ภายในด้วยความช่วยเหลือซึ่ง MC รายงานเวลาในการรันโปรแกรมซึ่งเขียนในเซลล์ข้อมูลสูงสุดสุดท้าย เราเชื่อมต่อไมโครคอนโทรลเลอร์นี้กับโปรแกรมเมอร์
ภาพหน้าจอด้านล่างแสดงลำดับการดำเนินการในโปรแกรม IC-prog เป็นตัวเลขสีแดง


1. เลือกประเภทไมโครคอนโทรลเลอร์
2. กดปุ่ม "อ่านไมโครวงจร"
ในหน้าต่าง "รหัสโปรแกรม" ในเซลล์สุดท้ายจะมีค่าคงที่สำหรับคอนโทรลเลอร์นี้ คอนโทรลเลอร์แต่ละตัวมีค่าคงที่ของตัวเอง ! อย่าลบมัน จดมันลงบนกระดาษแล้วติดมันบนไมโครวงจร!
เดินหน้าต่อไป


3. คลิกปุ่ม “เปิดไฟล์...” และเลือกเฟิร์มแวร์ของเรา รหัสเฟิร์มแวร์จะปรากฏในหน้าต่างรหัสโปรแกรม
4. เราลงไปที่ส่วนท้ายของโค้ดคลิกขวาที่เซลล์สุดท้ายแล้วเลือก "พื้นที่แก้ไข" ในเมนูป้อนค่าคงที่ที่คุณจดไว้ในฟิลด์ "เลขฐานสิบหก" แล้วคลิก "ตกลง ".
5. คลิก “โปรแกรมไมโครวงจร”
กระบวนการเขียนโปรแกรมจะเริ่มขึ้นหากทุกอย่างเป็นไปด้วยดีโปรแกรมจะแสดงการแจ้งเตือนที่เกี่ยวข้อง
เรานำชิปออกจากโปรแกรมเมอร์แล้วใส่เข้าไปในเขียงหั่นขนมที่ประกอบ เปิดเครื่อง เรากดปุ่มสตาร์ท ไชโย มันใช้งานได้! นี่คือวิดีโอการทำงานของไฟกะพริบ
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
ที่แยกออก แต่เราควรทำอย่างไรหากเรามีไฟล์ซอร์สโค้ดในแอสเซมเบลอร์ asm แต่เราต้องการไฟล์เฟิร์มแวร์ hex จำเป็นต้องมีคอมไพเลอร์ที่นี่ และมีอยู่จริง - นี่คือ Mplab ในโปรแกรมนี้คุณสามารถเขียนเฟิร์มแวร์และคอมไพล์ได้ นี่คือหน้าต่างคอมไพเลอร์


การติดตั้ง Mplab
เราพบโปรแกรม MPASMWIN.exe ใน Mplab ที่ติดตั้งซึ่งโดยปกติจะอยู่ในโฟลเดอร์ - Microchip - MPASM Suite - MPASMWIN.exe
มาเปิดตัวกันเลย ในหน้าต่าง (4) เรียกดู เราพบซอร์สโค้ดของเรา (1).asm ในหน้าต่าง (5) ตัวประมวลผล เราเลือกไมโครคอนโทรลเลอร์ของเรา คลิก Assemble และในโฟลเดอร์เดียวกับที่คุณระบุซอร์สโค้ด เฟิร์มแวร์ของคุณจะปรากฏขึ้น HEX นั่นคือ พร้อมแล้ว!
ฉันหวังว่าบทความนี้จะช่วยผู้เริ่มต้นในการเรียนรู้คอนโทรลเลอร์ PIC! ขอให้โชคดี!

ไมโครคอนโทรลเลอร์ PIC ได้รับชื่อเสียงเนื่องจากความไม่โอ้อวดและคุณภาพการทำงานตลอดจนความคล่องตัวในการใช้งาน แต่ไมโครคอนโทรลเลอร์สามารถทำอะไรได้บ้างหากไม่มีความสามารถในการเขียนโปรแกรมใหม่ลงไป? หากไม่มีโปรแกรมเมอร์ นี่ก็ไม่มีอะไรมากไปกว่าชิ้นส่วนฮาร์ดแวร์ที่มีรูปทรงน่าทึ่ง โปรแกรมเมอร์ PIC นั้นมีสองประเภท: ทำเองหรือทำจากโรงงาน

ความแตกต่างระหว่างโปรแกรมเมอร์แบบโรงงานและแบบโฮมเมด

ประการแรกมีความโดดเด่นด้วยความน่าเชื่อถือและฟังก์ชันการทำงานที่มอบให้กับเจ้าของไมโครคอนโทรลเลอร์ ดังนั้นหากคุณทำแบบโฮมเมดตามกฎแล้วมันถูกออกแบบมาสำหรับไมโครคอนโทรลเลอร์ PIC เพียงรุ่นเดียวในขณะที่โปรแกรมเมอร์จาก Microchip ให้ความสามารถในการทำงานกับไมโครคอนโทรลเลอร์ประเภทการดัดแปลงและรุ่นต่างๆ

โปรแกรมเมอร์โรงงานจากไมโครชิป

ที่มีชื่อเสียงและเป็นที่นิยมมากที่สุดคือโปรแกรมเมอร์ PIC ธรรมดา ๆ ซึ่งคนจำนวนมากใช้และเป็นที่รู้จักในชื่อ PICkit 2 ความนิยมนี้เกิดจากข้อได้เปรียบที่ชัดเจนและโดยปริยาย ข้อได้เปรียบที่ชัดเจนว่าโปรแกรมเมอร์ USB สำหรับ PIC นี้สามารถแสดงมาเป็นเวลานาน ได้แก่ ต้นทุนที่ค่อนข้างต่ำ ใช้งานง่าย และความคล่องตัวที่สัมพันธ์กับไมโครคอนโทรลเลอร์ตระกูลทั้งหมดตั้งแต่ 6 พินถึง 20 พิน

โดยใช้โปรแกรมเมอร์จากไมโครชิป

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

โปรแกรมเมอร์คนอื่นๆ

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

โปรแกรมเมอร์ที่ประกอบด้วยตนเอง

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

โปรแกรมเมอร์ PIC สามารถออกแบบสำหรับรุ่นเฉพาะหรือเป็นแบบสากล (สำหรับทุกรุ่นหรือเกือบทั้งหมด) พวกมันประกอบขึ้นบนไมโครวงจรที่สามารถแปลงสัญญาณจากพอร์ต RS-232 ให้เป็นสัญญาณที่จะอนุญาตให้ตั้งโปรแกรม MK ได้ คุณต้องจำไว้ว่าเมื่อคุณประกอบการออกแบบที่ใครบางคนมอบให้ โปรแกรมเมอร์ PIC วงจรและผลลัพธ์จะต้องตรงกันแบบหนึ่งต่อหนึ่ง แม้แต่การเบี่ยงเบนเล็กน้อยก็ไม่เป็นที่พึงปรารถนา หมายเหตุนี้ใช้กับผู้เริ่มหัดใช้อุปกรณ์อิเล็กทรอนิกส์ ผู้ที่มีประสบการณ์และการฝึกฝนสามารถปรับปรุงวงจรได้เกือบทุกประเภทหากมีพื้นที่สำหรับการปรับปรุง

นอกจากนี้ยังควรพูดถึงแพ็คเกจซอฟต์แวร์ที่โปรแกรมเมอร์ USB สำหรับ PIC จัดทำขึ้นด้วยมือของคุณเอง ความจริงก็คือการประกอบโปรแกรมเมอร์เองนั้นไม่เพียงพอตามรูปแบบใดรูปแบบหนึ่งที่นำเสนอบนเวิลด์ไวด์เว็บ คุณต้องมีซอฟต์แวร์ที่จะอนุญาตให้คอมพิวเตอร์แฟลชไมโครคอนโทรลเลอร์ด้วย Icprog, WinPic800 และโปรแกรมอื่น ๆ มักใช้เช่นนี้ หากผู้เขียนวงจรโปรแกรมเมอร์ไม่ได้ระบุซอฟต์แวร์ที่การสร้างสรรค์ของเขาสามารถทำงานได้คุณจะต้องค้นหาตัวเองด้วยกำลังเดรัจฉาน เช่นเดียวกับผู้ที่ประกอบวงจรของตนเอง คุณสามารถเขียนโปรแกรมสำหรับ MK ได้ด้วยตัวเอง แต่นี่คือไม้ลอยจริง

โปรแกรมเมอร์สากลที่เหมาะสมไม่เพียงแต่สำหรับ RIS เท่านั้น

หากบุคคลมีความสนใจในการเขียนโปรแกรมไมโครคอนโทรลเลอร์ก็ไม่น่าจะใช้เพียงประเภทเดียวเสมอไป สำหรับผู้ที่ไม่ต้องการซื้อโปรแกรมเมอร์แยกสำหรับไมโครคอนโทรลเลอร์ประเภทต่างๆจากผู้ผลิตหลายรายเราได้พัฒนาขึ้น อุปกรณ์สากลซึ่งจะสามารถเขียนโปรแกรม MK ของหลายบริษัทได้ เนื่องจากมีบริษัทจำนวนมากที่ผลิตสิ่งเหล่านี้ จึงคุ้มค่าที่จะเลือกสักสองสามบริษัทและพูดคุยเกี่ยวกับโปรแกรมเมอร์ให้พวกเขา ตัวเลือกนี้ตกอยู่กับยักษ์ใหญ่ของตลาดไมโครคอนโทรลเลอร์: PIC และ AVR

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

  1. ข้อ จำกัด ของฮาร์ดแวร์ที่สำคัญเกี่ยวกับจำนวนชิปที่ตั้งโปรแกรมได้ซึ่งจะช่วยให้สามารถเขียนโปรแกรมได้ไม่ใช่เพียงตัวเดียว แต่มีหลายชิ้นในคราวเดียว
  2. ความเป็นไปได้ในการเขียนโปรแกรมไมโครคอนโทรลเลอร์และวงจรโดยใช้เทคโนโลยีต่างๆ (NVRAM, NAND Flash และอื่นๆ)
  3. ระยะเวลาในการเขียนโปรแกรมค่อนข้างสั้น ขึ้นอยู่กับรุ่นของโปรแกรมเมอร์และความซับซ้อนของโค้ดที่ตั้งโปรแกรมไว้ อาจใช้เวลา 20 ถึง 400 วินาที

คุณสมบัติการใช้งานจริง

แยกจากกันเป็นเรื่องที่ควรค่าแก่การสัมผัสในหัวข้อการใช้งานจริง ตามกฎแล้วโปรแกรมเมอร์จะเชื่อมต่อกับพอร์ต USB แต่ก็มีหลายรูปแบบที่ทำงานโดยใช้สายเดียวกันกับฮาร์ดไดรฟ์ และในการใช้งานคุณจะต้องถอดฝาครอบคอมพิวเตอร์ออกแยกสายไฟและกระบวนการเชื่อมต่อนั้นไม่สะดวกนัก แต่ประเภทที่สองนั้นมีความหลากหลายและทรงพลังกว่าด้วยความเร็วของเฟิร์มแวร์ที่เร็วกว่าเมื่อเชื่อมต่อผ่าน USB การใช้ตัวเลือกที่สองดูเหมือนจะไม่ใช่วิธีแก้ปัญหาที่สะดวกและสบายเหมือน USB เสมอไป เพราะก่อนใช้งานคุณต้องดำเนินการหลายอย่าง: ถอดเคสออก, เปิดออก, ค้นหาสายไฟที่จำเป็น คุณไม่ต้องกังวลกับปัญหาที่อาจเกิดขึ้นจากความร้อนสูงเกินไปหรือไฟกระชากเมื่อทำงานกับรุ่นโรงงาน เนื่องจากโดยปกติแล้วจะมีการป้องกันพิเศษ

การทำงานกับไมโครคอนโทรลเลอร์

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

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

ปัญหาที่เป็นไปได้

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

  1. การบัดกรีองค์ประกอบโปรแกรมเมอร์คุณภาพต่ำ
  2. ขาดไดรเวอร์ที่จะทำงานกับอุปกรณ์
  3. ความเสียหายภายในโปรแกรมเมอร์หรือสายไฟภายในคอมพิวเตอร์/USB

การทดลองกับไมโครคอนโทรลเลอร์

ดังนั้นทุกอย่างอยู่ที่นั่น จะเริ่มทำงานกับอุปกรณ์ได้อย่างไร, จะเริ่มต้นไมโครคอนโทรลเลอร์ด้วยโปรแกรมเมอร์ได้อย่างไร?

  1. เชื่อมต่อไฟภายนอก เชื่อมต่ออุปกรณ์ทั้งหมด
  2. เริ่มแรกจำเป็นต้องมีสภาพแวดล้อมโดยได้รับความช่วยเหลือจากทุกอย่าง
  3. สร้างโปรเจ็กต์ที่ต้องการ เลือกการกำหนดค่าไมโครคอนโทรลเลอร์
  4. เตรียมไฟล์ที่มีรหัสที่จำเป็นทั้งหมด
  5. เชื่อมต่อกับโปรแกรมเมอร์
  6. เมื่อทุกอย่างพร้อมแล้ว คุณสามารถแฟลชไมโครคอนโทรลเลอร์ได้

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

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

เมื่อฉันเริ่มทำงานกับคอนโทรลเลอร์ PIC สิ่งแรกที่เกิดขึ้นคือคำถามในการเลือกโปรแกรมเมอร์ เนื่องจากโปรแกรมเมอร์ที่มีตราสินค้ามีราคาไม่ถูกและโดยทั่วไปแล้วการซื้อโปรแกรมเมอร์ดูเหมือนว่าไม่มีความสปอร์ตฉันจึงตัดสินใจประกอบมันเอง หลังจากท่องอินเทอร์เน็ต ฉันดาวน์โหลดแผนภาพวงจรและประกอบโปรแกรมเมอร์ JDM มันทำงานได้แย่มาก: มันอัปโหลดอะไรไร้สาระ จากนั้นก็ไม่อัพโหลดสองสามไบต์แรก หรือไม่อัพโหลดอะไรเลย

ข้อเสียที่สำคัญของโปรแกรมเมอร์ JDM คือไม่สามารถควบคุมสาย Vdd ได้และเป็นผลให้ไม่สามารถใช้อัลกอริธึมการจ่ายแรงดันไฟฟ้าที่ถูกต้อง (Vpp แรกแล้ว Vdd) ในระหว่างการเขียนโปรแกรม หากคอนโทรลเลอร์ได้รับการกำหนดค่าในลักษณะนี้: "Internal Oscillator", "MCLR Off" จากนั้นหากลำดับการจ่ายแรงดันไฟฟ้าไม่ถูกต้อง อันดับแรกจะเริ่มทำงานและเริ่มรันโปรแกรมที่ตั้งโปรแกรมไว้ก่อนหน้านี้ จากนั้นเข้าสู่โหมดการเขียนโปรแกรม (ใน ในกรณีนี้พอยน์เตอร์สามารถชี้ไปที่ใดก็ได้ ไม่ใช่จุดเริ่มต้นของหน่วยความจำโปรแกรม) ในเรื่องนี้: โปรแกรมของคุณจะถูกอัปโหลดที่ไหน และจะอัปโหลดเลยหรือไม่ ถือเป็นคำถามใหญ่!

หลังจากได้รับความเดือดร้อนจากโปรแกรมเมอร์ JDM บนไซต์ชนชั้นกลางแห่งหนึ่งฉันพบไดอะแกรมของโปรแกรมเมอร์ซึ่งข้อบกพร่องเหล่านี้ได้รับการแก้ไข ฉันยังคงใช้โปรแกรมเมอร์นี้มาจนถึงทุกวันนี้และเสนอแผนภาพวงจรให้คุณทราบ:

ตัวแปลงระดับ RS232->TTL อย่างง่ายสร้างขึ้นโดยใช้ไดโอด D1...D4 และซีเนอร์ไดโอด D6 เมื่อแรงดันไฟฟ้าบนเส้น DATA และ CLOCK น้อยกว่า 0V พวกมันจะถูกดึงลงกราวด์ผ่านไดโอด D1, D2 และเมื่อแรงดันไฟฟ้าบนเส้นเหล่านี้มากกว่า 5V พวกมันจะถูกดึงผ่านไดโอด D3, D4 ถึง +5V อุปทานซึ่งกำหนดโดยซีเนอร์ไดโอด D6

อุปกรณ์นี้ใช้พลังงานโดยตรงจากพอร์ต COM ซีเนอร์ไดโอดและไดโอดในวงจรนี้สามารถแทนที่ได้อย่างง่ายดายด้วยไดโอดในประเทศ: D814D, KS147A เป็นต้น

อัลกอริธึมการจ่ายแรงดันไฟฟ้าที่ถูกต้องถูกนำมาใช้อย่างไร และแรงดันไฟฟ้าในการเขียนโปรแกรม 13 โวลต์มาจากไหน ทุกอย่างเรียบง่ายเหมือนเช่นเคย

เมื่อพอร์ตถูกเตรียมใช้งาน "-10V" ค้างที่เอาต์พุต TxD ในกรณีนี้ตัวเก็บประจุ C1 จะถูกชาร์จผ่านซีเนอร์ไดโอด D7 (ซึ่งในกรณีนี้จะเปิดในทิศทางไปข้างหน้าและทำงานเป็นไดโอด) เหล่านั้น. แรงดันไฟฟ้าที่ขาบวกของ C1 สัมพันธ์กับ GND นั้นเป็นศูนย์ แต่สัมพันธ์กับ TxD = +10V (หรือแรงดันไฟฟ้าใดก็ตามอยู่ที่เอาต์พุตของพอร์ต COM)

ทีนี้ลองจินตนาการว่าจะเกิดอะไรขึ้นเมื่อแรงดันไฟฟ้าที่เอาต์พุต TxD เปลี่ยนจาก -10V เป็น +10V พร้อมกับแรงดันไฟฟ้าที่เพิ่มขึ้นที่พิน TxD แรงดันไฟฟ้าที่ขาบวกของตัวเก็บประจุ C1 จะเริ่มเพิ่มขึ้น ประจุไม่สามารถไหลลงกราวด์ผ่าน D7 ได้เพราะว่า ตอนนี้ D7 กลับมาเปิดอีกครั้ง วิธีเดียวคือรั่วไหลผ่าน PIC แต่กระแสไฟฟ้ามีน้อยมาก ดังนั้นแรงดันไฟฟ้าที่ขาบวกของ C1 (และด้วยเหตุนี้บนพิน MCLR) จึงเริ่มเพิ่มขึ้น ในขณะที่ TxD เป็นศูนย์เมื่อเทียบกับกราวด์ ตัวเก็บประจุ C1 (บนขาบวกและดังนั้นจึงเป็น MCLR) จะอยู่ที่ +10V สัมพันธ์กับกราวด์ เมื่อ TxD เป็น +3V, C1 จะเป็น 3+10=13V อยู่แล้ว เพียงเท่านี้แรงดันไฟฟ้า Vpp ก็ถูกใช้ไปแล้ว แต่ยังมีเพียง +3V บนสาย VDD

เมื่อแรงดันไฟฟ้าเพิ่มขึ้นบน TxD แรงดันไฟฟ้าบน C1 จะไม่เพิ่มขึ้นเนื่องจากซีเนอร์ไดโอด D7 เริ่มทำงาน เมื่อแรงดันไฟฟ้าบน TxD เพิ่มขึ้นเกิน +5V ซีเนอร์ไดโอด D6 จะเริ่มทำงาน

ในการจำกัดกระแสคายประจุของตัวเก็บประจุ C1 ผ่านซีเนอร์ไดโอด D7 ตัวต้านทาน R6 จะรวมอยู่ในวงจร ดังนั้นแรงดันไฟฟ้าบน C1 จึงไม่เท่ากับแรงดันไฟฟ้าคงที่ แต่จะสูงกว่าเล็กน้อย: UC1 = Ust + IRESR * R6 ในการปรับแรงดันไฟฟ้าในการเขียนโปรแกรม จะใช้ตัวต้านทาน R3 คุณสามารถตั้งค่าตัวแปรเป็น 10KOhm หรือเลือกค่าคงที่ เพื่อให้แรงดันไฟฟ้าในการเขียนโปรแกรมอยู่ที่ประมาณ 13 V (ในอุปกรณ์ที่แสดงในภาพด้านล่าง R3 = 1.2 kOhm)

ฉันตั้งโปรแกรมคอนโทรลเลอร์ได้สำเร็จและด้วยโปรแกรมเมอร์คนนี้ ผู้เขียนอ้างว่าด้วยโปรแกรมเมอร์นี้ (ในเวอร์ชันที่ฉันนำเสนอ) มันเป็นไปได้ที่จะเขียนโปรแกรม และ . นอกจากนี้ บนเว็บไซต์ของผู้เขียน feng3.cool.ne.jp ยังมีการแก้ไขโปรแกรมเมอร์สำหรับคอนโทรลเลอร์ PIC อื่นๆ

อุปกรณ์พร้อม:


ตัวเลือกโปรแกรมเมอร์จาก Mixer:

สามารถดาวน์โหลดโปรแกรม IC-prog 1.05D สำหรับคอนโทรลเลอร์แบบกะพริบได้ในส่วน " " เมื่อกระพริบเฟิร์มแวร์ ให้เลือกประเภทโปรแกรมเมอร์ JDM เปิดใช้งานการควบคุม Vcc สำหรับ JDM เมื่อใช้ร่วมกับระบบปฏิบัติการ Windows 2000/NT/XP ให้เลือกอินเทอร์เฟซ Windows API และเปิดใช้งานช่องทำเครื่องหมาย "เปิดใช้งานไดรเวอร์ NT/2000/XP" ในกรณีอื่นๆ ให้ใช้อินเทอร์เฟซ Direct I/O


อีกสิ่งหนึ่ง ท่านสุภาพบุรุษ โปรดบันทึกบิตการปรับเทียบไว้เมื่อทำการแฟลชเฟิร์มแวร์ หรืออย่าบ่นว่าตัวสร้างภายในไม่เสถียร/ไม่ทำงาน!!!

คุณสามารถดาวน์โหลดแผงวงจรพิมพ์ (AutoCAD2000i) ได้จากลิงค์ PCB จาก Mixer (DipTrace 2.0) มีวางจำหน่ายแล้วที่นี่

โปรแกรมเมอร์คอนโทรลเลอร์ USB PIC - 3.8 จาก 5 ขึ้นอยู่กับ 11 โหวต

รูปถ่ายของโปรแกรมเมอร์จัดทำโดย Ansagan Khasenov

บทความนี้จะกล่าวถึงลักษณะการใช้งานจริงของการประกอบโปรแกรมเมอร์ USB อย่างง่ายสำหรับไมโครคอนโทรลเลอร์ PIC ซึ่งมีชื่อเดิมว่า GTP-USB (Grabador TodoPic-USB) มีโปรแกรมเมอร์ GTP-USB plus รุ่นเก่าที่รองรับไมโครคอนโทรลเลอร์ AVR ด้วย แต่เสนอให้เสียเงิน ไม่พบข้อมูลที่ชัดเจนเกี่ยวกับวงจรและเฟิร์มแวร์สำหรับ GTP-USB plus หากคุณมีข้อมูลเกี่ยวกับ GTP-USB plus โปรดติดต่อฉัน

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

องค์ประกอบบ่งชี้ไม่รวมอยู่ในวงจร GTP-USB ดั้งเดิมเพื่อทำให้การออกแบบแผงวงจรพิมพ์ง่ายขึ้น ตัวบ่งชี้หลักคือจอภาพคอมพิวเตอร์ของคุณซึ่งคุณสามารถตรวจสอบกระบวนการการเขียนโปรแกรมได้จากโปรแกรม WinPic800 เวอร์ชัน 3.55G หรือ 3.55B

วงจร GTP-USB น้ำหนักเบา

สายสัญญาณ Vpp1 และ Vpp2 ถูกกำหนดไว้สำหรับไมโครคอนโทรลเลอร์ในแพ็คเกจที่มีจำนวนพินต่างกัน บรรทัด Vpp/ICSP ถูกกำหนดไว้สำหรับการโปรแกรมในวงจร เส้นที่เหลือเป็นมาตรฐาน

โปรแกรมเมอร์ประกอบอยู่บนแผงวงจรพิมพ์ด้านเดียว

อะแดปเตอร์สามารถเชื่อมต่อกับโปรแกรมเมอร์ไมโครคอนโทรลเลอร์ PIC อื่น ๆ ได้อย่างง่ายดายซึ่งสะดวกอย่างแน่นอน

หลังจากประกอบแล้วเราจะเปิดเครื่องเป็นครั้งแรก เมื่อเชื่อมต่อ GTP-USB กับพีซีเป็นครั้งแรก ข้อความจะปรากฏขึ้น

ตามด้วยพร้อมท์การติดตั้งไดรเวอร์แบบเดิม ไดรเวอร์อยู่ในโปรแกรมควบคุม WinPic800 ที่เส้นทางโดยประมาณ \WinPic800 3.55G\GTP-USB\Driver GTP-USB\


เราเห็นด้วยกับคำเตือนและดำเนินการติดตั้งต่อไป

โปรดทราบ โครงการนี้โปรแกรมเมอร์และเฟิร์มแวร์ได้รับการทดสอบในทางปฏิบัติและทำงานร่วมกับโปรแกรมควบคุม WinPic800 เวอร์ชัน 3.55G และ 3.55B เวอร์ชันเก่าเช่น 3.63C ใช้ไม่ได้กับโปรแกรมเมอร์นี้ เรากำหนดค่าโปรแกรมควบคุม: ในเมนูการตั้งค่า - ฮาร์ดแวร์เลือก GTP-USB-#0 หรือ GTP-USB-#F1 แล้วคลิกนำไปใช้

คลิกที่ปุ่มบนแผงควบคุม และทดสอบอุปกรณ์ จากการทดสอบที่ประสบความสำเร็จ ข้อความปรากฏขึ้น (ดูด้านล่าง) ซึ่งทำให้เรามีความสุข

โปรแกรมเมอร์นี้ทำงานได้อย่างสมบูรณ์แบบกับคอนโทรลเลอร์ต่อไปนี้ (จากที่มีอยู่): PIC12F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252 การทดสอบตัวควบคุม การเขียนและการอ่านข้อมูล - เสร็จสมบูรณ์ ความรวดเร็วในการทำงานเป็นที่น่าประทับใจ การอ่าน 1-2 วินาที การบันทึก 3-5 วินาที ไม่พบข้อบกพร่องใดๆ MK แบบเดินสายบางตัวได้รับการทดสอบในฮาร์ดแวร์ - ใช้งานได้