1、目 录1 前言12 总体方案设计32.1 方案比较32.1.1 声源信号产生方案32.1.2 声源的选择32.1.3 坐标解算方案42.2 方案选择43 单元模块设计63.1 各单元模块功能介绍及电路设计63.1.1 555构成的多谐振荡器电路63.1.2 电源电路设计73.1.3 自动增益控制电路设计73.1.4 有源二低通滤波电路83.1.5 有源二阶高通滤波电路93.1.6 STM32F103最小系统电路103.1.7 液晶显示电路113.1.8 电平转换电路123.2 电路参数的计算及元器件的选择133.2.1 电源电路参数的计算133.2.2 555定时器外围元件参数的计算143.
2、2.3 音源坐标位置的计算153.2.3 元器件的选择173.3特殊器件的介绍193.3.1 STM32F103单片机介绍193.3.2 ILI9320液晶简介213.3.3 VCA810简介244软件设计264.1软件设计开发环境介绍264.1.1编程软件开发环境介绍264.1.2绘图软件开发环境介绍274.2软件设计流程图284.2.1主程序流程图284.2.1液晶初始化流程图29. z.-4.2.2 ADC初始化流程图305系统调试326系统功能、指标参数336.1系统实现的功能336.2系统指标参数测试336.2.1带通滤波器的频率响应336.2.2 555定时器构成的多谐振荡器测试3
3、56.2.3 STM32 ADC电压采集测试356.2.4 VCA810电路测试366.3系统功能及指标参数分析387结论398总结与体会409 谢辞4210参考文献43附录44附录一:局部原理图44附录二:局部PCB图45附录三:核心代码46附录四:实物图51附录五:外文资料翻译52. z.-1 前言随着时代的进步,信息产业的开展也是越来越快,特别是在计算机和通讯方面的开展,给人们的生活带来了诸多方便。随着雷达随着雷达侦测技术的兴起,声定位技术曾一度遭到冷冻,法军和美军分别于70年代80年代取消了声测侦察。近年来,由于雷达面临着电子干扰、反辐射导弹、低空突防和隐身技术这四大威胁,越来越容易遭
4、受攻击。因此,人们又开场重视被动式传感器,重新激起对声测技术的兴趣。声源定位作为一种传统的侦察手段,近年来通过采用新技术,提高了性能,满足了现代化的需要,其主要特点是: 1不受通视条件限制。可见光、激光和无线电侦察器材需要通视目标,在侦察器材和目标之间不能有遮蔽物,而声测系统可以侦察遮蔽物如山,树林等后面的声源。 2隐蔽性强。声测系统不受电磁波干扰也不会被无线电侧向及定位,工作隐蔽性较强。 3不受能见度限制。其他侦察器材受环境气候影响较大,在恶劣气候条件下工作时性能下降,甚至无法工作。声测系统可以在夜间、阴天、雾天、和下雪天工作,具有全天候工作的特点。声源定位在战场之外也同样具有广泛的应用前景
5、它可用于会议系统、视频会议系统、可视等系统中的控制摄像头和传声器阵列波速方向对准正在说话的人;也可用于语音及说话人识别软件的前端预处理,以提供高质量的声音信号,提高语音及说话人识别软件的识别率;亦可用于强噪声环境下的声音获取、大型场所的会议记录,以提高声音拾取质量;还可用于助听装置中,更好地为耳障患者效劳等。本文所设计的基于STM32的声源定位装置,通过555定时器构成的多谐振荡器,分别产生1KHZ的方波信号,然后为了便于ADC的采样,使输出信号在一定范围内,我们将该方波信号分别送入自动增益控制电路中进展放大。在接收端,我们采用固定的四个坐标点,分别测量声源与各自的相位差,主要是通过柱体极话
6、筒接收发射来的方波信号,然后经过由NE5532形成的带通滤波器进展滤波,最终送入ADC转换器,然后通过相应的算法计算出声源的具体位置。本文从硬件和软件两个方面入手,其中涉及到了声学、机械能和电能之间的相互转换、电子线路、数字信号处理、软件设计和算法设计等多个技术方面的领域,特别是在声音信号的坐标位置确定过程中,牵扯到了解方程组的知识,且为了降低系统的误差,我们多设计了一个测量点求其平均值,使其成为了超定方程组,更好地到达了设计的要求。声音是人类常用的工具,是传递和获取信息中非常重要的一种。不同物体往往发出自己特有的声音,而根据物体发出的声音,就可以判断出物体的方位。现在,人类已经进入信息化时代
7、声源定位技术的研究,使人们能更加有效地产生、获取和应用处理声音信息,这对于当今社会的开展具有十分重要的意义。2 总体方案设计在无噪声、无混响的情况下,声源距离越近,接收到的幅值当然也就越高,这就有可能使信号输出的幅值超出ADC采样的范围,从而给测量值带来很大的误差。本次设计由于有两个声源位置,因此必须要对他们所产生的信号进展很好的处理,这样才有可能较为准确的计算出声源的坐标。声源定位技术具有被动探测方式、不受通讯条件干扰、全天候工作等特点,但是由于周围复杂的环境,想要十分准确确实定*一声源的位置,还是相对困难的。因此,必须采取一个妥善的实施方案。另外,在设计中我们必须遵循工程设计的原则,分析
8、工程需求,从而实现最优化。2.1 方案比较2.1.1 声源信号产生方案方案一:用常用的STC89C51单片机来产生500HZ的方波,利用单片机背部定时器溢出中断次数到达我们所设计的值时,就将相应的I/O引脚状态取反,这样就产生了占空比为50%的方波音源信号。方案二:用NE555构成的多谐振荡器来产生频率为500HZ的方波信号作为声源信号。它的原理是用内部定时器来构成时基电路,外部通过简单的电路配合所需要的信号,该电路搭建简单,原理容易理解,电路中的元器件参数也比较好计算。 方案比较:在方案一中,用单片机产生的方波,虽然程序设计比较简单,但是硬件电路搭建比较麻烦,而且所利用的单片机资源太少,这样
9、就显得浪费,并且性价比很低。方案二中,虽然由555产生的方波信号不是很稳定,但是整个电路设计简单,方便调试,555定时器价格廉价,性价比较高。因此选择方案二。2.1.2 声源的选择方案一:采用低音扬声器作为声源。扬声器是一种把电信号转变为声信号的换能器件。将单片机产生的频率为500Hz的信号接在扬声器的接收端,扬声器能发出强度比较大的声音信号。方案二:采用无源蜂鸣器作为声源。无源蜂鸣器在提供一定频率的方波震荡源时,能够发出声音。试验中用无源蜂鸣器发声时,声音比较清晰,但声音强度比扬声器稍弱。方案比较:两种器件发出的声音都能被接收端检测出来。方案一中,扬声器需要消耗较大的功率,结合现代社会电子产
10、品低功耗的要求,这样就浪费了能源。方案二中,蜂鸣器是一种低功耗的器件,而且是我们经常使用的声源,价格也很低廉,也能到达设计的要求。因此选择方案二。2.1.3 坐标解算方案方案一: 利用双曲线上的点到焦点距离差一定,可确定多条双曲线,求其交点,即可解算出坐标。但算曲线存在盲区,不能满足定位精度。方案二: 根据两点到其中一点的距离差,用三角形法,求出坐标,再利用第三点到这点的距离差来校正坐标,即可解算出坐标。方案三: 直接利用matlab算出坐标和四点距离差,然后分析数据,找到坐标和距离差之间的关系,直接写关系解算,思路简单,但是计算机分析数据量大,难以实现。方案比较:方案一中,如果声源刚好位于距
11、离四个接收源相等的位置,则就无法该处的声源坐标,存在计算的盲区。方案二中,通过方程组可以解除坐标*和y,并且还是超定方程组,可以求平均值使我们的测量更为准确。方案三中,matlab的数据分析量太大,难以实现。因此,坐标解算方案选择方案二。2.2 方案选择 通过以上分别对声源、声源的产生以及坐标计算算法的讨论,分别综合以上方案得到我们设计的系统框图如图2.1所示:电源电路局部555定时器组成的声源AGC电路带通滤波器ADC 转换STM32F103单片机液晶显示图2.1 系统的构造框图从本设计的根本要求出发,再结合现有的实验室条件和实际应用,本设计采取了以上的系统框图。在该图中,555定时器通过外
12、围少量元器件可以组成多谐振荡器,AGC电路是由VCA810构成的,主要是用来将输出信号控制在一定范围内。带通滤波器的通频带为50HZ,采用的是巴特沃斯相应的压控电压源电路VCVS,该电路输入阻抗很高,输出阻抗很低,电路性能稳定。此次系统采用计算相位差的方法,得到各个固定坐标与生源坐标之间的距离差,然后建立相应的方程组,解出我们所需要的声源坐标。本次设计方案的选取是综合考虑了本钱、硬件电路绘制、软件编写、功能指标等的结果。3 单元模块设计每一个系统的构*是由单元模块电路组成的,因此模块电路的设计是工程完成的根底。本次设计从功能性来分,将模块分成了几大局部,包括电源电路局部、声源产生局部、自动增益
13、控制局部、STM32F103最小系统局部、带通滤波器局部和液晶显示局部。就本系统而言,由于涉及到很多方面的问题,例如噪声对生源的影响和算法对最后结果误差的影响等,因此,需要每个模块都必须调试好,然后模块与模块之间的相互连接必须要兼容。在此次设计中,为了保证测试结果的准确性,我们也可以多列几组方程够成超定方程,然后对每个算出的坐标值求其平均值,这样使整个设计更加完美。3.1 各单元模块功能介绍及电路设计3.1.1 555构成的多谐振荡器电路555定时器在我们平时设计中很多时候都会用到,他的构造决定了他的多功能用途,而且构成不同的需求电路时,只需要在其外围添加很少的元器件。它可以组成施密特触发器、
14、单稳态触发器和多谐振荡器等。如图3.1所示,就是采用了555定时器构成的多谐振荡器电路。J1和J2分别是接插件VCC和GND,R1、R2和C1决定了音源信号的频率。J3是音源输出端。图3.1 555构成的多谐振荡器3.1.2 电源电路设计电源是每个电子产品的必需,是每个电子系统设计的心脏。由于此设计需要用到+5V和-5V电压并且要求电源本身给信号处理电路带来的干扰要小,所以我们采用了LM7805与LM7905芯片来设计。首先,我们将220V、50Hz的市电通过环形变压器转化成8V的交流,然后通过整流、滤波和稳压的方法得到我们想要的输出。如图4.1所示,J1是变压器交流输入,通过四个二极管的整流
15、之后,在进展C1、C2、C3、C4的滤波,然后送给三端稳压器,得到+5V和-5V直流电压。由接插件J2输出。在PCB的绘制中,C5和C6需要尽可能的靠近稳压芯片,这样可以减少电路走线给系统带来的干扰,减少纹波对声源信号的干扰,增加系统的可靠性。图3.2 电源电路3.1.3 自动增益控制电路设计自动增益控制电路的设计是为了满足ADC采样的需求,将音源信号稳定在一定范围内。本次电路所采用的是VCA810高增益调节范围的运算放大器,具有较高的共模抑制比,并在两个高阻抗输入的共模输入范围,允许VCA810提供差分接收器的操作与增益,以地为参考的输出信号,零差分输入电压,给出一个很小的直流偏移误差0V输
16、出。低输入噪声电压,确保良好地信噪比。如下列图,是本次所涉及的AGC电路。其中,J8是产生的音源信号输入端,经过50欧姆的匹配电阻R9到地,R10是用于消除在V-输入端的偏置电流。每个电源引脚上都连接了两个电容:一个大电容取值在2.2uF到6.8uF范围内,用于有效的排除低频信号对电路的干扰,而小的的电容C9与C10是用于高频信号滤除,起到去耦作用。增益控制引脚是VCA810芯片的第三脚,在该电路中将其用接插件J9引出,方便我们调试。最后经过AGC电路的音源信号由J10输出。图3.3 VCA810外部电路3.1.4 有源二低通滤波电路 如图3.4所示,是本次设计的二阶低通有源滤波电路,该电路的
17、作用是用于将接收到的音源信号进展处理,滤除掉550HZ以上频率的信号。由于音源信号是由555定时器产生的500HZ的方波信号,所以我们决定将低通滤波器的截止频率设置为550HZ,通过相应参数的计算,可以得出R3、R4、C3、C4的大小。在满足品质因素Q的情况下,为使电路较为稳定的工作,我们选择了R5和R6相等。在该电路中,J4是连接柱体极话筒的接插件,将接收到的音源信号传输给低通滤波器。为了消除高频干扰,和VCA810一样,我们也在NE5532的电源引脚处设计了C7和C8,J5是经过低通滤波器后的输出测试点。图3.4 二阶低通有源滤波电路3.1.5 有源二阶高通滤波电路滤波器的设计是每个信号处
18、理电路都必须用到的,已经成为了信号处理的一种根本手段,本设计就是采用的是二阶低通滤波器与二阶高通滤波器级联的方式实现对音源信号进展处理的。处理的根本思想和二阶低通滤波器相似,由于设置了100HZ的通频带,而音源信号的频率为固定的500HZ,因此将截止频率fc设定为450HZ,通过时间常数RC可以计算出相应的阻容元件的值。有源滤波除了滤除谐波外,同时还可以动态补偿无功功率,反响动作迅速,并且在滤波的同时还可以对信号进展放大。本电路中的C5、C6、R7、R8就是决定截止频率的关键元器件。为了保证电路稳定工作,增益最大不能超过2倍,因此本设计将NE5532的第6引脚和第7引脚直接连接。经过低通滤波器
19、后的音源信号已经比较完整,但还是里面还可能存在一局部影响音源信号的低频信号,因此还必须的通过高通滤波器。低通滤波器的输出端接接插件J6,然后滤除低频信号后,再将信号由J7输出。图3.5 有源二阶高通滤波电路3.1.6 STM32F103最小系统电路本电路的核心局部就是STM32F103,其工作频率为72MHZ,内置高速存储器,包括了128K字节的闪存和20K字节的SRAM。在STM32F103的最小系统电路中,包括了晶振电路和复位电路。如图3.6所示,C7、C8和CY1与微控制器的引脚12、13分别相连,构成了系统的时钟电路。R10、C10按键一起和微控制器的复位管脚相连,组成了系统的复位电路
20、当按键按下时,微控制器就立即复位,又从新回到原始状态开场执行程序。复位电路与晶振电路一起保证了系统的正常有序的运行。图3.6 STM32F103最小系统电路3.1.7 液晶显示电路现在数字电路的设计都离不开有好的人机界面,因为他可以更直观的给用户展示系统的性能,它是和用户最直接的对话者。本次设计显示设备采用的是彩色图形点阵液晶显示器ILI9320,它具有屏幕大320*240,分辨率高,显示字体圆润,显示内容多,价格实惠等优点。以下列图为其接口电路。ILI9320的16位并行数据接口连接到STM32的PB口,STM32的IO口为16位的,刚好和ILI9320的16位并行接口完美连接。和普通的1
21、2864点阵液晶一样,ILI9320也留有片选端CS、读写控制端RD、数据命令选择端WR。图3.7 液晶显示电路3.1.8 电平转换电路由于设计采用的是32位的单片机,因此在进展程序的烧写和下载时,我们需要计算机与单片机进展通信。PC机自带有RS-232标准串行口,而我们所使用的SSTM32F103是TTL电平,因此,我们需要自己添加一个电平转换电路。此设计采用的是MA*IM公司生产的MA*232电平转换芯片。它是一种单电源、低功耗的RS-232接口芯片,额定电流300uA。通过USB转串口后,再由MA*232芯片完成RS-232与TTL电平之间的转换,就可以与单片机进展通信了。其原理图以下列
22、图4.7所示:图3.8 电平转换电路 3.2 电路参数的计算及元器件的选择基于STM32的音源位置测量的设计中参数的计算主要包括了三个局部:电源设计参数计算、555定时器构成多谐振荡器参数的计算以及音源坐标求解的计算。通过这些计算之后,才能更好地更合理的选择元器件,做到满足性能要求的同时,将价格降到最低。3.2.1 电源电路参数的计算本次设计采用的是直流+5V和-5V输出的电源。整流二极管组成的单相桥式整流电路,将交流电压V2变成脉动的直流电压,在经过滤波电容C滤除纹波,输出直流电压V1。V1和交流电压的有效值V2之间的关系为V1=(1.11.2)V2。下面重点从两个方面来计算局部参数。一、变
23、压器的选取功率电源变压器的作用是将来自电网的220V交流电压u1变换为整流电路所需要的交流电压u2。电源变压器的效率为: 其中:是变压器副边的功率,是变压器原边的功率。一般小型变压器的效率如表1所示:表1 小型变压器的效率副边功率VA350.5T,其中T为50HZ交流电压周期。通过以上的运算,本次设计采用整流二极管1N4001,其极限参数反向击穿电压和额定工作电流满足我们设计要求。3.2.2 555定时器外围元件参数的计算用555定时器组成的多谢振荡器如图3.9所示,在接通电源以后,电容C2被充电,当Vc上升到时,使输出Vo为低电平,同时放电三极管T导通,此时电容C2通过R2和T放电,Vc下降
24、当Vc下降到时,Vo反转为高电平。电容C2放电所需的放电时间为 公式一当放电完毕时,T截止,Vcc将通过R1和R2向电容器C2充电,Vc由上升到所需的时间为公式二当Vc上升到时,电路又翻转为低电平。如此周而复始,于是在电路的输出端就得到一个周期性的矩形波。其振荡频率为: (公式三)图3.9 仿真计算555外围元件图通过公式一、公式二和公式三的计算,在确定音源频率为500HZ的条件下,我们得出在C取值为100nF的时候,令R1=R2,则可以计算出R的取值为9.533K。3.2.3 音源坐标位置的计算设坐标纸为图中的矩形ABCD。声源在点O,拾音器分别位于矩形四角A、B、C、D。声源到A点的距离
25、为Da,到B点的距离为Db,到C点的距离为Dc,到D点的距离为Dd。分别经过时间Ta,Tb,Tc,Td后,拾音器A、B、C、D接收到信号,然后可以计算出三个时间差值t1,t2,t3,声音传播速度为v。通过以下算法后可计算出声源O的坐标值*,y:图3.10 音源坐标位置求解图定位算法一: 1 2 3 4单片机检测到的为四个时间点算出三个时间差,上面四个式子可用时间差表示出 ; 5; 6; 7; 8 解出:;上式总共两个未知数四个等式,可以根据任意三个式子解出一组解,总共会有两组解。由于测出的结果会有误差,所以将所得的两组解进展平均值求解,则结果误差会减小,准确度会进一步提高。该算法程序比较简短,
26、适合用单片机处理。3.2.3 元器件的选择元器件的选取在电路的设计中十分重要,有时候直接关系到你的设计是否能够成功,而且如果是在具体参数指标上面的要求的工程或科研上,元器件的选择正确与否直接影响到指标上不上得去。所以我们在做设计时一定要选择好自己的功能指标所需求的元器件。本次设计就有几个重要元器件的选取。 音频滤波器运放的选取:音频运算放大器的选取中需要考虑的因素有很多,下面例举一下重要的指标:a,增益带宽积GBW。该参数会影响音源的清晰度,如果不计本钱的话,GBE的值越大越好,前置放大器、输入缓冲、线路放大器对此要求不高,音调电路、功放推动、DAC缓冲输出、有源滤波器等应该重视这个参数。b,
27、压摆率SR。该参数会影响到声音细节的表现,尽管音频信号的上限只有20KHZ,但是音乐信号的频谱极为丰富复杂,瞬时幅度/时间的变化率有时会到达一个很高的水平,从音频应用来看,最好高于10V/us,不宜低于1 V/us。c,电源抑制比PSRR。对电路的噪声尤其是电源的噪声,如交流哼声的抑制。对于开关电源来说,高音的清晰度也会受到影响,如高音听起来发毛等。从音频应用实践来看,按典型值计算最好高于80dB,不低于100dB为最正确。d,共模抑制比CMRR。决定了电路的抗干扰的能力,尤其是输入回路。从音频应用的实践来看,按典型值计算最好高于80dB,不低于100dB为最正确。e,总谐波失真THD(+N)
28、这个参数越低越好,不过还是需要注意过于追求低失真的倾向。对于音频应用,应该重视fin为1KHZ和10KHZ以及整个音频频带内的这个数值的平均程度,如果在音频频带内的失真,频率曲线欺负过大就不好。如果在音频频带内这个曲线比较平直而且低于0.0005%就足够好了,我们一般得到的数据是fin为1KHZ和10KHZ的典型值。结合以上这些参数规定的范围和本设计的音源相结合,并在考虑本钱的条件之下,综合选择了NE5532常用的音频放大器。 微控制器的选取:由于本次设计后端运算较为复杂,微控制器需要做到主要三个方面的工作:1,控制ADC进展采样。2,将得到的数据进展处理,计算出音源坐标。3,实时显示在液晶
29、屏幕上。尤其是在第二方面的工作要求STM32F103的运算速度足够的块,才有可能保证我们采集的点不错位,否则的话,就会带来很大的误差。所以选择的微控制器必须具有下面几个重要特点和资源。1很强的兼容性。STM32F103*是一个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也兼容。在参考手册中,STM32F103*4和STM32F103*6被归为小容量产品,STM32F103*8和STM32F103*B被归为中等容量产品,STM32F103*C、STM32F103*D和STM32F103*E被归为大容量产品。同时,STM32F103*增强型产品与现有的STM32F101*根本型和STM3
30、2F102*USB根本型产品全兼容。2嵌套的向量式中断控制器NVIC。STM32F103*增强型产品内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Corte*-M3的中断线)和16个优先级。紧耦合的NVIC能够到达低延迟的中断响应处理中断向量入口地址直接进入内核紧耦合的NVIC接口允许中断的早期处理处理晚到的较高优先级中断支持中断尾部功能自动保存处理器状态中断返回时自动恢复,无需额外指令开销该模块以最小的中断延迟提供灵活的中断管理功能。3强大功能的ADC模块。STM32F103*增强型产品内嵌2个12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,
31、可以实现单次或扫描转换。在扫描模式下,自动进展在选定的一组模拟输入上的转换。 ADC接口上的其它逻辑功能包括: 同步的采样和保持 穿插的采样和保持 单次采样 ADC可以使用DMA操作。模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的阀值时,将产生中断。由标准定时器(TIM*)和高级控制定时器(TIM1)产生的事件,可以分别内部级联到ADC的开场触发和注入触发,应用程序能使AD转换与时钟同步。支持在线下载程序,更容易上手,学习和使用起来也比较轻松方便。综合本设计的需求和现有的条件,最终确定选取STM32F103VET6为此次设计的微控制器。3.3特殊器件的介绍
32、3.3.1 STM32F103单片机介绍STM32F103最高的工作频率可达72MHZ,在村舒淇的0等待周期访问时可达1.25DMips/MHZ。该芯片是TI公司推出的中等容量的微控制器,32位基于ARM核心的带64或128K字节闪存的微控制器,具有USB、CAN、7个定时器、2个ADC和9个通信接口,每个方面都很符合本次设计的需求。下面介绍一下STM32F103几个重要参数方面的特色:1. 外部中断/事件控制器E*TI外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起存放器维持所有
33、中断请求的状态。E*TI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。2. 时钟和启动系统时钟的选择是在启动时进展,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的416MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速
34、APB的最高频率为36MHz。 3. 自举模式在启动时,通过自举引脚可以选择三种自举模式中的一种:a,从程序闪存存储器自举。b,从系统存储器自举。c,从内部SRAM自举040MHz。 4. 供电方案VDD=2.03.6V:VDD引脚为I/O引脚和内部调压器供电。VSSA,VDDA=2.03.6V:为ADC、复位模块、RC振荡器和PLL的模拟局部提供供电。使用ADC时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS。VBAT=1.83.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备存放器供电。5.供电检测器 本产品内部集成了上电复位(P
35、OR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。器件中还有一个可编程电压监测器(PVD),它监视VDD/VDDA供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时产生中断,中断处理程序可以发出警告信息或将微控制器转入平安模式。PVD功能需要通过程序开启。6.DMA灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,防止了控制器传输到达缓冲区结尾时所产生的中断。每个通道都有专门的硬件DMA请求逻辑,同
36、时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。DMA可以用于主要的外设:SPI、I2C、USART,通用、根本和高级控制定时器TIM*和ADC。7.引脚分配图STM32F103有很多形式的封装,也有不同数目的管脚类型,本次设计采用的是LQFP100引脚的芯片,其引脚分配图如以下列图3.11所示。图3.11 STM32F103引脚分配图3.3.2 ILI9320液晶简介接口标准:ILI9320有可以用来读写存放器和显示图表存储器的系统接口和用来显示动态图形的RGB输入接口。用户可以选择一种接口来显示动态或静态的图像。所有的数据是存在GRAM中的,这样可以降低
37、数据传输的工作,只有必须更新的数据才被传送。用户还可以通过使用窗口地址功能来更新GRAM中的一局部数据。ILI9320通过使用RGB接口和VSYNC接口来传送要显示的数据,这样可以防止图像在显示屏中移动。在RGB模式下,数据是通过控制信号ENABLE,VSYNC,HSYNC,DOTCLK和数据总线DB15:0来写入GRAM中的。在VSYNC模式下,内部显示时序与帧同步信号是同步的。这种接口模式能够能过系统接口来显示动态图像。在这种情况下,有特定的条件来约束将数据写入RAM的速度与方法。图3.12 ILI9320和单片机的连接示意图存放器描述:ILI9320采用的是18位总线接口构造的高性能微处
38、理器。ILI9320所有的功能模块在收到由外部微处理器以18、16、9、8位接口方式发的正确命令后才能工作。索引存放器IR储存着可以写入指令与显示数据存放器的地址。存放器选择信号RS,读写信号nRD/nWR和数据总路线D17-0是用来读写指令和数据的。ILI9320存放器分为以后几类:索引存放器用来指定存放器的地址或将要写入RAM的地址。状态存放器说明了当前ILI9320内部的状态。L7:0说明了当前驱动TFT面板的驱动行的位置。设置OSC位为1启动内部晶体振荡器,设置0停顿内部晶体振荡器。启动后至少等待10ms来确保振荡器稳定,然后再设置其它功能。读这个存放器将会读出设备的代码号。B/C:
39、0:帧/场反转 1:行反转。EOR: EOR=1 与B/C=1 用来设置行反转。SS:选择驱动源输出的方向。当SS=0,输出方向是比S1到S720当SS=1,输出方向是从S720到S1除了移动方向之外,通过设置SS和BGT位可以改变R,G,B在源驱动引脚上的配置。设置SS=0,分配R,G,B到源驱动引脚是从S1到S720。设置SS=1,分配R,G,B到源驱动引脚是从S7201到S1。当改变SS或BGR位时,RAM中的数据必须要重写。SM:设置门驱动管脚与GS位R60h来为模块选择最正确的扫描模式。AM 控制GRAM更新方向。当AM=0,地址以水平写方向更新。当AM=1,地址以垂直写方向更新。当
40、通过存放器R16和R17设置了窗口功能时,只有可以编写的GRAM区域是根据I/D1:0和AM的设置来更新。I/D1:0控制着当更新完一个像素数据后,址计数器的自动增1或减1。ORG 当开启窗口区域时,根据ID的设置来移动起始地址。在窗口地址区域使用高速RAM写方式写数据时,这个功能才使能。ORG=0:起始地址不能移动。在这种情况下,在窗口区域中根据GRAM地址映射来指定一个地址开场写操作。ORG=1:起始地址00000h根据ID设置来移动。注意:1、当ORG=1,仅有起始地址00000H能通过R20H,R21H被设置在RAM中。 2、在RAM读操作中,确保ORG=0。BGR 交换写入数据中的R
41、和B。BGR=0:按照RGB的顺序写入像素数据。BGR=1:把RGB变为BGR的顺序写入GRAM。TRI 当TRI=1,数据是通过8-bit的接口以8-bit * 3 transfers的模式传输到内部的RAM中。它也可以以16-bit或SPI的接口方式传输数据,这样配合DFM bit可以实现262K色。当不使用这些接口时,确保TRI=0。3.3.3 VCA810简介VCA810是直流耦合、宽带、连续可变电压控制增益放大器。它提供了差分输入单端输出转换,用来改变高阻抗的增益控制输入超过- 40dB增益至+40 dB的范围内成dB/ V的线性变化。从5V电源工作将调整为VCA810的增益控制电压
42、在0V输入- 40DB增益在-2V输入到+40 dB。增加地面以上的控制电压将衰减超过80dB的信号路径。 信号带宽和压摆率保持在整个增益的不断调整range.This40分贝/ V的增益控制准确到1.5分贝0.9分贝高档。许在一个AGC应用的增益控制电压为接收使用信号强度指示器RSSI的精度为1.5分贝。VCA810具有以下的优点:1、高增益调节范围:40分贝 2、微分/单端输出 3、低输入噪声电压:4、 恒定带宽与增益:到达35MHz5、 较高的分贝/ V的增益线性度:0.3分贝 6、 增益控制带宽:25MHz的 7、 低输出直流误差:40mv 8、 高输出电流:60毫安 9、 低电源电流
43、24.8毫安VCA810SOIC封装引脚如图3.13所示:图3.13 VCA810引脚图 引脚1:信号的同相输入端+Vin 引脚2:信号地GND 引脚3:增益控制端,电压范围是-2V0V 引脚4:悬空不连接 引脚5:信号输出端Vout 引脚6:供电电源正向端+Vs 引脚7:供电电源反向端-Vs 引脚8:信号的反相输入端-Vin4软件设计4.1软件设计开发环境介绍4.1.1编程软件开发环境介绍图4.1MDK软件开发环境窗口RealView MDK开发套件源自德国Keil公司,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括Vis
44、ion3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Corte*-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20。RealView MDK支持的Corte*-M3核是ARM公司最新推出的针对微控制器应用的内核,它提供业界领先的高性能和低本钱的解决方案,未来几年将成为MCU应用的热点和主流。目前国内只有ARM公司的MDK和RVDS开发工具可以支持Corte*-M3芯片的应用开发。RealView MDK无需寻求第三方编程软件
45、与硬件支持,通过配套的ULINK2仿真器与Flash编程工具,轻松实现CPU片内Flash、外扩Flash烧写,并支持用户自行添加Flash编程算法;而且能支持Flash整片删除、扇区删除、编程前自动删除以及编程后自动校验等功能,轻松方便。Vision3 IDE主要特性:功能强大的源代码编辑器; 可根据开发工具配置的设备数据库; 用于创立和维护工程的工程管理器; 集汇编、编译和过程于一体的编译工具; 用于设置开发工具配置的对话框; 真正集成高速CPU及片上外设模拟器的源码级调试器; 高级GDI接口,可用于目标硬件的软件调试和ULINK2仿真器的连接; 用于下载应用程序到Flash ROM中的F
46、lash编程器; 完善的开发工具手册、设备数据手册和用户向导。4.1.2绘图软件开发环境介绍图4.2 Altium软件开发环境窗口Altium(前身为Protel国际*)由NickMartin于1985年始创于塔斯马尼亚州霍巴特,致力于开发基于PC的软件,为印刷电路板提供辅助的设计。最初的DOS环境下的PCB设计工具在澳大利亚得到了电子业界的广泛承受,在1986年中期,Altium通过经销商将设计软件包出口到美国和欧洲。随着PCB设计软件包的成功,Altium公司开场扩大其产品范围,包括原理图输入、PCB自动布线和自动PCB器件布局软件。80年代晚期,Altium公司意识到在开发利用MicrosoftWindows作