วันอาทิตย์ที่ 16 ธันวาคม พ.ศ. 2555

การทำเครื่องโปรแกรมไอซี PIC ไว้ใช้งาน

  การที่ไอซี ไมโครคอนโทรลเลอร์ PIC จะทำงานได้นั้นจะต้องป้อนโปรแกรมซึ่งเป็นไฟล์ .hex ให้กับตัวไอซี แต่การที่จะป้อนโปรแกรมเข้าไปได้นั้น จะต้องมีเครื่องโปรแกรมไอซีด้วยนะครับ ดังนั้นวันนี้ผมจึงได้เอาวงจรเครื่องโปรแกรมไอซี PIC ซึ่งสามารถทำได้เองและราคาก็ประหยัด แถมประสิทธิภาพการใช้งานก็ไม่น้อยเลยทีเดียว
  ปัจจุบันเครื่องคอมพิวเตอร์ ได้มีการพัฒนาไปอย่างรวดเร็ว จากอดีตเครื่องคอมหนึ่งตัวจะประกอบไปด้วย จอรูป คีย์บอร์ด เมาส์ เคส ซึ่งนำมาประกอบกันถึงจะใช้ได้ ชื่อที่นิยมเรียกกันคือ Desktop, PC หรือแบบตั้งโต๊ะ ซึ่งเครื่องประเภทนี้มักจะมีพอร์ตอนุกรม RS232 ติดมาเพื่อให้ใช้ติดต่อกับอุปกรณ์เสริมต่างๆจากภายนอกได้ ซึ่งในสมัยนี้ คนส่วนมากมักใช้เครื่องคอมพิวเตอร์แบบ Labtop หรือที่นิยมเรียกกันว่า โน๊ตบุ๊ก แทนเครื่อง Desktop หรื่อแบบตั้งโต๊ะกันแล้ว เพราะพกพาได้สะดวก และมีราคาถูกลงจากเมื่อก่อนมากแต่เครื่องรุ่นใหม่ๆมักจะไม่มีพอร์ตอนุกรม RS232 มาให้ จะมีเพียงแค่พอร์ต USB เท่านั้น ทำให้ต้องสร้างเครื่องที่สามารถป้อนข้อมูลผ่านพอร์ต USB ขึ้นมา เพื่อให้สามารถใช้ได้กับทุกเครื่อง


ICD2 คือ In Circuit Debugging

โดยขาและสัญญาณเป็นมาตรฐาน สำหรับการโปรแกรม Chip ของ Microchip ส่วนคอนเนคเตอร์  
จะแตกต่างกันไป ขึ้นอยู่กับผู้ออกแบบเช่น RJ11-6pin , Sip6, IDC-8 แต่จะมีขาและหน้าที่เหมือนกัน 
โดยขาทางด้านตัวโปรแกรมจะมีดังนี้   


1) VPP ขาแรงดันไฟสูง 13V ต่อกับ ขา MCLR
2) VDD แรงดันไฟเลี้ยงให้กับ MCU ต่อกับ VDD ของ MCU
3) GND Ground ต่อกับ Ground ของบอร์ด
4) ICSPDAT Prorram Data ตัอกับขา PGD (RB7)
5) ICSPCLK Program Clock ตัอกับขา PGC (RB6)
6) AUX Auxiliary (ใช้เมื่อโปรแกรม EEProm ดูรายละเอียดใน Help)


วงจร PROPICUSBV1.0
คุณสมบัติ 



  • รองรับการโปรแกรมไมโครคอนโทรลเลอร์ได้หลากหลายเบอร์ เช่น   - รุ่น PIC10Fxx, PIC12Fxx, PIC16Fxx   - รุ่น PIC18Fxx, PIC18FXJxx, PIC18FXKxx
       - รุ่น PIC24Fxx
       - รุ่น dsPIC30Fxx, dsPIC30 SMPS
       - รุ่น dsPIC33Fxx
  • มีสัญญาณควบคุมวงจรอิเล็กทรอนิกส์สวิทช์แบบอัตโนมัติ (Auto Electronic Switch)
  • การดาวโปรแกรมลงชิพด้วยแรงดันสูง (High Voltage Programming) จึงสามารถใช้งานขาพอร์ตต่างๆ ได้อย่างครบถ้วน
  • มีพอร์ตสำหรับการดาวโหลดโปรแกรมแบบ  ICD-PORT (RJ11) 
  • LED แสดงสถานะ Power , Target และ Busy
  • อินเตอร์เฟซพอร์ต USB Type-B
  • สามารถใช้แรงดันไฟเลี้ยงจากพอร์ต USB หรือใช้แรงดันไฟเลี้ยงจากบอร์ดที่พัฒนา (Target board) ได้โดยตรง
  • สามารถโปรแแกรม MCU-PIC ที่เป็นแบบ flash ได้ ตามมาตรฐาน เช่นเดียวกันกับ PICKit 2  
  • Connector เป็นแบบ RJ-11 สามารถถอดเข้าออกได้สะดวก หรืออาจจะแปลงเป็นแบบ SIP-6 ,IDC-8 เพื่อใช้กับ บอร์ทดลอง หรือ บอร์ดเอนกประสงค์ 




แผงวงจรต้นแบบ PROPICUSBV1.0 ที่ประกอบเสร็จ
หลักการทำงาน
  • อุปกรณ์หลักในการทำงานคือ U1-PIC18F2550 ซึ่งถูกโปรแกรมด้วย firmware ที่ download มาจาก web http://www.microchip.com (หรือสามารถ download จากด้านล่าง ของหน้านี้) มีหน้าที่รับข้อมูล HEX file ที่ผ่านการคอมไพล์แล้ว ผ่านทางพอร์ต USB เพื่อใช้ในการโปรแกรม Chip ผ่านทาง connector ICD2
  • เนื่องจากระดับแรงดันจาก USB มีขนาด 5V ดังนั้นจึงต้องสร้างแรงดันไฟสูง 13 V ที่ใช้ในการโปรแกรม ที่ขา MCLR ด้วยวงจร
    DC to DC converter ซึงประกอบด้วย Q3 และ L1 สัญญาณควมคุมแบบ PWM จะถูกสร้างผ่านขา 12 (VPP PUMP) ผ่าน R11 เข้าที่ขาเบสของ Q3    ส่วนเอาต์พุตของวงจรจะออกมาที่ขา C ของ Q3 จะถูกเรียงกระแสผ่าน schotky diode D1 แรงดันเอาต์พุตที่ได้ จะถูกป้อนกลับด้วยวงจรแบ่งแรงดัน R13 และ R14 ขาสู่ขา 2 ของ U1 (VPP FEEDBACK) เพื่อควบคุมระดับแรงดัน
  • แรงดันที่ได้ จากการเรียงกระแสแล้ว จะมีค่าเท่ากับ 13.8 V เมื่อผ่าน Q2 และ D1 จะเหลือ 13 V พอดี (เนื่องจาก Q2 เป็น แบบ Silicon เมื่อ active จะมีแรงดันตกคร่อม เท่ากับ 0.6 V และ D1 เป็นแบบ schotky diode จะมีแรงดันตกคร่อมเท่ากับ 0.2 V )
  • LED3 จะแสดงแรงดัน VDD ที่ Target board จะติดเมื่อมีการโปรแกรม หรือ แสดงแรงดันที่เข้ามาจาก Taget board
  • ขา 3 ของ U1 (VDD TGT FB) จะทำหน้าที่ตรวจสอบแรงดัน จาก connector ICD2 ว่า target มีแรงดันเข้ามาหรือไม่ ถ้าไม่มีก็จะทำให้ขา 3 ของ U1 (VDD TGT FB) เป็น Low ทำให้ Q1 ซึ่งเป็นแบบ PNP active เพื่อจ่ายแรงดัน 5 V ให้กับ target ขณะโปรแกรม
  •  D2 มีหน้าที่ป้องกันแรงดันจาก Target board เข้าสู่ แรงดันไฟที่ได้จาก USB พอร์ต       








 สามารถตรวจสอบ การ updateได้จาก http://www.microchip.com

ที่มา : http://www.thaimicrotron.com/



 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น