第二章战舰STM32开发板实验平台硬件资源详解.pdf
《第二章战舰STM32开发板实验平台硬件资源详解.pdf》由会员分享,可在线阅读,更多相关《第二章战舰STM32开发板实验平台硬件资源详解.pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、14 第二章实验平台硬件资源详解本章,我们将节将向大家详细介绍ALIENTEK战舰 STM32 开发板各部分的硬件原理图,让大家对该开发板的各部分硬件原理有个深入理解,并向大家介绍开发板的使用注意事项,为后面的学习做好准备。本章将分为如下两节:1.1,开发板原理图详解;1.2,开发板使用注意事项;2.1 开发板原理图详解2.1.1 MCU ALIENTEK战舰STM32开发板选择的是STM32F103ZETT6作为MCU,该芯片是STM32F103 里面配置非常强大的了,它拥有的资源包括:64KB SRAM、512KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、3 个
2、SPI、2 个 IIC、5 个串口、1 个 USB、1个 CAN、3 个 12 位 ADC、1 个 12 位 DAC、1 个 SDIO 接口、1 个 FSMC 接口以及 112 个通用IO 口。该芯片的配置十分强悍,并且还带外部总线(FSMC)可以用来外扩SRAM 和连接 LCD等,通过FSMC 驱动 LCD,可以显著提高LCD 的刷屏速度,更重要的是其价格,23 元左右的零售价,足以秒杀很多其他芯片了。所以我们选择了它作为我们的主芯片。MCU部分的原理图如图 2.1.1.1(请大家打开开发板光盘的原理图查看清晰版本)所示:ALIENTEK 战舰STM32 开发板15 图 2.1.1.1 MC
3、U 部分原理图上图中 U5 为我们的主芯片:STM32F103ZET6。这里主要讲解一下3 个地方:1,后备区域供电脚VBAT 脚的供电采用CR1220 纽扣电池和VCC3.3 混合供电的方式,在有外部电源(VCC3.3)的时候,CR1220 不给 VBAT 供电,而在外部电源断开的时候,则由 CR1220给其供电。这样,VBA T 总是有电的,以保证RTC 的走时以及后备寄存器的内容不丢失。2,图中的R37 和 R38 用隔离 MCU 部分和外部的电源,这样的设计主要是考虑了后期维护,如果 3.3V 电源短路,可以断开这两个电阻,来确定是MCU 部分短路,还是外部短路,有助于生产和维修。当然
4、大家在自己的设计上,这两个电阻是完全可以去掉的。3,图中 P7 是参考电压选择端口。我们开发板默认是接板载的3.3V 作为参考电压,如果大家想用自己的参考电压,则把你的参考电压接入VREF-和 VREF+即可。ALIENTEK 战舰STM32 开发板16 2.1.2 引出 IO 口ALIENTEK战舰 STM32 开发板引出了STM32F103ZET6 的所有 IO 口,如图2.1.2.1 所示:图 2.1.2.1 引出 IO 口图中 P4 和 P5 为 MCU 主 IO 引出口,这两组排针每组引出IO 数位 54 个,共 108 个 IO 从这里引出。STM32F103ZET6 总共有 11
5、2 个 IO,除去 RTC 晶振占用的2 个,还剩 110 个,这两组 IO 引出除 PA9 和 PA10 以外的所有IO 口。大家可以通过这两组IO 引出口,方便的扩展自己的外设。(PA9 和 PA10 通过 P6 引出)2.1.3 USB 串口/串口 1 选择接口ALIENTEK战舰 STM32 开发板板载的USB 串口和 STM32F103ZET6 的串口是通过P6 连接起来的,如图2.1.3.1 所示:、图 2.3.1.1 USB 串口/串口 1 选择接口图中 TXD/RXD是相对 CH340G 来说的,也就是 USB 串口的发送和接受脚。而 USART1_RXALIENTEK 战舰S
6、TM32 开发板17 和 USART1_TX 则是相对于STM32F103ZET6 来说的。这样,通过对接,就可以实现USB 串口和 STM32F103ZET6 的串口通信了。同时,P6是 PA9 和 PA10 的引出口。这样设计的好处就是使用上非常灵活。比如需要用到外部TTL 串口和 STM32 通信的时候,只需要拔了跳线帽,通过杜邦线连接外部TTL 串口,就可以实现和外部设备的串口通信了;又比如我有个板子需要和电脑通信,但是电脑没有串口,那么你就可以使用开发板的RXD 和 TXD来连接你的设备,把我们的开发板当成USB 串口用了。2.1.4 JTAG/SWD ALIENTEK战舰 STM3
7、2 开发板板载的标准20 针 JTAG/SWD 接口电路如图2.1.4.1 所示:图 2.1.4.1 JTAG/SWD 接口这里,我们采用的是标准的JTAG 接法,但是 STM32 还有 SWD 接口,SWD 只需要最少2跟线(SWCLK 和 SWDIO)就可以下载并调试代码了,这同我们使用串口下载代码差不多,而且速度非常快,能调试。所以建议大家在设计产品的时候,可以留出SWD 来下载调试代码,而摒弃 JTAG。STM32 的 SWD 接口与 JTAG 是共用的,只要接上JTAG,你就可以使用SWD模式了(其实并不需要JTAG 这么多线),当然,你的调试器必须支持SWD 模式,JLINK V7
8、/V8、ULINK2和 ST LINK 等都支持SWD 调试。2.1.5 SRAM ALIENTEK战舰 STM32 开发板外扩了1M 字节的 SRAM 芯片,如图2.1.5.1 所示:ALIENTEK 战舰STM32 开发板18 图 2.1.5.1 外扩 SRAM 图中 U6 为外扩的 SRAM 芯片,型号为:IS62WV51216,容量为 1M 字节,该芯片挂在STM32的 FSMC 上。这样大大扩展了STM32 的内存(芯片本身只有64K 字节),从而在需要大内存的场合,战舰STM32 开发板也可以胜任。2.1.6 LCD/OLED模块接口ALIENTEK战舰 STM32 开发板板载的L
9、CD/OLED 模块接口电路如图2.1.6.1 所示:图 2.1.6.1 LCD/OLED模块接口图中 TFT_LCD 是一个通用的液晶模块接口,而OLED 是一个给OLED 显示模块供电的接口,它和TFT_LCD 拼接在一起,组合成一个组合接口。当使用2.4 寸/2.8 寸/3.5 寸的 LCD 时,我们接到TFT_LCD 上就可以了(靠右插),而当我们使用ALIENTEK 的 OLED 模块时,则接ALIENTEK 战舰STM32 开发板19 OLED 排针做电源,同时会连接到TFT_LCD 上的部分管脚(靠左插),从而实现 OLED 与 MCU的连接。TFTLCD 模块也是接在STM32
10、F103ZET6 的 FSMC 上的,相比战舰STM32 开发板,这样可以显著提高LCD 刷屏速度。图中的T_MISO/T_MOSI/T_PEN/T_CS/T_CS用来实现对液晶触摸屏的控制。LCD_BL则控制 LCD 的背光。液晶复位信号RESET 则是直接连接在开发板的复位按钮上,和MCU 共用一个复位电路。2.1.7 复位电路ALIENTEK战舰 STM32 开发板的复位电路如图2.1.7.1 所示:图 2.1.7.1 复位电路因为 STM32 是低电平复位的,所以我们设计的电路也是低电平复位的,这里的 R32 和 C51构成了上电复位电路。同时,开发板把TFT_LCD 的复位引脚也接在
11、RESET 上,这样这个复位按钮不仅可以用来复位MCU,还可以复位LCD。2.1.8 启动模式设置接口ALIENTEK战舰 STM32 开发板的启动模式设置端口电路如图2.8.1.1 所示:图 2.8.1.1 启动模式设置接口上图的 BOOT0 和 BOOT1 用于设置STM32 的启动方式,其对应启动模式如表2.1.8.1 所示:表 2.8.1.1 BOOT0、BOOT1 启动模式表按照表 2.8.1.1,一般情况下如果我们想用用串口下载代码,则必须配置BOOT0 为 1,BOOT1为 0,而如果想让STM32 一按复位键就开始跑代码,则需要配置BOOT0 为 0,BOOT1 随便设ALIE
12、NTEK 战舰STM32 开发板20 置都可以。这里ALIENTEK战舰 STM32 开发板专门设计了一键下载电路,通过串口的DTR和 RTS 信号,来自动配置BOOT0 和 RST 信号,因此不需要用户来手动切换他们的状态,直接串口下载软件自动控制,可以非常方便的下载代码。2.1.9 RS232 串口ALIENTEK战舰 STM32 开发板板载的RS232 串口电路,如图2.1.9.1 所示:图 2.1.9.1 RS232 串口因为 RS232 电平不能直接连接到STM32,所以需要一个电平转换芯片。这里我们选择的是 SP3232(也可以用MAX3232)来做电平转接,同时图中的P9 用来实
13、现RS232/RS485 的选择,以满足不同实验的需要。图中USART2_TX/USART2_RX连接在MCU的串口2 上(PA2/PA3),所以这里的RS232/RS485 都是通过串口2 来实现的。图中RS485_TX 和 RS485_RX 信号接在SP3485 的 DI和 RO 信号上。因为 P9 的存在,其实还带来另外一个好处,就是我们可以把开发板变成一个RS232 电平转换器,或者RS485 电平转换器,比如你买的核心板,可能没有板载RS485/RS232 接口,通过连接战舰STM32 开发板的P9 端口,就可以让你的核心板拥有RS232/RS485 的功能。2.1.10 RS485
14、 接口ALIENTEK战舰 STM32 开发板板载的RS485 接口电路如图2.1.10.1 所示:图 2.1.10.1 RS485 接口RS485 电平也不能直接连接到STM32,同样需要电平转换芯片。这里我们使用SP3485 来ALIENTEK 战舰STM32 开发板21 做 485 电平转换,其中R45 为匹配电阻。RS485_RX/RS485_TX连接在P9 上面,通过P9 跳线来选择是否连接在MCU上面,RS485_RE 则是直接连接在MCU 的 IO 口(PG9)上的,该信号用来控制SP3485 的工作模式(高电平为发送模式,低电平为接收模式)。2.1.11 CAN/USB 接口A
15、LIENTEK战舰STM32 开发板板载的CAN接口电路以及STM32 USB 接口电路如图2.1.11.1 所示:图 2.1.11.1 CAN/USB 接口CAN 总线电平也不能直接连接到STM32,同样需要电平转换芯片。这里我们使用TJA1050来做 CAN 电平转换,其中R48 为匹配电阻。USB_D+/USB_D-连接在 MCU 的 USB 口(PA12/PA11)上,同时,因为STM32 的 USB 和CAN 共用这组信号,所以我们通过P13 来选择使用USB 还是 CAN。图中的 USB 端子还具有供电功能,VUSB 为开发板的USB 供电口,通过这个USB 口,就可以给整个开发板
16、供电了。2.1.12 EEPROM ALIENTEK战舰 STM32 开发板板载的EEPROM 电路如图2.1.12.1 所示:图 2.1.12.1 EEPROM ALIENTEK 战舰STM32 开发板22 EEPROM 芯片我们使用的是24C02,该芯片的容量为2Kb,也就是 256 个字节,对于我们普通应用来说是足够了的。当然,你也可以选择换大的芯片,因为我们的电路在原理上是兼容24C0224C512 全系列 EEPROM 芯片的。这里我们把A0A2 均接地,对24C02 来说也就是把地址位设置成了0 了,写程序的时候要注意这点。IIC_SCL 接在 MCU 的 PB10 上,IIC_S
17、DA 接在 MCU 的 PB11 上,这里我们虽然接到 STM32 的硬件 IIC 上,但是我们并不提倡使用硬件IIC,因为 STM32 的 IIC 是鸡肋!请谨慎使用。IIC_SCL/IIC_SDA总线上总共挂了3 个器件:24C02、ADXL345和 RDA5820,后续我们将向大家介绍另外两个器件。2.1.13 游戏手柄接口ALIENTEK战舰 STM32 开发板板载的游戏手柄接口电路如图2.1.13.1 所示:图 2.1.13.1 游戏手柄接口因为很多FC 游戏机(俗称红白机/小霸王游戏机)的手柄都是9 针接口,刚好可以插到9 针的串口公头里面。这里我们使用一个DB9 公头来做FC 游
18、戏手柄接口。JOY_CLK/JOY_LAT/JOY_DAT 分别连接在MCU 的 PC12/PC8/PC9 上,这 3 个信号和SDIO的 SCK/D0/D1 共用,所以他们不能同时使用!这里特别提醒:因为这个DB9 的 2,3 脚直接接在 STM32 的 IO 口,所以,这个口一定不要接RS232 串口!否则可能直接把STM32F103ZET6给烧了。2.1.14 SPI FLASH ALIENTEK战舰 STM32 开发板板载的SPI FLASH 电路如图2.1.14.1 所示:图 2.1.14.1 SPI FLASH 芯片ALIENTEK 战舰STM32 开发板23 SPI FLASH
19、芯片型号为W25Q64,该芯片的容量为64Mb,也就是8M 字节。该芯片和SD卡、NRF24L01 共用一个 SPI(SPI2),通过片选来选择使用某个器件,在使用其中一个器件的时候,请务必禁止另外两个器件的片选信号。图中 F_CS连接在 MCU 的 PB12 上,SPI2_SCK/SPI2_MOSI/SPI2_MISO则分别连接在MCU的 PB13/PB15/PB14 上。2.1.15 3D 加速度传感器ALIENTEK战舰 STM32 开发板板载的3D 加速度传感器电路如图2.1.15.1 所示:图 2.1.15.1 3D 加速度传感器3D 加速度传感器芯片型号为ADXL345,该芯片具有
20、分辨率高(13 位),测量范围大(16g)的特点,支持多种接口,这里我们使用IIC 接口来访问。同 24C02 一样,该芯片的IIC_SCL 和 IIC_SDA 同样是挂在PB10 和 PB11 上,他们共享一个 IIC 总线。2.1.16 温湿度传感器接口ALIENTEK战舰 STM32 开发板板载的温湿度传感器接口电路如图2.1.16.1 所示:图 2.1.16.1 温湿度传感器接口该接口支持DS18B20/DS1820/DHT11等单总线数字温湿度传感器。1WIRE_DQ是传感器的数据线,该信号连接在MCU 的 PG11 上。2.1.17 红外接收头ALIENTEK战舰 STM32 开发
21、板板载的红外接收头电路如图2.1.17.1 所示:ALIENTEK 战舰STM32 开发板24 图 2.1.17.1 红外接收头HS0038 是一个通用的红外接收头,几乎可以接收市面上所有红外遥控器的信号,有了它,就可以用红外遥控器来控制开发板了。REMOTE_IN为红外接收头的输出信号,该信号连接在MCU 的 PB9 上。2.1.18 无线模块接口ALIENTEK战舰 STM32 开发板板载的无线模块接口电路如图2.1.18.1 所示:图 2.1.18.1 无线模块接口该接口用来连接NRF24L01 等 2.4G 无线模块,从而实现开发板与其他设备的无线数据传输(注意:NRF24L01 不能
22、和蓝牙/WIFI 连接)。NRF24L01 无线模块的最大传输速度可以达到2Mbps,传输距离最大可以到30 米左右(空旷地,无干扰)。NRF_CE/NRF_CS/NRF_IRQ连接在 MCU 的 PG6/PG7/PG8 上,而另外3 个 SPI 信号则和SPI FLASH 共用。2.1.19 LED ALIENTEK战舰 STM32 开发板板载总共有3 个 LED,其原理图如图2.1.19.1 所示:ALIENTEK 战舰STM32 开发板25 图 2.1.19.1 LED 其中 PWR 是系统电源指示灯,为蓝色。LED0 和 LED1 分别接在PB5 和 PE5 上。为了方便大家判断,我们
23、选择了DS0 为红色的LED,DS1 为绿色的LED。2.1.20 按键ALIENTEK战舰 STM32 开发板板载总共有4 个输入按键,其原理图如图2.1.20.1 所示:图 2.1.20.1 输入按键KEY0、KEY1 和 KEY2 用作普通按键输入,分别连接在PE4、PE3 和 PE2 上,这里并没有使用外部上拉电阻,但是STM32 的 IO 作为输入的时候,可以设置上下拉电阻,所以我们使用STM32 的内部上拉电阻来为按键提供上拉。WK_UP 按键连接到PA0(STM32 的 WKUP 引脚),它除了可以用作普通输入按键外,还可以用作 STM32 的唤醒输入。这个按键是高电平触发的。2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 战舰 STM32 开发 板实 平台 硬件 资源 详解
限制150内