开发板硬件结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章开发板硬件结构
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方式接口的779 MHz 至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-5 JTAG接口电路
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-8 LED电路图
同时还有一路使用PWM来模拟DAC输出可以调光输出的LED灯,电路如图1-2-9所示。PWM_V连接芯片的PD14脚,也即重映射TIM4的CH3脚。
图 1-2-9 PWM驱动电路图
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-10 24C02接口电路图
1.2.9ADC电路
STM32F103VB具有2个12位模数转换器,共有17个通道,转换速率高达1000KHz。具有独立的参考电源引脚。开发板通过跳线J12可以选择经过隔离的3.3V或语音采集电压参考,也可以直接从需要的地方引入参考电压。注意J12跳线最多只能选择一个,开发板初始状态时参考源选择VREF_3.3。具体跳线电路如图1-2-10
图 1-2-11 ADC参考跳线图
OpenM3V开发板提供一路直流电压测量电路,一路语音采集电路。直流电压采集电路如图1-2-12所示,直流电压连接到ADC_13脚。可调电阻调节输入到ADC的电压,在VIN点可以通过万用表测出电压值。开发板上直接使用电源作为参考源,不能满足高精度的电压测量,也没有发挥出12位ADC的性能,如果需要完全发挥STM32F103VB芯片ADC的性能,需要使用精密参考源引入VREF+脚。