朱向慶 鄭景揚 陳文龍 邱日錞 陸浩培
摘 要: 提出一種多功能單片機與CPLD實驗板的設計方案。該實驗板以單片機最小系統(tǒng)、CPLD最小系統(tǒng)為控制中心,其集成電源模塊、輸入模塊、輸出模塊、串行總線模塊、障礙物檢測模塊及模擬量模塊,能夠完成通用8051內核單片機的仿真與下載實驗,完成CPLD實驗。實驗結果表明,該實驗板具有集成度高、適用性廣、擴展性強、簡單易用等優(yōu)點,可在單片機、EDA技術、數字電路與數字邏輯、通信原理課程的實踐教學中推廣使用。
關鍵詞: 復雜可編程邏輯器件; 實驗板; 仿真實驗; 下載實驗
中圖分類號: TN710?34; TP368 文獻標識碼: A 文章編號: 1004?373X(2016)06?0123?04
Design of multifunctional single chip microcomputer and CPLD experimental board
ZHU Xiangqing, ZHENG Jingyang, CHEN Wenlong, QIU Richun, LU Haopei
(School of Electronic & Information Engineering, Jiaying University, Meizhou 514015, China)
Abstract: A design scheme for multifunctional single chip microcomputer and CPLD experimental board is proposed. The experimental board takes the single chip microcomputer minimum system and the CPLD minimum system as the control center. The power module, input module, output module, serial bus module, obstacle detection module and analog?quantity module are integrated to accomplish the simulation and download experiments of 8051 kernel single chip microcomputer, and CPLD experiment. The experimental results show that this experimental board has the advantages of high integration, extensive applicability, strong expandability, and simple use, and can be widely used in the practical teaching of the courses such as single chip microcomputer, EDA technology, digital circuit and digital logic, communication principle.
Keywords: CPLD; experimental board; simulation experiment; download experiment
0 引 言
目前,我國高校的電子信息類學科已經普遍開設數字電路與數字邏輯、單片機、EDA(Electronic Design Automation,電子設計自動化)技術和通信原理等專業(yè)基礎課程[1?2]。實踐教學是這些課程教學的重要環(huán)節(jié),有著舉足輕重的作用。在學習過程中,不少學生都會從網店購買各種小型實驗板,好處是能夠直接使用,缺陷是學生對實驗板系統(tǒng)的硬件了解不夠深入[3];購買的實驗板通常只能滿足某一門課程的教學需求,利用率較低,且價格較貴,各類實驗板的共性部分不能重復使用。從降低學生的學習成本,提高學生動手能力,培養(yǎng)學生掌握微處理器架構設計方法,滿足企業(yè)對求職者的技能要求這4個角度出發(fā),自制一款將單片機與復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)合二為一,能夠滿足多門課程教學需求,且可以進行硬件仿真、燒錄程序的實驗教學儀器。
1 總體設計思路與方案為了使設計的實驗板具有較強的擴展性、適用性、穩(wěn)定性及性價比,主要從以下幾個角度出發(fā),構思功能模塊及硬件電路:
(1) 實驗板可根據需要,安裝不同型號的單片機,不需要額外的硬件設備支持,即可實現硬件仿真與下載功能。其他已燒錄程序的DIP40封裝通用51系列單片機,可直接安裝在實驗板上,利用實驗板上的模塊進行實驗。
(2) 實驗板集成輸入模塊、輸出模塊、串行總線模塊、模擬量模塊、自動控制模塊和障礙物檢測模塊等,使得實驗板擁有強大的外圍支持,這些模塊可以用單片機或者CPLD單獨控制,能夠提高外圍器件的利用率,節(jié)約設備購置成本[4]。
(3) 單片機與CPLD的所有I/O接都通過排針引出,方便使用者以此實驗板為母板,連接控制其他設備,進行二次開發(fā)實驗。
(4) 所有價格較貴的芯片、顯示器件、模塊等都不是直接焊接在實驗板上,而是安裝在實驗板上焊接的緊縮座、管座、圓孔母座、排座等上面,方便拆卸,以便在其他系統(tǒng)中重復使用。單片機及CPLD的時鐘電路所使用的晶振也安裝在圓孔母座上,方便使用者根據實驗需要調換不同頻率的晶振。
(5) 實驗板的所有功能模塊均連接至單片機I/O,做CPLD實驗時,將單片機卸下,用杜邦線連接CPLD的I/O至單片機I/O,即可用CPLD控制各功能模塊。對于共用單片機I/O的各功能模塊,使用者均可通過短路端子控制其電源或者數據線等,避免實驗項目的沖突。
2 系統(tǒng)硬件結構
實驗板電路連接方框結構示意圖如圖1所示,主要包括單片機最小系統(tǒng)、CPLD最小系統(tǒng)、功能模塊及電源模塊四大部分。功能模塊主要有輸入模塊、輸出模塊、串行總線模塊、障礙物檢測模塊和模擬量模塊5種。單片機最小系統(tǒng)由單片機、單片機復位電路、單片機時鐘電路及單片機I/O擴展接口構成。單片機通過電平轉換電路連接9針母座的單片機編程/調試接,計算機通過串連接單片機編程/調試接,實現硬件仿真與程序燒錄功能,單片機可以是宏晶科技公司的STC12C5A60S2和STC89C52RC、飛利浦公司的P89C52RD2、SST公司的SST89E516RD等通用DIP40封裝51系列單片機。單片機I/O擴展接由P0~P3引出,連接至各功能模塊。
CPLD最小系統(tǒng)包括CPLD芯片EPM7128SLC84、CPLD時鐘電路、CPLD復位電路及CPLD I/O口擴展接口,計算機可通過JTAG接口電路將程序加載至CPLD
[5]。輸入模塊包括8位撥碼開關、矩陣鍵盤及一體化紅外接收頭,在鍵盤工作方式控制端子的控制下,矩陣鍵盤可工作于4×4行列式鍵盤及1×4獨立按鍵兩種工作方式,以提高硬件的利用率。輸出模塊包括中文字符液晶/觸摸彩屏接、12864 OLED(Organic Light Emitting Diode,有機發(fā)光二極管)液晶接口、1602字符液晶接、8位發(fā)光二極管電路、8×8單色LED點陣電路、四位一體共陽數碼管電路、蜂鳴器電路、電機接及繼電器電路。中文字符液晶/觸摸彩屏接口可安裝12864中文字符液晶或
2.4寸TFT觸摸彩屏, LED驅動電路由8個PNP型三極管S9012構成,用于驅動點陣和數碼管;達林頓管驅動電路由復合管驅動器ULN2003構成,用于驅動蜂鳴器、電機和繼電器,電機接口可安裝型號為28BYJ?48的5線4相減速步進電機。
電路連接方框結構示意圖串行總線模塊包括數字型溫濕度傳感器DHT11電路、數字型溫度傳感器DS18B20電路、E2PROM存儲器AT24C02電路、實時時鐘DS1302電路及短距離無線通信模塊nRF24L01接,用于完成1?Wire單總線、I2C總線、三線制SPI總線、四線制SPI總線通信。障礙物檢測模塊包括超聲波模塊接口、紅外發(fā)射接收對管電路。超聲波模塊接口可安裝型號為KX?U0904的超聲波模塊;紅外發(fā)射接收對管的型號為ST178,除用于檢測障礙物外,還可進行測距測速實驗。模擬量模塊包括模擬電壓產生電路、數/模轉換電路。模擬電壓產生電路由精密多圈電位器構成,提供0~5 V的輸出電壓,給單片機片內自帶的A/D轉換模塊,進行A/D轉換實驗;數/模轉換電路主要由RC無源低通濾波電路構成,將單片機產生的PWM波形進行濾波,產生0~5 V的輸出電壓。電源模塊主要由5 V直流電源接口及CPLD電源電路構成。CPLD電源電路主要由ASM1117?3.3 V穩(wěn)壓器構成,將5 V直流電壓轉換成
3.3 V輸出,使得CPLD能獨立在兩種不同電壓下工作,方便使用者以此實驗板為母板,控制不同工作電壓的外圍設備,進行擴展實驗。3 實驗板布局設計實驗板內單片機最小系統(tǒng)、CPLD最小系統(tǒng)及各功能模塊都是相互獨立的,具有很強的開放性,為使用者提供豐富的自主創(chuàng)新性設計空間,使其可根據需要自行搭建實驗電路。如圖2所示為實驗板結構示意圖,從操作的方便性,系統(tǒng)的穩(wěn)定性等角度出發(fā),設計實驗板布局。單片機最小系統(tǒng)置于板子中部,使其到各功能模塊的平均距離最短。CPLD最小系統(tǒng)位于板子左下部,使其相對獨立,但控制各功能模塊時,又可方便地通過杜邦線連接至單片機的I/O口擴展接口。
5 V電源及下載/通信接口位于板子左上部,方便從計算機USB口取電,與計算機通信。輸出模塊主要位于板子的上部,輸入模塊位于板子的下部,其余模塊位于單片機最小系統(tǒng)的左部及右部,使得它們工作時相互干擾較小。
4 實驗板工作方式實驗板可以完成如表1所示的30個實驗項目,其中前26個用單片機完成,帶☆號的3個限用STC12C5A60S2單片機。30個實驗項目除帶☆號的3個外,其余27個均可用CPLD單獨完成。帶號的2個實驗項目適用于數字電路與數字邏輯課程,可用CPLD設計常見的組合邏輯及時序邏輯電路,如編碼器、譯碼器、觸發(fā)器、計數器等。帶號的5個實驗項目適用于通信原理課程,可完成碼型變換、信道編譯碼及一些簡單的調制解調實驗。表1 實驗板可以完成的實驗項目
4.1 單片機實驗將計算機串口與實驗板的單片機編程/調試接口連接,不需專用的燒錄器或者仿真器,可進行單片機硬件仿真及在系統(tǒng)編程(In System Programming,ISP)[6]。在計算機端用Keil μVision或Wave編寫/編譯單片機程序時,可以使用匯編(ASM)語音、C51語言或二者混合編程。為了提高系統(tǒng)運行效率,還可在單片機中運行Small RTOS51或者μC/OS?Ⅱ操作系統(tǒng)[3,7]。
4.1.1 下載實驗計算機端運行宏晶公司的STC?ISP軟件、飛利浦公司的FLASH Magic軟件、SST公司的Soft ICE軟件,可以直接通過串口給STC89C52RC,P89C52RD2,SST89E5xRD等單片機下載程序,簡單方便快捷。
4.1.2 仿真實驗計算機端運行Keil μVision軟件,可以通過串口將單片機固件加載至SST公司的SST89E5xRD系列單片機,進行硬件仿真實驗。使用SST89E5xRD單片機進行硬件仿真,可以單步跟蹤、全速運行、設置斷點、運行到光標處、夭折(暫停),隨時可查看寄存器、變量、I/O、內存內容;但不能仿真串口及定時器/計數器2(T2)
[8]。如果要想實現串口及T2的仿真功能,可采用宏晶公司最新發(fā)布的高性能“芯片仿真器”—— IAP15W4K58S4單片機[9],除了仿真功能之外,其本身的硬件性能與資源也非常優(yōu)越和豐富。使用IAP15W4K58S4單片機時,需要制作一個LQFP44轉DIP40的轉接板,將IAP15W4K58S4單片機從LQFP44封裝轉換成通用的DIP40封裝,即可將其安裝在實驗板的單片機緊縮座上[10]。4.1.3 全速運行實驗對于不能通過串口直接下載程序的單片機,只要是5 V供電、DIP40封裝的通用型號單片機,如AT89S51單片機,通過其他燒錄軟件下載程序后,安裝在本實驗板上后,同樣可以利用實驗板上的功能模塊完成實驗。
4.2 CPLD實驗完成CPLD實驗時,借助集成開發(fā)軟件平臺Quartus Ⅱ或Max+Plus Ⅱ,用原理圖、波形圖、硬件描述語言(VHDL或Verilog)等方法,生成相應的目標文件,通過下載電纜將代碼傳送到CPLD芯片EPM7128SLC84中,實現設計的數字系統(tǒng)。用USB_Blaster下載器連接計算機的USB口與實驗板的JTAG接口電路,計算機運行Quartus Ⅱ軟件,可以對CPLD在系統(tǒng)編程(ISP)。用并口下載器連接計算機的并口與實驗板的JTAG接口電路,計算機運行Max+Plus Ⅱ軟件,同樣可以對CPLD在系統(tǒng)編程(ISP)。
5 實踐方式與使用效果
在數字電路與數字邏輯、單片機、EDA技術、通信原理等課程的實驗、課程設計等實踐教學環(huán)節(jié),以本實驗板為平臺,開展“虛實結合,軟硬兼施”的項目教學方法[11?12]。先教會學生用Multisim,Proteus,Keil μVision,Quartus Ⅱ或Max+Plus Ⅱ等軟件進行仿真實驗,熟練后再結合實驗板做硬件實驗[13?14]。圖3是焊接好的實驗板圖,整個實驗板及下載器件等的購置費用約100元,對愿意參與自制實驗板的學生,采取“學校資助,學生自籌,貴重器件共享”的方式。首先由學校出資找印刷電路板廠家批量生產PCB板,接著學生自籌經費到網店購買元器件,然后由老師組織學生焊接實驗板,最后進行軟硬件聯合調測。最后對完成整個過程的學生,學校再補貼一部分低值易耗品購置費。PCB板是統(tǒng)一制作的,質量較好,學生焊接實驗板的成功率較高。學生參與焊接、調測軟硬件,相對于購置現成的實驗板,對硬件原理及軟件設計掌握理解更深刻。學生的積極性很高,近幾年,每屆約有150個學生參與制作實驗板,約占總人數的70%。通過自制實驗板,學生對數字電路與數字邏輯、單片機、EDA技術、通信原理等課程的掌握程度獲得提高,課程設計、畢業(yè)設計的水平也同步提升。實驗板可作為學生備戰(zhàn)各種專業(yè)學術競賽的賽前訓練裝備,學生利用單片機、CPLD設計制作各種電子系統(tǒng),參加國家級、省級大學生電子設計競賽和“挑戰(zhàn)杯”大學生課外學術科技作品競賽,2011—2014年共獲得國家級和省級獎勵38項。
6 結 語
該實驗板具有性價比高、功能強大、片內資源豐富、I/O接口數量多的單片機與CPLD,可用于初學者同時學習兩種不同類型的處理器,對數字電路與數字邏輯、單片機、EDA技術和通信原理等多門課程的實踐教學有促進作用。實踐證明,教師將自己的教學理念、工程經驗和教學獨創(chuàng)性等融入自制的實驗板中,可以彌補通用實驗設備靈活性和適應性不足的缺陷,培養(yǎng)學生的創(chuàng)造性思維能力及實踐動手能力,提高其學習的積極性[15],同時有效節(jié)約學生的學習成本,值得在工程應用類課程中推廣。
參考文獻
[1] SHI Yanhui, HE Zhaofeng, WANG Jing. Exploration for practical teaching reform of single?chip microcomputer aiming at training of comprehensive ability [C]// Proceedings of 2013 2nd International Conference on Education Reform and Management Innovation. Jeju Island: [s.n.], 2013: 22?26.
[2] 李慶,江漢紅,亓科.基于S51單片機與CPLD的綜合實驗系統(tǒng)研制[J].電氣電子教學學報,2009,31
(3):75?77.[3] 朱向慶,胡均萬,陳宏華,等.多功能單片機實驗系統(tǒng)的研制[J].實驗室研究與探索,2012,31(4):41?44.
[4] 李英珠.基于CPLD或FPGA的單片機通用型開發(fā)實驗板:中國,ZL201120554743.5[P].2012?08?08.
[5] 劉顯忠.基于CPLD的實驗板研制開發(fā)與教學應用[D].哈爾濱:黑龍江大學,2013.
[6] 韓宇光.ISP系統(tǒng)創(chuàng)新實驗平臺研制[J].實驗技術與管理,2014,31(10):120?122.
[7] 朱向慶,黎東濤,蘇超益,等.適合于項目教學法的三合一單片機實驗箱設計[J].實驗技術與管理,2013,30(7):55?59.
[8] 林益平.基于SST89E54RD單片機的MONITOR?51仿真器設計[J].肇慶學院學報,2008,29(2):29?32.
[9] 丁向榮.基于IAP在線仿真技術提升單片機實驗技術水平[J].實驗技術與管理,2014,31(3):82?83.
[10] 丁向榮.單片微機原理與接口技術:基于STC15系列單片機[M].北京:電子工業(yè)出版社,2012.
[11] 歐陽明星.“虛實結合”策略下多功能單片機實驗裝置的研制[J].實驗科學與技術,2014,12(3):195?199.
[12] 宗亞妹,李建啟.系列化項目教學的研究與實踐[J].中國大學教學,2013,35(11):44?46.
[13] 王超,楊蓮紅.Proteus仿真軟件在單片機實踐教學中的應用[J].現代電子技術,2014,37(14):84?87.
[14] 黃平,王偉,周廣濤.基于Quartus Ⅱ的FPGA/CPLD數字系統(tǒng)設計與應用[M].北京:電子工業(yè)出版社,2014.
[15] 趙大中,吳曉東.自制教學儀器在高校教育教學中的應用[J].中國現代教育裝備,2006,15(9):32?34.