王 偉,韓 雪,高照玲,馬永剛
(1. 大連東軟信息學(xué)院 智能與電子工程學(xué)院,遼寧 大連 116023;2. 大連海洋大學(xué) 信息學(xué)院,遼寧 大連 116020)
隨著“三網(wǎng)融合”的提速,手機(jī)、數(shù)字電視、信息家電、網(wǎng)絡(luò)電話、汽車電子、醫(yī)療電子等行業(yè)成為嵌入式系統(tǒng)的重要應(yīng)用領(lǐng)域[1-3]。盡管高校開設(shè)了嵌入式系統(tǒng)相關(guān)課程,但學(xué)生的嵌入式開發(fā)能力仍顯不足[4-6],因此,相關(guān)實(shí)驗(yàn)教學(xué)需更具直觀性和實(shí)用性[7]。
本文基于嵌入式Linux 操作系統(tǒng)設(shè)計(jì)了智能家居控制系統(tǒng)綜合實(shí)驗(yàn),適用于本科嵌入式Linux 系統(tǒng)開發(fā)相關(guān)課程實(shí)驗(yàn)教學(xué)工作,以增強(qiáng)學(xué)生對(duì)嵌入式Linux系統(tǒng)開發(fā)與應(yīng)用相關(guān)知識(shí)的理解與掌握,鍛煉提高學(xué)生對(duì)基于嵌入式Linux 操作系統(tǒng)的開發(fā)流程、方法、工具的使用和系統(tǒng)移植、驅(qū)動(dòng)程序、圖形界面設(shè)計(jì)、嵌入式服務(wù)器等技術(shù)的研發(fā)能力[8]。
系統(tǒng)框圖如圖1 所示,主控采用ARM Cortex-A9核的嵌入式Exynos4412 開發(fā)平臺(tái),整個(gè)系統(tǒng)由溫度采集模塊、按鍵輸入模塊、光電傳感檢測模塊、報(bào)警模塊、電機(jī)驅(qū)動(dòng)模塊、LCD 顯示模塊、三色 LED 燈模塊和繼電器控制模塊幾部分組成。
綜合實(shí)驗(yàn)內(nèi)容結(jié)構(gòu)圖如圖2 所示,以智能家居控制系統(tǒng)設(shè)計(jì)為例。課程設(shè)置4 個(gè)基礎(chǔ)實(shí)驗(yàn)、4 個(gè)進(jìn)階性實(shí)驗(yàn)和1 個(gè)綜合設(shè)計(jì)應(yīng)用實(shí)驗(yàn)。實(shí)驗(yàn)內(nèi)容為:實(shí)驗(yàn)一 嵌入式 Linux 交叉開發(fā)環(huán)境搭建,實(shí)驗(yàn)二 Linux內(nèi)核移植,實(shí)驗(yàn)三 LED 跑馬燈實(shí)驗(yàn),實(shí)驗(yàn)四 信號(hào)量與阻塞實(shí)驗(yàn),實(shí)驗(yàn)五 按鍵輸入實(shí)驗(yàn),實(shí)驗(yàn)六 蜂鳴器實(shí)驗(yàn),實(shí)驗(yàn)七 ADC 實(shí)驗(yàn),實(shí)驗(yàn)八 LCD 顯示實(shí)驗(yàn)。綜合實(shí)驗(yàn)是在前面8 個(gè)實(shí)驗(yàn)基礎(chǔ)上綜合應(yīng)用開發(fā)而完成的,具體實(shí)驗(yàn)內(nèi)容、功能要求為:

圖1 系統(tǒng)框圖

圖2 綜合實(shí)驗(yàn)內(nèi)容結(jié)構(gòu)圖
(1)利用課下時(shí)間設(shè)計(jì)溫度傳感器采集電路,采用溫度傳感器 LM35、LM358 集成運(yùn)算放大器,I2C接口的 ADS1115 或 PCF8591 完成溫度數(shù)據(jù)采集、模擬信號(hào)放大、模數(shù)轉(zhuǎn)換后將數(shù)據(jù)傳給處理器;設(shè)計(jì)繼電器控制電路、三色LED 燈電路、光電檢測開關(guān)、蜂鳴器報(bào)警電路和電機(jī)驅(qū)動(dòng)電路、繪制電路原理圖和PCB 版圖、制板、購買元件、焊接。團(tuán)隊(duì)可自行設(shè)計(jì)應(yīng)用場景、綜合實(shí)驗(yàn)題目。
(2)基于嵌入式開發(fā)平臺(tái)Exynos4412 進(jìn)行Linux內(nèi)核移植,基于硬件設(shè)計(jì)電路進(jìn)行驅(qū)動(dòng)程序開發(fā)。
(3)采用 QTE(Qt/Embedded)平臺(tái)自主設(shè)計(jì)圖形用戶界面(GUI),根據(jù)(1)中硬件電路設(shè)計(jì)及應(yīng)用場景,個(gè)性化設(shè)計(jì)GUI,至少實(shí)現(xiàn)LCD 顯示溫度信息、設(shè)置溫度上下限閾值、超限后蜂鳴器報(bào)警、GUI按鈕控制繼電器開關(guān)及三色LED 燈亮滅、控制電機(jī)開關(guān)及轉(zhuǎn)動(dòng)速度。
溫度采集電路設(shè)計(jì)如圖3、圖4 所示,傳感器采用LM35 模擬溫度傳感器,輸出VO 為毫伏級(jí)模擬電壓值,經(jīng)LM358 集成運(yùn)算放大器放大后輸入給I2C 接口的ADC。本電路采用PCF8591 模數(shù)轉(zhuǎn)換器,LM358同相比例運(yùn)算放大電路的放大倍數(shù)為5,計(jì)算如下:


圖3 溫度采集電路

圖4 ADC 電路
電機(jī)驅(qū)動(dòng)電路如圖 5 所示,采用電機(jī)驅(qū)動(dòng)芯片TB6612FNG,可同時(shí)驅(qū)動(dòng) 2 個(gè)電機(jī)。AIN1 和 AIN2控制一路電機(jī)轉(zhuǎn)向,BIN1 和BIN2 控制另一路電機(jī)轉(zhuǎn)向,PWMA 和PWMB 分別控制2 路電路轉(zhuǎn)速。

圖5 驅(qū)動(dòng)電路
繼電器控制電路用于控制外部高電壓用電設(shè)備,例如電燈、風(fēng)扇、熱水壺等。采用NPN 型三極管Q2提供驅(qū)動(dòng)電流及作為控制開關(guān),肖特基二極管 D2 續(xù)流保護(hù)電路,R8 限流電阻為4.7 K。繼電器控制電路如圖6 所示。

圖6 繼電器控制電路
PCB 版圖設(shè)計(jì)如圖7 所示。采用雙層板,將傳感器接口、電源擴(kuò)展口及其他擴(kuò)展口布局在板子邊緣,電路板布線居中,GND 線寬采用30 mil,電源線寬采用20 mil,電機(jī)端口以及電源端口線寬采用30 mil。板子厚度為1.6 cm,組焊層顏色為白色,焊盤表面采用有鉛噴錫,阻焊覆蓋采用過孔蓋油。焊接好的PCB板實(shí)物圖如圖8 所示。

圖7 PCB 版圖

圖8 PCB 板實(shí)物圖
首先搭建嵌入式交叉開發(fā)環(huán)境:安裝交叉編譯器、配置 NFS 共享和串口終端軟件[9]。內(nèi)核移植采用Linux3.5 版本,按照內(nèi)核裁剪配置方法修改 Kconfig文件、Makefile 文件、啟動(dòng)配置菜單配置選擇后,編譯內(nèi)核,生成zImage 鏡像移植到Exynos4412 開發(fā)板上。分別采用經(jīng)典字符設(shè)備驅(qū)動(dòng)、IO 內(nèi)存方式、雜項(xiàng)設(shè)備驅(qū)動(dòng)和Platform 總線驅(qū)動(dòng)方式編寫溫度采集、按鍵輸入、光電傳感檢測、蜂鳴器設(shè)備、電機(jī)驅(qū)動(dòng)、三色LED 燈和繼電器控制等設(shè)備驅(qū)動(dòng)程序。圖9 為經(jīng)典字符設(shè)備驅(qū)動(dòng)框架圖,驅(qū)動(dòng)模塊主要由頭文件(必選)、模塊參數(shù)、模塊加載函數(shù)(必選)、模塊卸載函數(shù)(必選)、模塊許可聲明(必選)幾部分組成,編譯成功后,可由insmod 外部安裝模塊,由rmmod 卸載驅(qū)動(dòng)模塊。GUI 用戶程序通過系統(tǒng)調(diào)用打開、控制設(shè)備。
運(yùn)用QTE 技術(shù)自主設(shè)計(jì)LCD 顯示圖形用戶界面,采用Qt 中重要的信號(hào)與槽機(jī)制實(shí)現(xiàn)對(duì)象之間的通信[10]。GUI 界面設(shè)計(jì)如圖10 所示。

圖9 經(jīng)典字符設(shè)備驅(qū)動(dòng)框架圖

圖10 GUI 界面設(shè)計(jì)

圖11 綜合實(shí)驗(yàn)成果測試
基于Linux 的智能家居系統(tǒng)綜合實(shí)驗(yàn)成果測試如圖11 所示。經(jīng)過2 輪實(shí)驗(yàn)教學(xué),不斷改革豐富實(shí)驗(yàn)教學(xué)內(nèi)容,學(xué)生能很好地將理論應(yīng)用于實(shí)踐,提高了硬件電路設(shè)計(jì)能力和軟件編程實(shí)踐能力。在教學(xué)方面取了一定的效果,真正實(shí)現(xiàn)了以項(xiàng)目為導(dǎo)向、“做中學(xué),學(xué)中做”的教學(xué)理念[11],對(duì)高校的專業(yè)建設(shè)、教育教學(xué)改革、教師研發(fā)能力的提升、學(xué)生的創(chuàng)新能力提升都有很好的促進(jìn)作用[12]。
從目前的實(shí)驗(yàn)效果來看,基于Linux 的智能家居控制系統(tǒng)綜合實(shí)驗(yàn)?zāi)茌^好地將理論與實(shí)踐相結(jié)合。由于學(xué)時(shí)有限,學(xué)生充分利用課下學(xué)時(shí)完成了硬件電路設(shè)計(jì)、軟硬件調(diào)試,加入了個(gè)性化創(chuàng)新。做中學(xué)的方式提高了學(xué)生的學(xué)習(xí)興趣和應(yīng)用創(chuàng)新能力,培養(yǎng)了學(xué)生的團(tuán)隊(duì)協(xié)作能力,促進(jìn)了實(shí)驗(yàn)教學(xué)改革,打破了傳統(tǒng)驗(yàn)證性實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)室功能的局限性,提升了學(xué)生的專業(yè)應(yīng)用能力和專業(yè)創(chuàng)新能力,在實(shí)際應(yīng)用中取得了較好的效果。