当DSC连接有多片ADC时,则需要通过CS片选管脚来进行ADC的选择。当采样开始,BUSY管脚将从低电平变为高电平,在整个采样的过程中,BUSY一直保持高电平,当采样结束,BUSY则从高电平变为低电平,此时DSC就可以开始读取数据。本系统则利用该管脚作为DSC外部中断源的输入管脚。当BUSY上电平由高变低,则通知DSC产生中断,来进行数据的读取。
本系统选用2片AD7656完成12路数据采样,通过DSC的XINTF ZONE6把ADC设备映射到DSC上,进行数据传输。通过地址译码和逻辑控制实现2片ADC同DSC的连接。具体结构如图4所示。
图4中左下角为逻辑部分,通过DSC的地址线BA17和BA18完成对ADC的选择。可以得到ADC0和ADC1在DSC中的地址映射为0x180000和0x1400 00。而外部输入40 kHz的时钟,作为ADC的采样频率。两个ADC对应DSC的同一个中断,当任意一片ADC采样完毕,都会引起DSC的中断,从而进行采样数据的读取。
2.系统软件设计
如前所述,整个信号处理板一共有12路模拟信号通路,通过传感器接收到12路模拟信号。2片AD7656把12路模拟信号转换为数字信号传送给TMS320F28335,在TMS320F28335中对这些采集到的数据做相应处理后通过SCI传送给上位机。同时对有必要保存的数据通过SPI接口保存到EEPROM中。整个采集、通信过程由上位机发送相关的命令来加以控制。程序的流程如图5所示。
在主函数中,程序首先完成相应模块的初始化,设定好CPU运行的时钟,选定好各个模块的工作模式,然后读取EEPROM中的设备初始化数据,后进行入等待状态。此时CPU等待ADC采样的数据,当ADC采样过程结束,则进入ADC中断响应函数,在此函数中,主要完成数据的读取,对于小信号,通过程控放大器放大其幅值,然后存储到自定义的缓存区中。两个串口工作方式均由上位机发送命令,从而触发SCI的串口收中断服务函数。然后在中断服务函数中完成对应命令要求。系统选用串口1完成采集数据向上位机的传输,串口0完成向EEPROM发送需保存的数据和一些相关操作。而SCI0和SCI1分别对应DSC外设中断的INT9.1和INT9.3,外部中断XINT1对应INT1.4。程序设置两个串口的传输速率均为38.4 kb·s-1。
在设备工作时,由于SCI1的中断源是上位机的命令发送,系统规定上位机每20ms发送一个数据接受命令,因此SCI1的中断响应周期为td= 20 ms。而由于采样率为40 kHz,因此ADC的中断服务函数响应周期为0.025 ms。系统规定采集一组数据的个数为50,那么采集一组数据的时间即为tc=1.25 ms,所以在一次SCI1中断过程中,ADC会采集16组数据。考虑到串口传输的波特率为38.4kb·s-1,因此传送一个16位的数据时间为tt=0.417 ms。而一组数据采集时间加上串口数据传输的时间为tc+tt=1.667 ms《 4 结束语
所设计的信号处理板以TMS320F28335为核心处理器,利用AD7656完成模拟信号采样的功能硬件平台。TMS320F28335片内集成了丰富的外围资源,通过驱动软件的配置和硬件系统的设计,可以方便、高效地完成大量数字信号的处理和运算。AD7656的6路模拟信号采集和16位高精度的模拟信号采样,较好地完成了模拟信号的数字化转换,减少了模拟信号采样的失真。实验证明,信号处理板所采集到的数字信号的误差值约为1.37 mV,可达14位的采样精度。
本文关键字:暂无联系方式元器件特点及应用,元器件介绍 - 元器件特点及应用
上一篇:海尔空调温度传感器参数特性