新聞中心

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

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

        作者: 時間:2011-07-06 來源:網絡 收藏

        用于實時控制的嵌入式經常需要對模擬量進行測量,通常的方法是以MCU為主產生采集控制時序控制模數(shù)轉換器,并通過中斷或查詢的方式讀取轉換后的結果。由MCU產生采集控制時序將占用較多的軟硬件資源。而在一般復雜的多路信號測控系統(tǒng)中,MCU需要進行數(shù)據(jù)存儲,通訊,數(shù)據(jù)處理等多項工作,如果再需要其頻繁地產生模數(shù)轉換控制器的控制時序,將會影響系統(tǒng)的性能,嚴重時將會成為系統(tǒng)的瓶頸。本文采用產生A/D轉換器的控制時序,使得主要實現(xiàn)A/D時序控制的功能,主要實現(xiàn)閉環(huán)控制算法的功能。

        本文引用地址:http://www.104case.com/article/150506.htm

        1 系統(tǒng)總體結構

        系統(tǒng)以為核心,模擬信號從模擬多路開關CD4067接人,利用CPLD進行使能其輸入。使用的GPIO口作為模擬多路開關的號的選擇。A/D轉換器使用MAXIM公司的MAX194,其控制時序由CPLD產生。當A/D轉換結束后,將會產生一個EOC信號,該信號作為LF2407的外部中斷,當DSP接收到該轉換結束信號,進入相應的外部中斷程序,使用SPI總線來接收A/D轉換的數(shù)字值,并進行相應的處理。系統(tǒng)的總體結構圖如圖1所示。

        2 硬件
        2.1 主控DSP芯片TMS320LF2407A
        系統(tǒng)的主控制器采用了TMS320LF2407A,3.3 V靜態(tài)CMOS工藝,40 MIPS,具有16位地址總線,16位數(shù)據(jù)總線,3個獨立的存儲空間,包括可用的64 kB程序空間,35.5 kB數(shù)據(jù)空間以及64 kB的I/O空間。訪問不同的存儲空間時,DSP有相應的引腳作為選通信號,PS對應程序空間,DS對應數(shù)據(jù)空間,IS對應IO空間,均為低電平有效。本系統(tǒng)將MAX194 A/D轉換器映射到I/O空間0000H-7fffH,其使能的邏輯表達式為:CS=A15+IS。多路模擬開關映射到I/O空間的8000H-ffffH,其使能邏輯表達式為:CS=A15+IS。式中IS是I/O空間選通信號線。
        TMS320LF2407A的內部具有32 kB FLASH程序存儲器,2.5 kB RAM數(shù)據(jù)存儲器。FLASH可滿足DSP系統(tǒng)程序存儲的需要,而2.5 kB的數(shù)據(jù)存儲器可能不夠。而且研發(fā)階段一般將程序寫在RAM上,所以選用了Cypress Semiconductor公司的CY7C1021V33的SRAM,該SRAM為64 kB,中設定0000H-7ffffH為程序空間,8000H-ffffH為數(shù)據(jù)空間。外擴SRAM的邏輯表達式為:CS=(A15+PS+DS)(A15+PS+DS)。式中CS是SRAM的片選信號線,A15是DSP的第16根地址線,PS是程序空間選通信號線,DS是數(shù)據(jù)空間選通信號線。
        2.2 模數(shù)轉換模塊MAX194
        TMS320LF2407A芯片內置16A/D轉換器,但是只能輸入單極性電壓,只有10位的分辨率,精度很不理想,所以需要外擴A/D轉換芯片。經過多方比較,筆者選用了MAXIM公司的MAXl94芯片,它是一種逐漸次比較型的模數(shù)轉換器,具有高精度,低功耗等特點。MAX194的內部設有校準電路,用于保證全溫度范圍內的線性度,且不需要外部的調整電路。分開的模擬和數(shù)字供電,最大限度地減少了數(shù)字耦合噪聲。其主要特征有:14位分辨率,1/2 LSB非線性度,82 dB的信噪比,低功耗,單極性或雙極性輸入,三態(tài)串行輸出。
        MAX194具有兩種接口模式:同步模式和異步模式。同步模式:MAX194在轉換過程中,每轉換完一個,數(shù)據(jù)位就輸出一位。此時,SCLK應該接地,CLK即作為ADC的轉換時鐘又作為串行接口的移位輸出時鐘。異步模式:DSP只能在MAX194完成一次轉換之后才能將轉換結果讀出,然后啟動下一次的轉換。這種模式降低了MAX194連續(xù)轉換的速度。
        使用CPLD來控制MAX194,可以方便地控制MAX194工作在同步或者異步狀態(tài),而不需要對硬件電路做任何改動,僅需要修改CPLD中的程序即可。本設計將MAX194設定在異步工作模式下,
        根據(jù)圖2所示的時序圖,將采樣控制過程分成了4個狀態(tài):
        (1)初始狀態(tài):MAX194采樣控制信號初始化,各采樣控制狀態(tài)置零。
        (2)啟動采樣狀態(tài):將MAX194的啟動轉換信號START置低并保持至少兩個CLK周期。
        (3)轉換結束狀態(tài):將MAX194的啟動信號START置高并檢測轉換結束狀態(tài)信號EOC,當它由高電平變成低電平時即表示轉換已經結束。因此,這個狀態(tài)與上個狀態(tài)一樣是看EOC信號是否有變化,若是有變化,則轉到下個狀態(tài),若是沒有變化,則將一直在這個狀態(tài)中循環(huán),直到EOC信號有變化為止。
        (4)轉換結果輸出狀態(tài):將MAX194的芯片使能信號CS置低,DSP通過SPI口將A/D轉換得到的數(shù)據(jù)傳人DSP中。
        根據(jù)以上工作狀態(tài)的描述,使用了VHDL語言編寫了A/D轉換采樣控制模塊的程序,并進行了仿真,仿真結果如圖3所示。從仿真圖中看出設計的A/D轉換控制模塊是完全符合設計要求的。

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 利津县| 沈丘县| 乌审旗| 甘谷县| 郴州市| 巴彦淖尔市| 闽侯县| 仲巴县| 临清市| 陇南市| 高碑店市| 尉氏县| 新丰县| 腾冲县| 岳普湖县| 永和县| 三都| 陇西县| 察隅县| 德保县| 新野县| 嵊州市| 东城区| 都匀市| 阳春市| 枣庄市| 贵南县| 淄博市| 容城县| 海丰县| 长治县| 沁阳市| 金昌市| 绥棱县| 宣汉县| 普兰县| 湾仔区| 邢台市| 沂源县| 湘潭市| 太康县|