You are on page 1of 18

คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)

ET-STM32F103

38

ET-STM32F103 เปนบอรดไมโครคอนโทรเลอรในตระกูล ARM Cortex-M3 ซึ่งเลือกใช


ไมโครคอนโทรเลอร 32-Bit ขนาด 64 Pin(LQFP) เบอร STM32F103RBT6 ของ STMicroelectronics โดย
ระบบทรัพยากรตางๆที่อยูในตัวของ STM32F103RBT6 ถือวามีความสมบูรณครบถวนมากพอสมควร
เหมาะตอการนําไปศึกษาเรียนรู หรือนําไปประยุกตใชงานตางๆไดเปนอยางดี เพราะถาสามารถศึกษาการ
ใชงานทรัพยากรตางๆภายใน MCU ตัวนี้ไดอยางเขาใจแลว จะสามารถนําไปดัดแปลงแกไข และพัฒนาตอ
ยอด สรางเปน Application ในรูปแบบตางๆไดมากมาย เนื่องจากระบบฮารดแวรของ STM32F103RBT6
ไดรวบรวมเอาอุปกรณที่จําเปนตางๆตอการใชงาน บรรจุไวภายในโครงสรางของ MCU เพียงตัวเดียว ไมวา
จะเปน ระบบ USB, SPI, I2C, ADC, Timer/Counter, PWM, Capture, UART,..ฯลฯ
ดังนั้นทางทีมงาน อีทีที จึงไดศึกษาคนควาถึงรายละเอียดตางๆของ STM32F103RBT6 และนํามา
ออกแบบสรางเปนบอรด ไมโครคอนโทรลเลอร รุน “ET-STM32F103” ขึ้นมา เพื่อหวังใหผูใชที่สนใจหาซื้อ
ไปศึกษา ทดลอง เรียนรู และพัฒนาตอยอดใชงานไดตามความตองการ ภายใตงบประมาณที่สมเหตุสมผล
โดยจุดประสงคหลักของการออกแบบบอรด ET-STM32F103 นั้น จะรองรับทั้ง กลุมผูใชที่ตองการ ศึกษา
เรียนรู ทดลอง รวมไปถึงการนําไปดัดแปลง ประยุกตใชงานจริงๆไดดวย โดยโครงสรางของบอรดนั้นจะ
ประกอบไปดวยอุปกรณพื้นฐานที่จําเปนตอการ ศึกษาทดลอง ขั้นพื้นฐาน เชน LED สําหรับแสดงคา
Output Logic, Push Button Switch สําหรับทดสอบ Logic Input, Volume ปรับคาแรงดัน สําหรับทดสอบ
A/D, นอกจากนี้แลวยังมีการจัดเตรียมอุปกรณระดับสูงไวรองรับการใชงานดวยไมวาจะเปน พอรต เชื่อมตอ
USB ,การดหนวยความจําแบบ SD, Dot-Matrix LCD, RS232 นอกเหนือจากนี้แลวยังมี GPIO ตางที่วางไว
ใหผูใชออกแบบใชงานรวมกับอุปกรณอื่นๆไดเองตามความเหมาะสมอีกดวย จึงนับไดวา ET-STM32F103
เปนบอรดอเนกประสงคที่นาสนใจอีกรุนหนึ่งที่ไมควรมองขามสําหรับนักพัฒนา

ETT CO.,LTD. -1- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
คุณสมบัติของบอรด
1. ใช MCU 32Bit ตระกูล ARM Cortex-M3 เบอร STM32F103RBT6 ของ STMicroelectronics
2. ภายใน MCU มีหนวยความจําโปรแกรมแบบ Flash ขนาด 128KB, Static RAM ขนาด 20KB
3. ใช Crystal 8.00 MHz + Phase-Locked Loop (PLL) Run ความถี่ 72 MHz ประมวลผลดวย
ความเร็ว 1.25 DMIPS/MHz เทียบเทากับความเร็วการประมวลผลเทากับ 90MIPS
4. มีวงจร RTC(Real Time Clock) พรอม XTAL คา 32.768KHz และ Battery Backup
5. รองรับการโปรแกรมแบบ In-System Programming (ISP) และ In-Application Programming
(IAP) ผานทาง On-Chip Boot-Loader Software ทางพอรต USART-1 (RS232)
6. มีวงจรเชื่อมตอกับ JTAG ARM ขนาด 20 Pin มาตรฐาน เพื่อทําการ Debug แบบ Real Time ได
7. Power Supply ใชแรงดันไฟฟา +5VDC สามารถเลือกใชจาก USB Port หรือขั้วตอ CPA-2PIN
จากภายนอก พรอมวงจร Regulate +3V3/3A ภายในบอรด
8. มีวงจร USB มาตรฐาน 2.0 แบบ Full Speed ภายในตัว
9. มีวงจรเชื่อมตอการดหนวยความจําแบบ SD Card โดยใช SPI Mode จํานวน 1 ชอง
10. มีวงจรสื่อสาร RS232 โดยใชขั้วตอแบบ 4-PIN มาตรฐาน ETT จํานวน 2 ชอง
11. มีวงจรเชื่อมตอ Dot Matrix LCD พรอมวงจรปรับความสวาง ใชขั้วตอ 14 Pin มาตรฐาน ETT
พรอม Jumper เลือกไฟเลี้ยงใหกับ LCD ขนาด +3.3V หรือ +5V ได
12. มีวงจร Push Button Switch จํานวน 2 ชุด
13. มีวงจร LED แสดงสถานะเพื่อทดลอง Output จํานวน 8 ชุด
14. มีวงจร สรางแรงดัน 0-3V3 โดยใชตัวตานทานปรับคาไดสําหรับทดสอบ A/D จํานวน 1 ชุด
15. มี 46 Bit GPIO อิสระ สําหรับประยุกตตางๆ เชน A/D, I2C, SPI และ Input / Output พรอม
Jumper สําหรับเลือกตัดตอสัญญาณ สําหรับเลือกใชเปน GPIO หรือ Hardware Self-Test ตางๆ
เชน 8 Bit LED, Push Button SW, Volume, USART2 และ SD Card ทําใหสามารถเลือกใชงาน
ฟงกชั่นตางๆไดอยางครบถวนไมถูกจํากัดดวยระบบฮารดแวรของบอรด
• Header 10Pin IDE (PA[0..7])
• Header 10Pin IDE (PA[8..15])
• Header 10Pin IDE (PB[0..7])
• Header 10Pin IDE (PB[8..15])
• Header 10Pin IDE (PC[0..7])
• Header 10Pin IDE (PC[8..13])

ETT CO.,LTD. -2- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
คุณสมบัติของ MCU STM32F103RBT6

• 32 Bit ARM Cortex-M3 Processor, Run 72MHz Clock / 90MIPS(1.25DMIPS/MHz)


• 128KByte Flash Memory / 20KByte Static RAM
• 64LQPF Packet 51 Bit I/O + 16 External Interrupt with 5V-Tolerant Logic Level
• 7 Channel DMA For Peripherals ADC, SPI, I2C, USART
• 16 Channel / 12 Bit ADC Converter
• Support Debug with Serial wire Debugger(SWD) & JTAG Interface
• 4 x 16 Bit Timer(16-Input Capture / 16-Output Compare / 18-PWM)
• 2-SPI, 2-I2C, 3-USART, 1-USB, 1-CAN, 2-WDG, RTC

ETT CO.,LTD. -3- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
โครงสรางบอรด ET-STM32F103

รูปแสดง โครงสรางของบอรด ET-STM32F103

ETT CO.,LTD. -4- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)

15 13 12
28
11
14
16 17

22 10 29
21
18 27
23 9
19 20 26
2 3
24
6 8
1 25
4 5 7

รูปแสดง ตําแหนงของอุปกรณตา งๆในบอรด ET-STM32F103

• หมายเลข 1 คือ ขั้วตอไฟเลี้ยงวงจร +5V จากภายนอก


• หมายเลข 2 คือ Jumper J21 สําหรับเลือกใช +5V วาจะใชจาก USB Port หรือ ขั้วตอภายนอก
• หมายเลข 3 คือ LED Power สําหรับแสดงสถานะของ Power Supply
• หมายเลข 4 คือ สวิตช BOOT0 ใชรวมกับ Jumper J1 สําหรับเลือกโหมดการทํางานของบอรด
แบบ Download จาก USART1 หรือ Run ปรกติ โดย ON เพื่อ Download และ OFF เพื่อ Run
• หมายเลข 5 คือ Jumper J1(BOOT1) ใชรวมกับสวิตช BOOT0 สําหรับเลือกโหมดการทํางาน
ของบอรดแบบ Download จาก USART1 หรือ Run ปรกติ ซึ่งตองกําหนดไวที่ BOOT1 เสมอ
• หมายเลข 6 คือ LED แสดงโหมดการทํางานของบอรด ถาติดสวางหมายถึง SW-BOOT0 อยูใน
ตําแหนง ON ใชสําหรับ Download ผาน USART1 แตถาดับหมายถึง โหมดการ Run ปรกติ
• หมายเลข 7 คือ สวิตช RESET สําหรับ RESET การทํางานของ MCU
• หมายเลข 8 คือ ขั้วตอ GPIO(PA[0..7])
• หมายเลข 9 คือ ขั้วตอ GPIO(PC[0..7])
• หมายเลข 10 คือ ขั้วตอ GPIO(PA[8..15])
• หมายเลข 11 คือ ขั้วตอ GPIO(PB[8..15])
• หมายเลข 12 คือ ขั้วตอ JTAG ARM สําหรับ Debug แบบ Real Time
• หมายเลข 13 คือ ขั้วตอ USART2(RS232) สําหรับใชงาน

ETT CO.,LTD. -5- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
• หมายเลข 14 คือ Jumper J13 และ J14 สําหรับเลือกกําหนดวาจะใหสัญญาณของ PA2 และ
PA3 ใชงานเปน USART2 หรือ GPIO
• หมายเลข 15 คือ ขั้วตอ USART1(RS232) สําหรับใชงาน และ Download
• หมายเลข 16 คือ ขั้วตอ Character LCD โดยใชกับ LCD แบบ +3.3V หรือ +5V Supply
• หมายเลข 17 คือ VR สําหรับปรับคาความสวางให Character LCD
• หมายเลข 18 คือ Jumper J4 สําหรับเลือกไฟเลี้ยงของ LCD วาจะใช +3.3V หรือ +5V
• หมายเลข 19 คือ ขั้วตอ USB สําหรับเชื่อมตอกับ USB Hub รุน 2.0
• หมายเลข 20 คือ Jumper สําหรับเลือกโหมดการ Connect ของ USB
• หมายเลข 21 คือ Battery 3V สําหรับ Backup คาเวลาของ RTC
• หมายเลข 22 คือ ขั้วตอ GPIO(PC[8..13])
• หมายเลข 23 คือ ขั้วตอ GPIO(PB[0..7])
• หมายเลข 24 คือ ชองเสียบการดหนวยความจํา แบบ SD Card
• หมายเลข 25 คือ S3 ใชทดสอบ Logic Input ของ PC[13]
• หมายเลข 26 คือ S4 ใชทดสอบ Logic Input ของ PA[0]
• หมายเลข 27 คือ VR สําหรับปรับคาแรงดัน 0-3V3 สําหรับทดสอบ A/D(PA[1])
• หมายเลข 28 คือ LED ใชทดสอบ Logic Output ของ PB[8..15]
• หมายเลข 29 คือ Jumper J17,J20,J19,J18,J23,J24 สําหรับใชเลือกการ Enable หรือ Disable
การเชื่อมขาสัญญาณ GPIO กับอุปกรณทดสอบ
o J17 ใชเปด(EN) หรือ ปด(DIS) การแสดงผลของ LED ตามการควบคุมของ PB[8..15]
o J20 ใชเปด(EN) หรือ ปด(DIS) การเชื่อมตอขา PA1 ของ MCU เขากับ VR
o J19 ใชเปด(EN) หรือ ปด(DIS) การเชื่อมตอขา PA0 ของ MCU เขากับสวิตช S4
o J18 ใชเปด(EN) หรือ ปด(DIS) การเชื่อมตอขา PC13 ของ MCU เขากับสวิตช S3
o J23 ใชเปด(EN) หรือ ปด(DIS) การเชื่อมตอขา PA8 ของ MCU เขากับ CD ของ SD Card
o J24ใชเปด(EN) หรือ ปด(DIS) การเชื่อมตอขา PC6 ของ MCU เขากับ WP ของ SD Card

ETT CO.,LTD. -6- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
การใชงานวงจรขับ LED แสดงผล
ชุด LED แสดงผลของบอรด ET-STM32F103 จะมีทั้งหมด 8 ดวง โดยวงจรขับ LED จะตอวงจร
แบบขับกระแส (Source Current) โดยจะใช Buffer เบอร 74HC244 เปนตัวขับกระแสใหกับ LED โดยใช
สัญญาณการควบคุมจากพอรต PB[8..15] ทํางานดวยโลจิก “1” และหยุดทํางานดวยโลจิก “0” โดย
สามารถเลือก เปด-ปด การทํางานของ Buffer เบอร 74HC244 ไดดวยโดยเลือกจาก Jumper J17 ดังรูป
+3V3 C20 +3V3
R23 D4
J17 560
U5 100n
R22
1
2
3

74HC244 R24 D5
D 22k
1 20 560
1OE VCC
19
2OE R25 D6
2 18
PB15 1A1 1Y1 560
4 16
PB14 1A2 1Y2 D7
6 14 R26
PB13 1A3 1Y3
8 12 560
PB12 1A4 1Y4
11 9
PB11 2A1 2Y1 R27 D8
13 7
PB10 2A2 2Y2
15 5 560
PB9 2A3 2Y3
17 3
PB8 2A4 2Y4 D9
R28
10 560
GND
R29 D10
560
R30 D11
560

การใชงานวงจร Push Button Switch


วงจร Push Button Switch จะใชวงจร Switch แบบ กดติด-ปลอยดับ (Push Button) พรอมวงจร
Pull-Up ใชกบั แหลงจาย +3.3V โดยในขณะที่สวิตชยังไมถูกกดจะใหคาสถานะเปนโลจิก “1” แตเมื่อสวิตช
ถูกกดอยูจะใหสถานะเปนโลจิก “0”ใชสําหรับทดสอบการทํางานของ Input Logic โดยวงจรสวนนี้จะมีอยู
ดวยกัน 2 ชุด คือ
• S3 (PC[13]) สําหรับ ทดสอบ Logic Input หรือ TAMP(Tamper Detection)
• S4 (PA[0]) สําหรับ ทดสอบ Logic Input หรือ WKUP(Wakeup Interrupt)

+3V3 +3V3

TAMP WKUP
R32 R34
1
2
3

1
2
3

J18 10k J19 10k


R31 R33
PC13 PA0
1k 1k

S3 S4
TAMP WKUP

ETT CO.,LTD. -7- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
การใชงานวงจรปรับแรงดัน (0-3V3)
วงจรปรับแรงดันจะใชตัวตานทานปรับคาไดแบบเกือกมา ชนิดมีแกนหมุนสําหรับปรับคา โดยวงจร
นี้ใชกับแหลงจาย +3.3V โดยจะให Output เปนแรงดันซึ่งมีคาระหวาง 0V ถึง +3.3V ตามการปรับคาของ
ตัวตานทาน จํานวน 1 ชุด โดย Output ทีไ่ ดจะปอนใหกบั ขาสัญญาณ PA[1] สําหรับใชสรางแรงดัน Input
เพื่อทดสอบการทํางานของวงจร A/D (PA[1]) โดยผูใชสามารถตัดการเชื่อมตอสัญญาณ PA[1] กับวงจร
ปรับแรงดันนี้ไดจาก Jumper J20 ดังวงจร

+3V3
ADC1

1
2
3
J20
R35 P2
PA1
330 10k
C26
100n

การใชงาน JTAG ARM


JTAG หรือ JTAG ARM จะเปน Connector แบบ IDE 20 Pin สําหรับ Interface กับ JTAG
Debugger โดยมีการจัดวงจรและสัญญาณตามมาตรฐานของ JTAG ดังนี้
R5-R9=NA +3V3

VTref VTarget
R5 R6 R7 R8 R9
10k 10k 10k 10k 10k TRST GND
J10
1 2
TDI GND
PB4 TRST
3 4 TMS GND
PA15 TDI
5 6
PA13 TMS
7 8 TCK GND
PA14 TCK
9 10
PB3 TDO
11 12 RTCK GND
13 14
RESET RST
15 16 TDO GND
17 18
19 20 RES# GND
JTAG
R10 R11 R12 NC GND
10k 10k 10k
NC GND
ARM JTAG Pin Connector

ETT CO.,LTD. -8- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
การใชงาน Character LCD
สําหรับการเชือ่ มตอ LCD นั้นจะสามารถใชไดกับ LCD แบบ Character Dot-Matrix เทานัน้ โดย
เชื่อมตอแบบ 4 บิต Data โดยสัญญาณที่ใชเชื่อมตอกับ LCD จะเปนสัญญาณจาก PC[0..3] และ
PC[10..12] จํานวน 7บิต โดยในการเชือ่ มตอสายสัญญาณจากขั้วตอของ พอรต LCD ไปยังจอแสดงผล
LCD นั้น ใหยึดชื่อสัญญาณเปนจุดอางอิง โดยใหตอสัญญาณที่มีชอื่ ตรงกันเขาดวยกันใหครบทั้ง 14 เสน
ดังรูป

สัญญาณการเชื่อมตอกับ LCD
• DB4 = PC[3]
• DB5 = PC[2]
• DB6 = PC[1]
• DB7 = PC[0]
• RS = PC[12]
• RW = PC[11]
• EN = PC[10]
1
2
3

J4 VLCD

+5V +3V3
P1 +VCC GND
10k
RS VO
J5 EN RW
VDD GND
PC12 RS
1 2
VO D1 D0
3 4
PC10 EN RW PC11
D1
5 6
D0 D3 D2
7 8
D3 D2
PC2 D5
9 10
D4 PC3
D5 D4
11 12
PC0 D7 D6 PC1 D7 D6
13 14

ET-CLCD ET-CLCD

ETT CO.,LTD. -9- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
การดหนวยความจํา SD Card
บอรด ET-STM32F103 รองรับการเชื่อมตอกับการดหนวยความจํา SD Card โดยใชวงจรการ
เชื่อมตอในแบบ SPI Mode โดยวงจรสําหรับเชื่อมตอกับการดหนวยความจําทั้งหมดจะเลือกใชขาสัญญาณ
ของชุดฟงกชั่น SPI1 และ GPIO จาก MCU ดังนี้
• CD/DAT3 ใช PA4(SPI1-SS)
• CLK ใช PA5(SPI1-SCK)
• DAT0 ใช PA6(SPI1-MISO)
• CMD ใช PA7(SPI1-MOSI)
• CD ใช PA8 (GPIO) สําหรับตรวจสอบการ Insert Card การดหนวยความจํา ซึ่งถาไมตองการ
ใชงานขานี้ สามารถเลือก Jumper J23 ไวทางดาน [2-3] เพื่อตัดการเชื่อมตอขา PA8 กับขา
CD(Card Detect) ของ SD Card ไดดวย
• WP ใช PC6 (GPIO) สําหรับตรวจสอบการกําหนด Write Protect ของการดหนวยความจํา ซึ่ง
ถาไมตองการใชงานขานี้ สามารถเลือก Jumper J24 ไวทางดาน [2-3] เพื่อตัดการเชื่อมตอขา
PC6 กับขา WP(Write Protect) ของ SD Card ไดดวย

C21
+3V3 10uF

C22
100n
R36 R37 R38 R39
10k 10k 22k 22k SK1
SD/MMC
1
PA4 CD/DAT3
2
PA7 CMD
3
VSS
4
VDD
5
PA5 CLK
6
VSS
7
PA6 DAT0
8
CD DAT1
9
DAT2
1
2
3

J23
R41 1k 10
PA8 CD
11
G1

G2

WP WP
1
2
3

J24
12

13

R42 1k
PC6

ETT CO.,LTD. -10- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
การใชงาน RS232
พอรต RS232 เปนสัญญาณ RS232 ซึ่งผานวงจรแปลงระดับสัญญาณ MAX3232 เรียบรอยแลว
โดยมีจํานวน 2 ชอง ดวยกันคือ USART-1 และ USART-2 โดยทัง้ 2 ชองสามารถใชเชื่อมตอกับสัญญาณ
RS232 เพื่อรับสงขอมูลได นอกจากนี้แลว USART-1 ยังสามารถใชงานเปน ISP Download สําหรับทําการ
Download Hex File ใหกับ MCU ไดดวย โดยในกรณีนี้ตองใชงานรวมกับ Jumper J1(BOOT1) SW-S1
(BOOT0) และ SW-S2 (RESET) เพื่อ Reset ให CPU เริ่มตนทํางานใน Boot-Loader Mode เพื่อทําการ
Download Hex File ใหกับ CPU ไดดวย(ดูรายละเอียดเพิ่มเติมเรือ่ ง “การ Download Hex File ใหกับ
MCU ของบอรด”)
USART-1(Download) USART-2

1 2 3 4 1 2 3 4
RXD1

RXD2
TXD1

TXD2
+3V3

+3V3
GND

GND
• USART-1 ใชขาสัญญาณจาก PA9(TXD1) และ PA10(RXD1)
• USART-2 ใชขาสัญญาณจาก PA2(TXD2) และ PA3(RXD2)

โดย PA2 และ PA3 จะมี Jumper J14 และ J13 สําหรับเลือกสัญญาณวาจะใชทําหนาที่เปน USART2 หรือ
ใชงานเปน GPIO ไดดวย ดังรูป
+3V3
C9
U2 100n
1 16
C1+ VCC
C10 C11
100n 100n
3 2
C1- V+
4 6
C2+ V-
C12 C13
100n 100n J11
5 15 +3V3
C2- GND
R14 1
PA10 12 13 RXD-1
R1O R1I 2
100 PA9 11 14 TXD-1
T1I T1O 3
9 8
R2O R2I 4
10 7
T2I T2O
PA3 USART1(Download)
PA3-P ICL3232
+3V3 J12
J13 1
RXD-2
2
3
2
1

PA2 TXD-2
3
PA2-P
4
USART2
J14
3
2
1

ETT CO.,LTD. -11- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
สําหรับ Cable ที่จะใชในการเชื่อมตอ RS232 ระหวาง Comport ของเครื่องคอมพิวเตอร PC เขา
กับขั้วตอ USART-1 และ USART-2 ของบอรด ET-STM32F103 นั้น เปนดังนี้

1 CD
6 DSR
2 RXD
7 RTS
3 TXD
8 CTS
1
4 DTR RXD
2
9 RI TXD
3
5 GND GND
4
ET-RS232
DB9(FEMALE)
RS232-PC

รูป แสดงวงจรสาย Cable สําหรับ RS232

วงจรแหลงจายไฟ
วงจรแหลงจายไฟสามารถใชงานไดกับไฟ +5VDC ซึ่งสามารถเลือกจาก Jumper J21 ไดวาจะใช
แหลงจาย +5V จาก USB หรือขั้วตอ CPA-2PIN ภายนอก โดยไฟที่ตอใหนี้จะถูกสงตอไปเขาวงจร
Regulate ขนาด +3V3/3A
โดยวงจรภาคแหลงจายไฟในสวนที่เปนวงจร Regulate ขนาด 3.3V นัน้ จะจายใหกับ CPU และ
วงจร I/O ของบอรดทั้งหมด ยกเวนของ LCD ซึ่งมี Jumper J4 เปนตัวเลือกวาจะใชแหลงจายเปน +3.3V
หรือ +5VDC
J21
PWR SEL
1
2
3

F1
VUSB
FSMD110
U3
+5VDC +5V LD1085 +3V3
3 2 R40
1 IN OUT
560
GND

C23 C24 C25


D12 100n
SM-4004 10uF/16v 100uF/16V
1

ETT CO.,LTD. -12- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
ขั้วตอ Port I/O ตางๆของบอรด
สําหรับขั้วตอ Port I/O ของ CPU นั้น จะจัดเรียงออกมารอไวยังขั้วตอแบบตางๆ สําหรับใหผูใช
เลือกตอออกไปใชงานตามตองการ โดยมีดวยกัน 6 ชุดดังนี้
• ขั้วตอ IDE 10 Pin จํานวน 6 ชุด ชุดละ 8 บิต โดยมีการจัดเรียงสัญญาณไวดังนี้

PA0 PA1 PA8 PA9


PA2P PA3P PA10 PA11
PA4 PA5 PA12 PA13
PA6 PA7 PA14 PA15
+3V3 GND +3V3 GND
PA[0..7] PA[8..15]

PB0 PB1 PB8 PB9


PB2 PB3 PB10 PB11
PB4 PB5 PB12 PB13
PB6 PB7 PB14 PB15
+3V3 GND +3V3 GND
PB[0..7] PB[8..15]

PC0 PC1 PC8 PC9


PC2 PC3 PC10 PC11
PC4 PC5 PC12 PC13
PC6 PC7 NC NC
+3V3 GND +3V3 GND
PC[0..7] PC[8..13]

ETT CO.,LTD. -13- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
การ Download Hex file ใหกับ MCU ของบอรด
การ Download Hex File ใหกับหนวยความจํา Flash ของ MCU ในบอรดนั้น จะใชโปรแกรมชื่อ
Flash Loader ของ “STMicroelectronics” ซึ่งจะติดตอกับ MCU ผาน Serial Port ของคอมพิวเตอร PC
โดยโปรแกรมดังกลาวสามารถดาวนโหลดฟรีไดที่ www.st.com

ขั้นตอนการ Download HEX File ใหกับ MCU


1. ตอสายสัญญาณ RS232 ระหวางพอรตสื่อสารอนุกรม RS232 ของ PC และบอรด USART-1
2. จายไฟเลี้ยงวงจรใหกับบอรด ซึ่งจะสังเกตเห็น LED PWR ติดสวางใหเห็น
3. สั่ง Run โปรแกรม Flash loader ซึ่งถาเปนรุน demo 1.1จะไดผลดังรูป

4. เริ่มตนกําหนดคาตัวเลือกตางๆใหกับโปรแกรมตามตองการ ซึ่งในกรณีนี้ใชกับ STM32F103RBT6


ของบอรด ET-STM32F103 ของ อีทีที ใหเลือกกําหนดคาตางๆใหโปรแกรมดังนี้
4.1 เลือก COM Port ใหตรงกับหมายเลข COM Port ที่ใชงานจริง (ในตัวอยางใช COM4)
4.2 ตั้งคา Baud Rate อยูที่ระหวาง 1200 - 115200 ซึ่งถาคอมพิวเตอรที่ใชมีปญหาเมื่อ
เลือกใชคา Baud rate สูงๆ แลวเกิด Error ใหลดคา Baud rate ใหต่ําลง ตัวอยางใช 115200
4.3 กําหนดคา Parity Bit ของพอรตอนุกรม แนะนําเปน None
4.4 กําหนดคา Timeout ของการสื่อสารจากตัวอยางเลือกเปน 1 วินาที
4.5 ทําการ RESET ให MCU ทํางานใน Boot Loader ตามขั้นตอนดังตอไปนี้
ƒ เลือก Jumper J1 ไวทางดาน BOOT1
ƒ ON สวิตช S1(BOOT0) จะเห็น LED BL ติดสวาง
ƒ กดสวิตช RESET แลวปลอยเพื่อให CPU เริ่มทํางานใน Boot Mode
ETT CO.,LTD. -14- WWW.ETT.CO.TH
คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
5. ใหคลิกเมาสที่ “Next” เพื่อเริ่มทําการ Download ซึ่งถาทุกอยางถูกตองโปรแกรมจะทําการอานคา
สถานะจาก CPU และรายงานผลใหทราบ ซึ่งกรณีของ STM32F103RBT6 จะไดดังรูป

6. ใหทําการคลิกเมาสที่ “Next” ซึ่งโปรแกรม Flash loader จะเริ่มแสดงคาสถานะตางๆที่อานไดจาก


ตัว MCU ใหทราบ ซึ่งในกรณีของ STM32F103RBT6 จะไดดังรูป

ETT CO.,LTD. -15- WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน ET-STM32F103 (ARM Cortex-M3)
7. ใหเลือก “Next” เพื่อไปยังขั้นตอนถัดไป

8. เลือก “Next” ซึ่งโปรแกรมจะเริ่มตนทําการ Download ขอมูลใหกับ MCU ทันที โดยสังเกตการ


ทํางานที่ Status bar โดยในขั้นตอนนี้ใหรอจนกวาการทํางานของโปรแกรมจะเสร็จสมบูรณดังรูป

9. เมื่อทํางานของโปรแกรมเสร็จเรียบรอยแลว ใหเลือก “Finish” พรอมกับ OFF สวิตช BOOT0 ซึ่งจะ


สังเกตุ เห็น LED BL จะตองดับ จากนั้นใหกดสวิตช Reset ที่บอรด ซึ่ง MCU จะเริ่มตนทํางานตาม
โปรแกรมที่สั่ง Download ใหทันที

ETT CO.,LTD. -16- WWW.ETT.CO.TH


1 2 3 4
C1

1
2
3
D1 BOOT0 J4 VLCD
+3V3 +3V3 J1
S1 1 +3V3 P1
100n PMEG4005ET B1 R1 1 R2 +5V +3V3 10k
PB2 BOOT0 2
2
D2 100k 100k 3
3 +3V3
D3
PMEG4005ET BATT 3V 4 BOOT0=1 J5
D BOOT1 D
5 J2 J3 VDD GND
C2 R3 1 2
+3V3 L1 U1 6 PA0 PA1 PA8 PA9 PC12 RS VO
10uF 1 2 1 2 3 4
STM32F103RBT6(LQFP64) 560 PA2-P PA3-P PA10 PA11 PC10 EN RW PC11
3 4 3 4 5 6
ferrite bead PA4 PA5 PA12 PA13 D1 D0
5 6 5 6 7 8
C3 13 26 PB0 PA6 PA7 PA14 PA15 D3 D2
100n VDD_A PB0/ADC8/TIM3_CH3 7 8 7 8 9 10
27 PB1 PC2 D5 D4 PC3
PB1/ADC9/TIM3_CH4 +3V3 9 10 +3V3 9 10 11 12
12 28 PB2 PC0 D7 D6 PC1
VSS_A PB2/BOOT1 13 14
55 PB3 PA0-PA7 PA8-PA15
PB3/JTDO/TIM2_CH2/SPI1_SCK
1 56 PB4
VBATT PB4/JNTRST/TIM3_CH1/SPI1_MISO ET-CLCD
57 PB5 J6 J7
PB5/I2C1_SMBAI/TIM3_CH2/SPI1_MOSI
32 58 PB6 PB0 PB1 PB8 PB9 R5-R9=NA +3V3
VDD_1 PB6/I2C1_SCL/TIM4_CH1/USART1_TX 1 2 1 2
48 59 PB7 PB2 PB3 PB10 PB11
VDD_2 PB7/I2C1_SDA/TIM4_CH2/USART1_RX 3 4 3 4
+3V3 64 61 PB8 PB4 PB5 PB12 PB13
VDD_3 PB8/TIM4_CH3/I2C1_SCL/CANRX 5 6 5 6
19 62 PB9 PB6 PB7 PB14 PB15 R5 R6 R7 R8 R9
VDD_4 PB9/TIM4_CH4/I2C1_SDA/CANTX 7 8 7 8
29 PB10 10k 10k 10k 10k 10k
PB10/I2C2_SCL/USART3_TX/TIM2_CH3 +3V3 9 10 +3V3 9 10
C4 C5 C6 C7 30 PB11 J10
PB11/I2C2_SDA/USART3_RX/TIM2_CH4
100n 100n 100n 100n 33 PB12 PB0-PB7 PB8-PB15
PB12/SPI2_NSS/I2C2_SMBAI/USART3_CK/TIM1_BKIN 1 2
31 34 PB13 PB4 TRST
VSS_1 PB13/SPI2_SCK/USART3_CTS/TIM1_CH1N 3 4
47 35 PB14 J8 J9 PA15 TDI
C VSS_2 PB14/SPI2_MISO/USART3_RTS/TIM1_CH2N 5 6 C
63 36 PB15 PC0 PC1 PC8 PC9 PA13 TMS
VSS_3 PB15/SPI2_MOSI/TIM1_CH3N 1 2 1 2 7 8
18 PC2 PC3 PC10 PC11 PA14 TCK
VSS_4 3 4 3 4 9 10
+3V3 8 PC0 PC4 PC5 PC12 PC13
PC0/ADC10 5 6 5 6 11 12
RESET 7 9 PC1 PC6 PC7 PB3 TDO
NRST PC1/ADC11 7 8 7 8 13 14
10 PC2 RESET RST
PC2/ADC12 +3V3 9 10 +3V3 9 10 15 16
BOOT0 60 11 PC3
R4 BOOT0 PC3/ADC13 17 18
24 PC4 PC0-PC7 PC8-PC13
10k PC4/ADC14 19 20
PA0 14 25 PC5
PA0/WKUP/USART2_CTS/ADC0/TIM2_CH1_ETR PC5/ADC15
PA1 15 37 PC6 +3V3 JTAG
PA1/USART2_RTS/ADC1/TIM2_CH2 PC6/TIM3_CH1 R10 R11 R12
PA2 16 38 PC7 C9
PA2/USART2_TX/ADC2/TIM2_CH3 PC7/TIM3_CH2 10k 10k 10k
PA3 17 39 PC8 U2 100n
PA3/USART2_RX/ADC3/TIM2_CH4 PC8/TIM3_CH3
PA4 20 40 PC9 1 16
C8 PA4/SPI1_NSS/USART2_CK/ADC4 PC9/TIM3_CH4 C1+ VCC
PA5 21 51 PC10
100n PA5/SPI1_SCK/ADC5 PC10/USART3_TX C14 10pF
S2 PA6 22 52 PC11 C10 C11
PA6/SPI1_MISO/ADC6/TIM3_CH1 PC11/USART3_RX 100n
RESET PA7 23 53 PC12 100n
PA7/SPI1_MOSI/ADC7/TIM3_CH2 PC12/USART3_CK
PA8 41 2 PC13 3 2
PA8/USART1_CK/TIM1_CH1/MCO PC13/TAMPER-RTC Y1 C1- V+
PA9 42
PA9/USART1_TX/TIM1_CH2 32.768kHz
PA10 43 3 4 6
PA10/USART1_RX/TIM1_CH3 PC14/OSC32_IN C2+ V-
PA11 44 4
B PA11/USART1_CTS/CANRX/TIM1_CH4/USBDM PC15/OSC32_OUT B
PA12 45 C15 10pF C12 C13
PA12/USART1_RTS/CANTX/TIM1_ETR/USBDP 22pF
PA13 46 5 C16 100n 100n J11
PA13/JTMS/SWDIO PD0/OSC_IN
C18 PA14 49 6 5 15 +3V3
PA14/JTCK/SWCLK PD1/OSC_OUT C2- GND
18pF PA15 50 54 PD2 Y2
PA15/JTDI/TIM2_CH1/SPI1_NSS PD2/TIM3_ETR R13 R14 1
1M 8MHz PA10 12 13 RXD-1
R1O R1I 2
100 PA9 11 14 TXD-1
T1I T1O 3
9 8
R2O R2I 4
+3V3 VUSB C17 22pF 10 7
T2I T2O
PA3 USART1(Download)
C19 +3V3 PA3-P ICL3232
18pF +3V3 J12
R18
10k J13 1
PD2 RXD-2
2

3
2
1
Q1 PA2 TXD-2
BC817 R20 3
VUSB Q2 10k PA2-P
J15 4
BC817
J16 R17 R19 R21 1
100k USART2
USB 2 J14
1 1k5 1k 3

3
2
1
2 R15 27 Title
A UMODE A
3 R16 27
4
Size Number Revision
A4
5

6
Date: 19-Jun-2008 Sheet of
File: D:\ET-STM32F103.ddb Drawn By:
1 2 3 4
1 2 3 4
+3V3 +3V3
+3V3 C20 +3V3 TAMP
D4 WKUP
R23
D R32 R34 D

1
2
3

1
2
3
J17 560 J18 10k J19 10k
U5 100n
R22 R31 R33
1
2
3

74HC244 R24 D5
LED 22k PC13 PA0
1 20 560 1k 1k
1OE VCC
19
2OE R25 D6
2 18 S3 S4
PB15 1A1 1Y1 560
4 16 TAMP WKUP
PB14 1A2 1Y2 D7
6 14 R26
PB13 1A3 1Y3
8 12 560
PB12 1A4 1Y4
11 9
PB11 2A1 2Y1 R27 D8
13 7
PB10 2A2 2Y2
15 5 560
PB9 2A3 2Y3
17 3
PB8 2A4 2Y4 D9
R28 +3V3
10 ADC1
GND 560

1
2
3
R29 D10 J20
R35 P2
C 560 PA1 C
330 10k
R30 D11 C26
560 100n
C21
+3V3 10uF
C22
100n
R36 R37 R38 R39
10k 10k 22k 22k SK1
SD/MMC
J21 1
PWR SEL PA4 CD/DAT3
2
PA7 CMD
1
2
3

3
B VSS B
4
F1 VDD
5
VUSB PA5 CLK
6
FSMD110 VSS
U3 7
+5VDC PA6 DAT0
+5V LD1085 +3V3 8
R40 CD DAT1
3 2 9
1 IN OUT DAT2

1
2
3
J22
560

GND
2 J23
D13 R41 1k 10
C25 PWR PA8 CD
D12 C23 C24
10uF/16v 100uF/16V 100n 11

G1

G2
1
SM-4004 WP WP

1
2
3
J24

12

13
R42 1k
PC6
Title
A A
Size Number Revision
A4
Date: 19-Jun-2008 Sheet of
File: D:\ET-STM32F103.ddb Drawn By:
1 2 3 4

You might also like