圖1:將SOC技術(shù)有機(jī)融入單片機(jī)技術(shù)教學(xué)的教材 |
從目前單片機(jī)教學(xué)內(nèi)容和實(shí)驗(yàn)方法來看,確實(shí)已與單片機(jī)本身的歷史一樣久遠(yuǎn)了。不難發(fā)現(xiàn),現(xiàn)在高校中單片機(jī)教學(xué)的絕大多數(shù)內(nèi)容仍然停留在51單片機(jī)最初進(jìn)入課堂的那個年代(1984前后),例如許多現(xiàn)在看來早已沒有什么實(shí)用價值的內(nèi)容卻逢課必講,甚至是詳述,如0809、0832、8255、8155、8279,以及一些過時的存儲器等器件及接口技術(shù),這導(dǎo)致了目前的單片機(jī)課程中學(xué)到的知識幾乎很難用于對付現(xiàn)在的大學(xué)生電子設(shè)計競賽中大多數(shù)賽題,當(dāng)然更加無法對付在未來工程實(shí)踐中出現(xiàn)的諸多問題了。此外,從單片機(jī)技術(shù)引入課堂至此,一直作為一門獨(dú)立的,孤立的專業(yè)基礎(chǔ)課來對待,從而將其與后來不斷涌現(xiàn)的許多新技術(shù)新知識絕緣起來,導(dǎo)致學(xué)習(xí)者無法將學(xué)到的單片機(jī)知識融入到更廣闊的實(shí)用工程技術(shù)領(lǐng)域中去。
通常,單片機(jī)有兩個最重要的指標(biāo),即功能和速度。如果不考慮速度因素,配以特定的擴(kuò)展模塊,單片機(jī)幾乎可以完成任何任務(wù)。即單片機(jī)在實(shí)現(xiàn)功能的多樣性方面是無可挑剔的,但是一旦必須考慮高速問題的處理,傳統(tǒng)單片機(jī)技術(shù)的劣勢即刻暴露無疑。例如對于高速(包括并行和串行)ADC或DAC控制、基于多通道SPWM的電機(jī)控制、步進(jìn)電機(jī)細(xì)分控制、各類調(diào)制信號發(fā)生的控制、各類高速通信協(xié)議的實(shí)現(xiàn),以及不同目的的高速運(yùn)算等等。通常,解決以上問題的方案可以有兩種選擇:方案一是針對不同功能指標(biāo)要求,選擇不同的單片機(jī)或處理器;例如,若需對高速的ADC或DAC進(jìn)行控制,可以選擇含有特定接口功能的單片機(jī);若需對步進(jìn)電機(jī)細(xì)分控制,可選擇用專用DSP處理器;若需實(shí)現(xiàn)數(shù)字調(diào)制信號的發(fā)生和控制,則可為單片機(jī)擴(kuò)展特定的DDS專用器件。然而這一途徑的最大缺陷在于,對于系統(tǒng)設(shè)計指標(biāo)和功能要求,必須找到對應(yīng)的處理器和擴(kuò)展模塊。事實(shí)上這是一個很難實(shí)現(xiàn)的任務(wù),因?yàn)檫沒有一款處理器或單片機(jī)擁有能適應(yīng)不同高速DAC和ADC的接口形式,同時還擁有多通道的SPWM端口,以及精度、速度和通道數(shù)都可隨意編輯的DDS功能。顯然方案不存在一攬子解決方案。 方案二就是為單片機(jī)擴(kuò)展一片F(xiàn)PGA。這從任何一個角度,包括功能、速度、成本、技術(shù)指標(biāo)、靈活性、開發(fā)效率、系統(tǒng)升級可行性等等,都無疑是上佳的選擇,而且還是一個一攬子解決方案。這一方案的實(shí)用領(lǐng)域正隨著FPGA技術(shù)的深入應(yīng)用而迅速擴(kuò)大。 針對這一情況,清華大學(xué)出版社于2011年推出了將SOC(System Of a Chip)技術(shù)有機(jī)融入單片機(jī)教學(xué)和實(shí)驗(yàn)的《單片機(jī)原理與應(yīng)用技術(shù)》一書(圖1),作者是桂林電子科技大學(xué)和杭州電子科技大學(xué)的教授。此教材中的許多內(nèi)容對傳統(tǒng)的單片機(jī)應(yīng)用理念有了明顯的突破,對教學(xué)目標(biāo)有了全新的拓展和延伸,特別是融入了單片機(jī)與FPGA擴(kuò)展和基于單片機(jī)IP軟核的片上系統(tǒng)SOC構(gòu)建及應(yīng)用的知識,從而開拓了一個將普通單片機(jī)技術(shù)、FPGA開發(fā)技術(shù)、EDA技術(shù)、片上系統(tǒng)應(yīng)用技術(shù)有機(jī)融合、綜合運(yùn)用和培養(yǎng)自主創(chuàng)新能力的平臺。
圖2
于是,按照此教材,單片機(jī)課程的教學(xué)和實(shí)驗(yàn)內(nèi)容可大致分為四個層次來進(jìn)行:1)傳統(tǒng)單片機(jī)的結(jié)構(gòu)和指令系統(tǒng);2)單片機(jī)的傳統(tǒng)應(yīng)用方法和擴(kuò)展技術(shù);3)單片機(jī)擴(kuò)展FPGA技術(shù)(教學(xué)實(shí)驗(yàn)內(nèi)容如圖2所示:為了使單片機(jī)能同時測控多個高速外設(shè),引入了FPGA);4)基于單片機(jī)IP核的FPGA片上系統(tǒng)SOC開發(fā)技術(shù)(教學(xué)實(shí)驗(yàn)內(nèi)容如圖3所示:將圖2的測控核心部分裝入單片F(xiàn)PGA中,構(gòu)成高效的SOC系統(tǒng))。 顯然,這是將傳統(tǒng)單片機(jī)技術(shù)與EDA技術(shù)、FPGA開發(fā)技術(shù)、嵌入式處理器軟核應(yīng)用技術(shù)和SOC技術(shù)有機(jī)結(jié)合的課程,這些內(nèi)容顯然與現(xiàn)代電子設(shè)計技術(shù)的發(fā)展具有很好的同步性。作者學(xué)校相關(guān)專業(yè)在過去多年的單片機(jī)教學(xué)中,采用了圖1教材的基本理念和核心內(nèi)容,教學(xué)效果是顯著的。除了在多屆電子設(shè)計競賽中不斷有學(xué)生直接利用這些學(xué)到的知識獲得可喜的成績外,有不少同學(xué)在就業(yè)數(shù)年后創(chuàng)辦了自己IC設(shè)計公司或工作室,有的業(yè)務(wù)是SOC設(shè)計,內(nèi)容多集中于MP4、網(wǎng)絡(luò)通信、數(shù)字通信器件或手機(jī)語音處理相關(guān)的SOC專用集成電路的設(shè)計;有的則是主營特定企業(yè)的專用單片機(jī)或?qū)S眉呻娐返脑O(shè)計與銷售;還有的同學(xué)甚至自主開發(fā)通用單片機(jī),其中還包括單片機(jī)開發(fā)芯片和開發(fā)工具的研發(fā)與銷售。作為本科畢業(yè)生,所有這些成就無疑都與他們于在校期間對于諸如單片機(jī)SOC技術(shù)等相關(guān)知識的學(xué)習(xí)和實(shí)踐所分不開的。
與《單片機(jī)原理與應(yīng)用技術(shù)》教材配套的實(shí)驗(yàn)開發(fā)與創(chuàng)新設(shè)計的設(shè)備是:
一、模塊化單片機(jī)技術(shù)SOC設(shè)計綜合實(shí)驗(yàn)系統(tǒng)
模塊化結(jié)構(gòu)給出了最好的解決方案:
通常的單片機(jī)實(shí)驗(yàn)系統(tǒng)是整體結(jié)構(gòu)型的,雖也可完成多種類型實(shí)驗(yàn),但由于整體結(jié)構(gòu)不可變動,實(shí)驗(yàn)項(xiàng)目和類型是預(yù)先設(shè)定和固定的,很難有自主發(fā)揮的余地,如果學(xué)生的創(chuàng)新思想和創(chuàng)新設(shè)計與實(shí)驗(yàn)系統(tǒng)的結(jié)構(gòu)不吻合,便無法在此平臺上獲得驗(yàn)證。根據(jù)圖2結(jié)構(gòu),模塊化配置給出了最好的解決方案:○ 在實(shí)驗(yàn)和創(chuàng)新實(shí)踐中,能提供用于構(gòu)建單片機(jī)應(yīng)用系統(tǒng)中必須的外設(shè)接口模塊,以及構(gòu)建SOC充足的邏輯資源和存儲器資源,豐富到足以涵蓋單片機(jī)SOC系統(tǒng)任何邏輯規(guī)模的結(jié)構(gòu)以及學(xué)生的創(chuàng)造力所及的任何形式的設(shè)計項(xiàng)目! 在外圍接口方面,除大量豐富的接口模塊,如VGA、PS2、USB、SD卡、RS232串口、語音處理、AD/DA等等現(xiàn)成的模塊外,還提供能適應(yīng)實(shí)驗(yàn)者隨時根據(jù)自己的創(chuàng)新實(shí)驗(yàn)需要,自主安排和設(shè)計新功能模塊的標(biāo)準(zhǔn)接口! 從涉及構(gòu)建SOC級的單片機(jī)應(yīng)用系統(tǒng)的課程性質(zhì)和實(shí)驗(yàn)性質(zhì)看,將實(shí)驗(yàn)硬件平臺定位于大規(guī)模邏輯容量的FPGA,在硬件實(shí)現(xiàn)與測試,軟件調(diào)試,軟硬件聯(lián)合測試與驗(yàn)證方面是十分必須的。
KX-MCU40配置如下:
一、基本平臺 編號:A 主系統(tǒng)
☆此平臺最多可同時插12 塊模塊板! KX_USB-Blaster2型雙功能編程器:(1)USB-Blaster編程下載功能(支持AS、PS、JTAG模式):1、對FPGA/CPLD進(jìn)行配置或編程;2、對配置器件EPCSx編程;3、訪問和編輯FPGA內(nèi)部RAM;4、調(diào)試Nios2,完成SOPC設(shè)計;5、支持SignalTapII 嵌入式邏輯分析儀。(2)USB到UART串行通信轉(zhuǎn)換:1、通過USB與FPGA串行通信,實(shí)現(xiàn)PC與FPGA的串行通信,且無需RS232電平轉(zhuǎn)換;2、通過USB與單片機(jī)的串行通信,實(shí)現(xiàn)PC與通用單片機(jī)的UART串行通信;3、通過USB對STC等系列單片機(jī)進(jìn)行直接編程開發(fā),無需電平轉(zhuǎn)換。☆ ByteBlasterMV編程器一個(可對isp單片機(jī)編程)! 5功能智能邏輯筆:可顯示高電平、低電平、中電平、高阻態(tài)、脈沖信號。注意有“高阻態(tài)”測試功能! 獨(dú)立的標(biāo)準(zhǔn)時鐘頻率20個。20MHZ-0.5HZ! 電源有自動保護(hù)的+5V,+12V、-12V、、+3.3V、2.5V+、1.2V。☆ 8個LED放光二級管,8個乒乓開關(guān),揚(yáng)聲器! DDS信號輸出口及幅度、偏移調(diào)諧。
編號:B2、FPGA模塊二 |
Cyclone III FPGA EP3C40Q240,約300萬門、4鎖相環(huán),120萬RAM bit,4萬LCs,16M Flash EPCS16,超寬超高鎖相環(huán)輸出頻率1300MHz至2kHz,22對LVDS差分通道,252個9X9bit數(shù)字乘法器等,板上還有3032 CPLD、16M EPCS16 Flash、32M SDRAM。提供多種IP核:32位NiosII核、20MHz有源晶振等。FPGA板包含 8051/52 IP核。提供商業(yè)級全兼容MCS-51單片機(jī)IP核。利用此核,實(shí)驗(yàn)者可以實(shí)現(xiàn)傳統(tǒng)單片機(jī)實(shí)驗(yàn)系統(tǒng)無法達(dá)到的SOC(片上系統(tǒng))設(shè)計。即將單片機(jī)CPU、RAM、ROM以及其它各類接口電路模塊設(shè)計在同一片F(xiàn)PGA中。此類技術(shù)對于對于面向高新技術(shù)企業(yè)的就業(yè)十分必要。 8088、8086 CPU IP核。 8255A IP核模塊;8255A IP核(I/O接口);8253/8254 IP核(定時器);8250 IP核(UART串行通信);8237 IP核(DMA控制器);8259 IP核(可編程中斷控制器),以及基于FPGA的RAM/ROM核、鎖相環(huán)核等。這些IP核與8088CPU核相結(jié)合就能在單片F(xiàn)PGA中構(gòu)成一個微機(jī)系統(tǒng),從而學(xué)習(xí)到實(shí)用的SOC設(shè)計工程技術(shù)。FPGA中的8088核與MCS-31單片機(jī)核及其中的各種模塊和核都能與以下各模塊結(jié)合,實(shí)現(xiàn)不同類型的實(shí)驗(yàn)開發(fā)。 |
編號:C9、7數(shù)碼管串行靜態(tài)顯示模塊 |
編號:C13、點(diǎn)陣式128X64液晶顯示模塊 |
編號:C21、SD+PS2+RS232+VGA顯示接口模塊 |
編號:C26、雙串行存儲器+邏輯筆設(shè)計模塊 |
編號:C29、GPS實(shí)驗(yàn)開發(fā)模塊 |
○ 基本軟件:1)Quartus II 9.0/11.0;2)ModelSim;3)Synplify;4)IDE;5)8051單片機(jī)IP核;6)8088/8086 CPU IP核;7)8088/8086微機(jī)系統(tǒng)接口模塊IP核:8253核、8237核、8259核、8255IP核和8250等IP核;8)Nios II
系統(tǒng)部分除EDA以外的單片機(jī)及IP核實(shí)驗(yàn) 注:以下實(shí)驗(yàn)根據(jù)系統(tǒng)配置來對應(yīng)完成
第六章 單片機(jī)系統(tǒng)綜合實(shí)驗(yàn)
6.1 單片機(jī)基本實(shí)驗(yàn)
實(shí)驗(yàn)6-1.存儲器塊清零程序設(shè)計
實(shí)驗(yàn)6-2 二進(jìn)制到BCD轉(zhuǎn)換程序設(shè)計
實(shí)驗(yàn)6-3 十六進(jìn)制到ASCII碼轉(zhuǎn)換程序設(shè)計
實(shí)驗(yàn)6-4 存儲塊移動程序設(shè)計
實(shí)驗(yàn)6-5 多分支程序
實(shí)驗(yàn)6-6 數(shù)據(jù)排序程序設(shè)計.
實(shí)驗(yàn)6-7 P1口輸入、輸出實(shí)驗(yàn)
實(shí)驗(yàn)6-8 交通燈控制(軟件延時法)
實(shí)驗(yàn)6-9 交通燈控制(定時器延時法)
實(shí)驗(yàn)6-10 計數(shù)器應(yīng)用實(shí)驗(yàn)
實(shí)驗(yàn)6-11 外部中斷實(shí)驗(yàn)
實(shí)驗(yàn)6-12 定時器實(shí)驗(yàn)1(P1口狀態(tài)取反)
實(shí)驗(yàn)6-13 定時器輸出PWM實(shí)驗(yàn)
實(shí)驗(yàn)6-14 外部中斷實(shí)驗(yàn)
6.2 單片機(jī)擴(kuò)展和接口實(shí)驗(yàn)與設(shè)計
實(shí)驗(yàn)6-15 單片機(jī)串口擴(kuò)展
實(shí)驗(yàn)6-16 鍵盤與液晶顯示控制
實(shí)驗(yàn)6-17 單片機(jī)串行通信和紅外雙向通信
實(shí)驗(yàn)6-18 單片機(jī)擴(kuò)展X5045看門狗器件
實(shí)驗(yàn)6-19 單片機(jī)擴(kuò)展DS1302時鐘/日歷器件
實(shí)驗(yàn)6-20 SPI串行DAC TLV5637與單片機(jī)的接口
實(shí)驗(yàn)6-21 串行精密ADC器件ADS1100與單片機(jī)的接口
實(shí)驗(yàn)6-22 串行高速ADC器件ADS7816與單片機(jī)的接口
實(shí)驗(yàn)6-23 高速微功耗串行ADC器件TLV2541與單片機(jī)的接口
實(shí)驗(yàn)6-24 雙通道A/D轉(zhuǎn)換芯片ADC0832與單片機(jī)的接口
實(shí)驗(yàn)6-25 高速同步10位串行A/D轉(zhuǎn)換器與單片機(jī)的接口
第七章 單片機(jī)擴(kuò)展FPGA綜合實(shí)驗(yàn)與設(shè)計
實(shí)驗(yàn)7-1 單片機(jī)串行擴(kuò)展FPGA系統(tǒng)設(shè)計
實(shí)驗(yàn)7-2 單片機(jī)數(shù)據(jù)交換FPGA擴(kuò)展電路設(shè)計
實(shí)驗(yàn)7-3 擴(kuò)展外部數(shù)據(jù)存儲器的單片機(jī)與FPGA擴(kuò)展系統(tǒng)設(shè)計
實(shí)驗(yàn)7-4 四通道PWM信號發(fā)生器及其單片機(jī)控制系統(tǒng)設(shè)計
實(shí)驗(yàn)7-5 移相信號發(fā)生器的FPGA與單片機(jī)擴(kuò)展系統(tǒng)設(shè)計
實(shí)驗(yàn)7-6 里薩如圖波形發(fā)生器的單片機(jī)與FPGA擴(kuò)展系統(tǒng)設(shè)計
實(shí)驗(yàn)7-7 數(shù)字電壓表FPGA單片機(jī)的系統(tǒng)設(shè)計
實(shí)驗(yàn)7-8 數(shù)字頻率計與單片機(jī)串行通信接口功能設(shè)計
實(shí)驗(yàn)7-9 直流電機(jī)測控單片機(jī)與FPGA擴(kuò)展系統(tǒng)設(shè)計
實(shí)驗(yàn)7-10 等精度頻率/脈寬/占空比/相位多功能測試儀設(shè)計
第八章 基于單片機(jī)8051/8088微機(jī)原理IP核的FPGA片上系統(tǒng)SOC設(shè)計
實(shí)驗(yàn)8-1.單片機(jī)串口擴(kuò)展FPGA片上系統(tǒng)SOC設(shè)計
實(shí)驗(yàn)8-2.?dāng)U展外部數(shù)據(jù)存儲器的FPGA單片系統(tǒng)設(shè)計
實(shí)驗(yàn)8-3.四通道PWM信號發(fā)生器及單片系統(tǒng)設(shè)計
實(shí)驗(yàn)8-4.移相信號發(fā)生器的FPGA片上系統(tǒng)SOC設(shè)計
實(shí)驗(yàn)8-5.里薩如圖波形發(fā)生器的FPGA片上系統(tǒng)設(shè)計
實(shí)驗(yàn)8-6.?dāng)?shù)字電壓表FPGA單片系統(tǒng)SOC設(shè)計
實(shí)驗(yàn)8-7.?dāng)?shù)字頻率計與單片機(jī)串行通信接口功能設(shè)計
實(shí)驗(yàn)8-8.直流電機(jī)測控FPGA單片系統(tǒng)設(shè)計
實(shí)驗(yàn)8-9.等精度頻率計FPGA單片系統(tǒng)設(shè)計
實(shí)驗(yàn)8-10.基于FPGA的紅外雙向通信單片系統(tǒng)設(shè)計
實(shí)驗(yàn)8-11. 頻率和占空比可數(shù)控方波信號發(fā)生器設(shè)計示例
實(shí)驗(yàn)8-12. 8052 IP核等精度頻率計/GPS應(yīng)用聯(lián)合設(shè)計
實(shí)驗(yàn)8-13. 8051核控制DS18B20數(shù)字溫度模塊
實(shí)驗(yàn)8-14. 8051核驅(qū)動LCD128X64
實(shí)驗(yàn)8-15. 基本8088和8253核應(yīng)用
實(shí)驗(yàn)8-16. 基本8088系統(tǒng)的GPS應(yīng)用模塊
實(shí)驗(yàn)8-17. 8088系統(tǒng)的DMA核應(yīng)用
實(shí)驗(yàn)8-18. 8088系統(tǒng)UART核應(yīng)用
實(shí)驗(yàn)8-19. 8086經(jīng)典微機(jī)片上系統(tǒng)構(gòu)建