盡管在最近三十年中,大規(guī)模集成電路技術(shù)和計(jì)算機(jī)軟硬件技術(shù),特別是微處理器和微型計(jì)算機(jī)技術(shù)的進(jìn)步有了翻天覆地的變化,然而,作為電子信息類各專業(yè)重要的專業(yè)基礎(chǔ)課,“微機(jī)原理與接口技術(shù)”課程的內(nèi)容及實(shí)驗(yàn)方式仍停留在上世紀(jì)80年代。我們不妨打開幾乎任何一本上世紀(jì)80年代和2012年最近的同名教材《微機(jī)原理與接口技術(shù)》,就會(huì)發(fā)現(xiàn),在這里,時(shí)間是凝固的,內(nèi)容是穿越的。這是因?yàn)樗鼈兊暮诵膬?nèi)容,基本技術(shù),硬件形式和實(shí)驗(yàn)方法沒有發(fā)生任何變化?梢韵胂,讀者根本無法從中感受到這一課程與外部世界信息技術(shù)進(jìn)步的風(fēng)馳電騁般的腳步聲有何聯(lián)系。顯然這一課程的許多內(nèi)容及實(shí)驗(yàn)方式顯得過于陳舊,已不能完全適應(yīng)現(xiàn)代的微機(jī)技術(shù)了,有必要進(jìn)行適當(dāng)?shù)母母锱c補(bǔ)充:
◆ 現(xiàn)代微機(jī)系統(tǒng)早已進(jìn)入了片上系統(tǒng)SOC(System Of a Chip)時(shí)代,孤立地討論微機(jī)中各接口部件結(jié)構(gòu)原理的同時(shí),也應(yīng)該描述微機(jī)的整體結(jié)構(gòu)及構(gòu)建技術(shù),理應(yīng)給出與現(xiàn)代微機(jī)作為SOC整體結(jié)構(gòu)相吻合的整機(jī)構(gòu)建原理及工程技術(shù);
◆ 現(xiàn)代微機(jī)中早已沒有了早期PC機(jī)中離散的接口器件了(如8255、8237等芯片,盡管還保留了它們的功能),但在教學(xué)和實(shí)驗(yàn)中就不應(yīng)僅僅圍繞這些早期的離散器件來進(jìn)行,而是應(yīng)該把它們作為微機(jī)SOC整體中的一個(gè)部分來認(rèn)識(shí)和討論;
◆ 與上世紀(jì)80年代的電子技術(shù)水平完全不同,現(xiàn)在已進(jìn)入了電子設(shè)計(jì)自動(dòng)化的時(shí)代,不僅諸如8255、8237、8254這樣的接口器件可以利用EDA技術(shù)進(jìn)行自主設(shè)計(jì),即使是CPU這樣的大規(guī)模芯片,乃至整個(gè)SOC微機(jī)系統(tǒng),用戶也同樣能自主構(gòu)建。所有這些也應(yīng)該在教學(xué)內(nèi)容和實(shí)驗(yàn)中有所反應(yīng),因?yàn)檫@些內(nèi)容將使學(xué)生深化對微機(jī)原理和接口器件的認(rèn)識(shí)。
◆ 對于這門課程,現(xiàn)在仍然沿襲早期的孤立和被動(dòng)地認(rèn)知微機(jī)原理和學(xué)習(xí)接口技術(shù)的教學(xué)方法。所謂孤立,就是不與其他的學(xué)科,如計(jì)算機(jī)組成、嵌入式系統(tǒng)、EDA技術(shù)、SOC技術(shù)等,有任何相關(guān)性,即無法與其他學(xué)科體系進(jìn)行有機(jī)融合;所謂被動(dòng),就是只是單向地學(xué)會(huì)使用一些現(xiàn)成的接口器件和接口技術(shù),而無法主動(dòng)地自主設(shè)計(jì)新的接口器件和給出新的接口技術(shù)。這勢必極大地限制了學(xué)生的視野,約束了他們的創(chuàng)新意識(shí)。這一切都必須在這門課程中引入全新的內(nèi)容加以改變。針對以上的討論, 清華大學(xué)出版社將于2013年推出《微機(jī)原理與接口技術(shù)——原理、技術(shù)與SOC實(shí)現(xiàn)》一書,作者是杭州電子科技大學(xué)與桂林電子科技大學(xué)的有關(guān)教師。此教材的整體結(jié)構(gòu)和基本內(nèi)容與傳統(tǒng)《微機(jī)原理與接口技術(shù)》有很好的吻合,但為了融入新的內(nèi)容,作了必要的精簡。作者將EDA與SOC技術(shù)有機(jī)地融入了相關(guān)章節(jié)中,并在各對應(yīng)章節(jié)后增加了有良好針對性的實(shí)驗(yàn)及自主設(shè)計(jì)實(shí)踐項(xiàng)目。例如,在涉及接口技術(shù)的各章中,除了按習(xí)慣的流程介紹傳統(tǒng)的基本概念、常用器件(如8088/8086、8255、8259、8237、8253、16550等)和接口技術(shù)外,還特別增加了對應(yīng)的SOC技術(shù)的介紹:
圖1 構(gòu)建于FPGA內(nèi)的基于8086 CPU核的微型計(jì)算機(jī)片上系統(tǒng)SOC模塊圖 |
這里以并行接口技術(shù)章節(jié)的8255為例。此章在完成傳統(tǒng)內(nèi)容的講解后,首先介紹8255 IP核的基本概念和使用方法,包括介紹此核與傳統(tǒng)8255芯片的異同點(diǎn);然后在EDA工具平臺(tái)上介紹8088/8086 CPU IP核與8255核的接口方法以及8255核與外設(shè)的接口技術(shù);最后介紹如何將8088/8086 CPU核與接口器件8255核構(gòu)成一個(gè)能夠執(zhí)行標(biāo)準(zhǔn)匯編指令的簡易結(jié)構(gòu)的微機(jī)系統(tǒng)(包括必要的嵌入式存儲(chǔ)器)。詳細(xì)討論通過仿真測試并下載于一片F(xiàn)PGA中之后,利用各種實(shí)時(shí)測試工具對下載于FPGA中“微機(jī)”SOC系統(tǒng)的硬件功能及其軟件程序執(zhí)行的各種情況。在這個(gè)過程中,學(xué)生不僅是被動(dòng)的學(xué)習(xí)者和應(yīng)用者,尤其了成為能動(dòng)的自主設(shè)計(jì)者!這一切反過來又促進(jìn)了對微機(jī)接口技術(shù)的深入掌握。
最后還要增加三個(gè)部分或三個(gè)逐步升級(jí)的內(nèi)容,這些內(nèi)容將之前的章節(jié)作整合和歸納,并逐章升華:第一部分根據(jù)實(shí)用要求,介紹自主設(shè)計(jì)與應(yīng)用除傳統(tǒng)接口器件(如8253、8279等)以外的接口模塊的方法,包括自主設(shè)計(jì)接口模塊與SOC微機(jī)系統(tǒng)的軟硬件接口技術(shù)以及與外設(shè)的接口技術(shù);第二部分討論的內(nèi)容是將之前介紹的一個(gè)個(gè)簡易微機(jī)系統(tǒng)整合成一個(gè)完整的,功能全面的SOC微機(jī)系統(tǒng),其基本結(jié)構(gòu)所包含的IP核主要有8088/8086、8255、8259、8237、8253、16550及自主設(shè)計(jì)的接口模塊和各類存儲(chǔ)器等,以及對此SOC系統(tǒng)的軟硬件測試技術(shù)和系統(tǒng)實(shí)用方法;
一、模塊化微機(jī)原理與接口技術(shù)實(shí)驗(yàn)與SOC設(shè)計(jì)綜合開發(fā)系統(tǒng)
SOC片上系統(tǒng)8088完成的實(shí)驗(yàn):
◇ 8255可編程I/O核的構(gòu)建,硬件實(shí)驗(yàn),以及8088 CPU與8255接口的硬件構(gòu)建及軟件設(shè)計(jì)實(shí)驗(yàn),和相關(guān)接口實(shí)驗(yàn);
◇ 8253定時(shí)器核的構(gòu)建,硬件實(shí)驗(yàn),以及8088 CPU與8253接口的硬件構(gòu)建及軟件設(shè)計(jì)實(shí)驗(yàn),和相關(guān)接口實(shí)驗(yàn);
◇ 8237 DMA核的構(gòu)建,硬件實(shí)驗(yàn),以及8088 CPU與8237接口的硬件構(gòu)建及軟件設(shè)計(jì)實(shí)驗(yàn),和相關(guān)接口實(shí)驗(yàn);
◇ 8259中斷控制核的構(gòu)建,硬件實(shí)驗(yàn),以及8088 CPU與8259接口的硬件構(gòu)建及軟件設(shè)計(jì)實(shí)驗(yàn),和相關(guān)接口實(shí)驗(yàn);
◇ 8250 UART串行通信核的構(gòu)建,硬件實(shí)驗(yàn),以及8088 CPU與8250接口的硬件構(gòu)建及軟件設(shè)計(jì)實(shí)驗(yàn),和相關(guān)接口實(shí)驗(yàn);
◇ 8088與所有IP核構(gòu)建綜合系統(tǒng)的硬件實(shí)驗(yàn)以及軟件實(shí)驗(yàn):多首歌曲演奏設(shè)計(jì)實(shí)驗(yàn);
◇ 8088與所有IP核構(gòu)建綜合系統(tǒng)的硬件實(shí)驗(yàn)以及軟件實(shí)驗(yàn):GPS應(yīng)用設(shè)計(jì)實(shí)驗(yàn);
◇ 8086與所有IP核構(gòu)建綜合系統(tǒng)的硬件實(shí)驗(yàn)以及軟件實(shí)驗(yàn),BIOS ROM建立,MS-DOS操作系統(tǒng)啟動(dòng);
◇ 8086與所有IP核構(gòu)建綜合系統(tǒng)的硬件實(shí)驗(yàn)以及軟件實(shí)驗(yàn),VGA顯示,PS2鍵盤控制,DOS命令控制接口及WINDOWS系統(tǒng)及相關(guān)軟件運(yùn)行;
◇ 8086與所有IP核構(gòu)建綜合系統(tǒng)的硬件實(shí)驗(yàn)以及軟件實(shí)驗(yàn),8086嵌入式系統(tǒng)TURBO C調(diào)試實(shí)驗(yàn)。
◇ 基于8086/8088和其他所有接口模塊的自主創(chuàng)新實(shí)驗(yàn)。
模塊化微機(jī)原理與接口技術(shù)SOC實(shí)驗(yàn)系統(tǒng)KX_MCD55的結(jié)構(gòu)框圖。通常,諸如微機(jī)原理與接口技術(shù)、計(jì)算機(jī)組成原理、EDA技術(shù)、單片機(jī)技術(shù)或SOPC實(shí)驗(yàn)等傳統(tǒng)實(shí)驗(yàn)平臺(tái)多數(shù)是整體結(jié)構(gòu)型的,雖也可完成多種類型實(shí)驗(yàn),但由于整體結(jié)構(gòu)不可變動(dòng),實(shí)驗(yàn)項(xiàng)目和類型是預(yù)先設(shè)定和固定的,很難有自主發(fā)揮的余地,因此主要是完成一些驗(yàn)證性實(shí)驗(yàn)。如果學(xué)生的創(chuàng)新思想與創(chuàng)新設(shè)計(jì)與實(shí)驗(yàn)系統(tǒng)的結(jié)構(gòu)不吻合,便無法在此平臺(tái)上獲得驗(yàn)證。
模塊化結(jié)構(gòu)給出了最好的解決方案:
○ 在實(shí)驗(yàn)和創(chuàng)新實(shí)踐中,能提供用于構(gòu)建微機(jī)系統(tǒng)中必須的邏輯和存儲(chǔ)器資源,豐富到足以涵蓋微機(jī)系統(tǒng)任何邏輯規(guī)模的結(jié)構(gòu)以及學(xué)生的創(chuàng)造力所及的任何形式的設(shè)計(jì)項(xiàng)目。
○ 在外圍接口方面,除大量豐富的接口模塊,如VGA、PS2、USB、SD卡、RS232串口、語音處理、AD/DA等等現(xiàn)成的模塊外,還提供能適應(yīng)實(shí)驗(yàn)者隨時(shí)根據(jù)自己的創(chuàng)新實(shí)驗(yàn)需要,自主安排和設(shè)計(jì)新功能模塊的標(biāo)準(zhǔn)接口。
○ 從微機(jī)原理與接口技術(shù)這一課程的性質(zhì)可以看出,將實(shí)驗(yàn)硬件平臺(tái)定位于大規(guī)模邏輯容量的Cyclone III系列FPGA,在硬件測試,軟件調(diào)試,軟硬件聯(lián)合測試與驗(yàn)證方面是十分必須的,特別是基于Quartus II平臺(tái)的強(qiáng)大的測試工具,如Signal Tap II、In-System Sources and Probes 和In-System Memory Content Editor等具有不可替代的功能。此外,特別要指出的是,KX_MCD55系統(tǒng)在除了適用于此教材中涉及的所有驗(yàn)證性實(shí)驗(yàn)和自主設(shè)計(jì)性實(shí)踐項(xiàng)目外,還能很專業(yè)地包涵諸如數(shù)字系統(tǒng)實(shí)驗(yàn)、EDA技術(shù)實(shí)驗(yàn)、VHDL/Verilog硬件描述語言應(yīng)用實(shí)驗(yàn)、SOPC開發(fā)和各類IP應(yīng)用等。
與《微機(jī)原理與接口技術(shù)——原理、技術(shù)與SOC實(shí)現(xiàn)》教材配套的實(shí)驗(yàn)開發(fā)與創(chuàng)新設(shè)計(jì)的設(shè)備是:
型號(hào):KX-MCD10完成以下實(shí)驗(yàn):
▲ 現(xiàn)代計(jì)算機(jī)組成原理與設(shè)計(jì)的基礎(chǔ)實(shí)驗(yàn),包括各組成部件,如ALU、移位寄存器、總線控制器等的設(shè)計(jì)與測試;▲ 基于微指令的8位CISC模型計(jì)算機(jī)設(shè)計(jì)與測試。即將傳統(tǒng)計(jì)算機(jī)組成原理實(shí)驗(yàn)中的8位模型機(jī)完整實(shí)現(xiàn)于一片F(xiàn)PGA中,并利用QuartusII的實(shí)時(shí)測試工具,如Signal Tap II和In-System Sources and Probes進(jìn)行硬件測試; |
▲ 基于狀態(tài)機(jī)控制指令的16位CISC CPU設(shè)計(jì)與測試,包括CPU創(chuàng)新設(shè)計(jì)競賽實(shí)踐項(xiàng)目;
▲ 基于流水線架構(gòu)的16位RISC 精簡指令CPU設(shè)計(jì),與相關(guān)實(shí)驗(yàn);
▲ 基于32位Nios II嵌入式處理器和Qsys開發(fā)環(huán)境的SOPC實(shí)驗(yàn)與開發(fā);
▲ 基于Open RISC 1200系列的32位RISC處理器嵌入式SOC系統(tǒng)實(shí)驗(yàn)與開發(fā);
▲ 基于8088/8086 IP核的微機(jī)SOC系統(tǒng),以及8253定時(shí)器IP核、8237 DMA IP核、8259中斷控制IP核、8255可編程I/O IP核和8250 UART串行通信IP軟核構(gòu)建的SOC微機(jī)系統(tǒng);此FPGA內(nèi)部SRAM中含BIOS啟動(dòng)ROM、顯示緩存、PS2緩存等;能啟動(dòng)MS-DOS操作系統(tǒng)和Windows操作系統(tǒng),在VGA顯示器上用PS2鍵盤和鼠標(biāo)完成DOS和部分Windows命令及運(yùn)行各種基于命令行的傳統(tǒng)軟件與視窗軟件。
▲ 基于8051單片機(jī)IP核的SOC片上系統(tǒng)設(shè)計(jì)系列實(shí)驗(yàn)。
KX-MCD10配置如下:
一、基本平臺(tái) 編號(hào):A 主系統(tǒng)
☆此平臺(tái)最多可同時(shí)插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è)計(jì);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編程器一個(gè)(可對isp單片機(jī)編程)! 5功能智能邏輯筆:可顯示高電平、低電平、中電平、高阻態(tài)、脈沖信號(hào)。注意有“高阻態(tài)”測試功能。☆ 獨(dú)立的標(biāo)準(zhǔn)時(shí)鐘頻率20個(gè)。20MHZ-0.5HZ! 電源有自動(dòng)保護(hù)的+5V,+12V、-12V、、+3.3V、2.5V+、1.2V。☆ 8個(gè)LED放光二級(jí)管,8個(gè)乒乓開關(guān),揚(yáng)聲器。☆ DDS信號(hào)輸出口及幅度、偏移調(diào)諧。
編號(hào):B1、FPGA模塊一 |
此FPGA由含100萬門的CycloneIII新型大規(guī)模FPGA EP3C10構(gòu)成,2鎖相環(huán),44萬RAM 位,5千LCs,EPCS4 4M Flash。超寬超高鎖相環(huán)輸出頻率1300MHz至2kHz!,提供多種IP核:32位NiosII核、20MHz有源晶振等.FPGA板包含 8051/52 IP核。提供商業(yè)級(jí)全兼容MCS-51單片機(jī)IP核。利用此核,實(shí)驗(yàn)者可以實(shí)現(xiàn)傳統(tǒng)單片機(jī)實(shí)驗(yàn)系統(tǒng)無法達(dá)到的SOC(片上系統(tǒng))設(shè)計(jì)。即將單片機(jī)CPU、RAM、ROM以及其它各類接口電路模塊設(shè)計(jì)在同一片F(xiàn)PGA中。此類技術(shù)對于對于面向高新技術(shù)企業(yè)的就業(yè)十分必要。 8088、8086 CPU IP核。 8255A IP核模塊;8255A IP核(I/O接口);8253/8254 IP核(定時(shí)器);8250 IP核(UART串行通信);8237 IP核(DMA控制器);8259 IP核(可編程中斷控制器),以及基于FPGA的RAM/ROM核、鎖相環(huán)核等。這些IP核與8088CPU核相結(jié)合就能在單片F(xiàn)PGA中構(gòu)成一個(gè)微機(jī)系統(tǒng),從而學(xué)習(xí)到實(shí)用的SOC設(shè)計(jì)工程技術(shù)。FPGA中的8088核與MCS-31單片機(jī)核及其中的各種模塊和核都能與以下各模塊結(jié)合,實(shí)現(xiàn)不同類型的實(shí)驗(yàn)開發(fā) |
編號(hào):C6、MCS-51單片機(jī)模塊 |
編號(hào):C8、4X4+8個(gè)單脈沖綜合鍵盤模塊 |
編號(hào):C9、7數(shù)碼管串行靜態(tài)顯示模塊 |
編號(hào):C13、點(diǎn)陣式128X64液晶顯示模塊 |
編號(hào):C14、字符式20X4液晶顯示模塊 |
編號(hào):C21、SD+PS2+RS232+VGA顯示接口模塊 |
編號(hào):C26、雙串行存儲(chǔ)器+邏輯筆設(shè)計(jì)模塊 |
編號(hào):C29、GPS實(shí)驗(yàn)開發(fā)模塊 |
編號(hào):C30、看門狗定時(shí)器+時(shí)鐘日歷模塊 |
編號(hào):C33、動(dòng)態(tài)掃描模塊 |