孔軼艷 盧翠珍
(1.柳州職業(yè)技術(shù)學(xué)院,廣西 柳州 545006;2.百色職業(yè)學(xué)院,廣西 百色 533000)
目前,市場上有各種各樣的嵌入式實驗應(yīng)用平臺。但是,絕大多數(shù)嵌入式實驗平臺其結(jié)構(gòu)往往是固定不可更改的,而且嵌入式實驗平臺中的內(nèi)部各種固件代碼也是固化在系統(tǒng)當(dāng)中,難以得到修改。因此,這一類嵌入式實驗平臺所能夠給用戶提供的功能和支持的嵌入式實驗內(nèi)容都十分有限。而且嵌入式實驗平臺在推廣和應(yīng)用過程中不能夠根據(jù)當(dāng)前技術(shù)的發(fā)展對嵌入式實驗平臺的部分功能模塊進行升級改造,所能夠開展的嵌入式實驗內(nèi)容也是相對固化,不能夠靈活動態(tài)地根據(jù)實際的應(yīng)用去設(shè)計一些嵌入式應(yīng)用實驗。為了提高嵌入式實驗平臺應(yīng)用的靈活性,需要對嵌入式平臺的組成結(jié)構(gòu)進行改進,使得嵌入式實驗平臺能夠在應(yīng)用過程中根據(jù)技術(shù)的發(fā)展對嵌入式實驗平臺的功能模塊進行升級改造,使得嵌入式實驗平臺能夠適應(yīng)未來技術(shù)發(fā)展的需要。同時,也能夠通過對嵌入式實驗平臺的組成結(jié)構(gòu)和功能模塊的升級改造,使得嵌入式實驗平臺能夠有針對性地開展一些新型的嵌入式實驗,實現(xiàn)嵌入式實驗內(nèi)容的動態(tài)可配置的應(yīng)用目標(biāo)。
嵌入式實驗平臺在結(jié)構(gòu)上一般是由微處理器和外圍電路所組成。但是,采取這種硬件結(jié)構(gòu)的嵌入式平臺往往不利于嵌入式平臺的升級改造。尤其是當(dāng)嵌入式平臺外部所連接的外圍電路設(shè)備使用不同的應(yīng)用接口時,這類嵌入式實驗平臺則無法進行成功的連接,從而限制了在這種傳統(tǒng)的實驗平臺上集成和應(yīng)用一些新型的應(yīng)用功能模塊。同時,傳統(tǒng)的嵌入式實驗平臺由于在硬件結(jié)構(gòu)和功能模塊上被固化下來,從而導(dǎo)致在這種嵌入式實驗平臺上所開展的嵌入式實驗種類及實驗內(nèi)容都非常有限,難以根據(jù)用戶的需求開展一些可靈活動態(tài)配置的應(yīng)用實驗。為了解決傳統(tǒng)的嵌入式實驗平臺存在的這類問題,本文設(shè)計平臺的思路是通過在嵌入式實驗平臺中設(shè)計以ARM9微處理器為核心處理平臺、以FPGA芯片為嵌入式實驗平臺接口電路,實現(xiàn)一種基于模塊化可動態(tài)配置的嵌入式實驗平臺。
根據(jù)上述提出的設(shè)計思路,構(gòu)建的一種基于模塊化可動態(tài)配置的嵌入式實驗平臺結(jié)構(gòu)圖如圖1所示,從圖中可以看出,該嵌入式實驗平臺的核心是ARM9微處理器和FPGA芯片。其中,ARM9微處理器實現(xiàn)嵌入式實驗平臺的各種主要的實驗功能。而 FPGA芯片則主要實現(xiàn)嵌入式實驗平臺的微處理器與外圍電路之間的接口。而且由于FPGA芯片可以動態(tài)地更新程序,因此,能夠通過在FPGA上加載不同的接口電路程序,實現(xiàn)嵌入式實驗平臺連接不同的外圍功能電路。從而,使得所構(gòu)建的嵌入式實驗平臺各外圍電路能夠以模塊為單元進行靈活的更新和替換。

圖1 基于模塊化可動態(tài)配置的嵌入式實驗平臺結(jié)構(gòu)圖
根據(jù)嵌入式實驗平臺的應(yīng)用目的及可動態(tài)配置的實驗要求,所構(gòu)建的嵌入式實驗平臺外圍電路設(shè)計有LCD觸摸屏模塊、AD/DC接口電路、RS232接口電路、FLASH存儲芯片、SDRAM存儲芯片、LED燈和蜂鳴器、電源模塊、時鐘模塊和JTAG接口。
在嵌入式實驗平臺的微處理器上運行嵌入式操作系統(tǒng),以嵌入式操作系統(tǒng)為平臺設(shè)計可動態(tài)配置的實驗管理系統(tǒng)。能夠根據(jù)用戶的需求,動態(tài)、靈活地設(shè)計嵌入式實驗的內(nèi)容,調(diào)整實驗的組織過程及實驗要求。從而,滿足不同用戶使用該嵌入式實驗平臺的應(yīng)用需求。
本文所設(shè)計的平臺的核心處理部分為ARM9微處理器和FPGA芯片。通過FPGA芯片連接帶觸摸功能的LCD顯示屏、FLASH芯片、SDRAM芯片、蜂鳴器、LED燈、AD/DC接口、RS232接口、電源模塊、時鐘電路模塊和JTAG接口,能夠?qū)崿F(xiàn)嵌入式實驗平臺各外圍電路模塊化地升級、替換以及嵌入式實驗內(nèi)容的動態(tài)可配置加載和應(yīng)用。實驗平臺組成結(jié)構(gòu)單元所采用的ARM9芯片為S3C2440A,所選用的FPGA芯片為XC5VSX95T芯片,ARM9微處理器與FPGA芯片采用直接相連的方式實現(xiàn)數(shù)據(jù)和命令的傳輸。FPGA芯片實現(xiàn)將ARM9輸出的命令和數(shù)據(jù)轉(zhuǎn)發(fā)至各外圍電路功能模塊,并接受各外圍電路反饋回來的數(shù)據(jù)地址和命令信號。在外圍電路組成結(jié)構(gòu)部分,其中帶觸摸功能的 LCD顯示屏通過通過FPGA芯片連接至ARM9微處理器。LCD顯示的數(shù)據(jù)格式及接口電路功能采用ARM9芯片中內(nèi)置的LCD接口電路功能模塊。FPGA芯片在進行LCD顯示屏信號傳輸過程中僅僅需要將信號進行一個鎖存及轉(zhuǎn)發(fā)即可。FLASH芯片和SDRAM芯片與FPGA芯片直接相連,并通過FPGA芯片實現(xiàn)兩種存儲芯片接口電路與ARM9微處理器芯片接口電路的對連。FPGA芯片能夠根據(jù)ARM9微處理器輸出的地址、數(shù)據(jù)及控制信號,將對存儲器的訪問數(shù)據(jù)轉(zhuǎn)發(fā)至FLASH或者SDRAM芯片中。當(dāng)用戶在AD/DC接口外圍接不同的AD/DC功能模塊時,由用戶對 FPGA中的 AD/DC接口電路進行改寫及設(shè)計,使得FPGA芯片能夠完成ARM9微處理器信號與外部的AD/DC接口電路信號之間的格式轉(zhuǎn)換,完成外圍的AD/DC接口電路與ARM9微處理器之間的數(shù)據(jù)交換目的。RS232接口、LED燈、電源模塊和時鐘模塊,這些功能模塊都將通過 FPGA芯片直接將信號進行鎖存和之后,轉(zhuǎn)發(fā)至ARM9微處理器上。同時,ARM9微處理器往外輸出至這些功能模塊的信號的時候,則FPGA芯片將同樣對這些信號進行鎖存,并進行放大之后轉(zhuǎn)發(fā)至各外圍電路,確保ARM9微處理器輸出的這類信號能夠正確地驅(qū)動各外圍電路的功能模塊。JTAG接口電路功能模塊主要是對FPGA芯片的程序進行動態(tài)地加載。因此,通過JTAG接口電路實現(xiàn)對FPGA程序的動態(tài)加載功能。根據(jù)實驗需要,可以對實驗內(nèi)容動態(tài)配置,采用如圖2所示的實驗內(nèi)容動態(tài)生成方案,完成由用戶提出的實驗要求和目的,自動生成實驗內(nèi)容及實驗指導(dǎo)方案。
為了滿足嵌入式實驗平臺組成結(jié)構(gòu)及運行動態(tài)配置實驗的要求,在嵌入式平臺中采用WinCE操作系統(tǒng)構(gòu)建嵌入式實驗平臺的軟件集成平臺,采用OpenGUI構(gòu)建嵌入式操作系統(tǒng)的圖形庫,使得該嵌入式實驗平臺能夠為用戶提供圖形化的操作界面。
為了便于理解實驗平臺的組成與工作原理,下面將結(jié)合嵌入式實驗平臺的典型應(yīng)用過程,來進一步介紹嵌入式實驗平臺的內(nèi)部組成結(jié)構(gòu)及各功能模塊所發(fā)揮的作用。
第一步:當(dāng)用戶使用嵌入式實驗平臺時,首先,通過嵌入式實驗平臺中的試驗管理系統(tǒng)設(shè)定嵌入式實驗的內(nèi)容及目標(biāo),嵌入式實驗管理系統(tǒng)根據(jù)用戶所設(shè)定的要求,自動地生成嵌入式實驗實施過程。
第二步:根據(jù)用戶給出實驗要求到生成詳細的實驗步驟,其實現(xiàn)過程如圖2所示。從圖2可看出,實驗平臺動態(tài)可配置的嵌入式實驗組織過程中,要將一些常用的嵌入式實驗內(nèi)容提取,作為最基本的嵌入式實驗單元。

圖2 嵌入式實驗內(nèi)容動態(tài)生成流程
第三步:根據(jù)用戶所提出的嵌入式實驗要求,分解為若干個子要求。根據(jù)所分解的結(jié)果,從嵌入式實驗標(biāo)準(zhǔn)實驗庫中調(diào)取,或者由用戶根據(jù)子要求具體設(shè)計嵌入式實驗。
第四步:用戶的各種操作通過嵌入式實驗平臺中的嵌入式操作系統(tǒng)將用戶的程序及指令傳遞給微處理器,微處理器根據(jù)用戶的指令,完成相關(guān)的計算或控制功能。根據(jù)指令的執(zhí)行結(jié)果向嵌入式實驗平臺中的相關(guān)外圍設(shè)備發(fā)出控制信號,所有的控制信號都經(jīng)過嵌入式實驗平臺中的 FPGA芯片轉(zhuǎn)發(fā)至各外圍電路。對于FLASH、DRAM、LED、時鐘模塊等這些相對簡單的外圍電路模塊,F(xiàn)PGA芯片是直接將信號轉(zhuǎn)發(fā)出去。
第五步:而對于一些外圍接口較為復(fù)雜的電路模塊,如帶觸摸功能的液晶屏、AD/DC數(shù)模轉(zhuǎn)換模塊,則需要通過FPGA的數(shù)據(jù)轉(zhuǎn)換程序?qū)崿F(xiàn)信號電頻及信號格式的轉(zhuǎn)換。
第六步:如果需要對嵌入式實驗平臺的某些外圍電路模塊進行替換或升級,此時,用戶可以直接將外圍電路模塊進行更換,電路模塊的接口連接至FPGA芯片,新的FPGA程序?qū)⑼ㄟ^JTAG接口下載至FPGA芯片或者FPGA旁邊的存儲芯片中。
這種通過基于標(biāo)準(zhǔn)實驗庫的形式來構(gòu)建用戶實際的嵌入式實驗內(nèi)容及步驟,既能夠降低這種靈活多樣的嵌入式實驗內(nèi)容生成的過程,同時又能夠大幅度提高該實驗平臺開展相關(guān)實驗的多樣性。
本文根據(jù)高校嵌入式課程的需要,設(shè)計一種基于模塊化可動態(tài)配置的嵌入式實驗平臺,這種嵌入式實驗平臺的特征是平臺中各外圍電路模塊可以靈活地替換和升級。即使是新的功能模塊接口與原接口不一致,仍然能夠?qū)崿F(xiàn)升級和替換。平臺通過采用 FPGA芯片來實現(xiàn)微處理器與外圍功能模塊的接口電路,使得所構(gòu)建的嵌入式實驗平臺在接口電路上可以支持不同功能模塊的接口電路應(yīng)用要求。嵌入式實驗平臺在微處理器上移植了嵌入式操作系統(tǒng),并以嵌入式操作系統(tǒng)平臺為基礎(chǔ)構(gòu)建了可動態(tài)配置的嵌入式實驗管理系統(tǒng)。能夠根據(jù)用戶的需求,自動地生成不同的實驗內(nèi)容和實驗要求,使得嵌入式實驗平臺能夠方便地滿足不同用戶群體的需求,大大地擴展嵌入式實驗平臺的應(yīng)用范圍和應(yīng)用領(lǐng)域,降低嵌入式實驗平臺的應(yīng)用成本,提高嵌入式實驗平臺的利用率。
[1]劉文芝,劉昭斌,鄭洪靜.基于能力本位的高職嵌入式系統(tǒng)專業(yè)建設(shè)[J].職業(yè)技術(shù)教育,2010,30 (8):8-10.
[2]黃力,賴兆磬,葛祥友.高職嵌入式系統(tǒng)教學(xué)與實踐研究[J].柳州職業(yè)技術(shù)學(xué)院學(xué)報,2010,10 (1):81-84.
[3]黃慶華,黃力.基于模塊化可動態(tài)配置的嵌入式實驗平臺[P].中國: CN203350654U,2013-12-18.
[4]王蘇峰,寧洪,陸洪毅,等.嵌入式系統(tǒng)課程體系及其創(chuàng)新實踐的探索[J].計算機教育,2010, (7):45-48.