肖 亮,李蘭英,劉書赫,汪明曌,單黎瀟
(哈爾濱理工大學 計算機科學與技術(shù)學院,黑龍江 哈爾濱 150080)
嵌入式系統(tǒng)硬件虛擬仿真實驗平臺不僅可以滿足新冠肺炎疫情期間線上實踐教學的需求,也可滿足在沒有硬件實驗平臺的條件下,嵌入式技術(shù)的自主學習。因此,開展嵌入式硬件虛擬仿真技術(shù)研究,設(shè)計與實現(xiàn)硬件實驗虛擬仿真平臺的意義是不言而喻的。
本文基于英國Lab Center Electronics公司的EDA工具軟件Proteus,通過二次開發(fā),首先完成嵌入式系統(tǒng)多種常用外設(shè)模塊的仿真模型設(shè)計,并將其集成到Proteus的元件庫中。在此基礎(chǔ)上,設(shè)計和實現(xiàn)了一個滿足基于Arduino的嵌入式系統(tǒng)的實驗(踐)虛擬仿真平臺,并基于該平臺開發(fā)了相應的實驗例程和系統(tǒng)案例,以滿足嵌入式系統(tǒng)硬件技術(shù)的線上教學、培訓和無真實實驗環(huán)境下的自主學習的需求,同時還可降低嵌入式人才培養(yǎng)的門檻。
基于Arduino的嵌入式實驗平臺的設(shè)計理念,源于嵌入式系統(tǒng)硬件設(shè)計越來越趨向于模塊化,即在核心板或最小系統(tǒng)的基礎(chǔ)上,外擴包括各種傳感器、人機交互、輸入輸出設(shè)備等多種模塊。選擇Arduino板作為核心控制器,就是由于開源創(chuàng)客平臺Arduino屏蔽了硬件的復雜性,具有平臺資源豐富、成本低、支持的模塊眾多、開發(fā)簡單、上手快等優(yōu)勢[1]。
Proteus軟件雖然功能強大,但Proteus的電路計算并不是十分的精確,只能進行粗略的計算[2],元件庫的更新狀況存在落后的情況,很多器件都沒有同步更新,故在實驗時經(jīng)常需要手動搭載所需器件,并且對于初學者來說難度更大,而在搭建不同嵌入式系統(tǒng)時,需要多種外設(shè)模塊,故需要包括對常用外設(shè)模塊進行抽象、封裝、擴充元件庫等二次開發(fā),才能滿足嵌入式技術(shù)的虛擬仿真學習需求。
本文以最常用的Arduino Mega 2560板最小系統(tǒng)為核心,結(jié)合Proteus提供的器件庫中封裝的多種元器件和自主設(shè)計的仿真電路模塊,設(shè)計與實現(xiàn)了一個虛擬仿真實驗平臺,具體包括直流電機、步進電機和舵機,按鍵、顯示器、溫濕度傳感器、超聲測距電路、三色燈、蜂鳴器、光敏電阻和電位器等電路。
基于該平臺可開設(shè)多種類型的實驗,只需連接實驗所需相應的模塊或電路即可。目前已完成的實驗包括以下幾類:
(1)人機界面實驗。包括按鍵、鍵盤輸入、液晶顯示、八段數(shù)碼管顯示等實驗,可完成參數(shù)輸入、數(shù)字、字符顯示等功能。
(2)電機實驗。包括直流電機控制與測速實驗、步進電機控制實驗、舵機控制實驗等。
(3)呼吸燈。可實現(xiàn)紅綠藍三色燈的漸變呼吸控制,可模擬景觀燈的控制場景。
(4)光強檢測。通過光敏電阻APDS-9002可對光強進行測量,可模擬實現(xiàn)窗簾自動控制等智能家居應用場景。
(5)溫濕度檢測。通過元件庫中封裝好的溫濕度傳感器DHT11,可實現(xiàn)周圍環(huán)境溫濕度的檢測與顯示。
(6)倒車雷達。利用自主設(shè)計的超聲測距仿真模塊,模擬超聲測距模塊SR04的功能,實現(xiàn)倒車雷達的模擬應用系統(tǒng)。
仿真實驗平臺整體布局如圖1所示。本節(jié)給出了所設(shè)計的幾個關(guān)鍵模塊的設(shè)計原理圖。
圖1 虛擬仿真實驗平臺整體布局
顯示電路包括液晶和數(shù)碼管兩部分,為了盡可能節(jié)省2560的引腳資源,液晶顯示電路以器件LM061L為核心,結(jié)合74164串轉(zhuǎn)并器件及與門、非門等門電路,設(shè)計與實現(xiàn)了一個串行接口的液晶顯示器。所需占用的Arduino數(shù)字接口由10個降到3個,其電路原理圖如圖2所示。
圖2 液晶顯示電路原理圖
按鍵電路有兩種類型,電路如圖3所示。右邊是簡單的4個按鍵原理圖,占用了Arduino的4個數(shù)字接口;左邊是一個4*4的矩陣鍵盤;共占用Arduino的8個數(shù)字接口。
圖3 按鍵電路原理圖
SR04是目前常用的超聲測距模塊,廣泛應用于需要測距的多種領(lǐng)域[3]。由于元件庫中沒有封裝好的SR04模塊,圖4的電路采用555定時器、LM358運放、MPS6531三極管和RV2電位器等模擬實現(xiàn)了SR04的工作原理,其中IO2模擬SR04的TRIG引腳,IO3模擬ECHO引腳。
圖4 超聲測距電路原理圖
圖5給出了步進電機、直流電機、蜂鳴器及驅(qū)動電路。
圖5 電機與驅(qū)動電路原理圖
其他電路包括DHT11、光敏電阻、三色燈、電位器、舵機等,可直接調(diào)用元件庫中的器件。
新冠肺炎疫情期間的教學實踐表明:基于Proteus和Arduino的虛擬實驗仿真平臺,圓滿地支撐了嵌入式課程硬件相關(guān)實驗,取得了很好的效果。同時也解決了學生沒有硬件實驗環(huán)境下,自主學習硬件接口技術(shù)的難題,降低了嵌入式技術(shù)的學習門檻。另外也由于Proteus平臺的引入,系統(tǒng)運行結(jié)果可直接演示,使得實驗結(jié)果更加直觀、形象,激發(fā)了學生的學習興趣。