วันพฤหัสบดีที่ 2 เมษายน พ.ศ. 2558

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


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)
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])

ซอฟต์แวร์ที่ใช้งาน
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
1.             เลือก New Project




2.             เลือก Series ,Lines,Package ของบอร์ดที่จะใช้ แล้วก็เลือก MCU ของบอร์ด แล้วกดตกลง




3.             จะได้เป็นดังนี้ แล้วจึงเลือกขาที่จะใช้








4.             ทำการตั้งค่า โดยเข้าไปที่ Project -> Setting 




5.             แล้วจึงตั้งค่าชื่อโปรเจค แล้วเลือก Toolchain/IDE เป็น TrueSTDIO จากนั้นจึงกด OK



6.             แล้วจึงทำการ Generate Code  โดยไปที่ Project -> Generate Code




วิธีการใช้งานของโปรแกรม CubeMx2EmBlocks
1.             ทำการเลือกโปรเจคที่ Save ไว้ กด Ok




2.             เมื่อสำเร็จ จะขึ้นแบบนี้





วิธีการใช้งานของโปรแกรม EmBlocks
1.             ทำการเลือก โปรเจคที่ทำการ convert แล้ว โดยการเข้าไปที่ File -> Open ดังเช่นตัวอย่างนี้



2.             เปิดไฟล์เสร็จแล้ว ใส่โค้ดที่เขียนสำหรับไฟกระพริบ แล้วทำการ Save





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


แล้วเลือก Post-build steps เป็น Always แล้วกดตกลง
แล้วจึงทำการ build แล้วจะได้ไฟล์ มาเป็น .bin ซึ่งอยู่ใน โฟลเดอร์ bin\debug


วิธีการใช้งานของโปรแกรม Flash Loader Demonstrator
1.             ทำการต่อไฟเข้าบอร์ด และ ต่อ RS232 ไว้สำหรับทำการเบิร์นลงบอร์ด แล้วจึงทำการกดBOOT1 เป็น ON และ กดสวิตช์ RESET แล้วจึงเปิดโปรแกรม




2.             กด Next




3.             กด Next




4.             แล้วจึงทำการ คลิก Download to device แล้วจึงทำการเลือก โปรเจคที่เป็น ไฟล์ .bin




5.             แล้วจึงทำการกด Next ก็เสร็จสิ้นการ เบิร์นลงบอร์ดทดลอง แล้วทำการกด Close  



สำหรับบอร์ดทดลอง
1.             เมื่อเบิร์นลงบอร์ดเสร็จ แล้วจึงทำการกด BOOT0 ให้ทำงานเป็น OFF ซึ่งจะเห็นว่า LED BL จะดับ จากนั้นให้กดสวิตช์ Reset ที่บอร์ด ซึ่ง MCU จะเริ่มต้นทำงานตามโปรแกรมที่สั่ง Download ให้ทันที  จึงได้ดังรูป














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

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