由于目标跟踪算法在每帧图像定位目标时用到的迭代次数不定,且摄像头是非线性
系统,所以目标跟踪程序计算出每帧图像目标中心点像素坐标(X, y)的时间周期不固
定,从而调用EtherCAT通信主站驱动程序的周期也不固定。因此相对应的EtherCAT数
据通信时间周期也不固定,因此是非周期性数据通信。
当新的有效EtherCAT数据帧经过从站控制芯片ET1100时,EtherCAT从站会将目
标中心点数据从EtherCAT报文的数据区抽取目标中心点坐标数据并通并存入ET1100
的双端口RAM区,然后ET1100设置好的引脚会产生电平变化。ET1100产生电平变化
的引脚与DSP的外部中断1引脚相连,DSP功能软件产生外部中断,执行过程数据接
收外部中断服务程序为PDOIrq(),在中断服务程序PDOIrq()中DSP通过SPI通信读取
ET1100的双端口RAM事先约定好的地址,获得目标中心点坐标数据。
过程数据接收外部中断服务程序为PD OIrqU,首先调用SPI读操作程序SpiReadU
读取EtherCAT主站发送的目标中心点坐标数据。其次因为目标中心点坐标数据是4字
节的浮点型数据,根据浮点型数据逆序存储的特点,需要将SPI通信读回的目标中心点
坐标数据按照浮点型数据的储存顺序重新整合。最后调用伺服控制程序ServoControl(),
并将整合好的浮点型目标中心点X, Y坐标数据传递给伺服控制程序。
|