新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CPLD的數(shù)據(jù)采集與顯示接口設計及實現(xiàn)

        基于CPLD的數(shù)據(jù)采集與顯示接口設計及實現(xiàn)

        作者: 時間:2014-06-26 來源:網(wǎng)絡 收藏

          0 引 言

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

          稱為復雜可編程邏輯設計芯片,它是大規(guī)模可編程器件,具有高集成度、高可靠性、高速度的特點。是利用EDA技術進行電子系統(tǒng)設計的載體。硬件描述語言是EDA技術進行電子系統(tǒng)設計的主要表達手段,VHDL語言是常用的硬件描述語言之一;軟件開發(fā)工具是利用EDA技術進行電子系統(tǒng)設計的智能化的自動化設計工具,常用開發(fā)工具有QuartusII,Ispexpert,F(xiàn)oundation等。以高速、高可靠性、串并行工作方式等特點在電子設計中廣泛應用。它打破了軟硬件之間的界限,加速了產(chǎn)品的開發(fā)過程。同樣單片機具有性價比高、功能靈活、良好的數(shù)據(jù)處理能力等特點。 CPLD芯片與單片機結合在高性能儀器儀表中應用廣泛。

          1 電路的仿真設計

          1.1 硬件電路功能

          用一片芯片、一片CPLD/FPGA芯片、模/數(shù)轉換器ADC0809和數(shù)/模轉換器DAC0832構成一個系統(tǒng),并用CPLD/FPGA實現(xiàn)數(shù)據(jù)采樣、D/A轉換輸出、有關數(shù)據(jù)顯示的控制,單片機完成對A/D轉換數(shù)據(jù)運算。電路如圖1所示。

          

         

          系統(tǒng)功能如下:系統(tǒng)按一定速率采集輸入電壓Ui,經(jīng)AD0809轉換為8位數(shù)字量data;輸入數(shù)據(jù)與通過CPLD/FPGA采樣后輸入單片機進行相關運算,最后通過CPLD/FPGA送至DAC0832轉換為△U;和處理均在系統(tǒng)控制器的管理下有序進行。工作速率由時鐘信號 CLK的速率決定。

          1.2 單片機與CPLD/FPGA接口設計

          單片機采用以總線方式與可編程芯片進行數(shù)據(jù)與控制信息通信,此方式有許多優(yōu)點:

          (1)速度快。其通信工作時序是純硬件行為,對于單片機只需一條單字節(jié)指令就能完成所需的讀/寫時序如MOV@DPTR A和MOVA@DPTR。

          (2)節(jié)省CPLD芯片的I/O口線。如果將圖中的譯碼器設置足夠的譯碼輸出以及安排足夠的鎖存器就能僅通過19根I/O口線在FPGA/CPLD與單片機之間進行各種類型的數(shù)據(jù)與控制信息交換。

          (3)相對于非總線方式單片機的編程簡捷控制可靠。

          (4)在FPGA/CPLD中通過邏輯切換單片機易于與SRAM或ROM接口。這種方式首先由FPGA/CPLD與接口的高速A/D等器件進行高速數(shù)據(jù)采樣并將數(shù)據(jù)暫存于SRAM中。采樣結束后通過切換使單片機與SRAM以總線方式進行數(shù)據(jù)通信以便發(fā)揮單片機強大的數(shù)據(jù)處理能力。

          系統(tǒng)工作過程如下:ALE為地址鎖存使能信號,當下降沿來時,將P0口將低8位地址送入可編程芯片CPLD/FPGA中的地址鎖存器,然后在 P2口和P0口形成的16位地址及WR信號共同作用下,將P0口的數(shù)據(jù)送入可編程芯片。單片機通過兩條指令MOVXDPTR@ ADDR和MOVX @DPTR A將數(shù)據(jù)寫入芯片。在P2口和P0口形成的16位地址及RD信號共同作用下,將AD0809轉換后數(shù)據(jù)data送入單片機的P0口。單片機通過兩條指令 MOVX DPTR @ADDR和MOVXA@ DPTR將數(shù)據(jù)讀入P0口。設置A/D轉換器件片選信號ad_e和DA轉換器件片選信號da_e,設置數(shù)據(jù)輸入/輸出口data[7..0]。單片機與 FPGA通信接口程序(名為MCS51)通過編譯后,生成的邏輯符號如圖2所示。

          

         

          CPLD使用EPM7128時鐘為16 MHz有源晶振,首先使用CLK對復位信號采樣,8051的復位信號要求是高電平維持2個機器周期,2個機器周期就是2×12=24個振蕩周期,對復位信號連續(xù)采樣10次,若是一直為高電平,就產(chǎn)生片內(nèi)復位使能信號。其他片內(nèi)寄存器以這個復位信號做同步復位,對WR.RD,ALE都做了采樣,避免毛刺干擾。

          1.3 AD0809與CPLD/FPGA狀態(tài)機接口設計

          1.3.1 AD0809狀態(tài)機功能設計

          狀態(tài)機的最簡結構一般由兩個進程構成,即主控時序進程和主控組合進程。一個進程描述時序邏輯輸出,另一個進程描述組合邏輯包括進程問狀態(tài)值的傳遞邏輯以及狀態(tài)轉換值的輸出。將AD0809與CPLD/FPGA的接口設計系統(tǒng)劃分為兩部分,即數(shù)據(jù)單元和控制單元。數(shù)據(jù)單元包括保存運算數(shù)據(jù)和運算結果的數(shù)據(jù)寄存器,也包括完成數(shù)據(jù)運算的組合邏輯電路。控制單元用來產(chǎn)生信號序列,以決定何時進行何種數(shù)據(jù)運算,控制單元要從數(shù)據(jù)單元得到條件信號,以決定繼續(xù)進行那些數(shù)據(jù)運算。數(shù)據(jù)單元要產(chǎn)生輸出信號、數(shù)據(jù)運算狀態(tài)等有用信號。數(shù)據(jù)單元和控制單元中,有兩個非常重要的信號,即復位信號和時鐘信號。復位信號保證了系統(tǒng)初始狀態(tài)的確定性,時鐘信號則是時序系統(tǒng)工作的必要條件。狀態(tài)機通常在復位信號到來的時候恢復到初始狀態(tài),每個時鐘到來的時候內(nèi)部狀態(tài)發(fā)生變化。從AD0809的初始狀態(tài)開始,也就是狀態(tài)機復位以后開始的狀態(tài)。在建立每個狀態(tài)時都寫出關于這個狀態(tài)的文字功能描述,AD0809狀態(tài)機功能描述與相應引腳的取值如下:

          

        fpga相關文章:fpga是什么


        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        晶振相關文章:晶振原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 林西县| 瓦房店市| 长垣县| 游戏| 疏附县| 长葛市| 扎鲁特旗| 铜川市| 昆山市| 张家川| 繁昌县| 启东市| 芜湖市| 鹿邑县| 揭西县| 威海市| 当雄县| 鹿泉市| 通州市| 台安县| 忻州市| 库尔勒市| 疏附县| 名山县| 江都市| 瑞安市| 花莲县| 高陵县| 上饶市| 丰原市| 定陶县| 麦盖提县| 南雄市| 托克逊县| 淅川县| 陆川县| 榆林市| 壶关县| 阳山县| 琼海市| 怀远县|