ET-STM32F103 เป็นบอร์ดไมโครคอนโทรเลอร์ในตระกูลARM Cortex-M3 ซึ่งเลือกใช้ไมโครคอนโทรเลอร์32-Bit ขนาด64 Pin(LQFP) เบอร์STM32F103RBT6 ของSTMicroelectronics
คุณสมบัติของ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
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)
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])
ซอฟต์แวร์ที่ใช้งาน
1.STM32CubeMx ไว้ใช้สำหรับเลือกบอร์ดที่จะทำการทดลอง
2.CubeMx2EmBlock ไว้สำหรับแปลงจาก STM32CubeMx
สู่ Emblock ได้
3.EmBlocks ไว้สำหรับเขียนโค้ดที่จะทำการรันลงบอร์ดทดลอง
4.Demonstrator GUI ไว้สำหรับเบิร์นลงบอร์ด
การติดตั้งซอฟต์แวร์ที่ใช้งาน
Software
|
Download for window
|
STM32CubeMX
|
|
STM32CubeMX_EmBlocks
|
|
Em::Blocks
2.30
|
|
Flash
loader demonstrator
|
วิธีการใช้งานของโปรแกรมSTM32CubeMx
5.
แล้วจึงตั้งค่าชื่อโปรเจค
แล้วเลือก Toolchain/IDE เป็น TrueSTDIO จากนั้นจึงกด OK
6.
แล้วจึงทำการ Generate
Code โดยไปที่ Project -> Generate Code
วิธีการใช้งานของโปรแกรม CubeMx2EmBlocks
วิธีการใช้งานของโปรแกรม EmBlocks
3.
แล้วจึงทำการ
เลือกให้แปลงเป็น .bin โดยใส่
arm-none-eabi-objcopy -O binary
$(TARGET_OUTPUT_DIR)/$(TARGET_OUTPUT_BASENAME).elf $(TARGET_OUTPUT_DIR)/$(TARGET_OUTPUT_BASENAME).bin
ไว้ใน คลิกขวาที่ชื่อโปรเจค -> Properties -> Project’s build options… -> Pre/post build steps
arm-none-eabi-objcopy -O binary
$(TARGET_OUTPUT_DIR)/$(TARGET_OUTPUT_BASENAME).elf $(TARGET_OUTPUT_DIR)/$(TARGET_OUTPUT_BASENAME).bin
ไว้ใน คลิกขวาที่ชื่อโปรเจค -> Properties -> Project’s build options… -> Pre/post build steps
แล้วเลือก
Post-build
steps เป็น Always แล้วกดตกลง
แล้วจึงทำการ
build
แล้วจะได้ไฟล์ มาเป็น .bin ซึ่งอยู่ใน
โฟลเดอร์ bin\debug
วิธีการใช้งานของโปรแกรม Flash
Loader Demonstrator
1.
ทำการต่อไฟเข้าบอร์ด และ ต่อ RS232
ไว้สำหรับทำการเบิร์นลงบอร์ด แล้วจึงทำการกดBOOT1 เป็น ON และ กดสวิตช์ RESET แล้วจึงเปิดโปรแกรม
4.
แล้วจึงทำการ คลิก Download
to device แล้วจึงทำการเลือก โปรเจคที่เป็น ไฟล์ .bin
1.
เมื่อเบิร์นลงบอร์ดเสร็จ
แล้วจึงทำการกด BOOT0 ให้ทำงานเป็น OFF ซึ่งจะเห็นว่า LED BL จะดับ จากนั้นให้กดสวิตช์ Reset
ที่บอร์ด ซึ่ง MCU จะเริ่มต้นทำงานตามโปรแกรมที่สั่ง
Download ให้ทันที จึงได้ดังรูป