新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP與CPLD的多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計

基于DSP與CPLD的多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計

作者: 時間:2011-07-06 來源:網(wǎng)絡(luò) 收藏
3 軟件
TMS320LF2407A是C2000平臺的,提供兩種編程語言:C/C+十語言或匯編語言。其中,C語言編寫的程序可讀性、可移植性強,且大大縮短了開發(fā)周期,但執(zhí)行效率低,程序出錯時不易診斷。匯編語言程序效率高,但編寫比較繁瑣。通常做法是程序核心部分(即經(jīng)常調(diào)用部分)采用匯編語言編寫,以提高整個的執(zhí)行效率,對實時性要求不高的部分采用C語言編寫以降低程序的復(fù)雜度,提高程序的可讀性和可修改性。本文采用C語言和匯編語言混合編寫的多文件結(jié)構(gòu),主要包括主程序、讀取A/D轉(zhuǎn)換結(jié)果的中斷程序的。
軟件流程如圖4所示。主要分成三部分:SPI配置部分,模擬開關(guān)控制部分,A/D轉(zhuǎn)換控制和轉(zhuǎn)換結(jié)果的讀取。
3.1 SPI配置部分
對于LF2407A,串行SPI外設(shè)接口有9個寄存器,用于控制其操作。在本中將LF2407A的SPI接口設(shè)定在主模式下,在該模式下,采用主控制器發(fā)送偽數(shù)據(jù),從控制器發(fā)送數(shù)據(jù)。主控制器可在任何時刻啟動數(shù)據(jù)傳送,因為它控制著SPICLK信號。但軟件決定了主控制器如何檢測從控制器何時準(zhǔn)備發(fā)送數(shù)據(jù)。SPI接口模塊的初始化程序如下:
3.2 模擬多路開關(guān)選通部分
由于多路模擬開關(guān)映射到的I/O空間中的0X8000-0XFFFF之間,所以在程序中,對0X8000-0XFFFF之間進行一個讀操作,由的GPIO選擇的就被選通,信號由CD4067輸出到A/D轉(zhuǎn)換器MAXl94。
讀地址產(chǎn)生的低電平信號CS的保持時間由訪問I/O空間的等待時間決定的,通過設(shè)置等待狀態(tài)寄存器來保證獲得有效的延時時間。
3.3 MAX194轉(zhuǎn)換控制部分
由于A/D映射DSP的I/O空間的0x0000~0x7fff之間,類似于模擬多路開關(guān),也需要對該空間進行一個讀操作。
4 結(jié)語
多路在嵌入式測控中具有很強的實用價值。本文設(shè)計了一個TMS320LF2407A與EPM570T100C5N的MAX194的多采集系統(tǒng),詳細(xì)描述了MAX194,與DSP之間的硬件與軟件設(shè)計,該系統(tǒng)在筆者參與的嵌入式測量控制系統(tǒng)中得到了成功的應(yīng)用。
上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉