基于LPC2134的多道脉冲幅度分析器设计
LPC2134是具有全双工通信能力的串行外设接口芯片。一个SPI总线可以连接多个从器件和多个主器件,但是在同一时刻,则只允许有一个主机操作总线。本系统利用SPI接口来扩展Flash存储器。Flash存储器选用ATMEL公司的AT45DB041。
ARM与串行Flash芯片AT45DB041的连接电路。
本系统中,ARM工作在主机方式。由于ARM工作在主机方式时,若SSEL引脚为低电平,则将禁止SPIO模块工作。所以,为了系统可靠的工作,虽然这里该引脚未用,仍需将它通过上拉电阻接在电源上。串行Flash
芯片AT45DB041的CS片选端由ARM控制。WP为写保护端,若使能,则存储器的前256页将不能擦除重写。由于本系统不需要此功能,因此,此脚直接接高电平。由于微处理器的存储容量有限且运算功能不强,故在对数据进行较复杂的处理时,往往需要借助计算机系统。因为串行通讯具有所用传输线少,适合于远距离传输等特点,所以本系统采用串口来连接计算机和微控制器。串口通信的硬件电路如图6所示。串口信号TXD和RXD直接和LPC2134的串行口相连接。
ARM微处理器软件可采用前/后台系统或超循环系统设计。应用程序是一个无限循环,循环中调用相应的函数可完成相应的功能,这部分可以看成后台行为。中断服务程序可处理异步事件、这部分可以看成前台行为。后台也可以叫做任务级,前台也叫做中断级。时间相关性很强的关键操作一定是靠中断服务来保证的。因为中断服务提供的信息,要等到后台程序运行到可以处理这个信息时,才能得到处理。这种软件系统在处理信息的及时性上,比实际可以做到的要差。处理信息的及时性,称作任务级响应时间。最坏情况下的任务级响应时间取决于整个循环的执行时间。因为循环的执行时间不是常数,程序经过某一特定部分的准确时间是确定的。进而,如果程序修改了,循环的时序也会受到影响。程序在进行初始化后,将进入超级循环等待中断,中断到来先保护现场再转到中断服务程序,处理完毕后恢复现场,再返回超级循环并继续等待中断。可见中断处理是程序中比较重要的任务。
AD7994是4通道12位ADC,为了能够快速处理A/D中断服务程序,本系统将A/D中断设置为快速中断。
利用函数发生器可产生一个矩形波信号,然后运行仿真程序,以直接读出各波形。改变电容Cll的值,可以改变输出波形的幅度。然后调整不同的输入信号进行测试,并记录输出波形的幅度以及波形。波形幅度数据如表l所列。
本文所设计的硬件电路已经通过了软件调试和仿真,可以达到预期的效果。积分电容器的电容值过大过小都不行,在PROTEUS上选择不同的电容值有较大的优势。由于CA3140的放大倍数等于某时候的最高信号频率(为4.5MHz),故在输入信号频率较高的时候,CA3140的放大倍数将不能接近1,而这会影响最后的结果。所以,为了在高频输入时,系统也能正常工作,可以把CA3140替换成高频特性比较好的LM6161,这样可以提高系统的高频特性。