基于DSP與CPLD的多通道數(shù)據(jù)采集系統(tǒng)的設計
3 軟件設計
TMS320LF2407A是基于C2000平臺的,提供兩種編程語言:C/C+十語言或匯編語言。其中,C語言編寫的程序可讀性、可移植性強,且大大縮短了開發(fā)周期,但執(zhí)行效率低,程序出錯時不易診斷。匯編語言程序效率高,但編寫比較繁瑣。通常做法是程序核心部分(即經(jīng)常調用部分)采用匯編語言編寫,以提高整個系統(tǒng)的執(zhí)行效率,對實時性要求不高的部分采用C語言編寫以降低程序的復雜度,提高程序的可讀性和可修改性。本文采用C語言和匯編語言混合編寫的多文件結構,主要包括主程序、讀取A/D轉換結果的中斷程序的設計。
軟件流程如圖4所示。主要分成三部分:SPI配置部分,模擬開關控制部分,A/D轉換控制和轉換結果的讀取。
3.1 SPI配置部分
對于LF2407A,串行SPI外設接口有9個寄存器,用于控制其操作。在本設計中將LF2407A的SPI接口設定在主模式下,在該模式下,采用主控制器發(fā)送偽數(shù)據(jù),從控制器發(fā)送數(shù)據(jù)。主控制器可在任何時刻啟動數(shù)據(jù)傳送,因為它控制著SPICLK信號。但軟件決定了主控制器如何檢測從控制器何時準備發(fā)送數(shù)據(jù)。SPI接口模塊的初始化程序如下:

3.2 模擬多路開關選通部分
由于多路模擬開關映射到DSP的I/O空間中的0X8000-0XFFFF之間,所以在DSP程序中,對0X8000-0XFFFF之間進行一個讀操作,由DSP的GPIO選擇的通道就被選通,信號由CD4067輸出到A/D轉換器MAXl94。
讀地址產(chǎn)生的低電平信號CS的保持時間由訪問I/O空間的等待時間決定的,通過設置等待狀態(tài)寄存器來保證獲得有效的延時時間。

3.3 MAX194轉換控制部分
由于A/D映射DSP的I/O空間的0x0000~0x7fff之間,類似于模擬多路開關,也需要對該空間進行一個讀操作。

4 結語
主站蜘蛛池模板:
田东县|
定边县|
铁力市|
寿光市|
汝州市|
京山县|
新晃|
阿拉善右旗|
原阳县|
威海市|
淳化县|
班戈县|
卢龙县|
赞皇县|
饶阳县|
库尔勒市|
遵化市|
嘉义市|
雷山县|
登封市|
忻州市|
额敏县|
库车县|
德令哈市|
沈阳市|
广南县|
佳木斯市|
磐安县|
三台县|
新乡市|
呈贡县|
昌图县|
宕昌县|
上饶县|
汕头市|
勐海县|
玉溪市|
雷山县|
瓮安县|
佛冈县|
澳门|
多路數(shù)據(jù)采集系統(tǒng)在嵌入式測控系統(tǒng)中具有很強的實用價值。本文設計了一個基于TMS320LF2407A與EPM570T100C5N的MAX194的多通道采集系統(tǒng),詳細描述了MAX194,CPLD與DSP之間的硬件與軟件設計,該系統(tǒng)在筆者參與的嵌入式測量控制系統(tǒng)中得到了成功的應用。
評論