基于CPLD的OMA-L137與ADS1178數(shù)據(jù)通信設計
2.2 采樣程序設計
代碼調(diào)試中的主要工作是測試同步采樣A/D的8路通道。SPI和EDMA的參考配置及使能在上面已經(jīng)完成。當ADS1178開始數(shù)據(jù)采集時,通過GPIO口由OMAP-L137先向ADS1178發(fā)送一個由低變高的同步信號來通知 ADS1178開始工作。當ADS1178完成了數(shù)據(jù)轉換時,向OMAP-L137發(fā)送一個由高到低的READ-Y信號,通知OMAP-L137數(shù)據(jù)已經(jīng)準備就緒,等待主芯片的時鐘將數(shù)據(jù)送到數(shù)據(jù)線上;并在CPLD送出采樣時鐘后,等待EDMA的數(shù)據(jù)接收中斷,當中斷到來時完成數(shù)據(jù)的采集工作。采樣程序流程如圖5所示。
3 系統(tǒng)測試
通過示波器可以觀測到CLK(圖6中上面的曲線)和SIMO(圖6中下面的曲線)引腳的波形圖。采樣結果放在數(shù)組Adresult中,如圖7所示。
從圖6和圖7中可以看出,采用SPI從模式的數(shù)據(jù)傳輸方法,可以通過CPLD上的程序設計得到128個連續(xù)的采樣時鐘,數(shù)據(jù)傳遞的連續(xù)性好,每組時鐘之間不存在時鐘間隔。在程序處理的后續(xù)階段,通過配置EDMA的接收事件就可以連續(xù)接收多組數(shù)據(jù),在數(shù)據(jù)全部接收到OMAP-L137中時觸發(fā)一次中斷便可完成接收工作,從而節(jié)省了處理器資源。
4 結 論
在OMAP-L137與ADS1178的實時采集數(shù)據(jù)傳遞問題上,采用SPI主模式進行數(shù)據(jù)接收時,每接收一組數(shù)據(jù)后都需要通過中斷資源來變更接收地址。而本文通過SPI從模式進行數(shù)據(jù)接收,可以在接收完多組數(shù)據(jù)后僅用一次接收中斷便結束工作,節(jié)約了處理器資源,并且實際測試表明,傳輸數(shù)據(jù)的連續(xù)性和實時性較好。由此看出,采用SPI從模式配合CPLD來處理OMAP-L137與ADS1178數(shù)據(jù)通信問題無疑是一種很好的解決方案。
評論