XYD-Cortex-M4 综合实验仪
XYD-Cortex-M4 综合实验仪
XYD-M4型综合实验平台是一款支持J-link仿真、keil编程、ISP下载、模块化设计等多功能为一体的。集学习、开发、教学为一体。该平台具有扩展端口,扩展方便。配合光盘非常实用例子程序,可让您在最短的时间内,全面、系统的掌握STM32编程技术。特别适合大中专院校电子相关专业学习、有志于从事嵌入式工作的初学者选用。
XYDSTM32F407ZGT6开发板资源如下:
l CPU:STM32F407ZET6,FLASH:1024K,SRAM:192K
l 外扩SRAM:IS62WV51216,1M字节
l 外扩SPI FLASH:W25Q128,16M字节
l 1个电源指示灯
l 2个状态指示灯(D5、D6)
l 1个红外接收头
l 1个EEPROM芯片,24C02,容量256字节
l 1个六轴传感器(陀螺仪+加速度),MPU6050
l 1个高性能音频解码芯片,WM8978
l 1个2.4G无线模块接口,支持NRF24L01无线模块
l 1路CAN接口,采用TJA1050芯片
l 1路485接口,采用SP2485
l 2路RS232串口(一公一母)接口,采用SP3232芯片
l 1路数字温度传感器,DS18B20
l 1个标准的2.4/2.8/3.5/4.3/7寸LCD接口,支持电阻/电容触摸屏
l 1个摄像头模块接口
l 1个OLED模块接口
l 1个USB串口,可用于程序下载
l 1个USB SLAVE接口,可用于USB从机通信
l 1个USB HOST(OTG)接口,用于USB从机通信
l 1个有源蜂鸣器
l 1个RS232/RS485选择接口
l 1个RS232/模块选择接口
l 1个CAN/USB选择接口
l 1个SD卡接口(在背面)
l 1个百兆以太网接口(RJ45)
l 1个录音头(MIC)
l 1路立体声音频输出接口
l 1路立体声录音输入接口
l 1路扬声器输出接口,可接1W左右小喇叭
l 1组5V电源接口
l 1组3.3V电源接口
l 1个参考电压设置接口
l 1个直流电源输入接口
l 1个启动模式选择配置接口
l 1个RTC后备电池座
l 1个复位按钮,可用于复位MCU和LCD
l 4个功能按钮,其中KEY_UP兼具唤醒功能
l 1个电源开关,控制整个板的电源
l 除晶振占用IO外,其余所有IO口全部引出
二、STM32F4开发板资源说明2.1硬件资源介绍1. NRF24L01 模块接口这是开发板板载的 NRF24L01 模块接口( J4),只要插入模块,启舰便可以实现无线通信,从而使得启舰板子具备了无线功能,但是这里需要 2 个模块和 2 个开发板同时工作才可以。如果只有 1 个开发板或 1 个模块,是没法实现无线通信的。
2. W25Q128 128M FLASH这是开发板外扩的 SPI FLASH 芯片( U11),容量为 128Mbit,也就是 16M 字节,可用于存储字库和其他用户数据,满足大容量数据存储要求。当然如果觉得 16M 字节还不够用,你可以把数据存放在外部 SD 卡。
3. SD 卡接口这是开发板板载的一个标准 SD 卡接口( SD_CARD),该接口在开发板的背面,采用大 SD卡接口(即相机卡, TF 卡是不能直接插的, TF 卡得加卡套才行), SDIO 方式驱动,有了这个SD 卡接口,就可以满足海量数据存储的需求。
4. 引出 IO 口(总共有三处)这是开发板 IO 引出端口,总共有三组主 IO 引出口: P1、 P2 和 P3。其中, P1 和 P2 分别采用 2*22 排针引出,总共引出 86 个 IO 口, P3 采用 1*16 排针,按顺序引出 FSMC_D0~D15等 16 个 IO 口。 而 STM32F407ZGT6 总共只有 112 个 IO,除去 RTC 晶振占用的 2 个 IO,还剩下 110 个,前面三组主引出排针,总共引出: 102 个 IO,剩下的分别通过: P6、 P9、 P10 和 P11引出。
5. JTAG/SWD 接口这是 ALIENTEK 探索者 STM32F4 开发板板载的 20 针标准 JTAG 调试口( JTAG),该 JTAG口直接可以和 Ulink、 Jlink 或者 STlink 等调试器(仿真器)连接,同时由于 STM32 支持SWD 调试,这个 JTAG 口也可以用 SWD 模式来连接。用标准的 JTAG 调试,需要占用 5 个 IO 口,有些时候,可能造成 IO 口不够用,而用 SWD则只需要 2 个 IO 口,大大节约了 IO 数量,但他们达到的效果是一样的,所以启舰强烈建议仿真器使用 SWD 模式!
6. CAN/USB 选择口这是一个 CAN/USB 的选择接口( P8),因为 STM32 的 USB 和 CAN 是共用一组 I( PA11和 PA12),所以启舰通过跳线帽来选择不同的功能,以实现 USB/CAN 的实验。
7. STM32F407ZGT6
这是开发板的核心芯片( U1),型号为: STM32F407ZGT6。该芯片集成 FPU 和 DSP 指令,
并具有 192KB SRAM、 1024KB FLASH、 12 个 16 位定时器、 2 个 32 位定时器、 2 个 DMA 控制器(共 16 个通道)、 3 个 SPI、 2 个全双工 I2S、 3 个 IIC、 6 个串口、 2 个 USB(支持 HOST /SLAVE)、2 个 CAN、 3 个 12 位 ADC、 2 个 12 位 DAC、 1 个 RTC(带日历功能)、 1 个 SDIO 接口、 1 个FSMC 接口、 1 个 10/100M 以太网 MAC 控制器、 1 个摄像头接口、 1 个硬件随机数生成器、 以及 112 个通用 IO 口等。
这是 USB 串口同 STM32F407ZGT6 的串口 1 进行连接的接口( P4),标号 RXD 和 TXD 是USB 转串口的 2 个数据口(对 CH340G 来说),而 PA9(TXD)和 PA10(RXD)则是 STM32 的串口1 的两个数据口(复用功能下)。他们通过跳线帽对接,就可以和连接在一起了,从而实现 STM32的程序下载以及串口通信。设计成 USB 串口,是出于现在电脑上串口正在消失,尤其是笔记本,几乎清一色的没有串口。所以板载了 USB 串口可以方便大家下载代码和调试。而在板子上并没有直接连接在一起,则是出于使用方便的考虑。这样设计,你可以把 ALIENTEK 探索者 STM32F4 开发板当成一个USB 转 TTL 串口,来和其他板子通信,而其他板子的串口,也可以方便地接到 ALIENTEK 探索者 STM32F4 开发板上。
9. USB HOST(OTG)这是开发板板载的一个侧插式的 USB-A 座( USB_HOST), 由于 STM32F4 的 USB 是支持HOST 的,所以启舰可以通过这个 USB-A 座,连接 U 盘/USB 鼠标/USB 键盘等其他 USB 从设备,从而实现 USB 主机功能。 不过特别注意,由于 USB HOST 和 USB SLAVE 是共用 PA11 和PA12,所以两者不可以同时使用。
10. 后备电池接口这是 STM32 后备区域的供电接口,可以用来给 STM32 的后备区域提供能量,在外部电源断电的时候,维持后备区域数据的存储,以及 RTC 的运行。
11. USB SLAVE这是开发板板载的一个 MiniUSB 头( USB_SLAVE),用于 USB 从机( SLAVE)通信,一般用于 STM32 与电脑的 USB 通信。 通过此 MiniUSB 头,开发板就可以和电脑进行 USB 通信了。 注意:该接口不能和 USB HOST 同时使用。
12. USB 转串口这是开发板板载的另外一个 MiniUSB 头( USB_232),用于 USB 连接 CH340G 芯片,从而实现 USB 转串口。同时,此 MiniUSB 接头也是开发板电源的主要提供口。
13. OLED/摄像头模块接口这是开发板板载的一个 OLED/摄像头模块接口( P20),如果是 OLED 模块,靠左插即可(右边两个孔位悬空)。如果是摄像头模块( ALIENTEK 提供),则刚好插满。通过这个接口,可以分别连接 2 个外部模块,从而实现相关实验。
14. 有源蜂鸣器这是开发板的板载蜂鸣器( BEEP),可以实现简单的报警/闹铃。让开发板可以听得见。
15. 红外接收头这是开发板的红外接收头( U13),可以实现红外遥控功能,通过这个接收头,可以接受市面常见的各种遥控器的红外信号,大家甚至可以自己实现万能红外解码。当然,如果应用得当,该接收头也可以用来传输数据。STM32F4 开发板给大家配备了一个小巧的红外遥控器。
16. DS18B20接口这是开发板的一个复用接口(Q2),该接口由 3个镀金排孔组成,可以用来接DS18B20/DS1820 等数字温度传感器。不用的时候,大家可以拆下上面的传感器,放到其他地方去用,使用上是十分方便灵活的。
17. 2 个 LED这是开发板板载的两个 LED 灯( D5 和 D6),这里提醒大家不要停留在 51 跑马灯的思维,搞这么多灯,除了浪费 IO 口,实在是想不出其他什么优点。启舰一般的应用 2 个 LED 足够了,在调试代码的时候,使用 LED 来指示程序状态,是非常不错的一个辅助调试方法。 STM32F4 开发板几乎每个实例都使用了 LED 来指示程序的运行状态。
18. 复位按钮这是开发板板载的复位按键( RESET), 用于复位 STM32,还具有复位液晶的功能,因为液晶模块的复位引脚和 STM32 的复位引脚是连接在一起的, 当按下该键的时候, STM32 和液晶一并被复位。
19. 启动选择端口这是开发板板载的启动模式选择端口( BOOT), STM32 有 BOOT0( B0)和 BOOT1( B1)两个启动选择引脚,用于选择复位后 STM32 的启动模式,作为开发板,这两个是必须的。在开发板上,启舰通过跳线帽选择 STM32 的启动模式。
20. 参考电压选择端口这是 STM32 的参考电压选择端口( P6),启舰默认是接开发板的 3.3V( VDDA)。如果大家想设置其他参考电压,只需要把你的参考电压源接到 Vref+和 GND 即可。
21. 4 个按键这是开发板板载的 4 个机械式输入按键( KEY0、 KEY1、 KEY2 和 KEY_UP),其中 KEY_UP具有唤醒功能,该按键连接到 STM32 的 WAKE_UP( PA0)引脚,可用于待机模式下的唤醒,在不使用唤醒功能的时候,也可以做为普通按键输入使用。其他 3 个是普通按键,可以用于人机交互的输入,这 3 个按键是直接连接在 STM32 的 IO口上的。这里注意 KEY_UP 是高电平有效,而 KEY0、 KEY1 和 KEY2 是低电平有效,大家在使用的时候留意一下。
22. MPU6050 传感器这是开发板板载的一个六轴传感器( U8), MPU6050 是一个高性能的六轴传感器,它内部集成 1 个三轴加速度传感器和 1 个三轴陀螺仪,并且带 DMP 功能,该传感器在四轴飞控方面应用非常广泛。所以喜欢玩四轴的朋友,也可以通过启舰的开发板进行学习。
23. 电源指示灯这是开发板板载的一颗蓝色的 LED 灯( PWR),用于指示电源状态。在电源开启的时候(通过板上的电源开关控制),该灯会亮,否则不亮。通过这个 LED,可以判断开发板的上电情况。
25. 扬声器接口这是开发板预留的一个扬声器接口( P18),可以外接 1W( 8Ω)左右的小喇叭(喇叭需要自备),这样使用 WM8978 放音的时候,就可以直接推动喇叭输出音频了。
26. 耳机输出接口这是开发板板载的音频输出接口( PHONE), 该接口可以插 3.5mm 的耳机, 当 WM8978
放音的时候,就可以通过在该接口插入耳机,欣赏音乐。
这是开发板板载的外部录音输入接口( LINE_IN) ,通过咪头启舰只能实现单声道的录音,而通过这个 LINE_IN,启舰可以实现立体声录音。
28. MIC(咪头)这是开发板的板载录音输入口( MIC),该咪头直接接到 WM8978 的输入上,可以用来实现录音功能。
29. 24C02 EEPROM这是开发板板载的 EEPROM 芯片( U12),容量为 2Kb,也就是 256 字节。用于存储一些掉电不能丢失的重要数据,比如系统设置的一些参数/触摸屏校准数据等。有了这个就可以方便的实现掉电数据保存。
30. 3.3V 电源输入/输出这是开发板板载的一组 3.3V 电源输入输出排针( 2*3)( VOUT1),用于给外部提供 3.3V的电源,也可以用于从外部接 3.3V 的电源给板子供电。大家在实验的时候可能经常会为没有 3.3V 电源而苦恼不已,有了 ALIENTEK 探索者STM32F4 开发板,你就可以很方便的拥有一个简单的 3.3V 电源( USB 供电的时候, 最大电流不能超过 500mA,外部供电的时候,最大可达 1000mA)。
31. 5V 电源输入/输出这是开发板板载的一组 5V 电源输入输出排针( 2*3)( VOUT2),该排针用于给外部提供5V 的电源,也可以用于从外部接 5V 的电源给板子供电。同样大家在实验的时候可能经常会为没有 5V 电源而苦恼不已, ALIENTEK 充分考虑到了大家需求,有了这组 5V 排针,你就可以很方便的拥有一个简单的 5V 电源( USB 供电的时候,最大电流不能超过 500mA,外部供电的时候,最大可达 1000mA)。
32. 电源开关这是开发板板载的电源开关( K1)。该开关用于控制整个开发板的供电,如果切断,则整个开发板都将断电,电源指示灯( PWR)会随着此开关的状态而亮灭。
33. DC6~16V 电源输入这是开发板板载的一个外部电源输入口( DC_IN),采用标准的直流电源插座。开发板板载了 DC-DC 芯片( MP2359),用于给开发板提供高效、稳定的 5V 电源。由于采用了 DC-DC 芯片,所以开发板的供电范围十分宽,大家可以很方便的找到合适的电源(只要输出范围在DC6~16V 的基本都可以)来给开发板供电。 在耗电比较大的情况下,比如用到 4.3 屏/7 寸屏/网口的时候,建议使用外部电源供电,可以提供足够的电流给开发板使用。
34. 以太网接口( RJ45)这是开发板板载的网口( EARTHNET),可以用来连接网线,实现网络通信功能。该接口使用 STM32F4 内部的 MAC 控制器外加 PHY 芯片,实现 10/100M 网络的支持。
35. RS485 总线接口这是开发板板载的 RS485 总线接口( RS485),通过 2 个端口和外部 485 设备连接。这里提醒大家, RS485 通信的时候,必须 A 接 A, B 接 B。否则可能通信不正常!
36. RS232/模块选择接口这是开发板板载的一个 RS232( COM3) /ATK 模块接口( U9) 选择接口( P11), 通过该选择接口,启舰可以选择 STM32 的串口 3 连接在 COM3 还是连接在 ATK 模块接口上面,以实现不同的应用需求。 这样的设计还有一个好处, 就是启舰的开发板还可以充当 RS232 到 TTL 串口的转换(注意,这里的 TTL 高电平是 3.3V)。
37. RS232/485 选择接口这是开发板板载的 RS232( COM2) /485 选择接口( P10),因为 RS485 基本上就是一个半双工的串口,为了节约 IO,启舰把 RS232( COM2) 和 RS485 共用一个串口,通过 P9 来设置当前是使用 RS232( COM2) 还是 RS485。这样的设计还有一个好处。就是启舰的开发板既可以充当 RS232 到 TTL 串口的转换,又可以充当 RS485 到 TTL485 的转换。(注意,这里的 TTL高电平是 3.3V)。
38. RS232 接口(公)这是开发板板载的一个 RS232 接口( COM3),通过一个标准的 DB9 公头和外部的串口连接。通过这个接口,启舰可以连接带有串口的电脑或者其他设备,实现串口通信。
39. LCD 接口这是开发板板载的 LCD 模块接口,该接口兼容 ALIENTEK 全系列 TFTLCD 模块,包括:2.4 寸、 2.8 寸、 3.5 寸、 4.3 寸和 7 寸等 TFTLCD 模块,并且支持电阻/电容触摸功能。
40. IS62WV51216 8M SRAM这是开发板外扩的 SRAM 芯( U5) 片,容量为 8M 位,也就是 1M 字节,这样,对大内存需求的应用(比如 GUI), 就可以很好的实现了
41. RS232 接口(母)这是开发板板载的另外一个 RS232 接口( COM2),通过一个标准的 DB9 母头和外部的串口连接。通过这个接口,启舰可以连接带有串口的电脑或者其他设备,实现串口通信
42. CAN 接口这是开发板板载的 CAN 总线接口( CAN),通过 2 个端口和外部 CAN 总线连接, 即 CANH和 CANL。这里提醒大家: CAN 通信的时候,必须 CANH 接 CANH, CANL 接 CANL, 否则可能通信不正常!