JXE-40 1
JXE-40 บอรดพัฒนาโครงงานสําหรับไมโครคอนโทรลเลอร PIC และ Enhanced PIC รุน 40 ขา ประกอบดวย : บอรด JXE-40 และคอนเน็กเตอร IDC ขางอ 6 ขา ดาวนโหลดเอกสารการใชงานที่ www.inex.co.th
1. คุณสมบัติทางเทคนิค ติดตังไมโครคอนโทรลเลอร ้ PIC16F1937 และรองรับการใชงานกับไมโครคอนโทรลเลอร PIC16F/18F ขนาด 40 ขา ตัวถัง DIP ทุกเบอร
ทํางานดวยสัญญาณนาฬิกาภายในตัวชิปหรือตอคริสตอล/เซรามิกเรโซเนเตอรภายนอกเพิมเติ ่ มได
ใชไฟเลียงย ้ าน 9 ถึง 12Vdc บนบอรดมีวงจรจัดขั้วแรงดันไฟฟาใหมเพื่อปองกันการจายไฟ กลับขั้ว และวงจรควบคุมไฟเลี้ยงคงที่ที่ +5V กระแสไฟฟา 500mA
โปรแกรมไมโครคอนโทรลเลอรดวยเครื่องโปรแกรมภายนอกผานจุดตอ ICD และ ICSP รองรับทั้ง PICkit2, PICkit3 และ ICD3 ของ Microchip กับ PX-200 และ PX-700 ของ INEX
มีสวิตชเลือกโหมดรัน/โปรแกรม พรอม LED แสดงสถานะ
มีจุดตอพอรตใหใชงานไดอิสระ 33 ขา พรอมจุดจายไฟเลี้ยง +5V และกราวด
มีวงจรสวิตชกดติดปลอยดับ 4 ชองพรอมตอตัวตานทานพูลอัป ทํางานดวยลอจิก “0”
มีวงจรติดตอคอมพิวเตอรผานพอรต USB เพื่อสื่อสารขอมูลผานทางวงจรแปลงสัญญาณ พอรต USB เปนสัญญาณขอมูลอนุกรม โดยใชชิป FT232RL พรอม LED แสดงสถานะการเชือมต ่ อ และสถานะการรับสงขอมูล กําหนดใหเชื่อมตอกับขาพอรต RC6 และ RC7
มีพื้นที่สําหรั บบัดกรีอุปกรณเพื่อสรางวงจรเชื่อมตอแบบเพลตทรูโฮลขนาด 8.5x6 ซม. จํานวนจุดบัดกรี 854 จุด ระยะหาง 0.1 นิ้ว และขนาดรู 1 มม.
ขนาดบอรด 9.8x14.5 ซม.
2 JXE-40
รูปทื่ 1 แสดงสวนประกอบของบอรด JXE-40
2. แนะนํา PIC16F1937 ไมโครคอนโทรลเลอร Enhanced-PIC คุณสมบัติเดนโดยสรุปทีน่ าสนใจของ PIC16F1937 มีดังนี้ ความกวางของชุดคําสัง ่ 14 บิต เชนเดียวกับไมโครคอนโทรลเลอร PIC16Fxxxx โปรแกรมเคานเตอรหรือ PC มีขนาด 15 บิต (ของ PIC16F รุนเดิมมีขนาด 13 บิต) จึงทําให การเขาถึงหนวยความจําทําไดกวางขึ้น ไมมีขอจํากัดเหมือนกับ PIC16F ในรุนเดิ ม หนวยความจําโปรแกรม 8 กิโลเวิรด เขียน-ลบได 100,000 รอบ หนวยความจําแรม 256 ไบต หนวยความจําขอมูลอีอีพรอม 512 ไบต เขียน-ลบได 1,000,000 รอบ
JXE-40 3
RE3/MCLR/Vpp
1
40
RB7/ICSPDAT/ICDDAT/SEG13
RA0/AN0/C12IN0-/C2OUT/SRNQ/SS/Vcap/SEG12
2
39
RB6/ICSPCLK/ICDCLK/SEG14
RA1/AN1/C12IN1-/SEG7
3
38
RB5/AN13/T1G/CCP3/CPS5/P3A/COM1
RA2/AN2/VREF-/CVREF/C2IN+/COM2/DACOUT
4
37
RB4/AN11/CPS4/COM0
RA3/AN3/VREF+/C1IN+/SEG15
5
36
RB3/AN9/C12IN2-/CCP2/CPS3/P2A/VLCD3
6
35
RB2/AN8/CPS2/VLCD2
7
34
RB1/AN10/C12IN3-/CPS1/VLCD1
RE0/AN5/P3A/CCP3/SEG2
8
33
RB0/INT/AN12/CPS0/SRI/SEG0
RE1/AN6/P3B/SEG22
9
32
VDD
31
Vss
30
RD7/P1D/CPS15/SEG20
29
RD6/P1C/CPS14/SEG19
RE2/AN7/CCP5/SEG23
10
VDD
11
Vss
12
PIC16F1937
RA4/T0CKI/C1OUT/CPS6/SRQ/SEG4 RA5/AN4/SS/C2OUT/CPS7/SRNQ/Vcap/SEG5
RA7/CLKIN/OSC1/SEG2
13
28
RD5/P1B/CPS13/SEG18
RA6/CLKOUT/OSC2/Vcap/SEG1
14
27
RD4/P2D/CPS12/SEG17
RC0/T1OSO/T1CKI/P2B
15
26
RC7/RxD/DT/SEG8
RC1/T1OSI/CCP2/P2A
16
25
RC6/TxD/CK/SEG9
RC2/CCP1/P1A/SEG3
17
24
RC5/SDO/SEG10
RC3/SCK/SCL/SEG6
18
23
RC4/SDI/SDA/T1G/SEG1
RD0/CPS8/COM3
19
22
RD3/P2C/CPS11/SEG16
RD1/CPS9/CCP4
20
21
RD2/P2B/CPS10
รูปทื่ 2 การจัดขาของไมโครคอนโทรลเลอร PIC16F1937 มีสแต็กถึง 16 ระดับ ความถี่สัญญาณนาฬิกาสูงสุดถึง 32MHz (PIC16F ทั่วๆ ไป อยูที่ 20MHz) มีวงจรกําเนิด สัญญาณนาฬิกาความถี่ 8MHz อยูภายในตัวชิปดวย รีจิสเตอรที่ใชสําหรับการเขาถึงขอมูลโดยออม หรือ FSR (File Select Register) มีขนาด 16 บิต 2 ตัว (PIC16F ทัวไป ่ มี 1 ตัว ขนาด 9 บิต) การอินเตอรรัปตไดรับการปรับปรุงเปนแบบ ContextSave อํานวยความสะดวกในการเก็บ ขอมูลของรีจิสเตอรขณะเกิดอินเตอรรัปต พอรตอินพุตเอาตพุตรวมสูงสุด 36 ขา ในกรณีใชวงจรกําเนิดสัญญาณนาฬิกาภายในและใช เพาเวอรออนรีเซตเปนหลักในการรีเซตซีพียู
4 JXE-40
มีโมดูลแปลงสัญญาณอะนาลอกเปนดิจิตอลสูงสุด 14 ชอง ความละเอียด 10 บิต เลือกแรง ดันอางอิงได 3 คาคือ 1.024, 2.048 และ 4.096V มีวงจรเปรียบเทียบแรงดันอะนาลอก 2 ชุด
มีไทเมอร 3 ตัวคือ ไทเมอร 0, ไทเมอร 1 แบบเอ็นฮานซ (Enhanced Timer1) และไทเมอร 2
โมดูลสือสารข ่ อมูลแบบอะซิงโครนัสหรือ UART แบบเอ็นฮานซ รองรับการทํางานกับ RS232, RS-485 และ LIN
มีโมดูลพอรตอนุกรมแบบซิงโครนัส รองรับการติดตอแบบ SPI และบัส I2C
มีโมดูล CCP แบบเอ็นฮานซหรือเรียกวา ECCP ทีใช ่ กําเนิดสัญญาณ PWN ความละเอียด 10 บิตได ความถีสู่ งสุด 31.25kHz และสวนตรวจจับสัญญาณพัลสขนาด 16 บิต มีความละเอียด 125 นาโนวินาที
มีโมดูลขับจอแสดงผลแบบผลึกเหลวหรือ LCD แบบเซกเมนตในตัว
มีโมดูลตรวจจับการเปลียนแปลงของความจุ ่ ไฟฟาหรือ Capacitive Sensing มากถึง 16 ชอง
มีโมดูล SR แลตช ที่ทํางานคลายกับไอซีตังเวลา ้ 555
ตําแหนงขาเขากันไดกับชิปในอนุกรม PIC16F หรือ Mid-range เดิม
ใชเทคโนโลยี nano Watt XLP(eXtreme Low Power) ทําใหใชพลังงานไฟฟาเมืออยู ่ ในโหมด สลีปนอยทีสุ่ ดเมือเที ่ ยบกับอนุกรมอืนๆ ่ และเทียบกับไมโครคอนโทรลเลอรขนาด 8 บิตของผูผลิ ตราย อื่น (ขอมูลถึงป 2010)
ในรูปที่ 2 แสดงการจัดขาของ PIC16F1937 จะเห็นไดอยางชัดเจนวา ขาพอรตที่เปนฟงกชัน่ มาตรฐานจะเหมือนกับ PIC16F รุน 40 ขาในอนุกรมเดิม และมีบางขาที่มัฟงกชุนเพิ ่มเติมจากความ สามารถที่เพิ่มขึ้นของ Enhanced-PIC จึงทําใหนํา PIC16F1937 ไปแทนที่ PIC16F รุนเดิมไดทันที
3. วงจรของบอรด JXE-40 แสดงในรูปที่ 3 จะเห็นวา เปนวงจรไมโครคอนโทรลเลอรพืนฐาน ้ มีภาคจายไฟ +5V ทีใช ่ IC1 เบอร 7805 ในการควบคุมไฟเลี้ยงคงที่ที่ +5V มี LED1 แสดงสถานะไฟเลี้ยง สวนหัวใจของวงจรก็ คือ IC2 เบอร PIC16F1937 สําหรับสัญญาณนาฬิกาของ PIC16F1937 ในวงจรนี้เลือกใชจากวงจรดํา เนิดสัญญาณนาฬิกาภายในตัวชิป ขาพอร ตเกื อบทั้งหมดถู กตอออกมายังจุดอิสระ สวนขา RB6 และ RB7 เปนขาสําหรับ โปรแกรมหนวยความจําโปรแกมแฟลชภายในตัว PIC16F1937 จึงตอเขากับ J2 และ K1 ซึ่งใชเชื่อม
JXE-40 5
J1 DC INPUT 9-12V
+5V
C1 220/25V
SW1
+5V
IC1 7805 C4 0.1/63V
32
C5 0.1/63V
40
+5V
12 C3 220/25V
C2 0.1/63V
RA7
31
RA6 40
J2 ICSP-ICD
Vpp VDD
GND
39
RB7/PGD RB6/PGC PGM/AUX
LED1 PGM
RA5 RB7
RA4 RA3
RB6
RA2 RA1
+5V
RA0
Vpp VDD K1 GND ICSP-PICkit PGD PGC PGM/AUX
+5V R1 10k
R1 2.2k
LED2 RUN
SW3 MODE
1
MCLR/Vpp
RB3 RB1
LED3 LED4 RxD TxD
LED5 USB
K2 USB
4 19 Vccio 14 23 22
PWREN
3V3OUT
RC5 RC4
17
RC3
C8 0.1/63V
TxLED
RC2 RC1
RxLED
15 USBDM 16 USBDM
D+ D+V
RB0
C6 10/50V
20 VCC
TxD RxD
1
26
RC7/RxD
RC0
5
25 RC6/TxD
RD7 RD6
IC3 FT232RL
GND
RD5 RD4 RD3
Active-low switch
18
+5V
21 RS1 10k *4
7 RS1/4
RS1/4
RS1/4
RS1/4
26
RD2 GND
RD1
GND
RD0
GND
RE2
TEST AGND 25
S1
S2
S3
S4
รูปที่ 3 วงจรสมบูรณของบอรด JXE-40
7 6 5 4 3 2
RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 RB6
RB5 RB4
R4 1k *3 R4/3
14
RB7
RB2
R4/2
13
IC2 PIC16F1937
R3 510
SW2 RESET
R4/1
+5V
RE1 RE0
38 37 36 35 34 33 24 23 18 17 16 15 30 29 28 27 22 21 20 19 10 9 8
RB5 RB4 RB3 RB2 RB1 RB0 RC5 RC4 RC3 RC2 RC1 RC0 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 RE2 RE1 RE0 GND
6 JXE-40
ตอกับเครื่องโปรแกรมภายนอก ผานทางสวิตช SW3 ซึ่งใชในการเลือกโหมดการโปรแกรมหรือรัน เมื่ออยูในโหมดรันขา RB6 และ RB7 ถูกตอไปยังจุดตอ RB6 และ RB7 เมื่ออยูในโหมดโปรแกรมขา RB6 ถูกตอกับขาสัญญาณ PGC ซึงเป ่ นขาสัญญาณนาฬิกาสําหรับการโปรแกรมหนวยความจําภายใน ตัวชิป สวนขา RB7 จะถูกตอกับขาสัญญาณ PGD อันเปนขาขอมูลอนุกรมสําหรับการโปรแกรม สําหรับขา RC6 และ RC7 เปนขาพอรตของโมดูล UART ภายในตัว PIC16F1937 เพื่อติดตอ อุปกรณที่ใชการสื่อสารขอมูลอนุกรม ในวงจรนี้เลือกตอกับ IC3 เบอร FT232RL ซึ่งเปนไอซีแปลง สัญญาณพอรต USB เปนสัญญาณสื่อสารขอมูลอนุกรม ทําให PIC16F1937 สามารถติดตอกับ คอมพิวเตอรเพื่อสื่อสารขอมูลผานพอรต USB ได โดยมี LED3 และ LED4 แสดงสถานะของการรับ สงขอมูลอนุกรมของ IC3 กับพอรต USB และ LED5 ใชแสดงสถานะการติดตอกับพอรต USB
4. ทดสอบการทํางานของไอซี FT232RL ในการเชื่อมตอกับพอรต USB ในขันตอนนี ้ ยั้ งไมตองจายไฟเลียงแก ้ บอรด (4.1) ดาวนโหลดไดรเวอร USB ของ FT232 จากตามลิงกตอไปนี้ http://www.parallax.com/Portals/0/Downloads/sw/uty/InstallParallaxUSBDriversv2.08.02.exe หรือ http://www.parallax.com/Accessories/USBDrivers/tabid/530/Default.aspx ในกรณีที่มีไฟล ขอองไดรเวอรมีการปรับปรุงลาสุด (4.2) ดับเบิลคลิกเพือรั ่ นไฟลติดตังไดรเวอร ้ เมือติ ่ ดตังแล ้ วจะพบไดอะล็อกบ็อกแจงการติดตัง้ เสร็จสมบูรณ
JXE-40 7
(4.3) ตอสายเขากับพอรต USB วินโดวสจะตรวจพบ อุปกรณ USB ใหม รอสักครู ระบบจะทําการติดตังไดรเวอร ้ ของ FTDI และ USB Serial port เมื่ออุปกรณสามารถติดตอ กับคอมพิวเตอรได LED5 จะติดสวางตราบเทาทียั่ งมีไฟเลี้ยง พอรต USB และมีการติดตอระหวางตัว FT232RL กับพอรต USB (4.4) จะเกิดพอรตอนุกรมเสมือน (VCP หรือ USB Serial port) ขึน้ ใหตรวจสอบตําแหนงของ พอรตไดจาก Control panel > System > Hardware > Device Manager ดูในหัวขอ Port แลวเลือก ดูที่ USB Serial port ใหจําตําแนง COM port นั่นไวเพื่อใชงานตอไป
8 JXE-40
5. การติดตอกับเครืองโปรแกรมไมโครคอนโทรลเลอร ่ การโปรแกรมไมโครคอนโทรลเลอรบนบอรด JXE-40 ตองใชเครืองโปรแกรมภายนอกต ่ อเขา ที่จุด ICSP หรือ ICD แจก ICD ตอกับ PX-200 หรือ PX-700
จุ ดตอ ICSP ใชตอกับ PICkit2 หรือ PICkit3 (ตองบัดกรีคอนเน็กเตอรเพิม) ่
ในทีนี่ ้ขอแนะนํา PICkit2 หรือ PICkit3 ของ Microchip และ PX-200 หรือ PX-700 ของ inex (www.inex.co.th) หากใช PX-200 หรือ PX-700 สามารถเชือมต ่ อกับบอรด JXE-40 ไดทันที แตถาหาก ใช PICkit2 หรือ PICkit3 ตองมีขั้นตอนเพิ่มเล็กนอยคือ บัดกรีคอนเน็กเตอร IDC ขางอ 6 ขาเขาทีจุ่ ด ตอ ICSP ของบอรด JXE-40 ดังรูปที่ 4 แลวนํา PICkit2 หรือ PICkit3 มาเสียบเขาทีคอนเน็ ่ กเตอรตัวนี้ เพื่อทดสอบการดาวนโหลด ดังรูปที่ 5
รูปที่ 4 บัดกรีคอนเน็กเตอร IDC ขางอ 6 ขาเขาทีจุ่ ด รูปที่ 5 ตอ PICkit2 หรือ PICkit3 เขาทีจุ่ ด ICSP ่ าการโปรแกรมไมโครคอนโทรลเลอรบนบอรด ICSP บนบอรด JXE-40 เพื่อรองรับการเชื่อมตอกับ เพือทํ JXE-40 PICkit2 หรือ PICkit3
JXE-40 9
สาย ICD (มีมาในชุดของ PX-200 และ PX-700)
ตอไปยังพอรต USB ของคอมพิวเตอร
ตองจายไฟเลี้ยงมายัง บอรด JXE-40 ดวย
รูปที่ 6 แสดงการเชือมต ่ อเครืองโปรแกรม ่ PX-200 หรือ PX-700 เขากับบอรด JXE-40 สําหรับการใชงานกับ PX-200 และ PX-700 ใหตอสาย ICD ระหวางบอรดกับเครื่องโปรแกรม PX-200 หรือ PX-700 ดังรูปที่ 6
6. ทดสอบการทํางานของบอรด ในการพัฒนาโปรแกรมสําหรับไมโครคอนโทรลเลอร PIC สมัยใหมขอแนะนําใหใชภาษา C ทาง Microchip ผูผลิ ตไมโครคอนโทรลเลอร PIC ไดจัดเตรียมเครื่องมือในการพัฒนาโปรแกรมดวย ภาษา C ไวใหดาวนโหลดใชงานไดฟรี ซึ่งประกอบดวย MPLAB IDE และ HI-TECH C คอมไพล เลอร ผูใช งานดาวนโหลดไดจาก www.microchip.com แลวเลือกหัวขอ Development tool จากนั้น คนหา MPLAB IDE ขันตอนการพั ้ ฒนาโปรแกรมเพื่อทดสอบการทํางานของบอรด มีดังนี้ (6.1) สรางไฟลโปรเจ็กตบน MPLAB IDE แลวเขียนซอรสโปรแกรมภาษา C (อาจใชจาก โปรแกรมตัวอยางที่ดาวนโหลดไดฟรีที่ www.inex.co.th)
10 JXE-40
(6.2) ทําการผนวกไฟลทุกอยางที่จําเปน (หากมี) ลงในไฟลโปรเจ็กตใหครบถวน (6.3) ทําการคอมไพลหรือ build project จนไดไฟลผลลัพธนามสกุล .hex ออกมา โดยไมมี ความผิดพลาดหรือ error ใดๆ กรณีโปรแกรมผานทางหนาตางของ MPLAB IDE (6.4a) ตอบอรดโปรแกรม PX-200 เขากับพอรต USB ของคอมพิวเตอร (6.5a) เชือมต ่ อบอรดโปรแกรม PX-200 เขากับบอรด JXE-40 ทีจุ่ ดตอ ICD กดสวิตชเลือกโหมด เปนโหมดโปรแกรม LED สีแดงติดสวาง (6.6a) ที่โปรแกรม MPLAB ใหไปที่เมนู Programmer เลือก PICKit 2
(6.7a) ที่เมนู Programmer จะปรากฏปุมคําสัง่ Program, Read, Verify, Erase และ Blank Check ขึ้นมา
JXE-40 11
ในขณะเดียวกันทีแถบด ่ านบนของโปรแกรม MPLAB ก็จะปรากฎแถบไอคอนของคํา สังต ่ อไปนีขึ้ ้นมาดวยเชนกัน
(6.8a) เลือกคําสัง่ Program หรือคลิกที่ปุม เพื่อดาวนโหลดไฟล .hex ที่ไดจากการคอม ไพลไปยัง PIC16F1937 หนาตาง PICkit 2 จะแสดงลําดับขันของการโปรแกรมดั ้ งรูป แสดงวาการดาวน โหลดโปรแกรมสมบูรณ
กรณีโปรแกรมดวย Pickiit2TM Programming Software (6.4b) เปดซอฟตแวร Pickiit2TM Programming Software ขึ้นมา แลวทําการเชือมต ่ อบอรด โปรแกรมและบอรด JXE-40 ใหเรียบรอย (6.5b) จายไฟใหแกบอรด JXE-40 (6.6b) ทําการติดตอกับไมโครคอนโทรลเลอรผานทางซอฟตแวร โดยไปที่เมนู DEVICE FAMILY เลือกกลุม Mid-range ทีกลุ ่ มนีเป ้ นการเลือกไมโครคอนโทรลเลอร PIC รุน 14 บิตที่มีหนวย ความจําโปรแกรมแฟลชที่ตองการโปรแกรม ไมโครคอนโทรลเลอรในกลุมนี้คือ PIC12F6xx และ 16F6xx, 7x, 7xx, 8x, 8xx โดยเมื่อเลือกจะมีการตรวจสอบเบอรโดยอัตโนมัติผานทางจุดตอ ICD และ ICSP หากมีการตอไมโครคอนโทรลเลอรเปาหมายอยู จะปรากฏเบอรขึ้นทีบรรทั ่ ด Device ในกรอบ Midrange Configuration แตถาไมมีการตอ จะมีไดอะล็อกบ็อกแจงความผิดพลาดเกี่ยวกับระดับแรง ดันไฟเลี้ยงขึ้น ไมตองกังวล ใหคลิกปุม OK เพื่อทํางานตอไป (6.7b) จากนั้นเลือกไฟล .hex ที่ตองการโปรแกรม (6.8b) ไปทีเมนู ่ Programmer > Write Device การโปรแกรมไมโครคอนโทรลเลอรจะเริมต ่ นขึน้
12 JXE-40
ในการทดสอบการทํางานของบอรด JXE-40 เบืองต ้ น ไดเตรียมตัวอยางโปรแกรมไวใหพรอม แลว โดยดาวนโหลดไดที่ www.inex.co.th ตัวอยางทั้งหมดพัฒนาดวย MPLAB IDE และ HI-TECH C คอมไพเลอรในรุน Lite ที่ใชงาน ไดฟรี ไมมีขอจํากัดดานขนาดไฟล และระยะเวลาในการใชงาน หากแตจะไมมีความสามารถในการ ลดขนาดไฟลหรือ optimization
INNOVATIVE EXPERIMENT