Các bảng mạch STM32F4 Discovery là những thiết bị nhỏ dựa trên vi điều khiển ARM STMF407 có hiệu suất cao. Bảng mạch này cho phép người dùng phát triển và thiết kế các ứng dụng.
Có nhiều module bên trong cho phép giao tiếp và thiết kế giao tiếp khác nhau mà không cần dựa vào bất kỳ thiết bị thứ ba nào. Bo mạch có các module ngoại vi hiện đại như bộ DAC, bộ ADC, cổng âm thanh, UART, v.v. làm nó trở thành một trong những thiết bị phát triển ứng dụng tốt nhất.
Thiết bị có thể dành cho việc thiết kế các ứng dụng hiện đại nhưng cần một số yêu cầu để sử dụng thiết bị, như trình biên dịch, điện áp, v.v. Trong hướng dẫn này, chúng ta sẽ thảo luận về sơ đồ chân, cấu hình chân, mô tả chân, tính năng và ví dụ của bảng mạch.
Sơ đồ chân STM32F4
STM32F4 có hai header “đực” P1 và P2, cả hai header đều được kết nối với cổng A, C, D, E & H, được sử dụng cho các chức năng khác.
Chân cấp nguồn
Bo mạch có các chân nguồn trên bo mạch để cấp nguồn cho các cảm biến hoặc mạch bên ngoài.
Đầu vào nguồn cấp: STM32F4 có nhiều chân cấp nguồn, tất cả các chân đều có thể được sử dụng nguồn điện 5V để cấp nguồn cho thiết bị. Sử dụng các chân cắm cấp nguồn cho toàn bộ thiết bị, nhưng đầu vào cấp nguồn qua USB sẽ không thể kích hoạt tất cả các module của thiết bị. Tất cả chân đầu vào cấp nguồn được cung cấp bên dưới:
Trong header P1:
- VDD – Chân 3, chân 4
Trong header P2:
5V – Chân 3, chân4
VDD – Chân 22
Đầu ra cấp nguồn: Các mức điện áp khác nhau luôn là yêu cầu hoạt động đối với mọi thiết bị và để đáp ứng yêu cầu này, cần có bộ điều chỉnh điện áp bên trong STM32F4.
Nó có hai chân nguồn một là 5V và chân thứ hai là 3V3. Chân 5V được kết nối trực tiếp với đầu vào nguồn và 3V3 được kết nối thông qua bộ điều chỉnh điện áp. Cả hai chân đều nằm trong tiêu đề P2:
5V – Chân 3, chân 4
3V3 – Chân 5, chân 6, GPIO15, GPIO16
Mass: Trong trường hợp có nhiều thiết bị bên ngoài, chân nối đất (mass) là yêu cầu cơ bản đối với mỗi thiết bị để làm điểm mass chung. Bảng mạch có nhiều chân nối đất ở cả hai header có thể được sử dụng riêng lẻ. Tất cả chúng đều được kết nối bên trong và được liệt kê bên dưới:
Trong header P1:
GND – Chân 1, Chân 2, Chân 5, Chân 23, Chân 49, Chân 50
Trong header P2:
GND – Chân 1, Chân 2, Chân 49, Chân 50
Chân dao động STM32F4
Bảng mạch không có bộ giao động thạch anh bên trong tạo xung clock. Nhưng nó có bốn chân cấp xung clock từ bên ngoài, hai chân được sử dụng cho bộ thạch anh 32KHz và hai chân còn lại được sử dụng cho thạch anh có tần số cao.
Bộ dao động thạch anh có thể được sử dụng lên đến 50MHz nhưng trên 25MHz, bảng mạch sẽ hoạt động khó khăn với tần số đó. Các chân kết nối thạch anh này có thể được sử dụng như GPIO, vì vậy nó phải được viết trong code về cách sử dụng bộ dao động. Cả hai bộ dao động không thể được sử dụng cùng một lúc và cả hai đều nằm ở header P2.
- OSC (IN) – GPIO7
- OSC (OUT) – GPIO
- OSC RTC (IN) – GPIO9
- OSC RTC (OUT) – GPIO10
Chân GPIO
Có sáu cổng (A, B, C, D, E, H) trong thiết bị và tất cả đều có một điện trở kéo bên trong và có thể được sử dụng cho chức năng I/O. Các chân này cũng hỗ trợ một số chức năng khác và có thể được điều khiển bằng cách lập trình. Tất cả các chân I / O được cung cấp bên dưới:
Trong header P1:
- GPIO7 – GPIO22
- GPIO24 – GPIO47
Trong header P2:
- GPIO7 – GPIO21
- GPIO23 – GPIO48
Chân giao tiếp USART
Có nhiều giao thức nối tiếp trong STM32F4 và USART là một trong số đó do tính phổ biến và dễ dàng sử dụng. USART chỉ sử dụng hai dây và phần còn lại của giao thức phụ thuộc vào bộ điều khiển.
Trong STM32F4, tất cả các giao tiếp USART đều giống nhau nhưng mỗi giao tiếp phải được khởi tạo trong chương trình để tránh xung đột dữ liệu. Tất cả các chân USART của STM32F4 được cung cấp bên dưới:
Trong header P1:
- USART2 TX – GPIO14
- USART2 RX – GPIO13
- USART3 TX – GPIO34, GPIO40
- USART3 RX – GPIO37, GPIO42
- USART4 TX – GPIO12
- USART4 RX – GPIO11
Trong header P2:
- USART1 TX – GPIO23, GPIO44
- USART1 RX – GPIO24, GPIO41
- USART2 TX – GPIO29
- USART2 RX – GPIO30
- USART3 TX – GPIO37
- USART3 RX – GPIO38
- USART4 TX – GPIO37
- USART4 RX – GPIO38
- USART5 TX – GPIO35
- USART5 RX – GPIO34
- USART6 TX – GPIO47
- USART6 RX – GPIO48
Kênh giao tiếp SPI
Giao thức ngoại vi nối tiếp cũng đang trở nên phổ biến do nguyên làm việc của nó. Giao thức giao tiếp nhiều thiết bị SPI cùng loại một cách hiệu quả. Trong STM32F4 có nhiều chân GPIO có thể được sử dụng làm chân SPI thông qua lập trình. Tất cả các chân này được đưa ra bên dưới:
Trong header P1:
- SPI2 MOSI – GPIO9
- SPI2 MISO – GPIO10
- SPI1 SCK – GPIO15
- SPI1 MOSI – GPIO17
- SPI1 MISO – GPIO18
- SPI2 SCK – GPIO34
- SPI2 SCK – GPIO37
- SPI2 MISO – GPIO38
- SPI2 MOSI – GPIO39
Trong header P2:
- SPI1 MISO – GPIO25
- SPI3 MISO – GPIO25
- SPI1 MOSI – GPIO26
- SPI3MOSI – GPIO26
- SPI3 SCK – GPIO28
- SPI1 SCK – GPIO28
- SPI3 MOSI – GPIO35
- SPI3 SCK – GPIO37
- SPI3 MISO – GPIO38
Các chân I2C
Có nhiều module và động cơ chỉ có giao thức I 2 C và bảng mạch chỉ có thể giao tiếp với chúng bằng giao thức I 2 C với nhiều chân GPIO hỗ trợ giao thức này thông qua lập trình. Tất cả các chân này là:
Trong header P1:
- I2C2 SCL – GPIO34
- I2C2 SDA – GPIO35
Trong header P2:
- I2C1 SCL – GPIO19
- I2C1 SDA – GPIO20
- I2C1 SCL – GPIO23
- I2C1 SDA – GPIO24
- I2C3 SCL – GPIO43
- I2C3 SDA – GPIO46
Các kênh ADC
Có nhiều bộ chuyển đổi tín hiệu analog sang digital trong STM32F4. Tất cả các bộ chuyển đổi này có thể được sử dụng riêng với các thiết bị đầu ra chuẩn logic TTL hoặc ST để chuyển đổi dữ liệu analog sang digital. Và các kênh ADC có ở header P1.
- GPIO7 – GPIO22
Chân DAC
Các chân chuyển đổi tín hiệu đầu vào digital thành mức điện áp analog tương ứng. Tất cả các chân DAC trong STM32F4 đều nằm ở header P1:
- GPIO15
- GPIO16
Chân kênh đầu vào âm thanh STM32F4
Giao tiếp âm thanh ngày càng phổ biến và STM32F4 hỗ trợ nhiều chân âm thanh. Trong các chân âm thanh này, một số trong số chúng có bộ điều khiển loa D bên trong.
Các chân âm thanh này để xuất âm thanh từ thiết bị và không thể được sử dụng làm đầu vào âm thanh. Tất cả các chân âm thanh được cung cấp bên dưới:
Trong header P1:
- GPIO15
- GPIO16
- GPI38
Trong header P2:
- GPIO20
- GPIO32
- GPIO35
- GPIO47
MIC: Để đưa tín hiệu âm thanh vào thiết bị, có thể sử dụng bằng cách giao tiếp micrô với STM32F4. Chỉ có một chân micro:
- GPIO9
Kênh PWM
Trong bảng mạch này, số lượng tín hiệu PWM lớn hơn nhiều so với các bảng mạch khác. Tất cả chân PWM có thể được sử dụng riêng lẻ xuất tín hiệu đầu ra và tất cả chúng đều được đưa ra dưới đây:
Trong header P1:
- GPIO11 – GPIO18
- GPIO21, GPIO22
- GPIO26 – GPIO32
- GPIO34-GPIO35
- GPIO37 – GPIO39
- GPIO44 – GPIO47
Trong header P2:
- GPIO11
- GPIO14
- GPIO19
- GPIO20
- GPIO23 – GPIO26
- GPIO28
- GPIO41
- GPIO43 – GPIO48
Kênh giao tiếp cảm biến MEMS
Bảng mạch hỗ trợ giao tiếp với các cảm biến cơ điện. Có thể sử dụng các chân MEMS để kết nối các cảm biến. Tất cả các chân đó được liệt kê bên dưới:
Trong header P1:
- GPIO15
- GPIO17
- GPIO18
Trong header P2:
- GPIO16
- GPIO17
- GPIO18
RESET: STM32F4 có một chân reset ở header P1 được sử dụng bên ngoài để đặt lại thiết bị bằng cách kích xung:
- NRST – Chân 6
BOOT: Trong STM32F4 có hai chân boot khác nhau, Boot0 và Boot1. Cả hai chân đều được sử dụng để chọn bộ nhớ boot. Tất cả các chân này yêu cầu các kết hợp logic khác nhau để chọn các bộ nhớ khác nhau. Tất cả các chân này được đưa ra bên dưới
BOOT0 – GPIO21 (P2) | BOOT1 – GPIO24 (P1) | Bộ nhớ |
x | 0 | Bộ nhớ Flash |
0 | 1 | Bộ nhớ hệ thống |
1 | 1 | SRAM |
Tất cả các chân đã được thảo luận này thực hiện các giao thức được sử dụng phổ biến, nhưng trong STM32F4 có một loạt các chức năng khác có thể thực hiện ở các cổng bằng cách sử dụng các chương trình code khác nhau. Với các chức năng thay thế này, bạn có thể tham khảo datasheet.
Sơ đồ khối bảng mạch discovery STM32F4
Các tính năng STM32f4
TÍNH NĂNG & THÔNG SỐ KỸ THUẬT | |
CPU | ARM 32-bit Cortex @ 180MHz |
RAM | 192KB |
FLASH | 1MB |
Dải điện áp hoạt động | 5V |
Cổng debug | Có |
Cổng âm thanh | Có |
OTG USB | Có |
LAN | Không có |
WIFI | Không có |
Bluetooth | Không có |
Khe cắm thẻ SD | Không có |
Thiết bị ngoại vi STM32F4
STM32F4 có nhiều thiết bị ngoại vi bên trong được đưa ra dưới đây:
Cổng âm thanh: Trong STM32F4 có các chân âm thanh ở các chân GPIO nhưng cũng có một cổng âm thanh bên ngoài, có thể được sử dụng làm I/O âm thanh.
USB: Cổng USB trên bo mạch là loại USB OTG và chỉ được sử dụng để lập trình bộ điều khiển. Không có cách nào để bộ điều khiển có thể lấy điện áp từ USB, nhưng điện áp trên cổng USB không được vượt quá 5V nếu không có thể gây hại cho bo mạch.
Consumption: Có một chân consumption trên bảng mạch sử dụng một jumper kết nối, nhưng có thể tháo jumper ra để đo mức tiêu thụ dòng điện của bộ điều khiển bằng cách gắn vào một ampe kế.
Gia tốc kế: Gia tốc kế 3-line được gắn trên bảng có thể được sử dụng để đo gia tốc của bảng mạch. Cho phép sử dụng với robot hoặc các dự án có chuyển động khác. Nó không phụ thuộc vào bất kỳ thiết bị hoặc giao tiếp bên ngoài nào, chỉ cần lập trình bên trong để hoạt động.
Cổng debug: Có cổng JTAG-SWD trên thiết bị giúp nhà phát triển gỡ lỗi cho thiết bị. Các chân này có thể được sử dụng để lập trình trực tiếp bộ điều khiển bằng cách sử dụng các bộ điều khiển cụ thể khác.
Nút nhấn và báo trạng thái: STM32F4 với nhiều màu sắc đèn led cho biết nhiều chức năng, các nút nhấn có chức năng khác nhau trên bảng mạch. Tất cả chức năng của chúng có thể được thể hiện trong sơ đồ sau:
Lập trình bảng mạch STM32F4
Nhiều IDE (Môi trường viết code) có thể được sử dụng để lập trình STM32F401. Một số bao gồm:
- Atollic
- Keil
- STM32 Cube MX
- LabVIEW
- MATLAB
Ví dụ lập trình
Để học lập trình hệ thống nhúng, chúng ta luôn bắt đầu với lập trình Cổng GPIO, Bạn có thể tham khảo các ví dụ lập trình của bảng mạch này.
- Cách sử dụng các chân GPIO trên bảng mạch SMT32F4
- Cách tải và cài đặt phần mềm Keil uVision
Các ứng dụng
- Thiết bị đang được sử dụng rộng rãi để phát triển các dự án như robot hoặc ô tô
- Các nhà phát triển cũng thích sử dụng SMT32F4 trong các dự án công nghiệp do có tính đa chức năng
- Được sử dụng hầu hết trong các dự án ghi nhật ký định vị GPS và liên lạc bằng giọng nói
>>> Mời anh em xem thêm:
- Bo mạch WiFi Arduino MKR1000
- Vi điều khiển ATMega32
- Vi điều khiển PIC16F887