新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用DSP和CPLD增強數據采集的可擴展性

        利用DSP和CPLD增強數據采集的可擴展性

        作者: 時間:2011-10-08 來源:網絡 收藏

        2.2 接口模塊的實現

        整個接口模塊實際上就是一片ALTERA公司的7000系列的(外部時鐘電路除外),它控制ADC模塊的初始化,同時接收并分析過來的I/O端口讀取信號,為和ADC之間搭起一個通道。

        要求讀取數據時,CPLD將DSP過來的IOSTROBE作為A/D芯片的RD信號,同時對I/O地址總線的第3位至第5位譯碼產生A/D芯片的片選信號,這樣只要是地址按照每次遞增1的方式讀取數據,就可以使得8片A/D分時片選有效,完全符合上面提到的讀取數據的要求。另外,還依靠最高位地址確定CPLD到DSP的數據輸出總線是否定義成高阻態來避免總線沖突。

        由于A/D芯片是采用5V供電的,所以其輸出高電平將高于DSP輸入高電平所能承受的范圍。解決這個總是的方法之一是采用降壓芯片(比如LVT系列)用3.3V供電,3.3V供電可以承受5V的輸入,同時輸出也和3.3V兼容,但是這種方法需要單獨外接幾片LVT芯片,占據寶貴的PCB板空間;方法之二是給CPLD芯片提供雙電源,其中提供給I/O腳的電源為3.3V,此時輸入電壓可以和5V及3.3V系統兼容,同時電平可以達到3.3V,符合A/D芯片高電平最低電壓2.4V的要求。所以,數據總線通過CPLD到DSP實際上是因為電平轉換的需要。

        2.3 DSP處理模塊

        DSP處理模塊在硬件電路上是非常簡單的,主要由一片DSP芯片、一片EEPROm以及一片介于這兩者之間的用作電平轉換的LVT系列的芯片組成。

        DSP通過地址總線可以區分訪問的模擬通道的標號。需要注意的是:由于采用的A/D芯片是通過對RD脈沖信號計數來確定訪問的是同一片芯片內部4路中的哪一路,所以實際上地址總線的低兩位是沒有選擇功能的,對一片A/D芯片訪問時,最后兩位地址一定要從00開始遞增到11,否則所讀取的數據就是亂的。例如,轉換完成后的DSP若想越過前兩個通道來獲得第3個通道的數據,它必須給出兩個讀取I/O端口的指令,緊接著這兩個指令后的讀取端口指令才可以獲得3個通道的有效數據。

        當然,可以通過CPLD首先將所有轉換完成的數據緩存下來,然后分析I/O地址來將對應的通道的數據浮現到數據總線上。這樣做使得DSP可以自由地選擇需要訪問的通道,但需要比較大的緩存,CPLD作緩存是非常不經濟的。

        3 仿真和調試

        本系統的軟件開發主要包括兩部分,一是DSP讀取I/O口的程序,二是CPLD的時序控制程序。前一程序的開發采用的是TI公司的CCS開發環境,并且DSP內部的BOOTLOADER在起電時將存儲在外掛EPROM中的程序裝載進DSP的程序空間。而后一程序的開發采用的是ALTERA公司的MAXPLUSII,這個環境,完成了程序的編制、仿真以及時序分析,并在找出關鍵路徑的基礎上優化了整個芯片的內部延時。

        在調試的過程中,利用DSP提供的JTAG接口實時地觀察采集進來的數據。當對32路模擬通道分別提供不同頻率的正弦信號時,可以看到相對應的通道的數字信號也按照固定的頻率來變化,并且各個通路不存在串擾的情況。經過測試獲得本系統的各種參數如下:

        單路模擬信號采樣率:5kHz

        系統模擬信號采樣率:50kHz×32=1.6MHz

        單個采樣點讀取時間:80ns(受ADC芯片的限制)

        DSP(5402)單指令周期:10ns

        DSP讀取數據占用資源:((80÷10)×1.6×10 6)÷10 6=12.8mips

        CPLD使用I/O口:48

        CPLD使用Logic cells:80

        由此說明這樣一個系統達到1.6MHz的采樣率時工作是穩定可靠的。

        本系統的設計思想和方法不僅適用于多路,而且能有效地擴展DSP訪問外設的能力。實踐證明,這種系統在成本控制、以及資源利用效率上都有非常大的提高。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 曲周县| 阳江市| 砚山县| 贵德县| 个旧市| 大同县| 克东县| 瑞安市| 江源县| 精河县| 娱乐| 阜康市| 长寿区| 普陀区| 德阳市| 祁阳县| 文水县| 枝江市| 呼伦贝尔市| 龙海市| 静海县| 伊吾县| 东山县| 哈尔滨市| 翁牛特旗| 平舆县| 河西区| 郯城县| 遂宁市| 平罗县| 广灵县| 牙克石市| 定兴县| 法库县| 晋城| 鸡西市| 衢州市| 巍山| 博客| 永善县| 巫山县|