3.系统硬件设计
本设计的硬件主要包括STM32模块,LCD模块,SD卡模块和按键模块。STM32模块不仅作为核心控制器,还包括ADC设备,它主要包括STM32最小系统电路。LCD模块主要包括LCD驱动接口电路。SD卡模块主要是SD卡驱动电路。除此之外,还有用于程序下载调试的J-Link接口电路和电源电路等。
3.1 STM32最小系统
本模块主要介绍STM32芯片和设计中用到的外设模块。
STM32最小系统使用外部高速时钟,外接8M晶振。STM32的两个BOOT引脚都接低电平,以使用户闪存存储器为程序启动区域。芯片采用J - L i n k下载模式,也可以进行硬件调试。STM32的电源引脚都接了滤波电容以确保单片机电源的稳定。
STM32F103VET6拥有3个ADC,这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。STM32的ADC最大的转换速率为1Mhz,也就是转换时间为1us(ADCCLK=14M,采样周期为1.5个ADC时钟下得到),不能让ADC的时钟超过14M,否则将导致结果准确度下降。STM32将ADC的转换分为2个通道组:规则通道组和注入通道组。规则通道相当于运行的程序,而注入通道就相当于中断。在程序正常执行的时候,中断是可以打断程序正常执行的。同这个类似,注入通道的转换可以打断规则通道的转换,在注入通道被转换完成之后,规则通道才得以继续转换。
本设计中ADC采集的数据使用DMA进行传输,以达到高速实时的目的。
3.2 ADC控制电路
STM32的数字/模拟转换模块(DAC)是12位数字输入,电压输出的数字/模拟转换器。本设计中使用DAC来控制ADC匹配电路的增益。
在打开DAC模块电源和配置好DAC所需GPIO的基础上,往DAC通道的数据DAC_DHRx寄存器写入数据,如果没有选中硬件触发,存入寄存器DAC_DHRx的数据会在一个APB1时钟周期后自动传至寄存器DAC_DORx.一旦数据从DAC_DHRx寄存器装入DAC_DORx寄存器,在经过一定时间之后,输出即有效,这段时间的长短依电源电压和模拟输出负载的不同会有所变化。
为了扩大测量范围和测量精度,本设计在STM32的ADC前加入匹配电路。在ADC控制电路中,输入信号先经过射极电压跟随电路,然后经过分压电路,使输入信号满足AD603的输入要求。然后再经过射极电压跟随电路,输入ADC输入端。AD603的控制输入使用STM32的DAC,可以满足增益的要求。
匹配电路以AD603为核心。AD603为单通道、低噪声、增益变化范围线性连续可调的可控增益放大器。带宽90MHz时,其增益变化范围为-10dB~+30dB;带宽为9M时范围为10~50dB.
将V O U T与F D B K短路,即为宽频带模式(90MHz宽频带),AD603的增益设置为-11.07dB~+31.07dB.AD603的5、7脚相连,单片AD603的可调范围为-10dB~30dB.AD603的增益与控制电压成线性关系,其增益控制端输入电压范围为±500mv,增益调节范围为40dB,当步进5dB时,控制端电压需增大:
ADC匹配电路的电路图如图2所示。
3.3 LCD控制电路
本设计所使用的LCD为2.4寸,320×240分辨率。LCD模块使用STM32的FSMC接口控制。
FSMC(Flexible Static Memory Controller)即可变静态存储控制器,是STM32系列中内部集成256KB以上Flash,后缀为xC、xD和xE的高存储密度微控制器特有的存储控制机制。通过对特殊功能寄存器的设置,FSMC能够根据不同的外部存储器类型,发出相应的数据/地址/控制信号类型以匹配信号的速度,从而使得STM32系列微控制器不仅能够应用各种不同类型、不同速度的外部静态存储器,而且能够在不增加外部器件的情况下同时扩展多种不同类型的静态存储器,满足系统设计对存储容量、产品体积以及成本的综合要求。
在STM32内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚,实现内核与外部存储器之间的数据交互。F S M C起到桥梁作用,既能够进行信号类型的转换,又能够进行信号宽度和时序的调整,屏蔽掉不同存储类型的差异,使之对内核而言没有区别。
FSMC可以连接NOR/PSRAM/NAND/PC卡等设备,并且拥有FSMC_A[25:0]共26条地址总线,FSMC[15:0]共16条数据总线。另外,FSMC扩展的存储空间被分成8个块。通过地址线选择操作的块。这样,LCD将被看作一个拥有一块地址空间的存储器进行操作。
3.4 SD卡驱动电路
本设计中使用的SD卡为MicroSD,也称TF卡。MicroSD卡是一种极细小的快闪存储器卡,主要应用于移动电话,但因它的体积微小和储存容量的不断提升,现在已经使用于GPS设备、便携式音乐播放器、数码相机和一些快闪存储器盘中。MicroSD卡引脚图如图9所示。
MicroSD卡与SD卡一样,有SPI和SDIO两种操作时总线。SPI总线相对于SDIO总线接口简单,但速度较慢。我们使用SDIO模式。
MicroSD卡在SDIO模式时有4条数据线。
其实,MicroSD在SDIO模式时有1线模式和4线模式,也就是分别使用1根或4根数据线。当然,4线模式的速度要快于1线模式,但操作却较复杂。本设计中使用的是SDIO的4线模式。MicroSD卡的硬件连接图如图3所示。