由于所选的TMS320F2812 DSP 内部含有CAN控制器,只需加1个CAN收发器芯片即可实现CAN总线网络。CAN通信模块的功能是将采集系统的采样结果及运行参数实时上传到总线,提供给上位机存储及处理。
3 系统软件设计
软件程序运行于硬件平台之上,实现采样系统的采集、滤波以及后期处理,是测量装置的灵魂。本装置软件设计主要由主程序和子程序组成。为了实现准确、快速、实时的测量功能,采用C 语言和汇编语言混合编程。
3.1 DSP 程序设计
DSP编程的主要任务是初始化、管理板上的资源和实现前端数字信号处理的算法。这里以TI公司提供的功能强大的CCS(Code Composer Studio) 为集成开发环境。系统上电复位后, 首先完成F2812 自身的初始化, 包括配置RAM块、设置I/O 模式、定时器模式、中断等; 然后程序进入循环状态,等待上位机CAN指令的到来。在F2812的程序存储器中存储常用的数字信号处理算法,F2812在收到上位机通过CAN总线发送的控制指令后,在中断函数中选择某种处理算法,同时向CPLD发出动作命令,控制A/D转换模块完成信号的采集并将采集到的数据存入SRAM中。当采样点数达到设定点数时,DSP程序实现对部分采样数据的读取,在主循环程序中根据上位机选定的处理算法完成数据的前端处理,然后将数据打包,通过CAN总线传输给上位机。F2812主程序流程图如图3所示。
3.2 数据采集子程序流程
数据采集子程序流程如图4所示。首先,在外部时钟信号的作用下,F2812要提供ADS8364所需的HOLD保持信号,启动转换。待ADS8364转换完成时,产生EOC中断信号给F2812,F2812接收到EOC信号后,对所需的通道结果寄存器进行读操作,只要保证CS和RD同时为低50 ns以上,就可将转换完的数据读出。由于测量系统采样时刻由数控系统运动状态来决定,因此,对于采样时刻的确定要在测量机构运动过程中的空闲时间进行。保证空闲时间远大于2 ms并且保证采样时刻对应其他各轴的坐标反映了测量目标的真实形状数据。由于ADS8364的转换速度很快,在启动A/D转换之后,只需等待5 μs即可读取转换结果,因此可采用等待方式,等待时间大于5 μs即可读取数据。在实际工作时,智能测量节点将采集到的数据发送到中心处理主机进行存储、处理。中心处理主机采用PC104总线的嵌人式CPU,通过CAN接口卡PCI5121和智能节点通信。
本文将TMS320F2812与ADS8364相结合,设计了一套数据采集系统。该系统采用CAN总线与上位机通信, 充分发挥了CAN2.0方便、快捷的优点。考虑到对实时性的要求,将某些特定的数字信号处理算法放到数据采集处理卡上由DSP快速完成。该系统采集精度高, 速度快,并且可同时采集多路信号。该数据采集处理系统已经用于大型曲面钢板的结构参数测量中,实践证明, 运行稳定可靠。