單片機(jī)與FPGA通信_(tái)第1頁(yè)
單片機(jī)與FPGA通信_(tái)第2頁(yè)
單片機(jī)與FPGA通信_(tái)第3頁(yè)
單片機(jī)與FPGA通信_(tái)第4頁(yè)
單片機(jī)與FPGA通信_(tái)第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

MCS-51單片機(jī)與FPGA接□邏輯設(shè)計(jì)的VHDL實(shí)現(xiàn)付揚(yáng)(遼寧石油化工大學(xué)信息工程學(xué)院撫順,113001)摘要:本文闡述了單片機(jī)和現(xiàn)場(chǎng)可編程門(mén)陣列FPGA各自的特點(diǎn),指出在波形發(fā)生器設(shè)計(jì)中兩者相結(jié)合設(shè)計(jì)的優(yōu)勢(shì)和在設(shè)計(jì)中所遇到的接□邏輯設(shè)計(jì)這個(gè)難點(diǎn),詳細(xì)給出了接□邏輯設(shè)計(jì)的VHDL程序。通過(guò)該接□程序設(shè)計(jì),實(shí)現(xiàn)了單片機(jī)技術(shù)和EDA技術(shù)相結(jié)合,從而實(shí)現(xiàn)了所要求波形發(fā)生器的設(shè)計(jì)。關(guān)鍵詞:?jiǎn)纹瑱C(jī)FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)PLD(可編程邏輯器件)0引言可編程邏輯器件(PLD)及EDA技術(shù)的應(yīng)用成為電子系統(tǒng)設(shè)計(jì)的潮流。FPGA是一種新興的可編程邏輯器件(PLD),與其它PLD相比,具有更高的密度、更快的工作速度和更大的編程靈活性。單片機(jī)以其體積小、功能齊全、價(jià)格低廉、可靠性高等方面所具有的獨(dú)特優(yōu)點(diǎn),長(zhǎng)期以來(lái)被廣泛的應(yīng)用在各領(lǐng)域?;贔PGA的高密度、高速度、現(xiàn)場(chǎng)可編程的能力和單片機(jī)強(qiáng)大的數(shù)據(jù)處理功能,制作了波形發(fā)生系統(tǒng),用于產(chǎn)生各種頻率的正弦波、方波和三角波,其幅值0_5V可調(diào),頻率步進(jìn)達(dá)到1Hz以下,頻率范圍1Hz_100kHzo該波形發(fā)生器以單片機(jī)(MCS8031)為中心控制系統(tǒng),F(xiàn)PGA片內(nèi)實(shí)現(xiàn)DDS技術(shù),在此DDS技術(shù)中,采用6級(jí)BCD比例乘法器級(jí)聯(lián)。首先由單片機(jī)將E2PROM28c64中存入波形數(shù)據(jù)。FPGA在單片機(jī)的控制下,利用較高的時(shí)鐘頻率(16M)生成用戶要求的頻率的128倍頻,并以此頻率在E2PROM28c64取波形數(shù)據(jù),將其發(fā)送給D/A轉(zhuǎn)換器,并通過(guò)濾波器輸出。同時(shí)單片機(jī)實(shí)現(xiàn)對(duì)輸出電壓的控制。本設(shè)計(jì)中,F(xiàn)PGA選用Altera公司的FLEX10K,晶振頻率可達(dá)40MHz。使用MAX+PLUSII開(kāi)發(fā)系統(tǒng)支持。FLEX10K系列是FLEX系列當(dāng)中非常有代表性的FPGA器件系列,每個(gè)FLEX10K器件包含一個(gè)嵌入式陣列和一個(gè)邏輯陣列。嵌入式陣列用來(lái)實(shí)現(xiàn)各種存儲(chǔ)器及復(fù)雜的邏輯功能。邏輯陣列用來(lái)實(shí)現(xiàn)普通邏輯功能。嵌入式陣列和邏輯陣列結(jié)合而成的嵌入式門(mén)陣列具有高性能、高密度、靈活的互連方式、支持多電壓I/O接口、多種配置方式以及低功耗等特性。在此設(shè)計(jì)中,我們感到,單片機(jī)和FPGA完成各自功能設(shè)計(jì)較容易實(shí)現(xiàn),關(guān)鍵的難點(diǎn)是兩者的接口設(shè)計(jì)。經(jīng)過(guò)不斷的摸索,我們終于以VHDL語(yǔ)言實(shí)現(xiàn)了接口程序設(shè)計(jì),從而圓滿實(shí)現(xiàn)了整個(gè)波形發(fā)生器的設(shè)計(jì)。1單片機(jī)與FPGA接口邏輯設(shè)計(jì)的VHDL實(shí)現(xiàn)在設(shè)計(jì)中,單片機(jī)與FPGA接口采用總線方式。單片機(jī)以總線方式與FPGA進(jìn)行數(shù)據(jù)與控制信息通信有許多優(yōu)點(diǎn)。如速度快,其通信工作時(shí)序是純硬件行為;節(jié)省PLD芯片的I/O口線;相對(duì)于非總線方式,單片機(jī)編程簡(jiǎn)捷,控制可靠;在FPGA中通過(guò)邏輯切換,單片機(jī)易于與SRAM或ROM接口等。單片機(jī)與FPGA通信接口程序(名為MCS51)通過(guò)編譯后,生成的邏輯符號(hào)如圖1所示。■■05(101-t*JIJ.01||-kO.4iX.ol0-.JI3..C10-1E3..CJ1017.OJO.GfJ.X)-f&dxcl1r■知4iSh:l-1J..0]田」MCS-51'J 口邏柳符蠟其各引腳功能為:P26:輸入信號(hào),作為FPGA的片選端,低電平有效,高電平時(shí)保持現(xiàn)有狀態(tài),與單片機(jī)的相連;WR:輸入信號(hào),為FPGA的寫(xiě)信號(hào),與單片機(jī)的寫(xiě)端口相連,當(dāng)P26為低電平時(shí),單片機(jī)可向FPGA寫(xiě)數(shù)據(jù),以達(dá)到傳送命令以及數(shù)據(jù)的目的;ALE:輸入信號(hào),與單片機(jī)的ALE信號(hào)相連,用于FPGA片內(nèi)鎖存地址,配合WR信號(hào)進(jìn)行單片機(jī)與FPGA的通信;P0[7..0]:輸入信號(hào),共8條數(shù)據(jù)線,為單片機(jī)PO口的接口,用于地址和數(shù)據(jù)的傳送;SEL:輸出信號(hào),用于控制波形的形狀,共有三種波形(正弦波、方波、三角波);QO[3..0]?Q5[3..0]:輸出信號(hào),用于6級(jí)級(jí)聯(lián)乘法器的置數(shù)輸入;ST:輸出信號(hào),為級(jí)聯(lián)乘法器的片選端,低電平有效。FPGA片內(nèi)實(shí)現(xiàn)寄存器,可對(duì)單片機(jī)傳輸?shù)臄?shù)據(jù)和命令進(jìn)行寄存,具體如下:命令寄存器:入口地址:FFH命令字:FFH(ST有效),OOH(ST無(wú)效)。入口地址:00H命令字:EOH(顯示正弦波,sel為OO)E1H(顯示方波,sel為01)E2H(顯示三角波,sel為10)數(shù)據(jù)寄存器:入口地址:01H,02H,03H分別存儲(chǔ)單片機(jī)傳送的6位10進(jìn)制數(shù)。這些數(shù)據(jù)是用戶要求的頻率數(shù)通過(guò)單片機(jī)乘8處理后傳送過(guò)來(lái)的,為乘法器提供頻率數(shù)據(jù)。MCS51源程序useieeu.stil.legits1164M;useicec.std_logic,un^igped,?j|;usei?x.sid,logit-aridi.all;eniirj1mesilpnM(brtp263豹ins.ul_Irjgic;pO:insici_logicvrctciC7downtoO);qOiqlhq2?q5iq44.q5roulstd^Engin-reeiar(3dovnntost:ouistd_logic:scl:out?td_dgic_vcctor(1^k^Ttio0)):end:arehiiociureillofincsi51i?sipialwrenO、wn;nl.wrcriZ,wn*n3*ytkiArstd.In^i-:ii^naloddn^+thla2,<kla3,dal?4istd_logic_veetor(7ckuTiro0);piverss]HhJbeginendIf;endif;ent)process;pmxssfp26?cdtlnsfi)KpM^'O^dwRlsddws二"(XXXXXJOr'Jlhcn^Ten!<-wriWT^nl茗二T;endi£;tindir;emJpibcus;piwesstp26,miJdrz)be^inif(p26='O')thenif(^Jdre&5.=H+(XXX)OOlO")cheriwntii2亡土命;elsewrrn2<=T;即dif;endif;endprocess:卩me曲i(p26.m!{1n啡)

if(p26=+0RIthenif(陽(yáng)kl昭s='TIL3HLIl^Jihcnwmn4<=ivr;4wrrn4<±"I';imdif;endif;endpivcc^;proecss(vtuci^O)bc^nIfCwrcnO^ev^mandwrenO="Od)iiitnif(P26='0T)lhenda誡<=pO;43皿endprocess:process(utvfJ)Iseginlf(wrcn3?eventandwren3-P')山cndnu3<=[XJ;plwclaliiSw二<Lila3iendif;ertdif;erulprtXJess^prwess(wren4^be^inTfCwrEr^*eventaik!wncn4-*()'}dicnif(P26=?hhencLitzi4<=iX);data4<=-cLala4;endif:eadif;百度文庫(kù)-好好學(xué)習(xí),天天向上f?nr!i「;endprocess:.q|c-dHLat7duvnio4):qt)<=:HaLa(3dowiuo0);殆c-daia2(7dc?to4);data2(3d-ownto-C);<^5<=data3C?dflwnfc*4);q4<Jata3(3downto0)iendrtl;根據(jù)以上設(shè)計(jì),編譯成功后,進(jìn)行模擬仿真,仿真結(jié)果如圖2。由仿真結(jié)果可以看出設(shè)計(jì)的正確性。將此設(shè)計(jì)下載到FLFX10K器件,并連接單片機(jī)及外圍電路,成功的實(shí)現(xiàn)了整個(gè)波形發(fā)生器系統(tǒng)設(shè)計(jì)。103世軸擾口理的帕外皿必團(tuán)2結(jié)束語(yǔ)通過(guò)此設(shè)計(jì),可以看到在功能上,單片機(jī)與大規(guī)??删幊踢壿嬈骷泻軓?qiáng)的互補(bǔ)性。單片機(jī)具有性能價(jià)格比高、功能靈活、易于人機(jī)對(duì)話、良好的數(shù)據(jù)處理能力特點(diǎn);FPGA則具有咼速、咼可靠

溫馨提示

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

評(píng)論

0/150

提交評(píng)論