更多交流欢迎关注作者抖音号:81849645041
本专栏的所有程序都在飞航科技 STM32-F407 开发板上测试通过,本文介绍一下STM32-F407 开发板硬件设计与接口,便于读者学习交流。
STM32F4主板硬件结构
飞航科技 STM32-F407 开发板,开发板板载芯片STM32F407ZGT6,144引脚,1024K FLASH,192K SRAM大容量,芯片内嵌资源丰富(6个串口,16个定时器,3个ADC共24通道,2个DAC,2个CAN,SDIO,FSMC,I2C,I2S,SPI应有尽有),板载W25Q128 128M FLASH、IS62WV51216 8M SRAM、百兆以太网、六轴(陀螺仪+加速度计)传感器芯片、光敏传感器等,可外接OLED摄像头模块、TFTLCD显示屏、ZigBee模块等,非常适合DIY和读者学习。
接口明细
硬件类型 | SCH接口 | GPIO | 使用说明 |
WIRELESS | NRF_CE | PG6 | 接WIRELESS接口的CE脚 |
NRF_CS | PG7 | 接WIRELESS接口的CS脚 | |
SPI1_SCK | PB3 | 接WIRELESS接口的SCK脚 | |
SPI1_MOSI | PB5 | 接WIRELESS接口的MOSI脚 | |
SPI1_MISO | PB4 | 接WIRELESS接口的MISO脚 | |
NRF_IRQ | PG8 | 接WIRELESS接口IRQ信号 | |
SD卡接口 | SDIO_D2 | PC9 | 接SD卡接口的DATA2脚,设有47K上拉 |
SDIO_D3 | PC10 | 接SD卡接口的DATA3脚,设有47K上拉 | |
SDIO_CMD | PD2 | 接SD卡接口的CMD脚,设有47K上拉 | |
SDIO_SCK | PC12 | 接SD卡接口的SCK脚 | |
SDIO_D0 | PC7 | 接SD卡接口的DATA0脚,设有47K上拉 | |
SDIO_D1 | PC8 | 接SD卡接口的DATA1脚,设有47K上拉 | |
W25Q128 128M FLASH | SPI1_MOSI | PB5 | 接W25Q128的MOSI信号 |
SPI1_SCK | PB3 | 接W25Q12的SCK信号 | |
F_CS | PB14 | 接W25Q128的片选信号 | |
SPI1_MISO | PB4 | 接W25Q128的MISO信号 | |
CAN/USB接口 | CAN_RX | 连接TJA1050芯片 | |
CAN_TX | 连接TJA1050芯片 | ||
USB_D- | PA11 | 跳线帽选择D-或者CAN_RX | |
USB_D+ | PA12 | 跳线帽选择D+或者CAN_TX | |
D- | 连接USB SLAVER D- | ||
D+ | 连接USB SLAVER D+ | ||
USB串口/串口1 | U1_TX | PA9 | 连接STM32F4的USART1_TX |
U1_RX | PA10 | 连接STM32F4的USART1_RX | |
RXD | 连接CH40G芯片 (注:U1_TX与RXD通过跳线帽连接,通过使用USB转串口可实现一键下载程序的功能) | ||
TXD | 连接CH40G芯片 (注:U1_RX与TXD通过跳线帽连接,通过使用USB转串口可实现一键下载程序的功能) | ||
USB HOST(主机) | USB_DM | CAN/USB接口的D-,中间接10R电阻 | |
USB_DP | CAN/USB接口的D+,中间接10R电阻 | ||
USB_SLAVER(从机) | USB_DM | CAN/USB接口的D-,中间接10R电阻 | |
USB_DP | CAN/USB接口的D+,中间接10R电阻 | ||
USB转串口 | CH340_D- | 连接CH340G芯片的输入端口后,转换的信号接到USB串口/串口1的RXD | |
CH340_D+ | 连接CH340G芯片的输入端口后,转换的信号接到USB串口/串口1的TXD | ||
OLED摄像头模块接口 | DCMI_SCL | PD6 | 连接OLED/CAMERA接口的SCL脚 |
DCMI_SDA | PD7 | 连接OLED/CAMERA接口的SDA脚 | |
DCMI_D0 | PC6 | 连接OLED/CAMERA接口的D0脚 | |
DCMI_D2 | PC8 | 连接OLED/CAMERA接口的D2脚 | |
DCMI_D4 | PC12 | 连接OLED/CAMERA接口的D4脚 | |
DCMI_D6 | PE5 | 连接OLED/CAMERA接口的D6脚 | |
DCMI_PCLK | PA6 | 连接OLED/CAMERA接口的PCLK脚 | |
DCMI_PWDN | PG9 | 连接OLED/CAMERA接口的PWDN脚 | |
DCMI_VSYNC | PB7 | 连接OLED/CAMERA接口的VSYNC脚 | |
DCMI_HREF | PA4 | 连接OLED/CAMERA接口的HREF引脚 | |
DCMI_RESET | PG15 | 连接OLED/CAMERA接口的RESET脚 | |
DCMI_D1 | PC7 | 连接OLED/CAMERA接口的D1脚 | |
DCMI_D3 | PC9 | 连接OLED/CAMERA接口的D3脚 | |
DCMI_D5 | PB6 | 连接OLED/CAMERA接口的D5引脚 | |
DCMI_D7 | PE6 | 连接OLED/CAMERA接口的D7引脚 | |
DCMI_XCLK | PA8 | 连接OLED/CAMERA接口的XCLK引脚 | |
有源蜂鸣器 | BEEP | PF8 | 高电平鸣叫 |
红外接收头 | REMOTE_IN | PA8 | 连接有4.7K上拉电阻 |
温度传感器 | 1WIRE_DQ | PG9 | 接单总线接口(U13),即DHT11/DS18B20 |
两个LED灯 | D0 | PF9 | 接DS0 LED灯(蓝色) |
D1 | PF10 | 接DS1 LED灯(绿色) | |
选择启动模式 | BOOT0 | BOOT0 | BOOT0,启动选择配置引脚(仅上电时用) |
BOOT1 | BOOT1 | BOOT1,启动选择配置引脚(仅上电时用) | |
四个按钮 | WK_UP | PA0 | 按键key_up,可以作为待机唤醒按钮 |
KEY0 | PE4 | 按钮KEY0 | |
KEY1 | PE3 | 按钮KEY1 | |
KEY2 | PE2 | 按钮KEY2 | |
触摸按钮 | STM_ADC | PA5 | TOUCH检查脚,也是ADC输入引脚 |
MPU6050传感器 | I2C_SCL | PB8 | 连接MPU6050的SCL引脚 |
I2C_SDA | PB9 | 连接MPU6050的SDA引脚 | |
多功能端口 | TPAD | 通过1M电阻连接3.3V电压 | |
STM_ADC | PA5 | TOUCH检查脚,也是ADC输入引脚 | |
STM_DAC | PA4 | DAC_OUT1输出脚OLED/CAMERA接口的HREF引脚 | |
扬声器接口 | ROUT2 | 连接WM8978的ROUT2引脚 | |
LOUT2 | 连接WM8978的LOUT2引脚 | ||
PWM_DAC | PA3 | PWM_DAC输出引脚 | |
PWM_AU | 连接到WM8978的AUXL和AUXR引脚 | ||
24C02EEPROM | I2C_SCL | PB8 | 连接24C02EEPROM的SCL引脚 |
I2C_SDA | PB9 | 连接24C02EEPROM的SDA引脚 | |
RS232/ZigBee模块选择接口 | U3_RX | 使能COM2的RX线 | |
U3_TX | 使能COM2的TX线 | ||
USART3_TX | PB10 | 连接主控芯片的USART3 | |
USART3_RX | PB11 | 连接主控芯片的USART3 | |
ZIGBEE_RX WIFI_RX | 连接ZigBee/WIFI的RX引脚 | ||
WIFI_TX ZIGBEE_TX | 连接ZigBee/WIFI的TX引脚 | ||
RS232/485选择端口 | U2_RX | 使能COM1的RX线 | |
U2_TX | 使能COM1的TX线 | ||
USART2_TX | PA2 | 连接主控芯片的USART2 | |
USART2_RX | PA2 | 连接主控芯片的USART2 | |
RS422_RX | 连接MAX3490的D1端 | ||
RS422_TX | 连接MAX3490的R0端 | ||
以太网接口(RJ45) | LINK_LED | 连接LAN8720A的LED1引脚 | |
SPEED_LED | 连接LAN8720A的LED2引脚 |
跳线功能定义
JTAG/SWD接口(注:没有跳线帽)
STM32F4板搭载的20针标准JTAG调试口,该调试接口可以直接和ULINK、J-Link、ST-Link等调试器相连接,由于STM32支持SWD调试,这个JTAG口也可以用SWD模式连接。
假如使用JTAG模式调试的话,需要占据5个接口。使用SWD调试模式的话,仅仅只需要2个接口,节约了引脚,其中ST-Link使用的接口模式为SWD模式。
USB串口/串口1选择接口
其中USB串口与STM32F407ZGT6的串口1进行连接。标号为RXD与TXD是与芯片CH340G相互连接,通过CH340G芯片将USB传入的数据转换成串口数据,实现通讯。若想用串口一键下载程序的话,需要接上接口复用跳线帽,若是单单只作为普通串口与STM32F407ZGT6通讯的话,只需要拔掉跳线帽即可。
CAN/USB选择接口
CAN/USB串口其中CAN_RX与CAN_TX与通过芯片A1050与接口CAN1连接,D-与D+与USB接口相互连接。其中CAN与USB复用的接口为USB_D-(PA9),USB_D+(PA10),使用跳线帽的话可以实现CAN/USB的连接。
RS422/RS232选择接口
开发板设置有一个RS232接口(COM1)与一个RS422(RS、RS1)接口。通过使用跳线帽可以选择任一接口与串口2(U2_RX和U2_TX)实现接通。
RS232/ZigBee
开发板设置有一个RS232接口(COM2)与一个ZigBee模块的串口接口(GBC_TX和GBC_RX),通过使用跳线帽可以选择任一接口与串口3(U3_RX和U3_TX)实现通讯。
按键定义
开发板上集成有五个按键,其中按键RESET可以使程序硬件复位,另外四个按键KEY0,KEY1,KEY2,KEY_UP可以当普通的按键,其中KEY_UP可以唤醒退出待机模式,在正常模式下,可以当作普通按键使用。
主控板资源说明
STM32F4 开发板板载资源如下:
- CPU: STM32F407ZGT6, LQFP144, FLASH: 1024K, SRAM: 192K;
- 外扩 SRAM: IS62WV51216, 1M 字节
- 外扩 SPI FLASH: W25Q128, 16M 字节
- 1 个电源指示灯(红色)
- 2 个状态指示灯( D2:绿色, D1:蓝色)
- 1 个红外接收头,并配备红外遥控器
- 1 个 EEPROM 芯片, 24C02,容量 256 字节
- 1 个六轴(陀螺仪+加速度)传感器芯片MPU6050
- 1 个高性能音频编解码芯片, WM8978
- 1 个 2.4G 无线模块接口,支持 NRF24L01 无线模块
- 1 路 CAN 接口,采用 TJA1050 芯片
- 1 路 422 接口,采用 MAX3490 芯片
- 2 路 RS232 串口(一公一母)接口,采用 SP3232 芯片
- 1 路单总线接口,支持 DS18B20/DHT11 等单总线传感器
- 1 个光敏传感器
- 1 个标准的 2.4 / 2.8 / 3.5 / 4.3 / 7 寸 LCD 接口,支持电阻/电容触摸屏
- 1 个摄像头模块接口
- 1 个 OLED 模块接口
- 1 个 USB 串口,可用于程序下载和代码调试( USART 调试)
- 1 个 USB SLAVE 接口,用于 USB 从机通信
- 1 个 USB HOST(OTG)接口,用于 USB 主机通信
- 1 个有源蜂鸣器
- 1个RS232/RS422选择接口
- 1 个 CAN/USB 选择接口
- 1 个串口选择接口
- 1 个 SD 卡接口(在板子背面)
- 1 个百兆以太网接口( RJ45)
- 1 个标准的 JTAG/SWD 调试下载口
- 1 个录音头( MIC/咪头)
- 1 路立体声音频输出接口
- 1 路立体声录音输入接口
- 1 路扬声器输出接口,可接 1W 左右小喇叭
- 1 组多功能接口( DAC/ADC/PWM DAC/AUDIO IN/TPAD)
- 1 组 5V 电源供应/接入口
- 1 组 3.3V 电源供应/接入口
- 1 个参考电压设置接口
- 1 个直流电源输入接口(输入电压范围: DC6~16V)
- 1 个启动模式选择配置接口
- 1 个 RTC 后备电池座,并带电池
- 1 个复位按钮,可用于复位 MCU 和 LCD
- 4 个功能按钮,其中 KEY_UP(即 WK_UP)兼具唤醒功能
- 1 个电容触摸按键
- 1 个电源开关,控制整个板的电源
- 独创的一键下载功能
- 除晶振占用的 IO 口外,其余所有 IO 口全部引出
主控板原理图
STM32F4主板部分原理图如下:
- LED灯:
- 按键
- 蜂鸣器
- SD卡读取
- 外部SRAM
- TFTLCD屏幕接口