开发板硬件结构.docx
《开发板硬件结构.docx》由会员分享,可在线阅读,更多相关《开发板硬件结构.docx(29页珍藏版)》请在冰豆网上搜索。
![开发板硬件结构.docx](https://file1.bdocx.com/fileroot1/2023-7/13/a992f8f7-c002-4fb6-9471-de6eae775f27/a992f8f7-c002-4fb6-9471-de6eae775f271.gif)
开发板硬件结构
第一章开发板硬件结构
OpenM3V开发板,是作者专门为本书设计的硬件原型,采用了ST公司基于M3核的STM32F103VB,可通过ISP下载及JTAG方式调试和下载。
开发板上提供了众多的功能部件,都是工程师在实际应用中常用和必需要使用的模块,充分使用这些模块能尽可能的发挥STM32系列的性能。
这些功能模块包括有键盘和LED灯功能部件;I2C方式接口的EEPROM储存器电路;两个RS232串口电路;简单AD采集电路,语音AD采集电路;CAN接口电路;USB接口电路;JTAG接口电路;后备供电电路;SPI方式接口的FLASH储存器接口电路模块,SPI方式接口的SD卡电路,SPI方式接口的128*64点阵液晶接口电路,SPI方式接口2.4G无线通信模块接口电路,SPI方式接口的779MHz至928MHz频段无线模块接口电路;PWM方式调光电路,PWM方式语音输出电路,连接直流无刷电机驱动板的接口电路等众多功能模块电路,同时结合灵活的跳线,所有的IO口都可以单独引出,极大的方便读者进行嵌入式开发实验。
1.1电路原理图
OpenM3V开发板硬件原理图如图1-1-1,1-1-2,1-1-3,1-1-4,1-1-5所示。
图1-1-1芯片最小系统部分
图1-1-2
图1-1-3
1.2原理图说明
1.2.1电源电路
STM32系列的工作电压(VDD)为2.0~3.6V。
通过内置的电压调节器提供所需的1.8V电源。
当主电源VDD掉电后,通过VBAT脚为实时时钟(RTC)和备份寄存器提供电源。
OpenM3V开发板电源电路如图1-2-1所示,使用USB口输入5V电源,通过电容滤波和电感对瞬态电流的限制,使用LM1117为系统提供稳定的3.3V电源。
当系统供电后,有一指示灯被点亮,提示系统处于供电状态。
图1-2-1电源电路
STM32F103V系列具有独立的模拟电源引脚,为了提高模拟系统的抗噪性,模拟部分应该与数字部分分开供电,如图1-2-2所示。
在电路上,使用L1,L2,C5,C6用于模拟电路部分隔离来自数字电路部分的噪声。
图1-2-2
1.2.2系统复位电路
在STM32系列芯片中,由于有完善的内部复位电路,外部复位电路就特别简单,只需要使用阻容复位方式就可以,图1-2-3是系统的复位电路。
图1-2-3复位电路图
1.2.3时钟电路
STM32系列的控制器可以使用外部晶振或外部时钟源,经过内部PLL或不经过内部PLL为系统提供参考时钟,也可以使用内部RC振荡器经过或不经过内部PLL为系统提供时钟源。
当使用外部晶振作为系统时钟源时,外部晶振的频率在4MHz—16MHz,可以为系统提供精确的系统参考源。
OpenM3V开发板使用8MHz外接晶振为系统提供精确的系统时钟参考,使用32.768kHz低速外部晶体作为RTC时钟源,连接到芯片的PC14、PC15脚。
具体电路见图1-2-4所示
图1-2-4晶振电路图
1.2.4JTAG接口电路
OpenM3V开发板采用标准14脚JTAG仿真调试接口。
14脚JTAG仿真调试接口信号定义与STM32F103VB连接如图1-2-5所示。
注意,当用户不使用JTAG口,而是作为普通IO口使用时,要注意其口线上的上拉和下拉电阻的影响,当然也可以焊下这些电阻不用。
图1-2-5JTAG接口电路
1.2.5串口电路
STM32系列芯片有2-5个不等异步串口,STM32F103VB拥有3个异步串口。
开发板通过一片MAX3232把串口1和串口2的3.3V电平转换为RS232电平。
通过一个跳线组J5,可以把这些端口与串口部分电路断开或相连接。
当跳线帽短接时,连接芯片引脚的到串口电平转换电路,当跳线帽断开时,这些脚可以作为通用IO口用。
开发板上,STM32F103VB的PA10(69脚)对应RX1,PA9(68脚)对应TX1,PA3(26脚)对应RX2,PA2(25脚)对应TX2。
这两个串口的数据发送端连接到DB9母头的2号脚,数据接收端连接到DB9母头的3号脚,DB9接头与PC机串口相接时,使用直连串口线相连接。
同时串口1可以作为程序ISP下载的接口。
具体电路见图1-2-6所示
图1-2-6串口电路图
1.2.6键盘电路
OpenM3V开发板有独立的7个按键,分别为K1—K7,如图1-2-7所示所示。
由于STM32F系列芯片的每一个引脚都可以定义为中断脚,也可以定义这些按键作为外部中断输入口,或用作唤醒在睡眠或停机状态的CPU。
开发板上,PE0连接K1,PE1连接K2…PE6连接K7。
虽然所有的STM32F系列芯片内部都有上拉和下拉选项,在此处加上上拉电阻只是更好的说明这个上拉电阻的作用。
在对功耗要求很严的应用中,按键的上拉电阻阻值应相应取大一点,以减少这一部分的电流消耗。
在按键的两端,加上一个电容,它能旁路掉一定量的键盘按下和松开时的抖动,其值在0.1uF到1.0uF间,此处采用0.1uF电容。
按键按下时,采集到的电压值为低,按键松开时,采集到的电压值为高。
通过判断连接到芯片IO口电压的高低来判断按键的状态。
图1-2-7按键电路图
1.2.7LED灯电路
OpenM3V开发板有独立的8个LED灯,使用IO口来控制,分别是使用PD0控制LED1,PD1控制LED2…PD7控制LED8。
当IO口为高电平时,LED灯灭,当IO口为低电平时,LED灯亮。
具体电路如图1-2-8所示。
图1-2-8LED电路图
同时还有一路使用PWM来模拟DAC输出可以调光输出的LED灯,电路如图1-2-9所示。
PWM_V连接芯片的PD14脚,也即重映射TIM4的CH3脚。
图1-2-9PWM驱动电路图
1.2.8I2C接口电路
STM32F103VB具有2路均支持400KHz高速通信模式的硬件I2C电路接口。
在开发板上使用一片具有I2C接口的EEPROM储存器芯片24C02,可以通过I2C接口实现数据的读写等操作。
电路图如图1-2-10所示,24C02连接到STM32F103VB的I2C_2接口,使用跳线J6与系统相接。
只有到跳线帽短接时,I2C_2接口的连接到24C02芯片上,当断开时,I2C_2接口可以用作普通的IO口。
I2C总线上拉电阻的值与总线速度有关,当总线速度高达400KHz时,应使用1K的电阻,可以实现快速的总线上升和下降变化。
当使用标志的100KHz总线速度时,可以选用5.6K或10K总线上拉电阻,以降低总线操作时的功率消耗。
为了兼容高速总线,此处选用1K总线上拉电阻。
图1-2-1024C02接口电路图
1.2.9ADC电路
STM32F103VB具有2个12位模数转换器,共有17个通道,转换速率高达1000KHz。
具有独立的参考电源引脚。
开发板通过跳线J12可以选择经过隔离的3.3V或语音采集电压参考,也可以直接从需要的地方引入参考电压。
注意J12跳线最多只能选择一个,开发板初始状态时参考源选择VREF_3.3。
具体跳线电路如图1-2-10
图1-2-11ADC参考跳线图
OpenM3V开发板提供一路直流电压测量电路,一路语音采集电路。
直流电压采集电路如图1-2-12所示,直流电压连接到ADC_13脚。
可调电阻调节输入到ADC的电压,在VIN点可以通过万用表测出电压值。
开发板上直接使用电源作为参考源,不能满足高精度的电压测量,也没有发挥出12位ADC的性能,如果需要完全发挥STM32F103VB芯片ADC的性能,需要使用精密参考源引入VREF+脚。
图1-2-12直流电压采集电路
1.2.10USB电路
USB外设实现了USB2.0全速总线接口。
USB外设支持USB挂起/恢复操作,可以停止设备时钟实现低功耗。
ST-EasyM3开发板通过USB接口提供电源,接口电路如图1-2-13所示。
通过J2跳线可以断开和接通USB电路,通过J1可以选择通过CPU控制上拉还是始终选择上拉。
如果选择CPU来控制上拉,则通过PC11来控制。
图1-2-13USB接口电路
1.2.11CAN电路
bxCAN是基本扩展CAN(BasicExtendedCAN)的缩写,它支持CAN协议2.0A和2.0B。
它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。
它也支持报文发送的优先级要求(优先级特性可软件配置)。
CAN主要用于对安全紧要的应用,bxCAN提供所有支持时间触发通信模式所需的硬件功能。
STM32F103VB芯片有一路硬件CAN接口,电路图1-2-14所示。
通过跳线J3来连接和断开芯片与CAN驱动的连接,使用65HVD230驱动芯片连接到CAN总线上。
使用J4跳线来选择使用使用终端200欧网络电阻。
图1-2-14CAN接口电路图
1.2.12语音采集和语音播放电路
STM32F103VB芯片拥有性能优越的ADC和高效的PWM输出,可以充分使用芯片的资源来进行语音的采集和语音输出。
图1-2-15是语音采集和语音输出的电路图。
语音采集使用ADC_1,使用语音采集时,ADC参考源要选择(J12)VREF_MIC。
语音采样使用18KHz/S的采样频率,使用12位数据。
语音输出PWM频率为18K,与语音采样速率一样。
我们可以通过PC机或MP3等设备输入音频信号,通过STM32采集,然后通过PWM方式输出来,通过扬声器或耳机复现,实现语音采集和语音播放。
图1-2-15语音采集和播放电路
1.2.13SPI接口电路
串行外设接口(SPI)允许芯片与外部设备以半/全双工、同步、串行方式通信。
此接口可以被配置成主模式,并为外部从设备提供通信时钟(SCK)。
接口还能以多主配置方式工作。
它可用于多种用途,包括使用一条双向数据线的双线单工同步传输。
STM32F103VB具有2路SPI接口,最高速度可以达到18MHz。
ST-EasyM3开发板上拥有众多的SPI接口设备,通过SPI可以很容易的连接众多设备,实现与这些设备的高速通信。
开发板上的SPI接口设备非常丰富,有2.4G无线模块接口,863MHz—925MHz频率无线模块接口,SD卡接口,128*64点阵液晶接口,FLASH储存器接口和TF/SD卡接口。
1》2.4G无线接口,其电路如图1-2-16所示。
通过J8跳线来连接和断开与2.4G无线模块控制口线与芯片的连接。
L4和C22及C23为无线模块电源进行滤波,保证无线模块电源的干净度。
STM32F103VB芯片的SPI2接口与无线模块的SPI接口相连。
图1-2-162.4G无线模块
2》830MHz—925MHz无线模块接口,其电路如图1-2-17所示。
通过J11来接通和断开芯片与模块的连接。
L5、C56和C57为无线模块电源进行滤波,以保证无线模块电源的干净度。
STM32F103VB芯片的SPI1与无线模块的SPI接口相连。
图1-2-17ISM工业频段无线模块
3》128*64点阵LCD模块接口,其电路如图1-2-18所示。
通过J7跳线来连通和断开芯片与LCD点阵模块的连接。
在开发板上,相应的放置了点阵液晶模块所必须的元器件。
当要使用点阵液晶模块时,J7跳线必须全部短接。
图1-2-18128*64点阵模块接口电路
4》SD/TF卡接口,其电路如图1-2-19所示。
通过跳线J9来选通和断开芯片与SD/TF卡的连接。
通过SD_POWER口线来控制SD/TF卡的供电,可以重新复位SD/TF卡。
通过对SD_FIND口线电平的判断,来识别SD/TF卡是否插入。
当SD/TF卡供电时,LED11灯将被点亮。
图1-2-19TF/SD卡接口电路
5》FLASH储存器接口,其具体电路如图1-2-20所示。
通过J10跳线来接通和断开芯片与FLASH储存器的连接。
在开发板上有一片具有SPI接口的FLASH储存器芯片SST25V016B,可以通过SPI接口高速的实现数据的读和写操作,SST25V016B连接到芯片的SPI2接口。
图1-2-20FLASH接口电路
1.2.14电机驱动板接口电路
STM32F系列芯片中,至少有一个高级定时器,这个定时器的许多功能是为方便控制电机设立的。
开发板上的电机驱动板接口,其具体电路如图1-2-21所示。
在J13接口中引入了T1_CH1、T1_CH1N、T1_CH2、T1_CH2N、T1_CH2、T1_CH2N用于控制电机的三相六极;T3_1_H1、T3_2_H2、T3_3_H3用于连接霍尔传感器,T4_1_B1、T4_2_B2用于连接编码器;ADC_1、ADC_2、ADC_3、ADC_T用于采集三相电流和驱动板上的温度;T1_BKIN用作紧急按钮用。
同时可以为开发板提供3.3V和5.0V电源。
图1-2-21电机驱动板接口
1.3开发板元器件布局图
OpenM3V开发板原件布局如图1-3-1所示。
图1-3-1开发板元器件图
1.3.1跳线器说明
OpenM3V开发板跳线器说明一览表见表1-3-1。
表1-3-1跳线器说明表
跳线器
IO口
跳线选择
功能说明
J1
PC11
USB_ABLE
此为三端跳线,短接USB_ABLE端时,由PC11控制上拉,短接地时,联通上拉电阻。
J2
PA12
USBDP
短接时,PA12连接USBDP
PA11
USBDM
短接时,PA11连接USBDM,使用USB时,两个都需短接。
J3
PB9
CANTX
短接时,PB9连接CANTX
PB8
CANRX
短接时,PB8连接CANRX,使用CAN时,两个都需短接。
J4
---
---
短接时,连接200欧电阻。
J5
PA9
TX1
短接时,PA9连接RS232电平转换芯片
PA10
RX1
短接时,PA12连接RS232电平转换芯片
PA2
TX2
短接时,PA12连接RS232电平转换芯片
PA3
RX2
短接时,PA12连接RS232电平转换芯片
J6
PB10
SCL2
短接时,连接24C02的SCL脚
PB11
SDA2
短接时,连接24C02的SDA脚
J7
PD8
LCD_A0
短接时,PD8连接点阵液晶模块的控制口线
PD9
LCD_REST
短接时,PD9连接点阵液晶模块的复位口线
PD10
LCD_SS
短接时,PD10连接点阵液晶模块的片选口线
PB15
MOSI_2
短接时,连接点阵液晶模块的MOSI脚
PB13
SCK_2
短接时,连接点阵液晶模块的SCK脚,
J8
与2.4G模块有关
PD11
PD
短接时,PD11连接2.4G无线模块掉电控制脚
PC9
IRQ
短接时,PC9连接2.4G无线模块中断输出脚
PA8
RF_SS
短接时,PA8连接2.4G无线模块片选脚
PD15
RSET
短接时,PD15连接2.4G无线模块复位脚
J9
PA0
SD_POWER
短接时,PA0连接SD卡电源电控制脚,
PC2
SD_FIND
短接时,PC2连接SD卡插入判断脚,
PA4
SD_SS
短接时,PA4连接SD卡片选脚,
PA5
SCK1
短接时,PA5连接SD卡SCK脚,
PA6
MISO1
短接时,PA6连接SD卡MISO脚,
PA7
MOSI1
短接时,PA7连接SD卡MOSI脚,
J10
PB12
FLASH_SS
短接时,PB12连接25P80的片选脚,
PB13
SCK2
短接时,PB13连接25P80的SCK脚,
PB14
MISO2
短接时,PB14连接25P80的MISO选脚,
PB15
MOSI2
短接时,PB15连接25P80的MOSI选脚,
J11
PB7
IRQ
短接时,PB7连接工业ISM频段无线模块中断输出脚
PC0
SLP
短接时,PB7连接工业ISM频段无线模块功能脚
PC1
RSET
短接时,PB7连接工业ISM频段无线模块复位脚
PC13
SEL
短接时,PB7连接工业ISM频段无线模块片选脚
PA5
SCK1
短接时,PB7连接工业ISM频段无线模块SCK脚
PA6
MISO1
短接时,PB7连接工业ISM频段无线模块MISO脚
PA7
MOSI1
短接时,PB7连接工业ISM频段无线模块MOSI脚
J12
VREF+
VREF_MIC
短接时,参考电源连接语音转换参考电源点
VREF+
VREF_3.3
短接时,参考电源连接到经过隔离的3.3V电源上
开发板上的众多功能模块,可以通过跳线与芯片连接或断开。
开发板上绝大部分采用2针跳线,跳线器的两边均标记有其相应的功能符号,当跳线短接时,CPU连接功能模块,当跳线断开时,CPU和功能模块断开,可以作为普通的IO口用。
在这12个跳线块中,J1,为三端跳线,可以选择跳接GND和USB_ABLE,J12为参考电源跳线块,当使用ADC模块时,必须选择一个参考源。
一般测试可以选用VREF_3.3,当使用语音采集电路时,可以选择VREF_MIC。
切记,参考源只能跳接一个,跳接VREF_3.3时,就不能接VREF_MIC,反之一样。
J5跳线块为接通UART1和UART2用,当使用UART1时,必须跳接TX1和RX1这两个跳线,当使用UART2时,必须跳接TX2和RX2。
其他的跳线块在使用器功能部件时必须全部跳接上。
下面对每一个跳线器做详细的说明:
J1USB上拉电阻控制
J1跳线器,其在开发板上位置见图1-3-2所示,是惟一的三端跳线器,跳线器的中间引脚连接上拉电阻控制端。
当跳线帽跳接到GND端时,中间引脚连接到GND,这时控制端口接入低电平,电路导通,使能上拉电阻。
当跳线帽端口跳接到USB_ABLE端口时,上拉电阻控制端与芯片的PC11端口相连,当PC11输出高电平时,电路截止,失能上拉电阻,当PC11输出低电平时,电路导通,使能上拉电阻。
这时可以在程序中来控制上拉电阻是否有效。
J2USB接口
通过跳线器J2的选择,STM32F103VB的USB数据引脚USBDP和USBDM连接到USB接口电路和USB插座上,可以通过USB进行数据通信。
J2跳线器和USB接口在开发板上位置见图1-3-2所示。
图1-3-2USB和CAN功能模块在PCB电路板上的位置图
J3CAN接口
通过跳线J3的选择,STM32F103VB的CAN总线CANRX和CANTX链接到CAN总线驱动器上,可以实现CAN总线通信。
开发板上的CAN总线驱动器没有采用隔离电源和实行电气隔离,在真正的实际应用中,隔离是必不可少的,由于需要隔离,增加了CAN总线的使用成本。
J3跳线器及CAN接口在开发板上的位置见图1-3-3所示。
J4终端网络电阻
当此设备处在CAN总线的终端是,通过J4跳线选择接入200欧的终端电阻。
当此设备不是CAN总线终端设备时,去掉J4跳线帽,断开终端电阻。
J4跳线器在开发板上的位置见图1-3-3所示。
J5UART串口
通过J5跳线器的选择,STM32F103VB的UART1和UART2引脚连接到MAX3232转换芯片上,进而连通道DB9插座上,从而可以进行串口通信。
当短接RX1和TX1跳线帽时,UART1串口被连接,当短接RX2和TX2时,UART2串口被连接。
UART1和UART2可以独立被连接使用。
J5跳线器及串口在开发板上的位置见图1-3-4所示。
图1-3-4
J6I2C接口
通过跳线器J6的选择,STM32F103VB芯片的I2C总线SCL2和SDA2将与开发板上的24C02相连,芯片可以通过I2C总线对24C02进行读或写操作。
J6和24C02在开发板上具体位置见图1-3-5所示。
图1-3-5
J7点阵液晶接口
通过跳线器J7的选择,STM32F103VB芯片可以连接到128*64点阵液晶模块上,以驱动液晶模块。
芯片通过PD8脚控制液晶模块A0口,以实现数据和指令的转换,通过PD9脚来控制液晶模块的复位脚,通过PD10脚来作为SPI选择液晶模块的片选脚。
液晶模块连接到芯片的SPI2接口。
J7跳线器和128*64液晶模块接口在开发板上的具体位置见图1-3-6所示。
开发板标准配置没有此液晶模块。
图1-3-6
J82.4G无线模块接口
通过跳线器J8的选择,STM32F103VB芯片可以连接到2.4G无线模块上,以驱动无线模块实现数据的无线通讯完成。
开发板上标准配置没有2.4G无线模块,其具体位置见图1-3-7所示。
图1-3-7
J9SD/TF卡
通过跳线器可以选择,STM32F103VB芯片的SPI1可以连接到SD/TF卡接口上。
由于TF卡广泛应用于手机和数码设备中,在通用的容量下,有更小的体积,在市场中的占有量大大超过SD卡,具有更大的通用性,在开发板上没有选用大多数开发板选用的SD卡座,而是选用了更加通用的TF卡座。
短接跳线器J9,芯片通过PA0脚,可以控制SD/TF卡的电源开关;芯片通过对PC2脚电平的读取,可以获知TF卡是否插入到卡座中;PA4为SP1是否选择TF卡通讯的片选脚。
J9跳线器和TF卡座在开发板上具体位置如图1-3-8所示。
J10FLASH存储器
通过跳线器J10可以选择,芯片的SPI2接口可以连接到FLASH存储器SST25VF016B芯片上,通过SPI对SST25VF016B进行读写操作。
J10跳线器在板上的具体位置见图1-3-5所示。
J11工业ISM频段模块
通过跳线器J11的选择,STM32F103VB芯片可以连接到工业ISM频段无线模块上,以驱动无线模块实现数据的无线通讯完成。
开发板上标准配置没有工业ISM频段无线模块,J11跳线器和工业ISM频段无线模块在开发板上的具体位置见图1-3-9所示。
图1-3-9
J12ADC参考电源
通过跳线J12可以选择不用的ADC转换标准源。
J12跳线只能选择一个,或者不选择。
J12跳线器绝对不可以同时选择,这是和其他跳线器要区别的地方。
当使用ADC采集语音数据时,需要把J12跳线器的VREF_MIC短接,VREF_3.3要断开;当进行一般ADC转换测试时,短接VREF_3.3,断开VREF_MIC跳线。
也可以从别处引入标准电压源到VREF+端,这时,不能跳接任何一个跳线帽在J12上。
J12跳线器在开发板上具体位置见图1-3-9所示。
1.3.2硬件资源使用
表1-3-2是开发板芯片资源使用情况表
表1-3-2
引脚号
I/O号
实现功能
备注
引脚号
I/O号
实现功能
备注
1
PE2
K3
51
PB12
PB12
2
PE3
K4
52
PB13
PB13
3
PE4
K5
53
PB14
PB14
4
PE5
K6
54
PB15
PB15
5
PE6
K7
55
PD8
PD8
6
VBAT
56
PD9
PD9
7
PC13
PC13
57
PD10
PD10
8
PC14
PC14
58
PD11
PD11
9
PC15
PC15
59
PD12
PD12
10
Vss_5
60
PD13
PD13
11
Vdd_5
61