[应用相关]

《Alientek STM32开发板硬件详解》含电路图

[复制链接]
4167|3
手机看帖
扫描二维码
随时随地手机跟帖
dsdfdcdx|  楼主 | 2019-3-28 14:07 | 显示全部楼层 |阅读模式
原贴链接:http://www.openedv.com/forum.php?mod=viewthread&tid=92


ALIENTEK MiniSTM32开发板硬件详解
       本节将向大家介绍ALIENTEK MiniSTM32开发板的各部分硬件,让大家对该开发板的各部分硬件原理有个理解。
1.2.1 MCU
ALIENTEK MiniSTM32选择的是STM32F103RBT6作为MCU,STM32F103的型号众多,我们选择这款的原因是看重其性价比,作为一款低端开发板,选择STM32F103RBT6是最佳的选择。128K FLASH、20K SRAM、2个SPI、3个串口、1个USB、1个CAN、2个12位的ADC、RTC、51个可用IO脚…,这样的配置无论放到哪里都是很不错的了,更重要的是其价格,18元左右的零售价,足以秒杀很多其他芯片了,所以我们选择了它作为我们的主芯片。MCU部分原理图如下:

471a4a161dad5e2d16c644055d346432_989.jpg

                          图1.2.1.1  MCU部分原理图
上图中中上部的BOOT1用于设置STM32的启动方式,其对应启动模式如下表所示:

24b113ed7d38774e81df6e875351cc6f_575.jpg
                                                       表1.2.1.1 BOOT0、BOOT1启动模式表
我们用串口下载代码,则配置BOOT0为1,BOOT1为0即可,如果想让STM32一按复位键就开始跑代码,则需要配置BOOT0为0,BOOT1随便设置都可以。
P3和P1分别用于PORTA和PORTB的IO口引出,其中P2还有部分用于PORTC口的引出。PORTA和PORTB都是按顺序排列的,这样设计的目的是为了让大家更方便地与外部设备连接。
P2连接了DS18B20的数据口以及红外传感器的数据线,它们分别对应着PA0和PA1,只需要通过跳线帽将P2和P3连接起来就可以使用了。这里不直接连在一起的原因有二:1,防止红外传感器和DS18B20对这两个IO口作为其他功能使用的时候的影响;2,DS18B20和红外传感器还可以用来给其他板子提供输入,等于我们的板子为别的板子提供了红外接口和温度传感器,在调试的时候,还是蛮有用的。
P4口连接了PL2303的串口输出,对应着STM32的串口1(PA9/PA10),在使用的时候,也是通过跳线帽将这两处连接起来。这样设计有2个好处:1,使得PA9和PA10用作其他用途使用的时候,不受到PL2303的影响。2,USB转串口可以用作他用,并不仅限这个板上的STM32使用,也可以连接到其他板子上,这样ALIENEK MiniSTM32就相当于一个USB串口。
P5口是另外一个IO引出排阵,将PORTC和PORTD等的剩余IO口从这里引出。
在此部分原理图中,我们还可以看到STM32F103RBT6的各个IO口与外设的连接关系,这些将在后面给大家介绍。
这里STM32的VBAT采用CR1220纽扣电池和VCC3.3混合供电的方式,在有外部电源(VCC3.3)的时候,CR1220不给VBAT供电,而在外部电源断开的时候,则由CR1220给VBAT供电。这样,VBAT总是有电的,以保证RTC的走时以及后备寄存器的内容不丢失。
该部分还有JTAG,JTAG部分电路如下图:

b890581c632bcb637f68aa9c28b8b68d_700.jpg
                           图1.2.1.2  JTAG原理图
这里采用的是标准的JTAG接法,但是STM32还有SWD接口,SWD只需要最少2跟线(SWCLK和SWDIO)就可以下载并调试代码了,这同我们使用串口下载代码差不多,而且速度更快,能调试。所以建议大家在设计产品的时候,可以留出SWD来下载调试代码,而摒弃JTAG。STM32的SWD接口与JTAG是共用的,只要接上JTAG,你就可以使用SWD模式了(其实并不需要JTAG这么多线),JTAGV8和ULINK2都支持SWD。

1.2.2 EEPROM

ALIENTEK MiniSTM32自带了24C02的EEPROM芯片,该芯片的容量为2Kbit,也就是256个字节,对于我们普通应用来说是足够了的。你也可以选择换大的芯片,因为在原理上是兼容24C02~24C512全系列的EEPROM芯片的。其原理图如下:

a9915db7b9e590eea040285bf57063ed_450.jpg
                          图1.2.2.1  EEPROM原理图
这里我们把A0~A2均接地,对24C02来说也就是把地址位设置成了0了,写程序的时候要注意这点。IIC_SCL接在MCU的PC12上,IIC_SDA接在MCU的PC11上,这里我们并没有接到STM32内部的IIC上,因为STM32的IIC是**肋!如果你想在ALIENTEK MiniSTM32开发板上使用硬件IIC,那么也是可以的,你只需要设置PC11和PC12为浮空输入,然后把PB10和PB11(IIC2)或者PB6和PB7(IIC1)通过飞线连接到PC11和PC12上就可以使用硬件IIC了。

使用特权

评论回复
dsdfdcdx|  楼主 | 2019-3-28 14:08 | 显示全部楼层
1.2.3 温度传感器


温度传感器我们使用的是DS18B20,其原理图如下:
966765c9c64c5e2b98.png
                        图1.2.3.1  温度传感器原理图
     DS18B20的数据脚(18B20_DQ)接P2的第一脚,并没有直接连接到MCU,至于为什么,前面已有介绍。要使用这里,我们用跳线帽把PA0和P2-1连接起来就可以了。


1.2.4 按键


ALIENTEK MiniSTM32开发板总共有3个按键,其原理图如下:
435385c9c64d1a0d57.png
                       图1.2.4.1  按键输入原理图
KEY0和KEY1用作普通按键输入,分别连接在PA13和PA15上,他们都连接在了JTAG相关的引脚上(KEY0还连接在SWDIO上),这样,在使用KEY0和KEY1的时候,就不能使用JTAG来调试了,这点在使用的时候要注意。KEY0和KEY1还和PS/2的DAT和CLK线共用,他们都通过JTAG的上拉电阻来提供上拉。
WK_UP按键连接到PA0(STM32的WKUP引脚),它除了可以用作普通输入按键外,还可以用作STM32的唤醒输入。这个按键是高电平触发的。PA0还是DS18B20的输入引脚,所以在使用的时候要注意哦。

1.2.5 液晶显示模块


ALIENTEK MiniSTM32开发板载有目前比较通用的液晶显示模块接口,还有其比较有特色的兼容性接口,不仅支持2.4、2.8寸的TFTLCD,还支持OLED显示器。其原理图如下:
525895c9c64dd769c0.png
                           图1.2.5.1  液晶显示模块原理图
LCD1是一个通用的液晶模块接口。OLED是一个给OLED显示模块供电的接口,它和LCD1拼接在一起。当使用2.4’/2.8’的LCD时,我们接到LCD1上就可以了,而当我们使用ALIENTEK的OLED模块时,则接OLED排阵做电源,同时会连接到LCD1上的部分管脚,从而实现OLED与MCU的连接。ALIENTEK MiniSTM32的LCD接口兼容:ALIENTEK的TFTLCD模块、红牛开发板的液晶模块、CRE开发板的液晶模块、STMSKY开发板的液晶模块等。所以,如果有以上几款开发板的液晶模块,或者接口与上面原理图兼容的,都是可以在ALIENTEK MiniSTM32开发板上使用的。
这些引脚与MCU的连接关系我们在这里就不一一列出了,大家可以从MCU的原理图上找到。T_PEN是触摸屏的PEN信号输出,我们在这里加了滤波电路,使得触摸屏读数更加准确。

使用特权

评论回复
dsdfdcdx|  楼主 | 2019-3-28 14:09 | 显示全部楼层
1.2.6 红外接收头


ALIENTEK MiniSTM32开发板载有红外接收传感器HS0038,原理图如下:
                         864545c9c651452654.png
                        图1.2.6.1  红外接收传感器HS0038模块原理图
REMOTE_IN接到P2的第二脚,也没有直接接在MCU的IO口上,目的也是防止IO口在做其他功能使用的时候,收到红外信号的干扰。

1.2.7 PS/2


ALIENTEK MiniSTM32开发板载有PS/2接口,有了该接口,我们就可以用来连接外部标准的PS/2鼠标键盘了,也就大大的扩展了ALIENTEK MiniSTM32的输入。原理图如下:
492455c9c65269d0f0.png
                        图1.2.7.1  PS/2接口原理图
PS_CLK和PS_DAT分别接PA15和PA13,PS/2的信号线是需要外部提供上拉电阻的,这里我们和JTAG共用,使用JTAG的上拉电阻来提供,PS/2的CLK和DAT还与两个按键共用。所以在使用这几部分的时候,要特别注意,别冲突,可以分时复用。在使用PS/2的时候,同样不能使用JTAG调试。

1.2.8 LED


ALIENTEK MiniSTM32开发板上总共有3个LED,其原理图如下:
938545c9c65321f771.png
                              图1.2.8.1  LED原理图
其中PWR是系统电源指示灯,为蓝色。LED0和LED1分别接在PA8和PD2上,PA8还可以通过TIM1的通道1的PWM输出来控制DS0的亮度。为了方便大家判断,我们选择了DS0为红色,DS1为绿色的LED灯。

使用特权

评论回复
dsdfdcdx|  楼主 | 2019-3-28 14:11 | 显示全部楼层
1.2.9 SD卡


ALIENTEK MiniSTM32开发板载有标准的SD卡接口,有了这个接口,我们就可以外扩大容量存储设备,可以用来记录数据。其原理图如下:
231245c9c655e978c0.png
                           图1.2.9.1  SD卡接口原理图
SD卡我们使用的是SPI模式通信,SD卡的SPI接口连接到STM32的SPI1上,SD_CS接在PA3上,ALIENTEK MiniSTM32开发板上的SPI1总共由4个外设共用,他们分别是:SD卡、NRF24L01无线模块、JF24C无线模块和W25X16。他们可以通过不同的片选信号来分时复用。

1.2.10 无线模块


ALIENTEK MiniSTM32开发板板载了2款无线模块的接口,NRF24L01模块和JF24C模块,他们都属于2.4G通信的无线模块,并且都有性价比极高的特点。其中NRF24L01模块的最大通信速率为2Mbps,JF24C的为1Mbps。有了这个两个接口,我们就无线通信,以及其他很多的应用了。这部分原理图如下:
174165c9c656cbbe2a.png
                     图1.2.10.1  无线模块接口原理图
这两部分也是共用SPI接口,其余引脚与MCU的对应关系在MCU部分有,我们这里就不列出了。注意这两个无线模块是不能同时连接在板子上的!

1.2.11 SPI FLASH


ALIENTEK MiniSTM32开发板载有SPI FLASH芯片W25X16,该芯片的容量为2M字节,与AT45DB161属于同一级别,ATMEL的东西价格近来很不稳定,因而我们选择了价格稳定,货源较好,而且通用性很强的W25X16,其原理图如下:
396805c9c6581120af.png
                       图1.2.11.1  W25X16原理图
W25X16也是共用了SPI1,F_CS接在PA2上。至此,总共SPI1的四个器件都已介绍完毕,他们的CS都接在不同的IO口上(两个无线模块除外),所以在使用其中一个器件的时候,要记得禁止其他器件的CS脚,否则会有干扰。

1.2.12 USB串口、USB、电源


这里三个部分一起介绍,ALIENTEK MiniSTM32开发板板载了USB串口,并且由USB提供电源,使得我们只需要一根USB线就可以使用ALIENTEK MiniSTM32开发板了,包括下载、供电、调试3位一体。
ALIENTEK MiniSTM32开发板的供电部分还引出了5V和3.3V的排阵,可以用来为外部设备提供电源或者从外部引入电源,这在很多时候是非常有用的,有时候你突然要一个3.3V的电源,但找半天就是没这样的电源,而我们的板子则可直接向外部提供3.3V电源,有了它,你就可以给外部设备提供3.3V、5V电源了。注意电流不能太大哦!
ALIENTEK MiniSTM32开发板的USB接口通过独立的Mini USB头引出,不和USB_232共用,这样不但可以同时使用,还可以给系统提供更大的电流。
这几个部分的原理图如下:
505445c9c6591c8d16.png
                    图1.2.12.1  USB串口、USB、电源部分原理图
此部分还有一个开关BUTTON,用来控制整个系统的供电,如果断开则整个系统的3.3V部分都将断电。而5V部分的电源还是开启的。图中F1为可恢复保险丝,用于保护USB。
至此,整个开发板的硬件就介绍完了,了解了整个硬件对我们后面的软件设计会有很大帮助,希望大家细读!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

80

帖子

0

粉丝