基于CPLD的OMA-L137与ADS1178数据通信设计
2.2 采样程序设计
代码调试中的主要工作是测试同步采样A/D的8路通道。SPI和EDMA的参考配置及使能在上面已经完成。当ADS1178开始数据采集时,通过GPIO口由OMAP-L137先向ADS1178发送一个由低变高的同步信号来通知 ADS1178开始工作。当ADS1178完成了数据转换时,向OMAP-L137发送一个由高到低的READ-Y信号,通知OMAP-L137数据已经准备就绪,等待主芯片的时钟将数据送到数据线上;并在CPLD送出采样时钟后,等待EDMA的数据接收中断,当中断到来时完成数据的采集工作。采样程序流程如图5所示。
3 系统测试
通过示波器可以观测到CLK(图6中上面的曲线)和SIMO(图6中下面的曲线)引脚的波形图。采样结果放在数组Adresult中,如图7所示。
从图6和图7中可以看出,采用SPI从模式的数据传输方法,可以通过CPLD上的程序设计得到128个连续的采样时钟,数据传递的连续性好,每组时钟之间不存在时钟间隔。在程序处理的后续阶段,通过配置EDMA的接收事件就可以连续接收多组数据,在数据全部接收到OMAP-L137中时触发一次中断便可完成接收工作,从而节省了处理器资源。
4 结 论
在OMAP-L137与ADS1178的实时采集数据传递问题上,采用SPI主模式进行数据接收时,每接收一组数据后都需要通过中断资源来变更接收地址。而本文通过SPI从模式进行数据接收,可以在接收完多组数据后仅用一次接收中断便结束工作,节约了处理器资源,并且实际测试表明,传输数据的连续性和实时性较好。由此看出,采用SPI从模式配合CPLD来处理OMAP-L137与ADS1178数据通信问题无疑是一种很好的解决方案。
评论