高 強(qiáng),鄧少華,王鐵流
(北京工業(yè)大學(xué)電子信息與控制工程學(xué)院,北京 100124)
“單片機(jī)技術(shù)”在電子、機(jī)電、自動(dòng)化等專業(yè)的課程體系中有著極其重要的地位,是一門(mén)與“計(jì)算機(jī)原理”、“電子電路”及“程序設(shè)計(jì)”等課程有著緊密聯(lián)系的應(yīng)用型課程。
傳統(tǒng)工科“單片機(jī)技術(shù)”課程中,51單片機(jī)因其結(jié)構(gòu)簡(jiǎn)單、成本低廉和簡(jiǎn)單易學(xué)等特點(diǎn)而得到了非常廣泛應(yīng)用。目前,單片機(jī)實(shí)驗(yàn)教學(xué)平臺(tái)基本上還都是以51單片機(jī)為基礎(chǔ)設(shè)計(jì)的。但是,隨著電子技術(shù)的不斷發(fā)展和要求的不斷提高,傳統(tǒng)的51單片機(jī)已經(jīng)不能很好適應(yīng)時(shí)代的需求[1,2]。因此,設(shè)計(jì)出一種能夠容納更多模塊和實(shí)現(xiàn)更復(fù)雜功能的單片機(jī)實(shí)驗(yàn)教學(xué)平臺(tái)頗具意義。學(xué)生通過(guò)這個(gè)平臺(tái)進(jìn)行焊接,安裝和調(diào)試等鍛煉了動(dòng)手能力,還可用于課程設(shè)計(jì)、電子實(shí)習(xí)和畢業(yè)設(shè)計(jì)等教學(xué)環(huán)節(jié)。
STM8S為意法半導(dǎo)體公司新近推出的8位單片機(jī),經(jīng)過(guò)2年多的推廣已經(jīng)成為市場(chǎng)上非常具有競(jìng)爭(zhēng)力的產(chǎn)品。STM8S具有優(yōu)越的性能。它基于哈佛架構(gòu),采用和51單片機(jī)一樣的CISC指令集,具有高達(dá)20MIPS的運(yùn)行速度,而51單片機(jī)最高運(yùn)行速度只有 1.33MIPS。
STM8S具有豐富的外設(shè):10位 ADC、UART、SPI、I2C、CAN、LIN、IR(紅外線遠(yuǎn)程控制)、LCD 驅(qū)動(dòng)接口、1~2個(gè)8位基本定時(shí)器、1~2個(gè)16位一般定時(shí)器、1個(gè)16位高級(jí)定時(shí)器、1個(gè)自動(dòng)喚醒定時(shí)器和獨(dú)立看門(mén)狗定時(shí)器。此外,STM8S還有16MHz的內(nèi)部高速晶振和38kHz的低速晶振。相比51單片機(jī)而言,STM8S的外設(shè)相當(dāng)豐富,能夠給學(xué)生提供更多的學(xué)習(xí)選擇。
STM8S采用SWIM調(diào)試接口,調(diào)試下載程序簡(jiǎn)單且速度快。而一般51單片機(jī)實(shí)驗(yàn)平臺(tái)采用串口下載程序,并不能讓學(xué)生在線調(diào)試,不利于學(xué)生了解單片機(jī)的運(yùn)行方式。因此,STM8S相比51單片機(jī)具有相當(dāng)大的優(yōu)勢(shì),更有利學(xué)生學(xué)習(xí)單片機(jī)課程。
實(shí)驗(yàn)教學(xué)平臺(tái)開(kāi)發(fā)目的是為了高校師生提供一個(gè)單片機(jī)評(píng)估參考系統(tǒng)的設(shè)計(jì)方法,提供基于STM8S的基礎(chǔ)外設(shè)應(yīng)用開(kāi)發(fā)思路,幫助學(xué)生更深入了解單片機(jī)工作原理,熟悉單片機(jī)外圍電路的設(shè)計(jì)與操作。本設(shè)計(jì)著重考慮系統(tǒng)的可重用性和可擴(kuò)展性。在配備基本的外圍電路的基礎(chǔ)上,同時(shí)留出更復(fù)雜外設(shè)的接口,方便學(xué)生自學(xué)與提高。
實(shí)驗(yàn)平臺(tái)設(shè)計(jì)采用STM8S208R作為主控芯片,其他部分包括了液晶、溫度傳感器、加速度傳感器、2.4G 無(wú)線模塊、FLASH、數(shù)碼管、AD 采樣、串口、LED和按鍵等電路。由此構(gòu)成一個(gè)學(xué)生實(shí)驗(yàn)平臺(tái),如圖1所示。
圖1 單片機(jī)實(shí)驗(yàn)教學(xué)平臺(tái)
由于系統(tǒng)中的模塊供電電壓不一樣,分別要求3.3V和5V供電。因此,系統(tǒng)采用ASM117芯片來(lái)提供3.3V工作電源,采用LM2575芯片產(chǎn)生5V工作電源。晶振使用STM8S內(nèi)部16MHz高速振蕩器,節(jié)省了晶振電路。
液晶屏控制器ILI9320用來(lái)實(shí)現(xiàn)對(duì)LCD液晶屏的控制。與傳統(tǒng)的單片機(jī)教學(xué)平臺(tái)搭配的字符型LCD相比,TFT LCD液晶屏顯示效果更好,程序也更具有典型性。
2.4G無(wú)線模塊采用NRF2401芯片,該芯片是單片射頻收發(fā)芯片,工作于2.4~2.5GHz(ISM頻段)。芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。該無(wú)線模塊功能強(qiáng)大,收發(fā)一體,編程簡(jiǎn)單,有助于學(xué)生了解無(wú)線通信的工作原理。
加速度傳感器MMA7455L是一款數(shù)字輸出(I2C/SPI)、低功耗和緊湊型電容式微機(jī)械加速度計(jì),它具有信號(hào)調(diào)理、低通濾波、溫度補(bǔ)償和自測(cè)等功能,可配置通過(guò)中斷引腳(INT1或INT2)檢測(cè)0g,以及用于快速運(yùn)動(dòng)檢測(cè)的脈沖檢測(cè)功能。加速度傳感器在四軸飛行器和智能車中應(yīng)用廣泛。
溫度傳感器DS18B20是一種單總線數(shù)字溫度傳感器,測(cè)試溫度范圍為-55℃ ~125℃。溫度數(shù)據(jù)位可配置為9、10、11和12位,對(duì)應(yīng)的精度分別為0.5℃、0.25℃、0.125℃ 和 0.0625℃。該器件為單總線(沒(méi)有時(shí)鐘線)只有一根通信線。單總線讀寫(xiě)數(shù)據(jù)是靠控制起始時(shí)間和采樣時(shí)間來(lái)完成,時(shí)序要求很嚴(yán)格,這也是DS18B20驅(qū)動(dòng)編程的難點(diǎn)。
Flash芯片W25X16容量為16Mb。其擦寫(xiě)周期為10000次,具有20年的數(shù)據(jù)保存期限,支持電壓為2.7~3.6V。W25X16 支持標(biāo)準(zhǔn)的 SPI。學(xué)生通過(guò)學(xué)習(xí)Flash的讀寫(xiě),可以深入了解SPI協(xié)議,并為以后操作其他SPI器件打下基礎(chǔ)。
為了使實(shí)驗(yàn)平臺(tái)能夠正常工作,首先需要把平臺(tái)的各組部件正確地組裝起來(lái),在這個(gè)過(guò)程中學(xué)生需要掌握如下技術(shù):焊接和拆接、元器件識(shí)別、篩選和性能測(cè)試、電子電路和電子產(chǎn)品裝配與調(diào)試、常用的電子儀器的使用和操作以及正確讀懂電路原理圖等。組裝完成后,就成了一套完整的8位單片機(jī)開(kāi)發(fā)系統(tǒng)。
實(shí)驗(yàn)教學(xué)平臺(tái)配套軟件的教學(xué)方面,實(shí)驗(yàn)平臺(tái)緊跟單片機(jī)系統(tǒng)主流技術(shù),包括基本的外設(shè)使用、多模塊配合的應(yīng)用實(shí)例和各模塊測(cè)試?yán)獭W(xué)生可更加全面地掌握單片機(jī)系統(tǒng)開(kāi)發(fā),實(shí)現(xiàn)從硬件平臺(tái)到應(yīng)用軟件的開(kāi)發(fā),掌握整個(gè)單片機(jī)系統(tǒng)構(gòu)建的基本流程[3]。
該平臺(tái)配備相關(guān)的十幾個(gè)實(shí)驗(yàn),其中包括:
(1)基礎(chǔ)實(shí)驗(yàn):包括I/O相關(guān)操作、定時(shí)器、中斷和AD轉(zhuǎn)換等方面的實(shí)驗(yàn)。該部分實(shí)驗(yàn)主要讓學(xué)生熟悉單片機(jī)的工作原理和操作。
(2)高級(jí)實(shí)驗(yàn):包括Flash讀寫(xiě)、數(shù)碼管顯示、LCD顯示、溫度傳感器和加速度傳感器的操作以及2.4GHz無(wú)線收發(fā)等方面的實(shí)驗(yàn)。該部分實(shí)驗(yàn)主要讓學(xué)生學(xué)習(xí)I2C和SPI等協(xié)議的相關(guān)知識(shí)。
(3)綜合實(shí)驗(yàn):要求學(xué)生根據(jù)要求,移植μC/OS操作系統(tǒng),在此基礎(chǔ)上使用多個(gè)模塊進(jìn)行實(shí)驗(yàn)。
以上實(shí)驗(yàn)都是在意法半導(dǎo)體公司提供的固件庫(kù)的基礎(chǔ)上設(shè)計(jì)的。固件庫(kù)是一個(gè)固件函數(shù)包,它由程序、數(shù)據(jù)結(jié)構(gòu)和宏組成,包括了微控制器所有外設(shè)的性能特征。該固件函數(shù)庫(kù)還包括每一個(gè)外設(shè)的驅(qū)動(dòng)描述和應(yīng)用實(shí)例,為開(kāi)發(fā)者訪問(wèn)底層硬件提供了一個(gè)中間API,通過(guò)使用固件函數(shù)庫(kù),無(wú)需深入掌握底層硬件細(xì)節(jié),開(kāi)發(fā)者就可以輕松應(yīng)用每一個(gè)外設(shè)。因此,使用固件函數(shù)庫(kù)可以大大減少用戶的程序編寫(xiě)時(shí)間,進(jìn)而降低開(kāi)發(fā)成本。
采用庫(kù)的形式而不是直接操作寄存器的原因,在于學(xué)習(xí)固件庫(kù)的使用有利于學(xué)生養(yǎng)成良好的代碼書(shū)寫(xiě)習(xí)慣,幫助他們深刻理解C語(yǔ)言的高級(jí)用法。
為改變“單片機(jī)技術(shù)”課程中實(shí)驗(yàn)教學(xué)與應(yīng)用實(shí)踐嚴(yán)重脫節(jié)的現(xiàn)狀,本文以STM8S單片機(jī)教學(xué)實(shí)驗(yàn)平臺(tái)建設(shè)為主線,將產(chǎn)品設(shè)計(jì)的各個(gè)環(huán)節(jié)融入單片機(jī)實(shí)驗(yàn)教學(xué)中,使實(shí)驗(yàn)教學(xué),畢業(yè)設(shè)計(jì)與產(chǎn)品設(shè)計(jì)相結(jié)合,學(xué)生在學(xué)習(xí)實(shí)踐、再學(xué)習(xí)、再實(shí)踐的過(guò)程中,全面掌握單片機(jī)應(yīng)用設(shè)計(jì)中各方面的知識(shí)和技能。
[1]焦振宇.淺談新形勢(shì)下我國(guó)高校單片機(jī)教學(xué)的課程改革[J].南寧.高教論壇,2005,2(1):102-105.
[2]倪志蓮.單片機(jī)課程的實(shí)驗(yàn)教學(xué)改革[J].上海.實(shí)驗(yàn)室研究與探索,2006,25(7):843-844.
[3]許國(guó)安,徐華成.深化實(shí)驗(yàn)教學(xué)改革,注重對(duì)學(xué)生能力的培養(yǎng)[J].北京.實(shí)驗(yàn)技術(shù)與管理,2003,20(2):112-115.