<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于C P LD的 OMA-L137與ADS1178數(shù)據(jù)通信設計

          基于C P LD的 OMA-L137與ADS1178數(shù)據(jù)通信設計

          作者: 時間:2009-09-18 來源:網(wǎng)絡 收藏

          1.2 硬件原理
          在SPI從模式下,設計使OMAP-L作從片,CPLD作主片來提供進行數(shù)據(jù)傳輸?shù)臅r鐘。OMAP-L的SPI接口支持3針、4針、5針三種傳輸模式,這里采用3針模式(即CLK、SIMO、SOMI)。OMAP- L引出一個GPIO口作同步信號線SYCN,的READY信號線送給CPLD用來產(chǎn)生采樣時鐘,硬件連接如圖1所示。CLK用來傳遞接收和發(fā)送數(shù)據(jù)時的同步時鐘信號,SIMO在OMAP-L137作主片時為輸出數(shù)據(jù)線,在OMAP-L137作從片時為輸人數(shù)據(jù)線。SOMI在此模式下不被采用。
          OMAP-L137的SPI接口工作在從模式的配置如下:SPIGCR1寄存器的低2位配置為00,選擇SPI工作在從模式;通過配置SPIPC0和 SPIPC1寄存器來選擇采用的針模式和引腳的信號方向,這里選擇使能CLK、SIMO、SOMI三根信號線,并分別配置為輸入、輸入和輸出;配置 SPIFMT0寄存器先輸出每組數(shù)據(jù)的“大端MSB”,根據(jù)手冊中對數(shù)據(jù)輸出時序的要求,配置數(shù)據(jù)在CLK信號的下降沿輸出,使CLK信號工作在13MHz,同時配置現(xiàn)在的數(shù)據(jù)總線為16位。SPI的參考配置如表1所列。

          在采樣數(shù)據(jù)送到OMAP-L137的SPI接口時,可以啟動EDMA模塊來對采樣數(shù)據(jù)進行搬移。EDMA的觸發(fā)事件為SPI的每一通道數(shù)據(jù)(16位)的接收中斷,相當于完成一組(8通道)數(shù)據(jù)的傳輸需要8個觸發(fā)事件。EDMA的參數(shù)相關配置如圖2所示。其中,OPT、DSTCINT、SRCCIND和 CCNT都需要根據(jù)應用情況來進行參數(shù)配置。

          2 軟件設計
          2.1 CPLD程序設計
          CPLD中主要實現(xiàn)ADS1178對數(shù)據(jù)格式的要求。在檢測到READY信號的電平變化后,以外部時鐘ECLK為時鐘基準,產(chǎn)生128個時鐘周期 (CLK)分別送給OMAP-L137和ADS1178,來完成8通道的數(shù)據(jù)傳輸。圖3為等效原理圖,CPLD程序流程如圖4所示。

          2.2 采樣程序設計
          代碼調(diào)試中的主要工作是測試同步采樣A/D的8路通道。SPI和EDMA的參考配置及使能在上面已經(jīng)完成。當ADS1178開始數(shù)據(jù)采集時,通過GPIO口由OMAP-L137先向ADS1178發(fā)送一個由低變高的同步信號來通知 ADS1178開始工作。當ADS1178完成了數(shù)據(jù)轉(zhuǎn)換時,向OMAP-L137發(fā)送一個由高到低的READ-Y信號,通知OMAP-L137數(shù)據(jù)已經(jīng)準備就緒,等待主芯片的時鐘將數(shù)據(jù)送到數(shù)據(jù)線上;并在CPLD送出采樣時鐘后,等待EDMA的數(shù)據(jù)接收中斷,當中斷到來時完成數(shù)據(jù)的采集工作。采樣程序流程如圖5所示。



          關鍵詞: OMA-L 1178 137 ADS

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();