STM32 Nucleo F401RE có giá thành thấp và sử dụng dễ dàng. Có bộ vi điều khiển ARM Cortex 32 Bit chỉ rong một package LQFP duy nhất. Trong STM32 Nucleo có hai loại kết nối chân.
Một sử dụng cho STM là các chân “đực” và thứ hai là các chân “cái” sử dụng cho Arduino. Tất cả các loại đầu cắm Arduino đều có thể gắn vào bảng mạch này. Bo mạch STM32 có tất cả các giao thức giao tiếp và debugger hiện đại cho công nghiệp và gia đình với tốc độ xử lý 84MHz.
Cấu hình chân của STM32 Nucleo
Cấu hình chân của STM Nucleo có một chút khác biệt so với các bo mạch khác. Hỗ trợ nhiều IDE nhưng nó vẫn có các chân cho STM32 và Arduino riêng biệt. Những chân “đực” dành cho STM32 và những chân “cái” dành cho Arduino.
Các chân “cái” có thể được gắn vào shield hoặc module có hỗ trợ Arduino mà không cần sử dụng thiết bị thứ ba. Header CN5, CN6, CN8 và CN9 sử dụng cho Arduino và C7, C10 dùng cho STM32 Nucleo.
Các chân I/O digital Nucleo STM32
Chân I / O là yêu cầu cơ bản cho mọi mạch. Trong STM32 Nucleo có một loạt chúng. Một số chân cho Arduino và một số chân cho STM32. Các chân I / O có số lượng ít hơn so với các STM32 khác. Ở đây tất cả các chân I / O của STM32 Nucleo là:
Ở C7:
- PC10 – GPIO1
- PC11 – GPIO2
- PC12 – GPIO3
- PD2 – GPIO4
- PA13 – GPIO13
- PA14 – GPIO15
- PA15 – GPIO17
- PC13 – GPIO23
- PC14 – GPIO25
- PC15 – GPIO27
- PA0 – GPIO28
- PH0 – GPIO29
- PA1 – GPIO30
- PH1 – GPIO31
- PA4 – GPIO32
- PB0 – GPIO34
- PC2 – GPIO35
- PC1 – GPIO36
- PC3 – GPIO37
- PC0 – GPIO38
Ở CN10:
- PC9 – GPIO1
- PC8 – GPIO2
- PB8 – GPIO3
- PC6 – GPIO4
- PB9 – GPIO5
- PC5 – GPIO6
- PA5 – GPIO11
- PA12 – GPIO12
- PA6 – GPIO13
- PA11 – GPIO14
- PA7 – GPIO15
- PB6 – GPIO17
- PC7 – GPIO19
- PA9 – GPIO21
- PB2 – GPIO22
- PA8 – GPIO23
- PB1 – GPIO24
- PB10 – GPIO25
- PB15 – GPIO26
- PB4 – GPIO27
- PB14 – GPIO28
- PB5 – GPIO29
- PB13 – GPIO30
- PB3 – GPIO31
- PA10 – GPIO33
- PC4 – GPIO34
- PA2 – GPIO32
- PA3 – GPIO37
Ở CN5:
- D0 – GPIO1
- D1 – GPIO2
- D2 – GPIO3
- D3 – GPIO4
- D4 – GPIO5
- D5 – GPIO6
- D6 – GPIO7
- D7 – GPIO8
Ở CN6:
- D8 – GPIO1
- D9 – GPIO2
- D10 – GPIO3
- D11 – GPIO4
- D12 – GPIO5
- D13 – GPIO6
- D14 – GPIO9
- D15 – GPIO10
Các chân PWM
Nucleo F401RE có nhiều chân PWM. Chân PWM có sẵn cho cả STM32 và Arduino. Tất cả các chân PWM có thể tạo ra tín hiệu đầu ra mong muốn để điều khiển các thiết bị ngoại vi bên ngoài. Các chân PWM sử dụng Prescaler để thay đổi chu kỳ xử lý đơn của xung clock để tạo ra tín hiệu đầu ra. Tất cả các chân PWM là:
Ở CN7:
- PWM2 / 1 – GPIO17
- PWM4 / 2 – GPIO19
- PWM2 / 1 – GPIO28
- PWM2 / 2 – GPIO30
- PWM1 / 2N – GPIO34
Ở CN10:
- PWM3 / 4 – GPIO1
- PWM3 / 3 – GPIO2
- PWM4 / 3 – GPIO3
- PWM3 / 1 – GPIO4
- PWM4 / 4 – GPIO5
- PWM2 / 1 – GPIO11
- PWM3 / 1 – GPIO13
- PWM1 / 4 – GPIO14
- PWM1 / 1N – GPIO15
- PWM4 / 1 – GPIO17
- PWM3 / 2 – GPIO19
- PWM1 / 2 – GPIO21
- PWM1 / 1 – GPIO23
- PWM1 / 3N – GPIO24
- PWM2 / 3 – GPIO25
- PWM1 / 3N – GPIO26
- PWM3 / 1 – GPIO27
- PWM1 / 2N – GPIO28
- PWM3 / 2 – GPIO29
- PWM1 / 1N – GPIO30
- PWM2 / 2 – GPIO31
- PWM1 / 3 – GPIO33
Ở CN5 & CN9:
- D3 – GPIO5
- D5 – GPIO6
- D6 – GPIO7
- D9 – GPIO10
- D10 – GPIO11
- D11 – GPIO12
Giao tiếp dữ liệu nối tiếp trong STM32 Nucleo F401RE
Chân giao tiếp UART
Có nhiều chân giao tiếp UART trong Nucleo F401RE. Tất cả các chân này cho phép giao tiếp nhiều module UART với bo mạch tại một thời điểm. UART trên Arduino chỉ cho phép giao tiếp một thiết bị UART duy nhất. Tất cả chân UART trong bảng mạch là:
Ở CN7:
- UART1_RX – GPIO21
- UART2_CTS – GPIO28
- UART2_RTS – GPIO30
Ở CN10:
- UART6_TX – GPIO4
- UART6_RX / UART_RTS – GPIO12
- UART_TX / UART1_CTS – GPIO14
- UART1_TX – GPIO17
- UART6_RX – GPIO19
- UART1_TX – GPIO21
- UART1_RX – GPIO33
- UART2_TX – GPIO35
- UART2_RX – GPIO37
Ở CN9:
- RX – GPIO1
- TX – GPIO2
Chân giao tiếp SPI
Giao thức SPI sử dụng bốn dây để giao tiếp. Hai chân cho xung clock và lựa chọn thiết bị và hai chân cho dữ liệu. Nhiều thiết bị cùng loại có thể được điều khiển bởi một module SPI duy nhất. Trong Nucleo F401RE có nhiều chân SPI là:
Ở CN7:
- SPI3_SCLK – GPIO1
- SPI3_MISO – GPIO2
- SPI3_MOSI – GPIO3
- SPI1_SSEL – GPIO17
- SPI1_SSEL – GPIO32
- SPI2_MISO – GPIO35
- SPI2_MOSI – GPIO37
Ở CN10:
- SPI2_SSEL – GPIO5
- SPI1_SCLK – GPIO11
- SPI1_MISO – GPIO13
- SP1_MOSI – GPIO15
- SPI2_SSEL – GPIO16
- SPI2_SCLK – GPIO25
- SPI2_MOSI – GPIO26
- SPI1_MISO – GPIO27
- SPI2_MISO – GPIO28
- SPI1_MOSI – GPIO29
- SPI2_SCLK – GPIO30
- SPI1_SCLK – GPIO31
Ở CN5:
- CS – GPIO3
- MOSI – GPIO4
- MISO – GPIO5
- SCK – GPIO6
Chân giao tiếp I 2 C
Có rất nhiều chân giao thức I2C. Giao tiếp trên 2 chân một xung clock và một chân dữ liệu. Các chân này có thể giao tiếp với các module I 2 C bên ngoài. Trong STM32 Nucleo F401RE cả hai loại header hỗ trợ giao tiếp I 2 C. Tất cả các chân này là:
Ở CN7:
- I2C1_SDA – GPIO21
Ở CN10:
- I2C3_SDA – GPIO1
- I2C1_SCL – GPIO3
- I2C1_SDA – GPIO5
- I2C1_SCL – GPIO17
- I2C3_SCL – GPIO23
- I2C2_SCL – GPIO25
- I2C3_SDA – GPIO27
- I2C2_SDA- GPIO31
Ở CN5:
- SCL – GPIO10
- SDA – GPIO9
Các kênh chuyển đổi tín hiệu analog sang digital
Có tổng cộng 16 kênh A / D trên bảng mạch. Tất cả các kênh đều là 12-bit và có ở cả hai loại header. Bộ ADC cho phép chuyển đổi tín hiệu analog sang tín hiệu digital. Tất cả các chân ADC là:
Ở CN7:
- ADC1 / 0 – GPIO28
- ADC1 / 1 – GPIO30
- ADC1 / 4 – GPIO32
- ADC1 / 8 – GPIO34
- ADC1 / 12 – GPIO35
- ADC1 / 11 – GPIO36
- ADC1 / 13 – GPIO37
- ADC1 / 10 – GPIO38
Ở CN10:
- ADC1 / 15 – GPIO6
- ADC1 / 5 – GPIO11
- ADC1 / 6 – GPIO13
- ADC1 / 7 – GPIO15
- ADC1 / 9 – GPIO24
- ADC1 / 14 – GPIO34
Ở CN8:
- A0 – GPIO1
- A1 – GPIO2
- A2 – GPIO3
- A3 – GPIO4
- A4 – GPIO5
- A5 – GPIO6
Chân tham chiếu Analog
STM32 Nucleo F401RE cho phép nhà thiết kế thêm chân tham chiếu điện áp analog để bộ ADC có thể đo giá trị đầu vào. Các chân điện áp tham chiếu analog cũng có sẵn cho STM32 và Arduino. Tất cả các chân này là:
Ở CN10:
- AVDD – GPIO7
- AGND – GPIO32
Ở CN5:
- VREP – GPIO8
Chân nguồn
Có nhiều chân nguồn và cách để cấp nguồn cho bo mạch và tất cả chúng là:
Đầu vào nguồn cấp
Có nhiều chân đầu vào cấp nguồn cho cả hai bo mạch. Bo mạch STM32 có thể được bật bằng cách sử dụng 3.3V và 5V nhưng toàn bộ bo mạch chỉ có thể cấp nguồn 5V. Các chân nguồn trên Nucleo F401RE và Arduino là:
Ở CN10 (Nucleo F401RE):
- VDD – GPIO55
- VIN – GPIO24
- 5V – GPIO18
- 3.3V – GPIO16
- VBAT (Nguồn pin)- GPIO33
- E5V – GPIO6
Ở CN6:
- 3V3 – GPIO4
- 5V – GPIO5
- VIN – GPIO8
Đầu ra nguồn
Các bo mạch có đầu ra nguồn 5V và 3,3V, tất cả các đầu ra 5V được kết nối trực tiếp với VBAT và E5V. VBAT và E5V có mạch bảo vệ và chỉ dành cho đầu vào. Các chân 5V và Vin khác trong tất cả các đầu cắm có thể được sử dụng cho 5V. Các chân 3.3 V được kết nối thông qua bộ điều chỉnh. Tất cả các chân đầu ra nguồn là:
Ở CN7:
- 3.3V – GPIO5
Ở CN10:
- U5V – GPIO8
Ở CN6:
- 3,3V – GPIO4
- 5V – GPIO5
- Vin – GPIO8
IOREF
Trong trường hợp sử dụng 3.3V để cấp nguồn cho thiết bị, chân IOREF phải được kích hoạt. Nó sẽ cho phép hoạt động theo 3V. Chân IOREF chỉ có một trên toàn bộ bảng và sử dụng chung với các chân Arduino.
Ở CN7:
- GPIO12
Ở CN6:
- GPIO2
Chân OSCILLATOR
Bo mạch có các bộ dao động bên trong 16MHz và 32KHz. Đối với Arduino IDE, bộ dao động phải là 16MHz nhưng đối với IDE khác, bộ dao động thạch anh có thể được điều chỉnh hoặc lựa chọn từ bên trong hoặc bên ngoài. Cũng có các chân nối bộ dao động thạch anh bên ngoài là:
Ở CN10:
- PH0 – GPIO29
- PH1 – GPIO31
Chân reset
Có một nút reset có sẵn để đặt lại bảng mạch theo cách thủ công, nhưng nó cũng cung cấp một chân cắm bên ngoài để reset bảng mạch. Chân reset là chân chung giữa các chân Arduino và STM32.
Ở CN7:
- NRST – GPIO14
Ở CN6:
- NRST – GPIO3
Sơ đồ khối nucleo STM32
Các tính năng của bảng mạch nucleoSTM32
Tính năng & Thông số kỹ thuật | |
Vi điều khiển | STM32F401RET6 với ARM Cortex (32-bit) |
Tần số CPU | 84 MHz |
VDD (MCU) | Từ 1.7V đến 3.6V |
VIN (BAN) | Từ 7V đến 15V |
ADC | 16 Kênh 12-bit |
Timer | Tổng cộng 8 bộ timer (6 bộ 16 bit, 2 bộ 32 bit) |
Timer watchdog | Có |
UART | Có |
I2C | 3 kênh |
SPI | 3 kênh |
USB 2.0 | Có |
Bộ dao động bên trong | Có 16MHz |
Tần số dao động bên ngoài | 4MHz đến 26 MHz |
Debugger trên bo mạch | Có |
Bộ nhớ flash | 512Kb |
SRAM | 96Kb |
Ứng dụng nucleo STM32
- Bảng mạch được sử dụng rộng rãi trong hệ thống IoT.
- Nucleo F401RE thân thiện với các hệ thống công nghiệp.
- Trong các thiết bị điện tử và robot công suất thấp, bo mạch được triển khai nhanh chóng do được nghiên cứu rộng rãi trên internet.
Thiết bị ngoại vi STM32 Nucleo F401RE
Debugger
Bo mạch STM32F401RE hỗ trợ nhiều phương pháp debugger, cho phép người dùng kiểm tra và lập trình bộ điều khiển theo nhiều cách. Đôi khi các nhà phát triển có thể gặp khó khăn do dữ liệu tham khảo hạn chế trên internet.
USB
USB có thể được kết nối với bảng mạch thông qua các chân và cổng USB của nó. Nó hỗ trợ PC cài đặt các driver tự động và liên kết bo mạch mà không cần giao diện thứ ba. Điều này không chỉ giới hạn với chân STM mà nó còn có cho cả hai chân Arduino và STM có thể được sử dụng trực tiếp từ máy tính.
Chia bo mạch
Có thể được chia thành hai phần để giảm thiểu kích thước. Bo mạch có hai phần một là STLink và phần còn lại là vi điều khiển. Sau khi cắt bớt một số chân đầu vào nguồn cấp sẽ còn lại một vài chân và các chân GPIO còn lại sẽ giống nhau
Báo trạng thái
Đèn LED được sử dụng để báo trạng thái nhiều giá trị và dữ liệu. Một số đèn LED được gắn trực tiếp vào chân GPIO để kiểm tra các chức năng đơn giản để dư thừa dây.
Sơ đồ 2D
>>> Mời anh em xem thêm: