17 C
Hanoi
Thứ Bảy, Tháng Mười Hai 3, 2022

THIẾT KẾ PHẦN CỨNG - NHẬN THIẾT KẾ ĐIỆN TỬ CHO SẢN PHẨM PHẦN CỨNG SỐ, IOT, CÔNG NGHIỆP,...

Home LẬP TRÌNH VI ĐIỀU KHIỂN STM32F103C8T6 BÀI 1 : GIỚI THIỆU VỀ STM32F103C8T6.

BÀI 1 : GIỚI THIỆU VỀ STM32F103C8T6.

Giới thiệu sơ lược

STM32 là một trong những dòng chip phổ biến của ST với nhiều họ thông dụng như F0,F1,F2,F3,F4….. Stm32f103 thuộc họ F1 với lõi là ARM COTEX M3. STM32F103 là vi điều khiển 32 bit, tốc độ tối đa là 72Mhz. Giá thành cũng khá rẻ so với các loại vi điều khiển có chức năng tương tự. Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sử dụng.

Một số ứng dụng chính: dùng cho driver để điều khiển ứng dụng, điều khiển ứng dụng thông thường, thiết bị cầm tay và thuốc, máy tính và thiết bị ngoại vi chơi game, GPS cơ bản, các ứng dụng trong công nghiệp, thiết bị lập trình PLC, biến tần, máy in, máy quét, hệ thống cảnh báo, thiết bị liên lạc nội bộ…

Phần mềm lập trình: có khá nhiều trình biên dịch cho STM32 như IAR Embedded Workbench, Keil C… Ở đây mình sử dụng Keil C nên các bài viết sau mình chỉ đề cập đến Keil C.

Thư viện lập trình: có nhiều loại thư viện lập trình cho STM32 như: STM32snippets, STM32Cube LL, STM32Cube HAL, Standard Peripheral Libraries, Mbed core. Mỗi thư viện đều có ưu và khuyết điểm riêng, ở đây mình xin phép sử dụng Standard Peripheral Libraries vì nó ra đời khá lâu và khá thông dụng, hỗ trợ nhiều ngoại vi và cũng dễ hiểu rõ bản chất của lập trình.

Mạch nạp: có khá nhiều loại mạch nạp như : ULINK, J-LINK , CMSIS-DAP, STLINK… ở đây mình sử dụng Stlink vì giá thành khá rả và debug lỗi cũng tốt.

Board để lập trình: các bạn có thể mua sẵn 1 số kit ra chân đã có sẵn trên thị trường hoặc thiết kế 1 cái board dành riêng cho bản thân mình. Ở đây mình đã thiết kế 1 board đã tích hợp sẵn mạch nạp, mình cũng đã test và chạy khá ổn, debug bằng Keil C khá giống với phiên bản STlink V2 trên thị trường. Nói chung là sử dụng đồ tự làm khá thú vị. Đây là board của mình:

Sơ lược về Board trên:

  • 1 cổng Mini USB dùng để cấp nguồn, nạp cũng như debug.
  • 2 MCU bao gồm 1 MCU nạp và 1 MCU dùng để lập trình.
  • Có chân Output riêng cho các chân mạch nạp trên MCU1.
  • Có chân Output đầy đủ cho các chân MCU2.
  • Chân cấp nguồn ngoài riêng cho MCU2 nếu không sử dụng nguồn từ USB.
  • Thạch anh 32,768khz dùng cho RTC và Backup.
  • Chân nạp dùng cho chế độ nạp boot loader.
  • Nút Reset ngoài và 1 led hiển thị trên chân PB9, 1 led báo nguồn cho MCU2.

Cấu hình chi tiết của STM32F103C8T6:

  • ARM 32-bit Cortex M3 với clock max là 72Mhz.
  • Bộ nhớ:
    • 64 kbytes bộ nhớ Flash(bộ nhớ lập trình).
    • 20kbytes SRAM.
  • Clock, reset và quản lý nguồn.
    • Điện áp hoạt động 2.0V -> 3.6V.
    • Power on reset(POR), Power down reset(PDR) và programmable voltage detector (PVD).
    • Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz.
    • Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz.
    • Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC.
  • Trong trường hợp điện áp thấp:
    • Có các mode :ngủ, ngừng hoạt động hoặc hoạt động ở chế độ chờ.
    • Cấp nguồn ở chân Vbat bằng pin để hoạt động bộ RTC và sử dụng lưu trữ data khi mất nguồn cấp chính.
  • 2 bộ ADC 12 bit với 9 kênh cho mỗi bộ.
    • Khoảng giá trị chuyển đổi từ 0 – 3.6V.
    • Lấy mẫu nhiều kênh hoặc 1 kênh.
    • Có cảm biến nhiệt độ nội.
  • DMA: bộ chuyển đổi này giúp tăng tốc độ xử lý do không có sự can thiệp quá sâu của CPU.
    • 7 kênh DMA.
    • Hỗ trợ DMA cho ADC, I2C, SPI, UART.
  • 7 timer.
    • 3 timer 16 bit hỗ trợ các mode IC/OC/PWM.
    • 1 timer 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ như ngắt input, dead-time..
    • 2 watdog timer dùng để bảo vệ và kiểm tra lỗi.
    • 1 sysTick timer 24 bit đếm xuống dùng cho các ứng dụng như hàm Delay….
  • Hỗ trợ 9 kênh giao tiếp bao gồm:
    • 2 bộ I2C(SMBus/PMBus).
    • 3 bộ USART(ISO 7816 interface, LIN, IrDA capability, modem control).
    • 2 SPIs (18 Mbit/s).
    • 1 bộ CAN interface (2.0B Active)
    • USB 2.0 full-speed interface
  • Kiểm tra lỗi CRC và 96-bit ID.

Kit Phát Triển STM32F103C8T6 BluePill

KIT STM32F103C8T6 Mini thuộc loại kit phát triển là Kit phát triển được thiết kế với đơn giản, kít ra đầy đủ chân của vi điều khiển, có cổng giao tiếp USB và cổng nạp SWD, sử dụng dòng vi điều khiển 32 Bit của dòng ST. Thích hợp với những người tiếp cận dòng STM 32 Bit.

Thông số kỹ thuật:

  • Vi điều khiển: STM32F103C8T6.
  • Điện áp cấp 5VDC qua cổng Micro USB sẽ được chuyển đổi thành 3.3VDC qua IC nguồn và cấp cho Vi điều khiển chính.
  • Tích hợp sẵn thạch anh 8Mhz.
  • Tích hợp sẵn thạnh anh 32Khz cho các ứng dụng RTC.
  • Ra chân đầy đủ tất cả các GPIO và giao tiếp: CAN, I2C, SPI, UART, USB,…
  • Tích hợp Led trạng thái nguồn, Led PC13, Nút Reset.
  • Kích thước: 53.34 x 15.24mm
  •  Sử dụng với các mạch nạp:
    • ST-Link Mini
    • J-link
    • USB TO COM
  • Kết nối chân khi nạp bằng ST-Link Mini
  • Nạp theo chuẩn SWD
    • TCK — SWCLK
    • TMS — SWDIO
    • GND — GND
    • 3.3V — 3.3V

Lưu ý : khi sử mạch nạp ST Link dùng nguồn 3.3v

Nguồn: http://laptrinharmst.blogspot.com/

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Chia sẻ PCB KIT ESP32

Mạch nguyên lý schemaic: Download toàn bộ project phần mềm Altium: DOWNLOAD Một vài hình ảnh thiết kế trên Altium:

Chia sẻ PCB Ethernet Gigabit Switch 5 Port

Mạch nguyên lý Schematic: DOWNLOAD ALTIUM PROJECT Một số hình ảnh 3D và 2D của mạch: Lớp TOP: Lớp 2: Lớp 3:Lớp Bottom:

Chia sẻ PCB mạch Hub USB2.0 dùng FE1.1S

DOWNLOAD PROJECT (ALTIUM) Mạch thiết kế trên phần mềm Altium, 2 lớp, dùng cho mục đích thử nghiệm.

Chia sẻ PCB nguồn công nghiệp VRB2405YMD-20WR3

Công suất đầu ra 20 Vin (VDC) 18~36 Vout (VDC) 5 Số đầu ra 1 Điện áp cách ly 1500     DOWNLOAD  

Recent Comments