摘要 針對高職高專學生電子系統(tǒng)設計,提出單片機+CPLD/FPGA結(jié)構(gòu)實驗開發(fā)平臺的設計與開發(fā),以滿足高等職業(yè)教育對電子設計實踐性環(huán)節(jié)的需求。
關(guān)鍵詞 CPLD/FPGA;VHDL;單片機;高等職業(yè)教育
中圖分類號 TP368.1 文獻標識碼 A 文章編號 1671-489X(2008)12-0079-02
1 引言
20世紀80年代以來,隨著單片機的引入,我國掀起了學習和應用單片機的熱潮,特別是MCS51系列。據(jù)統(tǒng)計分析,單片機的銷量到目前為止依然逐年遞增,而且在很長一段的時間內(nèi),單片機依然會是電子設計的主角[1]。單片機系統(tǒng)中常需要一些門電路作為接口,通常采用諸如74系列、4000系列等分立元件實現(xiàn),往往電路龐大復雜,不便集成。由此,PLD(可編程器件)以可編程特性受到設計者的青睞,成為替代分立元件的最佳選擇。
隨著PLD技術(shù)的成熟,CPLD(復雜可編程邏輯器件)/ FPGA(現(xiàn)場可編程門陣列)的出現(xiàn),EDA(電子設計自動化)技術(shù)被越來越廣泛地接受和應用。CPLD/FPGA內(nèi)部有大量的門電路,組合邏輯的功能很強,能完成任何數(shù)字器件的功能。設計者可以通過傳統(tǒng)的原理圖輸入法或是硬件描述語言,方便地設計一個數(shù)字系統(tǒng)。用戶還可以反復編程、擦除、使用或在外圍電路連接不變的情況下,通過軟件實現(xiàn)不同的邏輯電路,使電路設計變得簡單、靈活、多樣。
2 Altera公司的CPLD/FPGA及其開發(fā)工具
Altera是目前世界上最大可編程邏輯器件供應商之一,主要產(chǎn)品有MAX3000/7000、FLEX6K/10K、APEX20K、ACEX1K……其中MAX 7000系列屬于高性能、高密度的CPLD,其制造工藝采用了先進的CMOS EEPROM技術(shù)。作為該系列CPLD的代表EPM7128S,其特點主要有:1) 采用第二代多陣列矩陣(MAX)結(jié)構(gòu);2)通過標準的JTAG接口(IEEE Std.1149.1-1990),支持在系統(tǒng)可編程;3) 集成密度為2500個可用門,128個宏單元;4)84 PIN PLCC封裝,68個IO,引腳到引腳之間的延時為6 NS;5) 3.3 V或者5 V電源供電。隨著器件結(jié)構(gòu)、性能的不斷提高,器件集成度的不斷擴大,Altera 始終能夠同步推出與之相適應的開發(fā)工具,滿足設計者的要求。
3 單片機同CPLD/FPGA接口設計
如圖1所示,單片機與CPLD/FPGA接口采用典型的三總線(AB、DB、CB)擴展方式。CPLD/FPGA擁有豐富的IO資源,可采用VHDL語言對其編程,實現(xiàn)對單片機外圍數(shù)字電路的擴展,電路簡潔,設計靈活多樣。兩者相結(jié)合可節(jié)約大量數(shù)字芯片,電路板設計也較傳統(tǒng)設計大大精簡。采用單片機+CPLD/FPGA結(jié)構(gòu)后,設計者可針對不同的設計需要實行模塊化設計,電路的更改只需對CPLD/FPGA進行編程,做到既省時又省錢。
本電子系統(tǒng)設計平臺采用MCS-51單片機+CPLD/FPGA結(jié)構(gòu)設計,具體結(jié)構(gòu)采用主板+CPLD/FPGA適配板的電路板疊加方案,可根據(jù)設計需要更換適配板,提高了系統(tǒng)的兼容性。在開發(fā)板功能上,根據(jù)課程要求,設計了跑馬燈指示、數(shù)碼管顯示、按鍵輸入、撥碼開關(guān)、液晶、蜂鳴器等常用設備電路,并提供豐富的單片機和CPLD/FPGA的IO擴展接口。
4 單片機+CPLD/FPGA結(jié)構(gòu)在高職高專實踐性環(huán)節(jié)中的意義
現(xiàn)階段,高等職業(yè)教育呈現(xiàn)職業(yè)性、針對性、實用性、開放性的特點,堅持以就業(yè)為導向,進行特色專業(yè)、特色課程建設和師資隊伍的建設。隨著教育體制改革的深入,實踐性環(huán)節(jié)在高等職業(yè)教育中的地位越來越突出。
傳統(tǒng)的單片機系統(tǒng)的研發(fā)與教學用單片機仿真系統(tǒng)和實驗裝置相組合構(gòu)成單片機實驗教學系統(tǒng)。隨著電子技術(shù)的發(fā)展,數(shù)字電路的種類及規(guī)模越來越大,由此帶來單片機外圍電路的多樣化。傳統(tǒng)實驗裝置上各器件的固定搭配,已將學生的思維限制在一個極小的范圍內(nèi),無法發(fā)揮其主觀能動性及創(chuàng)造思維。
本文通過單片機和CPLD/FPGA結(jié)合的設計模式,設計單片機+CPLD/FPGA結(jié)構(gòu)的實踐教學系統(tǒng)。利用CPLD/FPGA可對電路進行在線修改的功能,實現(xiàn)各種復雜的數(shù)字邏輯控制,加快開發(fā)速度,降低開發(fā)成本。
采用本實驗教學系統(tǒng),既能進行單片機、EDA分離實驗,也可實現(xiàn)兩者結(jié)合使用完成系統(tǒng)設計。以此為平臺,組織學生進行課程設計,創(chuàng)新實驗等,不僅能有效地鞏固并提高學生的專業(yè)知識,而且可以訓練學生對知識的綜合應用能力,實現(xiàn)單片機和EDA兩大知識體系的有機結(jié)合。
5 單片機+CPLD/FPGA開發(fā)板典型設計實例
1)單片機+CPLD/FPGA結(jié)構(gòu)實現(xiàn)4位數(shù)碼管靜態(tài)顯示。由于單片機的IO口限制,傳統(tǒng)的顯示接口常采用占用IO較少的動態(tài)顯示。用2個并行IO,其中一個控制段選碼,另一個控制位選,利用人的視覺暫留,采用動態(tài)掃描方式。
經(jīng)過CPLD對單片機進行擴展,可以充分利用CPLD豐富的IO資源,通過設計圖2所示模塊實現(xiàn)對4位數(shù)碼管的靜態(tài)顯示。
圖2中drive模塊是由4個74373構(gòu)成,將74373的OE引腳接地,G引腳分別接P2.3、P2.2、P2.1、P2.0,通過P2口低4位控制選通或鎖存,74373的d1~d8接P0。將S1、S2、S3、S4四個8位并行IO輸出分別接4位數(shù)碼管的8個段選,并將數(shù)碼管公共端接地(數(shù)碼管為共陰型)。
單片機程序與普通動態(tài)掃描相似,程序流程圖見圖3。
2)單片機+CPLD結(jié)構(gòu)實現(xiàn)4*4矩陣鍵盤驅(qū)動[2]。在單片機應用系統(tǒng)中,利用鍵盤接口輸入數(shù)據(jù)是實現(xiàn)現(xiàn)場實時調(diào)試、數(shù)據(jù)調(diào)整和控制最常用的方法。但是,利用鍵盤擴展電路需要占用單片機的資源對按鍵進行監(jiān)控和處理,這將影響到單片機的實時性。如果采用專用的鍵盤接口芯片(如Intel 8279) ,則在靈活性方面尚有欠缺。因此,將鍵盤處理的工作交給CPLD 來完成,不但減輕單片機的負擔,而且實時性也比較好。
VHDL行列式鍵盤模塊如圖4所示。CLK:掃描基準時鐘;COL,ROW:掃描列線,行線的值;KEY_VALUE:輸出鍵值0~15;FLAG_OUT:按鍵標志。
CPLD進行鍵盤處理與單片機相連接,可將FLAG_OUT接單片機終端,并將所得鍵值KEY_VALUE[3..0]通過P0口傳遞給單片機進行相關(guān)處理
6 結(jié)束語
近年來,大學生電子設計競賽逐步趨向單片機與EDA技術(shù)的結(jié)合使用,實現(xiàn)單片機與EDA技術(shù)優(yōu)勢互補。為提高高職院校學生動手能力,充分發(fā)揮學生電子系統(tǒng)設計的創(chuàng)造性,單片機+CPLD/FPGA結(jié)構(gòu)開發(fā)平臺獲得常州輕工職業(yè)技術(shù)學院院級課題立項。學生在學習“單片機”及“EDA”相關(guān)課程后,進行本系統(tǒng)實驗可以增進其對上述課程的理解,將2大知識體系有機結(jié)合,提高應用能力。
參考文獻
[1]樊京,郭俊杰.單片機+CPLD結(jié)構(gòu)體系在電子設計中的應用[J].單片機與嵌入式系統(tǒng)應用,2002(06)
[2]張亦華,延明.數(shù)字電路EDA入門-VHDL程序?qū)嵗痆M].北京:北京郵電大學出版社,2003:100-106