F2812的事件管理模块EV共有6个捕获单元,每个单元的施密特触发器可以捕获到相关引脚的跳变。可监测的跳变可以是上升沿、下降沿或者两者都监测。利用捕获单元的中断功能和定时器就可以很容易地实现对转速周期的测量,并且为转轴的振动测试提供采样的基频。其测量流程如图2。
2.2 模拟信号采集的实现
TMS320F2812芯片中集成了一个伪双12位A/D转换器模块。该模块内部实际上只有一个A/D转换器,在内部逻辑的控制下它可以很快的速度连续采样转换两次,相当于两个A/D转换器。用户可以同时启动这两个A/D转换器进行采样,也可以启动某个A/D转换器,让它连续采样两次。
同传统A/D相比,嵌入式A/D具有如下的特点:在A/D模块的硬件资源配置好了之后,用户可以用软件指令随时启动A/D采样,并获得A/D转换的结果。同传统A/D不同的是,采集功能单元的硬件资源配置还有一部分是通过软件完成的。
利用F2812内部增强型A/D可以在一块采集卡上实现对同步、异步模拟信号的采集和A/D转换。其示意图如图4所示。
在F2812片内有两个独立的8路模拟开关,既可以单独使用也能级连使用。如图4所示同步信号送入ADCINA模块,其它信号直接送入ADCINB模块,然后由DSP内部的12位A/D转换模块进行A/D转换。用户还可以根据实际应用对外部采样电路进行调整,以满足不同的要求。
运用TMS320F2812片内集成的A/D转换器进行数据采集。程序首先对A/D进行初始化,当A/D非常忙时,启动16个A/D通道进行转换,主程序进入死循环;当A/D正常转换完毕后,进入中断服务子程序。中断服务程序将16个A/D转换结果读入数组al[16]中,并再次启动16个A/D通道进行转换,如此循环往复。程序设计使用C++语言编写源程序。A/D初始化子程序框图如图6所示。中断服务子程序流程如图7所示。
2.3 数字信号采集的实现
数字信号可以利用F2812的数字I/0直接获得。F2812共有多达56个I/0共享引脚。多数I/0既可以作为普通的I/0引脚,也可以作为其它功能引脚。通过对I/0控制寄存器编程可以指定这些共享引脚是I/0还是其它功能引脚。当引脚为I/0时,读出I/0模块的数据和方向寄存器相应位的结果就可以得到所测数字信号的值了。如果读出的结果为0,则相应引脚为低电平;结果为1,则相应引脚为高电平。
3 数据采集卡的软件模块
数据采集卡上的软件主要分为系统配置、转速采集、模拟信号采集转换、数字信号采集、数据处理和上位通信等模块。在实际应用中可以根据需求进行配置。
4 结束语
该开发平台运用于石油化工领域内的烟气轮机振动故障检测中流量、温度、压力、密封差压、各点振动位移、催化剂含尘量等参数的模拟数据采集,通过分析可以看出因为TMS320F2812芯片内包含了A/D和SRAM,SRAM代替了价格昂贵的FIFO,所以这种采集方法可以大大提高采样速度和精度,并且可以降低硬件设计的成本和时间,为下一步基于DSP实时数字信号处理和分析设计奠定了良好的基础。
来源:电子元器件应用