www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]試論將μC/OS-II用于單片機教學

摘要:當前,大學中的“嵌入式系統(tǒng)與單片機應用”及類似課程的教學內(nèi)容和實驗正處在轉型期,由單純8位機轉向8位、16位、32位并舉;開發(fā)方式上,仿真器在逐步退出;嵌入式實時操作系統(tǒng)被引入教學。本文就相關課程內(nèi)容與實驗平臺方案的設計提出一些看法,以引起同行的思考與討論。

    關鍵詞:單片機 嵌入式 RTOS μC/OS 教學 培訓

引 言

??在2003年天津舉行的“全國單片機及嵌入式系統(tǒng)學術年會”上,來自全國各地幾十所大學的教師對單片機與嵌入式系統(tǒng)教學展開了熱烈的討論。這里,就我們的認識介紹如下,以達到拋磚引玉的目的。

1 單片機與嵌入式系統(tǒng)應用類課程的轉型期

  當前,單片機與嵌入式系統(tǒng)應用類課程正處在轉型期。過去的20年中,單片機市場與需求都是以8位機為主的。最近幾年來,16位、32位單片機的嵌入式應用呈迅速增長的趨勢。在一兩年后,數(shù)量上雖然仍會以8位為多,但32位單片機在產(chǎn)值上會超過8位單片機,如圖1、圖2所示。今后,單片機應用將呈現(xiàn)8位、16位、32位單片機并舉的格局。

  由于單片機系統(tǒng)的需求越來越復雜、集成電路技術發(fā)展又非常快,片上存儲器容量不斷擴大,使得在片上系統(tǒng)的開發(fā)中,使用嵌入式實時操作系統(tǒng)(RTOS)成為可能。計算機對于90%以上的學生都不能是他的專業(yè),而只是一種工具。同各行各業(yè)開發(fā)單片機應用的工程師一樣,非計算機專業(yè)的學生來自各個領域,他們不可能將主要精力花在研究操作系統(tǒng)上,而是要把主要精力放在所研究的專業(yè)上,他們需要的是把計算機專家們研究的成果直接拿來使用。RTOS可以將一個復雜的應用分解成多個任務,從而簡化應用程序的設計;RTOS可以保證系統(tǒng)的實時性達到或接近理論上可以達到的最好水平。而多任務本身會帶來一系列的問題,主要是任務間的競爭、死鎖、優(yōu)先級反轉、任務間同步與通信等。這些問題有RTOS為用戶考慮,只要知道RTOS的原理,會使用就可以了。故單片機教學的這次轉型,引入RTOS概念是一大特點。

2 單片機教學史的回顧與思考

  回憶過去我國單片機教學走過的路,大多數(shù)院校都是從8051走過來的。故8051在國內(nèi)普及單片機應用方面功不可沒。而總結一下由8051教學模式帶來的副作用,將有利于目前的轉型。

圖1 

  一個副作用是,教學中以一片8051配以不同的外圍電路去適應各種不同的應用。這就忽略了單片機應用的多樣性和單片機應用的個性化定位。單片機姓“單”,世界上的單片機至少有上千種,每種單片機都有各自的定位。我們強調的是SoC,即片上系統(tǒng),只有將整個系統(tǒng)都集成在一個集成電路芯片上,才能做到低成本、高可靠性。只有在不得已的情況下,才擴充額外的接口芯片。故應告訴學生,雖然學的是某種單片機,但針對不同的應用要選擇最適宜的單片機。單片機教學要求教師教會學生一種方法,會用這種單片機,自然也會用其它單片機。

  過去8051教學引入的另一誤區(qū)是使用仿真器。如果說過去開發(fā)掩膜型單片機使用仿真器屬不得已,則如今單片機都采用了可以反復擦寫十萬次以上的Flash存儲器,實在沒有必要使用仿真器。本人在過去20年的單片機應用開發(fā)中,就從來沒有用過仿真器,并非沒有仿真器可用,只是不主張使用仿真器,特別不主張使用仿真器教學。仿真器使單片機開發(fā)變得不直觀,高價的仿真器增加了開發(fā)成本,也增加了教學的負擔。開發(fā)者不可能為每一類單片機買一種仿真器,只好以自己有仿真器的那種單片機去適應所有的應用,從而誤入歧途。

3 是教學還是培訓

  我們這里講的是教學,不是培訓,教學不同于培訓。俗話說,“授之以魚不如授之以漁”。教學是“授之以漁”,授之以解決問題的方法,培養(yǎng)解決問題的能力,是引導學生入門。通過授課與實驗,要求學生能做到三個看懂,看懂原文手冊、看懂硬件原理圖、看懂別人寫的程序。在此基礎上學會如何掌握一種自己不熟悉的單片機。我們講CPU硬件結構,講匯編指令集,教學生如何初始化串行口,從而實現(xiàn)與單片機的CPU“對話”,進而學會寫監(jiān)控程序,然后將如何與C語言接口,以μC/OS-II為例,講RTOS基本概念,進而移植μC/OS-II。

  培訓的目的是讓用戶盡快上手,一周乃至三天后就可以開始寫應用程序。培訓是“授之以魚”,培訓的典型例子是教學生如何使用某單片機的仿真器。

  教學,強調的是引導學生入門,只要我們能正確地引導學生入門,告訴他們什么是正確的方法,后面的路他們會自己走。

4 將μC/OS用于RTOS教學

  1995年以后,我們逐漸將μC/OS、μC/OS-II引進單片機應用的科研與教學,證明是成功的。μC/OS、 μC/OS-II是專門為嵌入式應用設計的實時內(nèi)核,適用于幾乎所有8位、16位、32位單片機;90%以上與硬件無關的代碼用C語言寫成,用匯編語言寫的與硬件相關的代碼不足200行;有PC機上可運行的范例;有針對數(shù)十種知名CPU的移植范例可直接從網(wǎng)上下載;有注解清晰、書寫規(guī)范的全部源代碼。有一部600頁的書對RTOS基本概念、內(nèi)核原理做了詳盡的描述,隨書所附光盤上的μC/OS-II V2.52通過了美國航空航天管理局的安全認證,可用在與人性命攸關的控制系統(tǒng)中,是一部科學、實用的好教材。該內(nèi)核的前身是μC/OS,最早的版本是為Motorola 增強型8位單片機68HC11 CPU寫的。68HC11曾經(jīng)是世界上產(chǎn)量排名第三的(第一是68HC05,第二是8051)著名單片機CPU。1995年前后,我們曾以68HC11作為單片機應用的教材,并出過一本《MC68HC11單片機開發(fā)技術》的教材,清華大學出版社出版。目前,68HC11逐漸被與之指令集在源碼級兼容的 CPU12 替代,故我們的研究生教學也將順勢轉向采用16位的CPU12 單片機。

  我不主張將嵌入式Linux、μClinux等用于教學。它缺乏適當?shù)亩ㄎ?,雖然有源碼,但并沒有一本適于做教材的書籍,對于非計算機專業(yè)的學生來說太難了,也沒有必要花那么多的時間去摳懂。將μClinux移植到不同32位系統(tǒng)上是計算機專家的事,非計算機專業(yè)的人士,僅僅是使用而已。對于計算機專業(yè)的學生,操作系統(tǒng)是必修課,有一部很好的教材,Andrew S. Tanenbaum等著,王鵬等譯 《操作系統(tǒng)設計與實現(xiàn)》(第2版),電子工業(yè)出版社出版。這本書講的是Minix,實際上是簡化了的Unix、Linux。學過這部教材,進而掌握Linux原理就不難了。μClinux等嵌入式Linux不是實時的,僅對Linux做了簡化,使之可用于嵌入式應用,但作不到SoC。學習簡化的Linux,不如選用Minix。當然,μClinux可用于針對某特定應用的培訓。運行μClinux至少需要512KB的 SDRAM,目前的技術水平片內(nèi)RAM還不可能做那么大。而運行μC/OS-II則只需要幾KB的RAM,十幾KB的Flash,這完全可以在單片機的片內(nèi)實現(xiàn)。講解RTOS原理,μC/OS-II足夠好了。

5 教學內(nèi)容要在穩(wěn)定的前提下發(fā)展

  8位、16位、32位單片機將三分天下已是業(yè)界共識,作為教學,穩(wěn)定至關重要。雖然單片機技術發(fā)展迅速,但開一門單片機教學的課程并非易事,需要教師、教材、實驗器材等,特別是實驗平臺,需要較大的投入。教師要有相當?shù)目蒲薪?jīng)驗,用單片機做過研發(fā),還要會講。我的經(jīng)驗是,講一門新課,至少要講到第三年才能說會講了或能講好了。為了穩(wěn)定,每年只能更新一小部分內(nèi)容,要善于解決穩(wěn)定和發(fā)展快這一對矛盾。RTOS的教學可穩(wěn)定很多年。μC /OS已經(jīng)十多年了,仍然好用,雖然每年都有新發(fā)展,但基本原理沒有變化,我看μC /OS-II至少還可以再講10年;MINIX快20年了,仍是一部好教材。實驗平臺也應盡量穩(wěn)定的時間長一些,既然講述的是開發(fā)方法,使用8位、16位還是32位單片機其實是無所謂的。

  由8位機一統(tǒng)天下,到8位、16位、32位并舉,轉型期定位單片機與嵌入式應用類課程的切入點在哪里為好? 本人擬采用了以16位機 CPU12為切入點。它比8位單片機復雜,比32位單片機簡單,外圍接口豐富(比一般32位機還要豐富),片內(nèi)RAM、ROM資源適中。講述了以匯編寫監(jiān)控程序開始,到用C語言寫程序,再到移植μC /OS這一方法,同樣適于8位、32位單片機。這種方法本身也始于20年前,逐漸增加RTOS是近8年的事,是相對穩(wěn)定又有發(fā)展的。

圖2

  對沒有條件由8位機實驗平臺轉向16位、32位平臺的學校,不必強求,仍可使用8位機平臺。若使用的教學平臺有幾KB 的RAM、幾十KB的Flash,用于μC /OS-II作RTOS教學已足夠好,但希望不要再用仿真器,而采用我們從寫一個簡單的監(jiān)控程序,到移植μC /OS的教學法。不必過多地講授各種I/O接口的使用方法,讓學生在寫一個簡單監(jiān)控程序的基礎上自己去驅動這些 I/O模塊。

  有條件直接升級到32位單片機也是一種選擇。不少學校選用了以ARM為CPU的單片機,但請注意三點。一是定位,若課程定位在非計算機專業(yè)的學生,運行μC /OS之類RTOS,可選擇片內(nèi)有幾KB、十幾KB的RAM、幾十KB的Flash、可工作在單片方式下的ARM,這樣會使教學平臺很便宜。第二點是不要炒作,不要一哄而上。ARM的應用定位很明確,是一切與媒體有關的便攜式低功耗應用。ARM是32位CPU,并不是全部32位單片機。以ARM為CPU擴以幾MB乃至十幾MB SDRAM、Flash的、可以上Linux的昂貴平臺,只適用于針對某類產(chǎn)品開發(fā)應用的培訓,不適于用來教學,因為Linux在PC機上也能跑。第3點是學時與學生的基礎,32位單片機對于沒有8位單片機基礎的學生是很難掌握的,沒有足夠的學時,ARM底層的東西是很難掌握的。

6 關于課程的定位

  課程定位不同,即授課對象不同,課程的內(nèi)容可以很不一樣,但都必須符合學習的客觀規(guī)律。我們有2門單片機與嵌入式應用課程,一門定位于電類本科生(我系核電子學專業(yè)),名為“單片機認識與實踐”,32學時,只講簡單8位單片機的入門知識,不講RTOS,面向還沒有學過數(shù)字電路課程,對單片機有興趣的2年級電類本科生。

  由于物理學對計算機的需求幾乎是無限的,故像互聯(lián)網(wǎng)這樣的計算機技術最先源于物理學的需求。我們系對部分本科生計算機能力的要求是很高的。接下來,部分學生將做一個單片機應用方面的SRT (Student Research and Training Program) 項目, 清華對SRT有專門的經(jīng)費支持。學生設想一個簡單的單片機應用原理性演示題目,利用課余時間,花半年到一年,設計一塊印刷線路板、再把軟件調出來,優(yōu)秀作品可拿到每年的學生科展上評獎,甚至參加學生挑戰(zhàn)杯的角逐。這些學生在畢業(yè)設計中,一般會做一個單片機應用方面的課題。這樣上來的研究生甚至可以幫助我當研究生課輔導實驗的小教師。

  另一門課程是定位于全校非計算機專業(yè)的各系研究生,特別是那些可能在研究生課題中用到單片機的各專業(yè)學生。我們講以CPU12為核心的16位單片機和基于μC/OS-II的RTOS。這兩部分內(nèi)容共安排課內(nèi)64學時,其中授課與教師指導下的實驗約各占一半。按校方要求,這類課程原則上課內(nèi)、外學時之比為1∶2,即學生課外要花128學時讀書和進行無輔導下的實驗。由于學生來自不同學科、不同專業(yè),在單片機應用方面水平很不一樣。計算機技術的發(fā)展是各行各業(yè)需求拉動的,而計算機技術的發(fā)展促進了需求。這里,需求是矛盾的主要方面。而個別研究生,特別是外??既胛倚5姆请婎愌芯可?,甚至沒有學過微機原理之類課程。這里我們只能假設選修這門課的同學都有數(shù)字電路課的基礎,會用C語言寫程序。由于水平的參差不齊,及學生個人可能安排的課外學時的差異,到課程結束時,每個人到達的水平也是很不一樣的,故只能是各按步伐、共同前進。

  教學、開課要符合學生認、知的客觀規(guī)律,是由簡單到復雜,由8位到16位、32位,由匯編到C,到RTOS。要切記防止浮躁,也要教導我們的學生防止浮躁。我們能做到的僅僅是領學生入門而已,能指出一個大致正確的方向,不誤人子弟已屬難得。后來,能成為IT高手的,不是我們培養(yǎng)的,而是通過他們自己艱辛努力實現(xiàn)的。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉