您的位置:網站首頁 > 電器維修資料網 > 正文 >
單片機與CPLD/FPGA的接口方式
來源: 日期:2013-11-18 21:54:17 人氣:標簽:
(1)速度快。其通信工作時序是純硬件行為,對于mcs-51單片機,只需一條指令就能完成所需的讀/寫時序,如:
其中,cpld_addr為地址,data_tem為數據暫存單元。
(2)節省cpld芯片的i/o口線。如下圖所示,如果將圖中的譯碼器decoder設置足夠的譯碼輸出,并介紹足夠的鎖存器,就能僅通過19根i/o口線在fpga與單片機之間進行各種類型的數據與控制信息交換。
(3)與非總線方式相比較,單片機編程簡捷,控制可靠。
在cpld/fpga中通過邏輯切換,單片機易于與sram或rom接口。這種方式有許多優勢,如利用類似于微處理器系統的dma的工作方式,首先由cpld/fpga與接口的高速a/d等器件進行高速數據采樣,并將數據暫存于sram中,采樣結束后,通過切換,使單片機與sram以總線方式進行數據通信,以便發揮單片機強大的數據處理能力。
根據單片機外部操作時序,ale為地址鎖存使能信號,可利用其下降沿將低8位地址鎖存于cpld/fpga中的地址鎖存器(latch_addres)中;當ale將低8位地址通過p0鎖存的同時,高8位地址已穩定建立于p2口,單片機利用讀指令允許信號psen的低電平從外部rom中將指令從po口讀入,其指令讀入的時機是在psen的上升沿之前。
接下來,由p2口和po口分別輸出高8位和低8位數據地址,并由ale的下降沿將po口的低8位地址鎖存于地址鎖存器。若需從cpld/fpga中讀出數據,單片機則通過指令“data_tem=cpld_addr”使rd信號為低電平,由po口將鎖存器latchin1中的數據讀入累加器a;但若欲將累加器a的數據寫進cpld/fpga,則需通過指令“cpld_addr=data_tem” 和寫允許信號wr。
這時,dptr中的高8位和低8位數據作為高、低8位地址分別向p2和po口輸出,然后由wr的低電平并結合譯碼,將累加器a的數據寫入下圖中相關的鎖存器。
由8051將數據#5ah寫入目標器件中的第一個寄存器latch_out1的指令是:
當ready為高電平時,8051從目標器件中的寄存器latch_in1將數據讀入的指令是:
2.獨立方式
和總線接口方式不同,幾乎所有單片機都能以獨立接口方式與cpld/fpga進行通信,其通信的時序方式可由所設計的軟件自由決定,形式靈活多樣。其 大的優點是cpld/fpga中的接口邏輯無需遵循單片機內固定總線方式的讀/寫時序。cpld/fpga的邏輯設計與接口的單片機程序設計可以分先后相對獨立地完成。事實上,目前許多流行的單片機已無總線工作方式,如at89c2051、97c2051、284系列、pic16c5x系列等。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 三種無線投影技術類型解析
- 下一篇: 逆變器的分類