基于CPLD的OMA-L137與ADS1178數(shù)據(jù)通信設(shè)計方案
引 言
本文引用地址:http://m.butianyuan.cn/article/262822.htm串行外圍設(shè)備接口(Serial Peripheral InteRFace,SPI)總線技術(shù)是Motorola公司推出的一種高速同步串行輸入/輸出接口,近年來廣泛應(yīng)用于外部移位寄存器、D/A轉(zhuǎn)換器、 A/D轉(zhuǎn)換器、串行EEPROM、LED顯示器等外部設(shè)備的拓展。SPI總線是一種三線同步總線(CLK、SI-MO、SOMI),可以共享,便于組成帶多個SPI接口的控制系統(tǒng)。其傳輸速率可編程,連接線少,具有良好的拓展性。
ADS1178是一款典型的具有SPI接口的A/D轉(zhuǎn)換器,它可以方便地與帶有SPI接口的處理器或控制器相連接。OMAP-L137是一款處理能力強(qiáng)、外接存儲空間大、集成度高、外設(shè)管理方便的新型工控芯片。
目前,ADS1178與OMAP-L137的數(shù)據(jù)通信主要通過SPI接口直接連接實現(xiàn)。通過配置,使OMAP-L137工作在主模式,ADS1178工作在從模式,由OMAP-L137提供用來進(jìn)行數(shù)據(jù)傳輸?shù)臅r鐘。但是,采用此模式結(jié)合EDMA進(jìn)行數(shù)據(jù)接收時,每接收一組采樣數(shù)據(jù)都需要通過中斷來改變接收數(shù)據(jù)的存放地址,即完成N組數(shù)據(jù)的接收需要N個中斷來完成,這會給系統(tǒng)的資源管理帶來很大的麻煩。
本設(shè)計使OMAP-L137、ADS1178的SPI接口工作在從模式,由CPLD作主片來提供進(jìn)行數(shù)據(jù)傳輸?shù)臅r鐘。在準(zhǔn)確、快速完成數(shù)據(jù)傳輸?shù)耐瑫r,節(jié)省了處理器資源,方便了系統(tǒng)資源的管理。
1 硬件設(shè)計
1.1 芯片概述
ADS1178是TI公司于2008年9月推出的一款A(yù)/D控制芯片,它采用△-∑模/數(shù)轉(zhuǎn)換器結(jié)構(gòu),可以達(dá)到16位的數(shù)據(jù)采集精度,并且擁有良好的交流特性。其帶寬達(dá)25 kHz,具有97 dB的信噪比和-105 dB的總諧波失真。在正常工作時每通道的功耗只有31 mW,支持8路通道同時采樣,并將數(shù)據(jù)依次連續(xù)地送上數(shù)據(jù)總線;在滿足實時同步采樣的同時,還具有52 ksps的轉(zhuǎn)換速率。該芯片主要應(yīng)用于三相交流電的實時監(jiān)測、心電圖監(jiān)視器、質(zhì)量流量計、振動系統(tǒng)的模態(tài)分析實驗設(shè)計,同時還支持SPI和幀同步兩種數(shù)據(jù)傳輸格式,并支持A/D間的級聯(lián)。
OMAP-L137是TI司推出的針對工業(yè)控制領(lǐng)域的雙核處理器,它綜合了ARM和DSP兩個處理器各自在實時性和計算精度上的優(yōu)勢。兩個處理器的主頻均達(dá)到300MFHz(DSP的處理速度高達(dá)2 400MIPS/1 800MFLOPS)??梢酝饨?個存儲空間EMIFA和EMIFB,并且在片上有著非常豐富的外設(shè)資源,主要針對工業(yè)應(yīng)用環(huán)境的控制提供了EHRPWM、ECAP、EQEP、 EMAC等模塊,并在各控制模塊和各接口之間采用EDMA3模塊進(jìn)行數(shù)據(jù)傳遞。這大大減輕了雙核處理器的負(fù)擔(dān),占用很少的處理器資源,同時在兩個處理器之間開辟了一塊128 KB的共享存儲空間,可以使數(shù)據(jù)在雙核之間快速地進(jìn)行交換。
1.2 硬件原理
在SPI從模式下,設(shè)計使OMAP-L137、ADS1178作從片,CPLD作主片來提供進(jìn)行數(shù)據(jù)傳輸?shù)臅r鐘。OMAP-L137的SPI接口支持3針、4針、5針三種傳輸模式,這里采用3針模式(即CLK、SIMO、SOMI)。OMAP- L137引出一個GPIO口作同步信號線SYCN,ADS1178的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ù)ADS1178手冊中對數(shù)據(jù)輸出時序的要求,配置數(shù)據(jù)在CLK信號的下降沿輸出,使CLK信號工作在13MHz,同時配置現(xiàn)在的數(shù)據(jù)總線為16位。SPI的參考配置如表1所列。
在采樣數(shù)據(jù)送到OMAP-L137的SPI接口時,可以啟動EDMA模塊來對采樣數(shù)據(jù)進(jìn)行搬移。EDMA的觸發(fā)事件為SPI的每一通道數(shù)據(jù)(16位)的接收中斷,相當(dāng)于完成一組(8通道)數(shù)據(jù)的傳輸需要8個觸發(fā)事件。EDMA的參數(shù)相關(guān)配置如圖2所示。其中,OPT、DSTCINT、SRCCIND和 CCNT都需要根據(jù)應(yīng)用情況來進(jìn)行參數(shù)配置。
2 軟件設(shè)計
2.1 CPLD程序設(shè)計
CPLD中主要實現(xiàn)ADS1178對數(shù)據(jù)格式的要求。在檢測到READY信號的電平變化后,以外部時鐘ECLK為時鐘基準(zhǔn),產(chǎn)生128個時鐘周期 (CLK)分別送給OMAP-L137和ADS1178,來完成8通道的數(shù)據(jù)傳輸。圖3為等效原理圖,CPLD程序流程如圖4所示。
2.2 采樣程序設(shè)計
代碼調(diào)試中的主要工作是測試同步采樣A/D的8路通道。SPI和EDMA的參考配置及使能在上面已經(jīng)完成。當(dāng)ADS1178開始數(shù)據(jù)采集時,通過GPIO口由OMAP-L137先向ADS1178發(fā)送一個由低變高的同步信號來通知 ADS1178開始工作。當(dāng)ADS1178完成了數(shù)據(jù)轉(zhuǎn)換時,向OMAP-L137發(fā)送一個由高到低的READ-Y信號,通知OMAP-L137數(shù)據(jù)已經(jīng)準(zhǔn)備就緒,等待主芯片的時鐘將數(shù)據(jù)送到數(shù)據(jù)線上;并在CPLD送出采樣時鐘后,等待EDMA的數(shù)據(jù)接收中斷,當(dāng)中斷到來時完成數(shù)據(jù)的采集工作。采樣程序流程如圖5所示。
3 系統(tǒng)測試
通過示波器可以觀測到CLK(圖6中上面的曲線)和SIMO(圖6中下面的曲線)引腳的波形圖。采樣結(jié)果放在數(shù)組Adresult中,如圖7所示。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
熱式質(zhì)量流量計相關(guān)文章:熱式質(zhì)量流量計原理 流量計相關(guān)文章:流量計原理
評論