呂國成, 楊延軍, 王志軍
(北京大學(xué) 信息科學(xué)技術(shù)學(xué)院, 北京 100871)
?
基于BeagleBone的嵌入式教學(xué)平臺研制
呂國成, 楊延軍, 王志軍
(北京大學(xué) 信息科學(xué)技術(shù)學(xué)院, 北京100871)
研制了基于BeagleBone開源硬件的嵌入式教學(xué)平臺。該平臺以嵌入式BeagleBone為核心,擴展了豐富的外圍接口(音、視頻接口,UART接口,SPI接口,LCD接口等),可以滿足嵌入式教學(xué)開發(fā)需求。介紹了該平臺的軟硬件系統(tǒng)組成、主要實驗項目及安排。該平臺可根據(jù)教學(xué)需求靈活配置各類實驗,激發(fā)學(xué)生創(chuàng)新思維,提升學(xué)生嵌入式開發(fā)能力。
嵌入式教學(xué)平臺; 實驗教學(xué); BeagleBone
嵌入式系統(tǒng)廣泛應(yīng)用于通信、智能家居、手機等消費電子領(lǐng)域[1]。隨著物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)的發(fā)展和嵌入式軟硬件處理能力的提高,嵌入式系統(tǒng)應(yīng)用還將有更大的發(fā)展。北京大學(xué)信息科學(xué)技術(shù)學(xué)院嵌入式系統(tǒng)教學(xué)使用的是基于AT91SAM9261的嵌入式平臺,該平臺已經(jīng)使用了近8年,處理能力及接口已不能滿足當今主流嵌入式應(yīng)用需求,亟待升級。
本文介紹了自行研制的嵌入式系統(tǒng)平臺的主要硬件及操作系統(tǒng)。該平臺具有較強處理能力及良好的結(jié)構(gòu),提供了豐富的接口,能夠滿足當前主流嵌入式應(yīng)用需求;核心板與擴展板的架構(gòu)便于平臺的快速升級及維護[2]。基于該平臺的教學(xué)實驗內(nèi)容提高了學(xué)生的創(chuàng)新能力和嵌入式系統(tǒng)開發(fā)能力[3-5]。
本實驗平臺基于BeagleBone研制。BeagleBone為3種主流開源硬件(Arduino、BeagleBone及Raspberry Pi)之一。開源硬件項目與開源軟件項目類似,通過共享硬件設(shè)計(工程制圖、原理圖、PCB圖甚至HDL源代碼)來消除技術(shù)壁壘及專利版權(quán),推動嵌入式應(yīng)用的快速發(fā)展。BeagleBone采用Cortex-A8處理器,具有強大的處理能力,同時具有豐富的接口和較強的可擴展性,便于實現(xiàn)各類接口實驗項目。實驗平臺采用“核心板+擴展板”結(jié)構(gòu),選用BeagleBone為核心處理板完成核心處理,擴展板作為核心板的擴展,完成音、視頻接口,UART,SPI,LCD等接口擴展。
2.1BeagleBone核心板
BeagleBone核心板是實驗平臺核心,完成主要功能和接口處理,并通過擴展接口與擴展接口板連接。其主要核心硬件包括:
(1) 處理器(CPU):采用TI Sitara ARM AM3359 Cortex-A8處理器,具有32 KB L1數(shù)據(jù)及指令緩存,256 KB L2緩存,最高工作頻率為720 MHz;支持DDR2,DDR3;支持USB、LAN、LCD、多種串行接口[6-7](見圖1);

圖1 Cortex-A8處理器結(jié)構(gòu)
(2) 電源芯片:采用TPS65217B集成電源芯片,為核心板CPU及外圍芯片供電,可提供1.8 V、3.3 V等電壓[8];
(3) 內(nèi)存:采用MT47H128M16RT-25E內(nèi)存芯片,提供256 MB DDR2 內(nèi)存;
(4) 存儲:采用標準micro SD接口,SD卡容量為8 GB;
(5) USB接口:核心板提供2個USB接口,分別為主設(shè)備接口、從設(shè)備接口;
(6) 網(wǎng)口:采用SMSC LAN8710 PHY接口芯片,網(wǎng)口速率為10/100 MHz 自適應(yīng);
(7) 擴展接口:擴展接口為兩排46針接口,實現(xiàn)LCD、音頻、各種串行接口擴展。
2.2擴展接口板
擴展接口主要包括音、視頻接口及串口,通過接口功能擴展以實現(xiàn)交互式應(yīng)用。主要包括以下硬件:
(1) 電源芯片LM2596S:完成12 V到5 V電壓轉(zhuǎn)換,為整個實驗平臺供電;
(2) LCD與觸摸屏AT050TN22:5.0英寸TFT顯示屏,屏幕分辨率為640×480(像素),通過并行帶線與核心板連接;
(3) 音頻接口TLV320AIC3106:該芯片完成立體聲音頻信號處理,通過I2C接口與核心板連接。
實驗平臺采用了“核心板+擴展板”結(jié)構(gòu)。核心板完成核心功能,在擴展板上實現(xiàn)音、視頻交互功能擴展,既保證了核心功能,又兼顧了靈活性,為實驗項目的設(shè)計奠定了基礎(chǔ)。圖2為實驗平臺的硬件實物圖。

圖2 實驗平臺圖
硬件是實驗平臺的基礎(chǔ),嵌入式操作系統(tǒng)是實驗平臺的核心。完成嵌入式操作系統(tǒng)的安裝是該實驗平臺的另一項主要工作。該平臺采用SD卡作為存儲介質(zhì),僅需要準備好操作系統(tǒng)的安裝文件,將相關(guān)文件寫入SD卡相應(yīng)分區(qū)即可完成安裝,大大簡化了操作系統(tǒng)的安裝流程[6]。此外,由于處理能力的提升,該平臺支持更多Linux操作系統(tǒng)(Debain、Ubuntu、Andriod等),為后續(xù)實驗內(nèi)容的擴展提供有力支持。平臺采用標準Linux操作系統(tǒng)。
嵌入式應(yīng)用開發(fā)不同于普通程序開發(fā),主要由主機及嵌入式實驗平臺構(gòu)建開發(fā)環(huán)境。由于主機與目標板采用不同CPU架構(gòu),例如主機通常采用Intel架構(gòu),目標板采用ARM架構(gòu),所以主機上的程序只有通過交叉編譯后才能在目標板上執(zhí)行。標準Linux的安裝過程包括3個主要步驟。
(1) 交叉編譯環(huán)境建立。主要包括安裝交叉編譯工具、安裝主要網(wǎng)絡(luò)服務(wù)(例如TFTP、NFS等)[1,9]。
(2) 交叉編譯U-boot、Linux kernel。U-boot完成硬件平臺的自檢,為內(nèi)核啟動做好準備,Linux kernel是操作系統(tǒng)核心,用于管理內(nèi)存、外設(shè)及系統(tǒng)資源。本實驗平臺U-boot采用v2014.07版本[10],Linux kernel采用3.8.13-bone24.4版本。交叉編譯后將生成的文件拷貝至SD卡相應(yīng)目錄下完成安裝。
(3) 交叉編譯文件系統(tǒng)。采用Buildroot工具完成文件系統(tǒng)配置,交叉編譯后得到目標板的文件系統(tǒng)[11]。
將交叉編譯好的U-boot文件、內(nèi)核文件及文件系統(tǒng)拷貝到SD卡相應(yīng)目錄下,完成平臺的操作系統(tǒng)安裝。系統(tǒng)啟動后可以通過串口登錄至系統(tǒng),完成平臺操作系統(tǒng)安裝[12]。
新的實驗平臺提升了處理能力及擴展了接口,可以更好地支持各類嵌入式實驗項目。為了使學(xué)生更好理解及掌握嵌入式開發(fā),嵌入式實驗內(nèi)容按照復(fù)雜度分為3個階段(見圖3)。

圖3 實驗內(nèi)容安排
(1) 基礎(chǔ)性實驗。是嵌入式實驗的基礎(chǔ),包括嵌入式交叉編譯環(huán)境的搭建及嵌入式系統(tǒng)的安裝。在以后的實驗中會經(jīng)常用到基礎(chǔ)性實驗內(nèi)容。
(2) 單元實驗。將嵌入式主流應(yīng)用分為幾個獨立的實驗,每個實驗有針對性地安排實驗內(nèi)容,通過具體實驗內(nèi)容來理解并掌握基礎(chǔ)嵌入式應(yīng)用開發(fā)。
(3) 綜合、創(chuàng)新實驗。學(xué)生通過基礎(chǔ)實驗及單元實驗項目,逐步掌握嵌入式基礎(chǔ)知識及主流應(yīng)用開發(fā),
再結(jié)合主流熱門應(yīng)用安排綜合實驗。學(xué)生也可以根據(jù)自己的興趣、愛好選定一些創(chuàng)新實驗題目。通過綜合、創(chuàng)新實驗,進一步鞏固基礎(chǔ)性實驗和單元實驗知識。
基于BeagleBone的嵌入式教學(xué)平臺采用核心板與擴展板雙層架構(gòu),在保證核心功能的同時,得到了豐富的功能擴展。平臺基于主流開源硬件,便于維護及升級。結(jié)合當前主流的嵌入式系統(tǒng)應(yīng)用,設(shè)計了由簡單到復(fù)雜、由基礎(chǔ)到綜合的分階段實驗項目,便于學(xué)生逐步深入地學(xué)習(xí)及掌握,促進了嵌入式教學(xué)改革。
References)
[1] 楊延軍.嵌入式系統(tǒng)開發(fā)原理與實驗[M].北京:北京大學(xué)出版社,2011.
[2] 譚大為.開放的嵌入式系統(tǒng)實驗平臺設(shè)計[J].實驗技術(shù)與管理,2013,30(12):141-145.
[3] 唐續(xù),趙芳斌,王嘉.EDA與單片機及SOPC一體化實驗教學(xué)平臺研制[J].實驗技術(shù)與管理,2013,30(1):73-77.
[4] 宋焱翼,陳禮,顏芳.嵌入式系統(tǒng)實驗教學(xué)改革與實驗教學(xué)裝置開發(fā)[J].實驗室研究與探索,2011,30(7):239-241.
[5] 呂向陽,陳明義.嵌入式系統(tǒng)創(chuàng)新實驗室建設(shè)[J].實驗室研究與探索,2005,24(5):32-33.
[6] Coley G.BeagleBone Rev A6 System Reference Manual[EB/OL].(2012-05-09). http://www.beaglebone.org.
[7] Texas Instruments.AM335x ARM? Cortex-A8 Microprocessors (MPUs) Technical Reference Manual (SPRUH73H) [EB/OL]. October 2011 - Revised April 2013.http://www.ti.com.
[8] Texas Instruments. Powering the AM335x with theTPS65217x[EB/OL].http://www.ti.com.
[9] 劉憶智.Linux從入門到精通[M].北京:清華大學(xué)出版社,2010.
[10] Digi International Inc. U-Boot Reference Manual [EB/OL]. 2007.http://www.digiembedded.com.
[11] Thomas Petazzoni. The Buildroot user manual 2013.08-rc1[EB/OL].http://www.buildroot.uclibc.org.
[12] Nelson R. Beaglebone [EB/OL].[2015-08-18]. https://eewiki.net/display/linuxonarm/BeagleBone.
Development of a new experimental teaching platform with embedded system based on BeagleBone
Lü Guocheng, Yang Yanjun, Wang Zhijun
(School of Electronics Engineering and Computer Science, Peking University,Beijing 100871,China )
An experimental teaching platform with embedded system based on BeagleBone is developed. This platform is based on BeagleBone board with much interfaces (Voice/Video, UART, SPI, LCD, etc.) meeting the demands for embedded software development and teaching experiments. The composition and main features of this platform, as well as the experimental content and schedule, are discussed. This is a high performance and flexible platform supporting different kind experiments. That not only stimulates the student’s creativity, but also improves the embedded development ability.
teaching platform with embedded system; experimental teaching; BeagleBone
10.16791/j.cnki.sjg.2016.03.038
2015- 08- 17
北京大學(xué)2014實驗教學(xué)改革項目
呂國成(1984—),男,云南宣威,碩士,工程師,主要從事嵌入式系統(tǒng)、衛(wèi)星信號處理教學(xué)及研究.
E-mail:lv.guocheng@pku.edu.cn
TP316.4;G642.4
A
1002-4956(2016)3- 0151- 03