首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于CPLD的OMA-L137与ADS1178数据通信设计2

基于CPLD的OMA-L137与ADS1178数据通信设计2

2 软件设计

2.1 CPLD程序设计



CPLD中主要实现ADS1178对数据格式的要求。在检测到READY信号的电平变化后,以外部时钟ECLK为时钟基准,产生128个时钟周期 (CLK)分别送给OMAP-L137和ADS1178,来完成8通道的数据传输。图3为等效原理图,CPLD程序流程如图4所示。



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数据通信问题无疑是一种很好的解决方案。
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表