單片機(jī)與FPGA邏輯接口設(shè)計(jì)說明_第1頁
單片機(jī)與FPGA邏輯接口設(shè)計(jì)說明_第2頁
單片機(jī)與FPGA邏輯接口設(shè)計(jì)說明_第3頁
單片機(jī)與FPGA邏輯接口設(shè)計(jì)說明_第4頁
單片機(jī)與FPGA邏輯接口設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、單片機(jī)與FPGA/CPLD接口邏輯設(shè)計(jì) 偉 學(xué)號(hào) 0903609029班級(jí) 通信工程單片機(jī)與FPGA/CPLD接口邏輯設(shè)計(jì)一 論文摘要:設(shè)計(jì)一種基于MCS-51單片機(jī)與FPGA通信的接口邏輯電路,實(shí)現(xiàn)單片機(jī)與可編程邏輯器件數(shù)據(jù)與控制信息的可靠通信。使可編程邏輯器件與單片機(jī)相結(jié)合,優(yōu)勢互補(bǔ),組成靈活的、軟硬件都可現(xiàn)場編程的控制系統(tǒng)。設(shè)計(jì)采用的是VHDL語言的文本輸入方式,設(shè)計(jì)比較靈活,按照接口的要求設(shè)計(jì)邏輯電路。接口主要有并行接口和總線接口,總線接口是由波特率發(fā)生器、接收器和發(fā)送器模塊組成,通過各模塊的功能設(shè)計(jì)接口邏輯。利用仿真軟件Quartus 進(jìn)行分析綜合、功能仿真與時(shí)序仿真,生成分析報(bào)告以

2、及部邏輯電路,并得出仿真結(jié)果,驗(yàn)證接口的可行性。關(guān)鍵詞:單片機(jī),F(xiàn)PGA,接口邏輯,數(shù)據(jù)通信二 2-1 緒論§2-1-1設(shè)計(jì)思想:FPGA作為一種新型的可編程邏輯器件,可以取代現(xiàn)有的全部微機(jī)接口芯片,實(shí)現(xiàn)微機(jī)系統(tǒng)中的存儲(chǔ)器、地址譯碼等多種功能,具有更高的密度、更快的工作速度和更大的編程靈活性,被廣泛的應(yīng)用于各種電子類產(chǎn)品中。在功能上,單片機(jī)具有性價(jià)比高、功能靈活、易于人機(jī)對(duì)話、強(qiáng)大的數(shù)據(jù)處理能力等特點(diǎn)。但受其部資源的限制,在很多應(yīng)用中,單片機(jī)需要在片外擴(kuò)展相關(guān)資源,如程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、I/O口以及中斷源等;而FPGA具有高速、高可靠性以及開發(fā)便捷、規(guī)等優(yōu)點(diǎn),使其有機(jī)結(jié)合,縮短開

3、發(fā)周期,適應(yīng)市場需要。FPGA/CPLD具有高速、高可靠以及開發(fā)便捷、規(guī)等優(yōu)點(diǎn),在功能上與單片機(jī)有很強(qiáng)的互補(bǔ)性。因此兩類器件相組合的電路結(jié)構(gòu)將在許多高性能儀器儀表和電子產(chǎn)品中被廣泛應(yīng)用?;谶@種需求,本文設(shè)計(jì)了單片機(jī)與FPGA的總線接口邏輯電路,實(shí)現(xiàn)了單片機(jī)與FPGA數(shù)據(jù)與控制信息的可靠通信,是FPGA與單片機(jī)優(yōu)勢互補(bǔ),組成靈活的、軟硬都可現(xiàn)場編程的控制系統(tǒng),廣泛應(yīng)用在各個(gè)領(lǐng)域§2-1-2 FPGA技術(shù)發(fā)展概況國外發(fā)展?fàn)顩r自1985年Xilinx公司推出第一片現(xiàn)場可編程邏輯器件(FPGA)至今,F(xiàn)PGA已經(jīng)歷了十幾年的發(fā)展歷史。在這十幾年的發(fā)展過程中,以FPGA為代表的數(shù)字系統(tǒng)現(xiàn)場集

4、成技術(shù)取得了驚人的發(fā)展:現(xiàn)場可編程邏輯器件從最初的1200個(gè)可利用門,發(fā)展到90年代的25萬個(gè)可利用門,乃至當(dāng)新世紀(jì)來臨之即,國際上現(xiàn)場可編程邏輯器件的著名廠商Altera公司、Xilinx公司又陸續(xù)推出了數(shù)百萬門的單片F(xiàn)PGA芯片,將現(xiàn)場可編程器件的集成度提高到一個(gè)新的水平。目前,F(xiàn)PGA技術(shù)憑借它的獨(dú)特優(yōu)勢,已經(jīng)躍之為電子應(yīng)用(包括通訊技術(shù)、計(jì)算機(jī)應(yīng)用、自動(dòng)控制、儀器儀表、ASIC 設(shè)計(jì))領(lǐng)域廣受歡迎的實(shí)用化技術(shù),成為數(shù)字系統(tǒng)的科研實(shí)驗(yàn)、樣機(jī)試制、小批量產(chǎn)品的即時(shí)實(shí)現(xiàn)的最佳途徑。同時(shí),F(xiàn)PGA 器件的新功能、新構(gòu)思正在不斷出現(xiàn),向更高密度、更大容量、更低功耗和集成更多IP的方向發(fā)展,國際各

5、大公司都在積極擴(kuò)充其IP庫,以優(yōu)化的資源越好來滿足用戶的需求,不斷擴(kuò)大市場,特別是引人注目的FPGA可動(dòng)態(tài)可重構(gòu)技術(shù)的開拓,將推動(dòng)數(shù)字系統(tǒng)設(shè)計(jì)的巨大變革目前FPGA/ CPLD供貨商全部來自美國公司,主要是Xilinx、Altera、Lattice、Actel、Atmel 等。其中以Xilinx和Altera的市場占有率最大,是最大的可編程集成電路供貨商。國的FPGA技術(shù)發(fā)展也非常迅速,很多公司通過和國際上的大公司保持長期的合作,提高專業(yè)的技術(shù)指導(dǎo)和培訓(xùn),培養(yǎng)更多的FPGA人才,憑借國巨大的市場需求、豐富的人力資源,以及穩(wěn)定的經(jīng)濟(jì)發(fā)展和優(yōu)越的政府扶持等眾多優(yōu)勢條件,近幾年,可編程邏輯器件產(chǎn)業(yè)取

6、得了飛速發(fā)展,不斷研制出性能更好的產(chǎn)品,價(jià)格也不斷降低,很大程度上降低了設(shè)計(jì)者的開發(fā)成本FPGA技術(shù)的應(yīng)用及發(fā)展趨勢(1) 深亞微米技術(shù)的發(fā)展正在推動(dòng)了片上系統(tǒng)(SOPC)的發(fā)展。(2)芯片朝著高密度、低壓、低功耗的方向挺進(jìn)。(3)IP庫的發(fā)展及其作用。(4)速度不斷提高,性能不斷提升。(5)FPGA動(dòng)態(tài)可重構(gòu)技術(shù)意義深遠(yuǎn)2-2總線接口邏輯設(shè)計(jì)方案由于單片機(jī)以總線方式與FPGA/CPLD進(jìn)行數(shù)據(jù)與控制信息通信有許多優(yōu)點(diǎn),因此在設(shè)計(jì)中,單片機(jī)與FPGA/CPLD接口采用總線方式。§2-2-1設(shè)計(jì)原理對(duì)MCS51單片機(jī)與FPGA/CPLD以總線方式通信的邏輯接口設(shè)計(jì),應(yīng)該詳細(xì)了解MCS5

7、1單片機(jī)的總線讀/寫時(shí)序,并根據(jù)時(shí)序圖來設(shè)計(jì)邏輯結(jié)構(gòu)。MCS51單片機(jī)總線讀/寫的時(shí)序如圖3所示,其時(shí)序電平變化速度與單片機(jī)工作時(shí)鐘頻率有關(guān)。圖3MCS51單片機(jī)總線讀/寫時(shí)序CLK為單片機(jī)時(shí)鐘信號(hào),ALE為地址鎖存使能信號(hào)。在讀/寫周期開始后,CPU把低8位地址送到P0口總線上,把高8位地址送到P2口總線上,利用ALE下降沿可將低8位地址鎖存于地址鎖存器中,而高8位地址信息一直鎖存在P2口鎖存器中;同時(shí)單片機(jī)利用讀指令允許信號(hào)PSEN的低電平從ROM中將指令從P0口讀入,其指令讀入的時(shí)機(jī)是在PSEN的上升沿之前。接下來,由P2口和P0口分別輸出高8位和低8位數(shù)據(jù)地址,并由ALE的下降沿將P0

8、口的低8位地址鎖存于地址鎖存器。然后根據(jù)讀/寫信號(hào)的狀態(tài)讀寫外部數(shù)據(jù),把數(shù)據(jù)送到P0口總線上;數(shù)據(jù)讀/寫的時(shí)機(jī)是在讀/寫信號(hào)的上升沿之前,將數(shù)據(jù)讀入單片機(jī)或?qū)懭氡粚ぶ返牡刂穯卧?。?dāng)讀/寫信號(hào)變?yōu)闊o效電平后,P0口總線變?yōu)閼腋顟B(tài),為下次總線讀/寫做好準(zhǔn)備。通過對(duì)MCS51單片機(jī)總線讀/寫時(shí)序的分析,可以在FPGA/CPLD中設(shè)計(jì)一個(gè)總線接口模塊,實(shí)現(xiàn)單片機(jī)三總線信號(hào)的編碼。由于在總線應(yīng)用時(shí),MCS51單片機(jī)的P0口是作為地址/數(shù)據(jù)總線分時(shí)復(fù)用的,因此應(yīng)在總線接口模塊中設(shè)計(jì)一個(gè)三態(tài)緩沖器,實(shí)現(xiàn)P0口的三態(tài)接口;又因?yàn)镸CS51單片機(jī)在訪問外部空間時(shí),它的地址為16位,因此借助地址鎖存使能信號(hào)AL

9、E在FPGA/CPLD中實(shí)現(xiàn)高8位與低8位地址的編碼,組合成16位地址,然后再根據(jù)MCS51單片機(jī)的讀/寫信號(hào),實(shí)現(xiàn)對(duì)FPGA/CPLD的讀寫操作。§2-3總線接口設(shè)計(jì)過程論述通過對(duì)MCS51單片機(jī)總線讀/寫時(shí)序的分析,設(shè)計(jì)了圖4所示的接口電路。在FPGA/CPLD中,設(shè)計(jì)了兩個(gè)模塊:一個(gè)是總線接口模塊,負(fù)責(zé)單片機(jī)與FPGA/CPLD的總線接口邏輯;另一個(gè)是寄存器單元及外部接口模塊,運(yùn)用總線接口模塊來操作此模塊。圖4MCS51單片機(jī)與FPGA/CPLD總線接口框圖圖中整個(gè)總線接口邏輯模塊將MCS51單片機(jī)的三總線信號(hào)編碼成5個(gè)信號(hào)輸出:16位地址信號(hào)addr16、讀使能信號(hào)RD_EN

10、、寫使能信號(hào)WR_EN、數(shù)據(jù)輸出信號(hào)Din及數(shù)據(jù)輸入信號(hào)Dout。在總線接口模塊中,又分為3個(gè)小模塊:三態(tài)緩沖模塊、鎖存器模塊及編碼模塊。三態(tài)緩沖模塊實(shí)現(xiàn)與單片機(jī)P0口接口;鎖存器模塊利用ALE信號(hào)鎖存單片機(jī)輸出的低8位地址。利用其下降沿將低8位地址鎖存于FPGA/CPLD中的地址鎖存器(address latch)中;當(dāng)ALE將低8位地址通過P0及三態(tài)緩沖器鎖存的同時(shí),高8位地址已穩(wěn)定建立于P2口;通過編碼模塊將高8位與低8位地址組合成16位地址addr16。同時(shí)根據(jù)單片機(jī)的讀/寫控制信號(hào)編碼成RD_EN與WR_EN使能信號(hào)。若需從FPGA/CPLD中讀出數(shù)據(jù),單片機(jī)則通過指令“MOVXA,

11、DPTR”使RD信號(hào)為低電平,使能RD_EN信號(hào),由P0口將圖中地址addr16所指單元的數(shù)據(jù)讀入累加器A;但若將累加器A的數(shù)據(jù)寫進(jìn)FPGA/CPLD中,單片機(jī)則需通過指令“MOVX DPTR,A”和寫允許信號(hào)WR。這時(shí),DPTR中的高8位和低8位數(shù)據(jù)作為高、低8位地址分別向P2和P0口輸出,然后經(jīng)ALE信號(hào)下降沿鎖存,產(chǎn)生16位地址addr16。再由WR的低電平使能WR_EN信號(hào),將累加器A的數(shù)據(jù)經(jīng)P0口及三態(tài)緩沖器寫入圖中16位地址addr16所對(duì)應(yīng)的單元中。實(shí)現(xiàn)單片機(jī)對(duì)FPGA/CPLD的讀/寫操作。§2-4 結(jié)果分析通過Quartus 軟件對(duì)總線接口的邏輯設(shè)計(jì)進(jìn)行設(shè)計(jì),建立相

12、應(yīng)的波形文件來進(jìn)行仿真,檢測是否可行,并對(duì)占有資源、時(shí)序分析等相關(guān)因素進(jìn)行分析,反復(fù)調(diào)試并分析得出的仿真結(jié)果,生成邏輯設(shè)計(jì)的部電路,證明單片機(jī)與FPGA總線接口邏輯可行,由于門電路及邏輯走線造成一定的延時(shí),實(shí)踐證明都在ns級(jí)別,基本上可以忽略,但是因?yàn)樵斐傻难訒r(shí),時(shí)序仿真時(shí)會(huì)出現(xiàn)毛刺,有待進(jìn)一步研究消除。三 結(jié)論本文的研究目的主要是針對(duì)單片機(jī)與FPGA總線接口邏輯設(shè)計(jì),運(yùn)用EDA技術(shù)對(duì)邏輯設(shè)計(jì)進(jìn)行仿真,生成部邏輯電路圖,以實(shí)現(xiàn)單片機(jī)與FPGA之間的數(shù)據(jù)和控制信號(hào)的通信。設(shè)計(jì)以Altera公司的Cyclone系列芯片為硬件平臺(tái),單片機(jī)芯片為核心,利用EDA技術(shù)的開發(fā)軟件Quartus 對(duì)總線接口

13、進(jìn)行邏輯設(shè)計(jì),按照接口的相關(guān)要求進(jìn)行優(yōu)化,生成分析報(bào)告,并顯示邏輯設(shè)計(jì)占用FPGA芯片的邏輯單元和引腳數(shù),完成部邏輯設(shè)計(jì),并對(duì)延時(shí)和存在的問題進(jìn)行分析,以驗(yàn)證接口是否按要求可行,使得單片機(jī)與FPGA數(shù)據(jù)與控制信息的通信更加可靠、有效。單片機(jī)與FPGA總線接口的設(shè)計(jì)主要是按照單片機(jī)的讀/寫時(shí)序設(shè)計(jì)邏輯電路,利用單片機(jī)的接口和控制信號(hào)來完成并行數(shù)據(jù)的傳輸,并對(duì)邏輯設(shè)計(jì)進(jìn)行了功能仿真和時(shí)序仿真及相關(guān)的分析,得出相應(yīng)的結(jié)論,由仿真圖顯示證明該接口可行,可以用來擴(kuò)展單片機(jī)的外部資源及其功能,結(jié)合兩者的優(yōu)勢,很大程度地提高了數(shù)據(jù)處理能力和容量空間。設(shè)計(jì)中對(duì)接口邏輯進(jìn)行了仿真分析,得出仿真結(jié)果以及各自占用F

14、PGA芯片的部資源,同時(shí)生成編程文件及接口邏輯的部詳細(xì)電路,以便后期的下載驗(yàn)證。設(shè)計(jì)的不足之處:沒有實(shí)現(xiàn)硬件仿真,與實(shí)際的延時(shí)會(huì)有一定的誤差,對(duì)于信號(hào)在FPGA的部走線和通過邏輯單元時(shí)造成的延時(shí),組合邏輯輸出時(shí)會(huì)產(chǎn)生毛刺,可能會(huì)導(dǎo)致數(shù)據(jù)的錯(cuò)誤,目前已經(jīng)有一些消除毛刺的方法,有待進(jìn)一步研究和改善。四 附錄其源程序如下FPGA/CPLD部寄存器地址定義library IEEE;use IEEE.STD_LOGIC_1164.all;PACKAGE Interface ISCONSTANT ADDR_REG1 :STD_LOGIC_VECTOR(15 DOWNTO 0):=X"FFF1&q

15、uot;CONSTANT ADDR_REG2 :STD_LOGIC_VECTOR(15 DOWNTO 0):=X"FFF2"CONSTANT ADDR_REG3 :STD_LOGIC_VECTOR(15 DOWNTO 0):=X"FFF3"CONSTANT ADDR_REG4 :STD_LOGIC_VECTOR(15 DOWNTO 0):=X"FFF4"END Interface;-FPGA/CPLD-讀/寫操作library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_ar

16、ith.all;use IEEE.std_logic_unsigned.all;use work.Interface.all;entity MCS51_FPGA isport (P0 : inout STD_LOGIC_VECTOR (7 downto 0);P2 : in STD_LOGIC_VECTOR (7 downto 0);ALE: in STD_LOGIC;WR : in STD_LOGIC;RD : in STD_LOGIC;LED: out STD_LOGIC_VECTOR (2 downto 0);end MCS51_FPGA;Architecture C51_FPGA_BU

17、S OF MCS51_FPGA IS-16位地址signal C51_Addr16:STD_LOGIC_VECTOR(15 downto 0);-部寄存器signal Data :STD_LOGIC_VECTOR(31 downto 0);-WR/RD 使能signal WR_EN:STD_LOGIC;signal RD_EN:STD_LOGIC;-地址鎖存 begin Address_p:process(ALE) begin If ALE'event and ALE='0' and ALE'LAST_VALUE='1'then C51_Addr

18、16<=P2&P0; end if; end process;WR_EN<= (WR AND RD) OR WR;RD_EN<= (WR AND RD) OR RD;-讀FPGA部寄存器P0 <=Data(7 downto 0)when C51_Addr16=ADDR_REG1 and RD_EN ='0'ELSE Data(15 downto 8) when C51_Addr16=ADDR_REG2 and RD_EN ='0'ELSE Data(23 downto 16)when C51_Addr16=ADDR_REG3 and RD_EN ='0'ELSE Data(31 downto 24)when C51_Addr16=ADDR_REG4 and RD_EN ='0'ELSE "ZZZZZZZZ"- 在未

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論