MCS-51單片機與FPGA接口的邏輯設計

發(fā)布時(shí)間:2010-11-6 19:19    發(fā)布者:conniede
關(guān)鍵詞: FPGA , MCS-51 , VHDL , 單片機
1 引言

FPGA是一種新興的可編程邏輯器件,可以取代現有的全部微機接口芯片,實(shí)現微機系統中的存儲器、地址譯碼等多種功能,具有更高的密度、更快的工作速度和更大的編程靈活性,被廣泛應用于各種電子類(lèi)產(chǎn)品中。在功能上,單片機具有性?xún)r(jià)比高、功能靈活、易于人機對話(huà)、強大的數據處理能力等特點(diǎn);而FPGA則具有高速、高可靠性以及開(kāi)發(fā)便捷、規范等特點(diǎn),因此兩類(lèi)器件相結合的電路結構將在許多高性能儀器儀表和電子產(chǎn)品中被廣泛應用;谶@種需求,本文設計了MCS-51單片機與FPGA的總線(xiàn)接口邏輯電路,實(shí)現了單片機與FPGA數據與控制信息的可靠通信,使FP—GA與單片機優(yōu)勢互補,組成靈活的、軟硬件都可現場(chǎng)編程的控制系統。

2 單片機與FPGA的接口方式

單片機與FPGA的接口方式一般有兩種,即總線(xiàn)方式與獨立方式。MCS-51單片機具有很強的外部總線(xiàn)擴展能力,利用片外三總線(xiàn)結構很容易實(shí)現單片機與FPGA的總線(xiàn)接口,而且單片機以總線(xiàn)方式與FPGA進(jìn)行數據與控制信息通信也有許多優(yōu)點(diǎn):速度快;節省PLD芯片的I/O口線(xiàn);相對于非總線(xiàn)方式,單片機編程簡(jiǎn)捷,控制可靠;在FPGA中通過(guò)邏輯切換,單片機易于與SRAM或ROM接口。

單片機與FPGA以總線(xiàn)方式通信的邏輯設計,重要的是要詳細了解單片機的總線(xiàn)讀寫(xiě)時(shí)序,根據時(shí)序圖來(lái)設計邏輯結構,其通信的時(shí)序必須遵循單片機內固定的總線(xiàn)方式讀/寫(xiě)時(shí)序。FPGA的邏輯設計也相對比較復雜,在程序設計上必須與接口的單片機程序相結合,嚴格安排單片機能訪(fǎng)問(wèn)的I/O空間。單片機以總線(xiàn)方式與FPGA進(jìn)行數據通信與控制時(shí),其通信工作時(shí)序是純硬件行為,速度要比前一種方式快得多,另外若在FPGA內部設置足夠的譯碼輸出,單片機就可以?xún)H通過(guò)19根I/O線(xiàn)在FPGA與單片機之間進(jìn)行通信和控制信息交換,這樣可以節省FPGA芯片的I/O線(xiàn)。其原理圖如圖1所示。


2 總線(xiàn)接口邏輯設計

2.1 接口設計思想

單片機與CPLD/FPC,A以總線(xiàn)方式通信的邏輯設計,重要的是要詳細了解單片機的總線(xiàn)讀寫(xiě)時(shí)序,根據時(shí)序圖來(lái)設計邏輯結構。MCS-51系列單片機的時(shí)序圖如圖2所示。


ALE為地址鎖存使能信號,可利用其下降沿將低8位地址鎖存于FPGA中的地址鎖存器(LATCH_ADDRES)中;當ALE將低8位地址通過(guò)P0鎖存的同時(shí),高8位地址已穩定建立于P2口,單片機利用讀指令允許信號PSEN的低電平從外部ROM中將指令從P0口讀入,由時(shí)序圖可見(jiàn),其指令讀入的時(shí)機是在PSEN的上升沿之前。接下來(lái),由P2口和P0口分別輸出高8位和低8位數據地址,并由ALE的下降沿將P0口的低8位地址鎖存于地址鎖存器。若需從FPGA中讀出數據,單片機則通過(guò)指令“MOVXA,@DPTR”使RD信號為低電平,由P0口將鎖存器中的數據讀入累加器A;但若欲將累加器A的數據寫(xiě)進(jìn)FPGA,則需通過(guò)指令“MOVx DPTR,A”和寫(xiě)允許信號WR。這時(shí),DPTR中的高8位和低8位數據作為高、低8位地址分別向P2和P0口輸出,然后由WR的低電平并結合譯碼,將累加器A的數據寫(xiě)入圖中相關(guān)的鎖存器。

通過(guò)對MCS-51單片機總線(xiàn)讀/寫(xiě)時(shí)序的分析,設計了圖3所示的接口電路。在FPGA中,設計了兩個(gè)模塊:一個(gè)是總線(xiàn)接口模塊,負責單片機與FPGA的總線(xiàn)接口邏輯;另一個(gè)是寄存器單元及外部接口模塊,運用總線(xiàn)接口模塊來(lái)操作此模塊。



在總線(xiàn)應用時(shí),MCS-51單片機的P0口是作為地址/數據總線(xiàn)分時(shí)復用的,因此應在總線(xiàn)接口模塊中設計一個(gè)三態(tài)緩沖器,實(shí)現P0口的三態(tài)接口;又因MCS-51單片機在訪(fǎng)問(wèn)外部空間時(shí),它的地址為16位,因此借助地址鎖存使能信號ALE在FPGA中實(shí)現高8位與低8位地址的編碼,組合成16位地址,然后再根據MCS-51單片機的讀/寫(xiě)信號,實(shí)現對FPGA的讀寫(xiě)操作。

在接口設計中,采用了VHDL語(yǔ)言實(shí)現其接口邏輯。用VHDL語(yǔ)言編寫(xiě),往往比較方便和嚴謹,注意整個(gè)過(guò)程的邏輯思路,并且盡量避免語(yǔ)言的冗余,造成比較長(cháng)的延時(shí)。-

MCS-51單片機與FPGA的通信讀寫(xiě)電路的部分程序

本文地址:http://selenalain.com/thread-36991-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页