桑勝舉,李 芳,吳月英
(1.泰山學院 信息科學技術(shù)學院;2.泰山學院 數(shù)學與統(tǒng)計學院,山東 泰安 271000)
自20世紀70年代單片機(Micro controllers)問世以來,從4位發(fā)展到8位,從16位迅速發(fā)展到32位高端單片機,已成為計算機技術(shù)中的一個獨特的分支。隨著器件制造技術(shù)的發(fā)展和市場需求的持續(xù)增長,近年來嵌入式微控制器的發(fā)展速度驚人,并融合了許多新的設計理念和傳統(tǒng)計算機的技術(shù)成果,例如哈弗體系結(jié)構(gòu)、片上系統(tǒng)、流水線技術(shù)、高速緩存技術(shù)、在系統(tǒng)編程技術(shù)等等。在目前百花齊放的單片機品牌與系列之中,傳統(tǒng)的51內(nèi)核系列單片機似乎已經(jīng)落伍了。事實上,正因為51系列經(jīng)歷了長時間的應用,積累了大量的軟硬件資源和數(shù)量龐大的工程人才儲備,如果能夠?qū)鹘y(tǒng)的51系列與一些新的技術(shù)有機結(jié)合,則既可以發(fā)揮原有軟硬件資源的作用,又可以減少工程開發(fā)人員的移植任務量。
本文所采用的C8051F系列單片機,就是近年來比較成功的一個系列,嚴格地說C8051F系列已經(jīng)不是傳統(tǒng)意義上的“單片機”,而是具有在系統(tǒng)編程(ISP)特性的片上系統(tǒng)(SoC)。
Cygnal C8051F系列單片機由Silicon Labs公司推出,是業(yè)內(nèi)最小封裝的微控制器(MCU)(小至2mmx2mm),不會犧牲性能或集成性。完整的小型封裝產(chǎn)品線包括高達100MIPs的CPU、12-位ADC、12位 DAC以及其他重要的模擬外圍設備,如集成精密振蕩器(±2%)和精密溫度傳感器(±2°C),還提供成本敏感、引腳兼容的一次性可編程(OTP)選項。C8051F系列是一種典型的高性能單片機,完全集成混合信號系統(tǒng)級芯片完全兼容MCS-51。Cygnal集成產(chǎn)品公司推出的C8051F單片機的出現(xiàn)令業(yè)界人士耳目一新,使廣大單片機系統(tǒng)設計人員看到了51單片機新的曙光。C8051F系列單片機已有7種產(chǎn)品選型500多個品種。高度集成的小封裝C8051F系列單片機經(jīng)過優(yōu)化,專門應用于消費、汽車和通訊市場中的空間有限、低功耗、低成本的應用中。
在保證指令集完全兼容51系列單片機的前提下實現(xiàn)了比傳統(tǒng)51單片機高得多的性能指標。同時為了支持各種不同的應用形式,提供了非常豐富的系列型號供用戶選擇:封裝形式從11引腳MLP11(8個通用IO腳)到100引腳的TQFP100(最多64個通用IO腳);片內(nèi)flash存儲器容量從2KB到1MB;片內(nèi)數(shù)據(jù)存儲器容量從256B到4KB+256B;8/10/12位的A/D或D/A轉(zhuǎn)換器;更多的定時器資源以及功能完善的定時器陣列(PCA)。某些型號還提供了片內(nèi)溫度傳感器、回差可編程的電壓比較器、程控增益放大器(PGA)等模擬部件。特別值得一提的是其豐富的串行通訊接口設備,從異步串行口UART、3(或4)線SPI接口、全硬件的I2C接口,到USB2.0及CAN2.0等新型高速串行接口都有所支持,為實現(xiàn)各種不同應用提供極大的方便。
C8051F系列芯片典型結(jié)構(gòu)如圖1所示。
圖1 C8051F單片機芯片典型結(jié)構(gòu)示意圖
C8051F系列單片機采用CIP-51內(nèi)核,CIP-51與MCS-51指令系統(tǒng)全兼容,可用標準的ASM51KeilC高級語言開發(fā)編譯C8051F系列單片機的程序。CIP-51內(nèi)核具有標準8052的所有外設部件包括5個16位的計數(shù)器/定時器、兩個全雙工UART、256字節(jié)內(nèi)部RAM128字節(jié)特殊功能寄存器SFR以及8(或4)個字節(jié)寬的I/O端口。
表1 C8051指令條數(shù)與執(zhí)行時間關(guān)系表
標準的8051一個機器周期要占用12個系統(tǒng)時鐘周期,執(zhí)行一條指令最少要一個機器周期。C8051F系列單片機指令處理采用流水線結(jié)構(gòu),機器周期由標準的12個系統(tǒng)時鐘周期降為1個系統(tǒng)時鐘周期,指令處理能力比MCS51大大提高。內(nèi)核70%的指令執(zhí)行是在一個或兩個系統(tǒng)時鐘周期內(nèi)完成,只有四條指令的執(zhí)行需4個以上時鐘周期。C8051F系列單片機匯編指令共有111條指令,指令條數(shù)與執(zhí)行時所需的系統(tǒng)時鐘周期數(shù)的關(guān)系如表1所示。當時鐘頻率為100MHz時,C8051F系列指令執(zhí)行峰值速度高達100MIPS,圖2給出了幾種8位MCU峰值速度的比較關(guān)系(C8051F的時鐘頻率取25MHz)。
圖2 MCU峰值執(zhí)行速度比較
C8051F系列是一種典型的高性能單片機,完全集成混合信號系統(tǒng)級芯片完全兼容MCS-51。C8051F系列單片機已有7種產(chǎn)品選型500多個品種。高度集成的小封裝C8051F系列單片機經(jīng)過優(yōu)化,專門應用于消費、汽車和通訊市場中的空間有限、低功耗、低成本的應用中。在學生的實際學習過程中,可以根據(jù)不同專業(yè)、不同興趣和愛好,按需選型進行學習和開發(fā)。
該系列C8051一般具有10位~24位ADC、12位DAC、溫度傳感器、VREF、可編程增益放大器(PGA)、可編程計數(shù)器陣列(PCA)、高精度內(nèi)部振蕩器(2%,1.5%),支持UART、USART、SMBUS/I2C、SPI等。如:C8051F00X、12X/13X/36X等,精密混合應用典型C8051系列如表2所示。
表2 精密混合應用典型C8051系列
該系列C8051符合AEC-Q100標準,運行環(huán)境溫度可達+125℃,包含:CAN 2.0B、LIN2.1接口、12位ADC、高精度內(nèi)部振蕩器(±0.5%)等,供電電壓:1.8V~5.25V等。如:C8051F5XX/85X/86X等,汽車電子應用典型C8051系列詳見表3所示。
表3 汽車電子應用典型C8051系列
續(xù)表
該系列具有12ADC、12位DAC、溫度傳感器、VREF、可編程增益放大器(PGA)、可編程計數(shù)器陣列(PCA)、高精度內(nèi)部振蕩器(±2%)、高精度溫度傳感器(±2℃),支持OTP(One Time Programmable,OTP)存儲器等,集成度高,適合于手持設備、傳感器應用等空間受限及低功耗的場合。如:C8051F30X/F31X F33X系列等。手持設備、傳感器應用典型C8051系列詳見表4所示。
表4 手持設備、傳感器應用典型C8051系列
該系列具有10位ADC、高精度內(nèi)部振蕩器(±1.5%)、高精度溫度傳感器(±2℃),支持UART、SMBUS/I2C、SPI等,集成USB2.0控制器,集成USB配置電阻和1KB USB緩存,支持8個端點,USB支持全速(12Mbps)和低速(1.5Mbps)兩種模式,符合USB規(guī)范2.0版。如:C8051F32X/F34X/F38X系列等。USB應用典型C8051系列詳見表5所示。
表5 USB應用典型C8051系列
該系列具有16/12/10位ADC、12位DAC、集成CAN控制器2.0控制器、高精度內(nèi)部振蕩器(±2%)、高精度溫度傳感器(±2℃)、±60V輸入PGA,支持UART、SMBUS/I2C、SPI等,適合工業(yè)采集和控制應用。如:C8051F04X/F06X系列等。CAN應用典型C8051系列詳見表6所示。
表6 CAN應用典型C8051系列
該系列具有10位ADC、OPT EPROM、集成±0.2%精度內(nèi)部振蕩器,支持UART、SMBUS/I2C、SPI等,支持的電壓范圍為1.8~3.6V,如C8051F60X/F61X/F63X系列等。低成本應用典型C8051系列詳見表7所示。
表7 低成本應用典型C8051系列
該系列具有10位ADC、支持的電壓范圍為1.8~3.6V,典型休眠電流為<0.1μA,如C8051F9XX等,低電壓、低功耗應用典型C8051系列詳見表8所示。
表8 低電壓、低功耗應用典型C8051系列
該系列具有10/12位ADC、最大達38路電容傳感,每通道最快可達40μs,支持的電壓范圍為1.8~3.6V,適合于觸摸按鍵、滑動、滾動、液體傳感器應用場合,如C8051F7XX/F8XX/F99X等系列,低電壓、低功耗應用典型C8051系列如表9所示。
表9 低電壓、低功耗應用典型C8051系列
傳統(tǒng)MCS-51單片機課程的實驗模式多采用專用開發(fā)板、實驗箱、仿真軟件箱的方法。其實驗、開發(fā)過程總是先設計、調(diào)試好硬件,再進行軟件編程。而起初的軟件編程往往是純邏輯和計算的調(diào)試,只有在已調(diào)試好的硬件上,才能進行系統(tǒng)應用軟件的調(diào)試,隨著時鐘頻率的提高和封裝形式的復雜化,這種模式已越來越難勝任實際開發(fā)工作。
C8051F系列MCU內(nèi)都有一個片內(nèi)JTAG接口和邏輯電路,提供生產(chǎn)和在系統(tǒng)測試所需要的邊界掃描功能,支持閃存的讀和寫操作以及非侵入式在系統(tǒng)調(diào)試。JTAG(Joint Test Action Group)是一種國際標準聯(lián)合測試行動組,聯(lián)合測試行動組是IEEE的一個下屬組織,該組織研究標準測試訪問接口和邊界掃描結(jié)構(gòu),其前身是歐洲聯(lián)合測試行動小組(Joint European Test Action Group,JETAG)。1990年,IEEE正式承認JTAG標準,命名為IEEE1149.1-1990。現(xiàn)在,通常用JTAG來表示IEEE1149.1-1990規(guī)范,或者滿足IEEE1149規(guī)范的測試方法?,F(xiàn)在多數(shù)的高級器件都支持JTAG協(xié)議,如DSP、FPGA器件等。
標準的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。JTAG組成結(jié)構(gòu)如圖3所示。
圖3 JTAG組成結(jié)構(gòu)圖
C8051F系列MCU中的JTAG接口完全符合IEEE1149.1規(guī)范。JTAG接口通過C8051F系列MCU上的四個專用引腳(TCK、TMS、TDI和TDO)與開發(fā)工具連接,對單片機在片編程可以進行非侵入式、全速的在系統(tǒng)編程(ISP)和調(diào)試。通過16位JTAG指令寄存器可以發(fā)出8種指令。C8051F系列單片機開發(fā)工具即突破了昂貴開發(fā)系統(tǒng)舊模式,又創(chuàng)立了低價位仿真新思路,為應用技術(shù)的開發(fā)提供了極大的方便。
興趣是能否學好一門課程的關(guān)鍵因素之一,在不少學生中流傳著“硬件難學”、“學了沒用”之類的觀點。這種看法的產(chǎn)生有它多方面的復雜原因,根據(jù)課題組多年的教學經(jīng)驗,硬件課程的特點是細節(jié)多,硬件的工作原理與人的思維和行為方式“格格不入”,學生對抽象的指令和復雜的硬件電路很不適應。因此,在授課環(huán)節(jié)上,緊緊圍繞“以學生為本、培養(yǎng)學生的綜合能力”這一教學目標,改善傳統(tǒng)的教學方式、方法,以激發(fā)學生的學習興趣,提高教學效果。
在授課環(huán)節(jié)的設計上,緊緊圍繞“以學生為本、培養(yǎng)學生的綜合能力”的教學目標,以“能否抓住學生的心”作為設計的主要依據(jù),采用“深入淺出”、“突出重點”、“講透難點”、“引導自學”的啟發(fā)式教學方法,有助于教學效果的提高。
“深入淺出”,是指用淺顯易懂、循序漸進、逐步深入的方式介紹課程內(nèi)容,幫助學生對課程產(chǎn)生學習興趣,避免一開始就介紹過多的專業(yè)術(shù)語和細節(jié)。
“突出重點”,是指在每一堂課的設計上都有一個重點主題,課堂內(nèi)容圍繞重點主題展開,而不是一味地按照章節(jié)順序進行。如,在講授CPU的指令系統(tǒng)時,重點介紹指令的學習方法和掌握一些常用指令,把堆棧指令和控制轉(zhuǎn)移指令放在一起學習,把輸入、輸出指令放在微機接口技術(shù)中介紹,這樣講授要比按照一般教材逐一介紹各指令的效果好的多。
“講透難點”,是指要抓住學生學習課程的難點,對這些難點要做到講清、講透。如,在學習《微機原理與接口技術(shù)》和《單片機原理》時,學生很難理解軟件和硬件的關(guān)系。這對這一問題,可以通過深入地剖析輸入、輸出指令及其時序關(guān)系,讓學生理解指令執(zhí)行過程中輸出了哪些有效信號以及這些信號對相關(guān)電路產(chǎn)生的作用,教會學生分析硬件電路的思路和方法,從而改變以往普遍存在的硬件課程“軟”化的現(xiàn)象。
“引導自學”,是指在授課過程中注重對課程內(nèi)容學習方法的介紹,引導和啟發(fā)學生掌握分析問題的方法,從而做到融會貫通、舉一反三。
對于硬件類課程,學生須將理論知識同實際計算機、集成電路芯片等聯(lián)系起來,進行實際的設計和制作,才能加深理解,融會貫通。由于各方面限制,學生獨立運用所學理論去解決硬件實際設計問題這一重要環(huán)節(jié)較薄弱,僅局限在有限的幾節(jié)實驗課。又由于學生學習能力參差不齊,使計算機硬件這樣一種“看得見,摸得著”的東西反而被不少學生看作“抽象”的理論。不僅學習效果不佳,而且對計算機硬件產(chǎn)生畏懼心理,使得計算機硬件知識成為學生知識體系中的一個“瓶頸”。
“任務驅(qū)動”是實施探究式教學的一種實驗教學模式,其顯著特征是:教師的教學與學生的學習都是基于幾項任務,圍繞一個進行。培養(yǎng)學生的自學能力和分析問題、解決問題的能力。將“任務驅(qū)動”思想與計算機硬件教學結(jié)合,構(gòu)造全新課題式教學內(nèi)容,把所要教授的各項理論知識和實踐技能按由淺入深的原則分解到幾個具有明確應用目標的實驗課題中,讓學生在規(guī)定時間內(nèi)獨立完成這些課題,從而實現(xiàn)教學目標。
傳統(tǒng)的課程考核都是課程結(jié)束后的閉卷考試決定最終成績。但是C8051F系列單片機種類繁多、結(jié)構(gòu)復雜、內(nèi)部資源豐富,采用閉卷考試難以客觀反映學生的動手能力和科研創(chuàng)新能力。因此,提出了一種新型課堂考核的量化考評機制。根據(jù)考勤、考試、科技創(chuàng)新等指標綜合評定學生成績,如表10所示。
表10 課程考核的量化表
續(xù)表
該量化考核辦法已在實踐教學中實施5年時間,極大地調(diào)動了學生的學習積極性,提高了學生發(fā)現(xiàn)問題、解決問題的實際工作能力,引導學生積極參與科研項目的開發(fā)研究,提高科研創(chuàng)新水平,收到良好的的教學效果。
本文以C8051F為主講機型,根據(jù)學生的不同興趣和不同的就業(yè)方向,針對性地開設《單片機原理》的教學實驗課程。在授課環(huán)節(jié)的設計上,緊緊圍繞“以學生為本、培養(yǎng)學生的綜合能力”的教學目標,以“能否抓住學生的心”作為設計的主要依據(jù),采用“深入淺出”、“突出重點”、“講透難點”、“引導自學”的啟發(fā)式教學方法,有助于教學效果的提高。同時,提出了一種新型課堂考核的量化考評機制,根據(jù)考勤、考試、科技創(chuàng)新等指標綜合評定學生成績。對提升學生的計算機系統(tǒng)認識水平、認知能力,鍛煉學生系統(tǒng)集成、計算機應用及工程實踐能力,培養(yǎng)適應新興產(chǎn)業(yè)發(fā)展所需要的高素質(zhì)應用性、職業(yè)型人才具有具較大的推廣應用價值。