呂國成, 楊延軍, 王志軍
(北京大學(xué) 信息科學(xué)技術(shù)學(xué)院, 北京 100871)
?
基于BeagleBone的嵌入式教學(xué)平臺(tái)研制
呂國成, 楊延軍, 王志軍
(北京大學(xué) 信息科學(xué)技術(shù)學(xué)院, 北京100871)
研制了基于BeagleBone開源硬件的嵌入式教學(xué)平臺(tái)。該平臺(tái)以嵌入式BeagleBone為核心,擴(kuò)展了豐富的外圍接口(音、視頻接口,UART接口,SPI接口,LCD接口等),可以滿足嵌入式教學(xué)開發(fā)需求。介紹了該平臺(tái)的軟硬件系統(tǒng)組成、主要實(shí)驗(yàn)項(xiàng)目及安排。該平臺(tái)可根據(jù)教學(xué)需求靈活配置各類實(shí)驗(yàn),激發(fā)學(xué)生創(chuàng)新思維,提升學(xué)生嵌入式開發(fā)能力。
嵌入式教學(xué)平臺(tái); 實(shí)驗(yàn)教學(xué); BeagleBone
嵌入式系統(tǒng)廣泛應(yīng)用于通信、智能家居、手機(jī)等消費(fèi)電子領(lǐng)域[1]。隨著物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)的發(fā)展和嵌入式軟硬件處理能力的提高,嵌入式系統(tǒng)應(yīng)用還將有更大的發(fā)展。北京大學(xué)信息科學(xué)技術(shù)學(xué)院嵌入式系統(tǒng)教學(xué)使用的是基于AT91SAM9261的嵌入式平臺(tái),該平臺(tái)已經(jīng)使用了近8年,處理能力及接口已不能滿足當(dāng)今主流嵌入式應(yīng)用需求,亟待升級。
本文介紹了自行研制的嵌入式系統(tǒng)平臺(tái)的主要硬件及操作系統(tǒng)。該平臺(tái)具有較強(qiáng)處理能力及良好的結(jié)構(gòu),提供了豐富的接口,能夠滿足當(dāng)前主流嵌入式應(yīng)用需求;核心板與擴(kuò)展板的架構(gòu)便于平臺(tái)的快速升級及維護(hù)[2]?;谠撈脚_(tái)的教學(xué)實(shí)驗(yàn)內(nèi)容提高了學(xué)生的創(chuàng)新能力和嵌入式系統(tǒng)開發(fā)能力[3-5]。
本實(shí)驗(yàn)平臺(tái)基于BeagleBone研制。BeagleBone為3種主流開源硬件(Arduino、BeagleBone及Raspberry Pi)之一。開源硬件項(xiàng)目與開源軟件項(xiàng)目類似,通過共享硬件設(shè)計(jì)(工程制圖、原理圖、PCB圖甚至HDL源代碼)來消除技術(shù)壁壘及專利版權(quán),推動(dòng)嵌入式應(yīng)用的快速發(fā)展。BeagleBone采用Cortex-A8處理器,具有強(qiáng)大的處理能力,同時(shí)具有豐富的接口和較強(qiáng)的可擴(kuò)展性,便于實(shí)現(xiàn)各類接口實(shí)驗(yàn)項(xiàng)目。實(shí)驗(yàn)平臺(tái)采用“核心板+擴(kuò)展板”結(jié)構(gòu),選用BeagleBone為核心處理板完成核心處理,擴(kuò)展板作為核心板的擴(kuò)展,完成音、視頻接口,UART,SPI,LCD等接口擴(kuò)展。
2.1BeagleBone核心板
BeagleBone核心板是實(shí)驗(yàn)平臺(tái)核心,完成主要功能和接口處理,并通過擴(kuò)展接口與擴(kuò)展接口板連接。其主要核心硬件包括:
(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) 存儲(chǔ):采用標(biāo)準(zhǔn)micro SD接口,SD卡容量為8 GB;
(5) USB接口:核心板提供2個(gè)USB接口,分別為主設(shè)備接口、從設(shè)備接口;
(6) 網(wǎng)口:采用SMSC LAN8710 PHY接口芯片,網(wǎng)口速率為10/100 MHz 自適應(yīng);
(7) 擴(kuò)展接口:擴(kuò)展接口為兩排46針接口,實(shí)現(xiàn)LCD、音頻、各種串行接口擴(kuò)展。
2.2擴(kuò)展接口板
擴(kuò)展接口主要包括音、視頻接口及串口,通過接口功能擴(kuò)展以實(shí)現(xiàn)交互式應(yīng)用。主要包括以下硬件:
(1) 電源芯片LM2596S:完成12 V到5 V電壓轉(zhuǎn)換,為整個(gè)實(shí)驗(yàn)平臺(tái)供電;
(2) LCD與觸摸屏AT050TN22:5.0英寸TFT顯示屏,屏幕分辨率為640×480(像素),通過并行帶線與核心板連接;
(3) 音頻接口TLV320AIC3106:該芯片完成立體聲音頻信號處理,通過I2C接口與核心板連接。
實(shí)驗(yàn)平臺(tái)采用了“核心板+擴(kuò)展板”結(jié)構(gòu)。核心板完成核心功能,在擴(kuò)展板上實(shí)現(xiàn)音、視頻交互功能擴(kuò)展,既保證了核心功能,又兼顧了靈活性,為實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)奠定了基礎(chǔ)。圖2為實(shí)驗(yàn)平臺(tái)的硬件實(shí)物圖。
圖2 實(shí)驗(yàn)平臺(tái)圖
硬件是實(shí)驗(yàn)平臺(tái)的基礎(chǔ),嵌入式操作系統(tǒng)是實(shí)驗(yàn)平臺(tái)的核心。完成嵌入式操作系統(tǒng)的安裝是該實(shí)驗(yàn)平臺(tái)的另一項(xiàng)主要工作。該平臺(tái)采用SD卡作為存儲(chǔ)介質(zhì),僅需要準(zhǔn)備好操作系統(tǒng)的安裝文件,將相關(guān)文件寫入SD卡相應(yīng)分區(qū)即可完成安裝,大大簡化了操作系統(tǒng)的安裝流程[6]。此外,由于處理能力的提升,該平臺(tái)支持更多Linux操作系統(tǒng)(Debain、Ubuntu、Andriod等),為后續(xù)實(shí)驗(yàn)內(nèi)容的擴(kuò)展提供有力支持。平臺(tái)采用標(biāo)準(zhǔn)Linux操作系統(tǒng)。
嵌入式應(yīng)用開發(fā)不同于普通程序開發(fā),主要由主機(jī)及嵌入式實(shí)驗(yàn)平臺(tái)構(gòu)建開發(fā)環(huán)境。由于主機(jī)與目標(biāo)板采用不同CPU架構(gòu),例如主機(jī)通常采用Intel架構(gòu),目標(biāo)板采用ARM架構(gòu),所以主機(jī)上的程序只有通過交叉編譯后才能在目標(biāo)板上執(zhí)行。標(biāo)準(zhǔn)Linux的安裝過程包括3個(gè)主要步驟。
(1) 交叉編譯環(huán)境建立。主要包括安裝交叉編譯工具、安裝主要網(wǎng)絡(luò)服務(wù)(例如TFTP、NFS等)[1,9]。
(2) 交叉編譯U-boot、Linux kernel。U-boot完成硬件平臺(tái)的自檢,為內(nèi)核啟動(dòng)做好準(zhǔn)備,Linux kernel是操作系統(tǒng)核心,用于管理內(nèi)存、外設(shè)及系統(tǒng)資源。本實(shí)驗(yàn)平臺(tái)U-boot采用v2014.07版本[10],Linux kernel采用3.8.13-bone24.4版本。交叉編譯后將生成的文件拷貝至SD卡相應(yīng)目錄下完成安裝。
(3) 交叉編譯文件系統(tǒng)。采用Buildroot工具完成文件系統(tǒng)配置,交叉編譯后得到目標(biāo)板的文件系統(tǒng)[11]。
將交叉編譯好的U-boot文件、內(nèi)核文件及文件系統(tǒng)拷貝到SD卡相應(yīng)目錄下,完成平臺(tái)的操作系統(tǒng)安裝。系統(tǒng)啟動(dòng)后可以通過串口登錄至系統(tǒng),完成平臺(tái)操作系統(tǒng)安裝[12]。
新的實(shí)驗(yàn)平臺(tái)提升了處理能力及擴(kuò)展了接口,可以更好地支持各類嵌入式實(shí)驗(yàn)項(xiàng)目。為了使學(xué)生更好理解及掌握嵌入式開發(fā),嵌入式實(shí)驗(yàn)內(nèi)容按照復(fù)雜度分為3個(gè)階段(見圖3)。
圖3 實(shí)驗(yàn)內(nèi)容安排
(1) 基礎(chǔ)性實(shí)驗(yàn)。是嵌入式實(shí)驗(yàn)的基礎(chǔ),包括嵌入式交叉編譯環(huán)境的搭建及嵌入式系統(tǒng)的安裝。在以后的實(shí)驗(yàn)中會(huì)經(jīng)常用到基礎(chǔ)性實(shí)驗(yàn)內(nèi)容。
(2) 單元實(shí)驗(yàn)。將嵌入式主流應(yīng)用分為幾個(gè)獨(dú)立的實(shí)驗(yàn),每個(gè)實(shí)驗(yàn)有針對性地安排實(shí)驗(yàn)內(nèi)容,通過具體實(shí)驗(yàn)內(nèi)容來理解并掌握基礎(chǔ)嵌入式應(yīng)用開發(fā)。
(3) 綜合、創(chuàng)新實(shí)驗(yàn)。學(xué)生通過基礎(chǔ)實(shí)驗(yàn)及單元實(shí)驗(yàn)項(xiàng)目,逐步掌握嵌入式基礎(chǔ)知識(shí)及主流應(yīng)用開發(fā),
再結(jié)合主流熱門應(yīng)用安排綜合實(shí)驗(yàn)。學(xué)生也可以根據(jù)自己的興趣、愛好選定一些創(chuàng)新實(shí)驗(yàn)題目。通過綜合、創(chuàng)新實(shí)驗(yàn),進(jìn)一步鞏固基礎(chǔ)性實(shí)驗(yàn)和單元實(shí)驗(yàn)知識(shí)。
基于BeagleBone的嵌入式教學(xué)平臺(tái)采用核心板與擴(kuò)展板雙層架構(gòu),在保證核心功能的同時(shí),得到了豐富的功能擴(kuò)展。平臺(tái)基于主流開源硬件,便于維護(hù)及升級。結(jié)合當(dāng)前主流的嵌入式系統(tǒng)應(yīng)用,設(shè)計(jì)了由簡單到復(fù)雜、由基礎(chǔ)到綜合的分階段實(shí)驗(yàn)項(xiàng)目,便于學(xué)生逐步深入地學(xué)習(xí)及掌握,促進(jìn)了嵌入式教學(xué)改革。
References)
[1] 楊延軍.嵌入式系統(tǒng)開發(fā)原理與實(shí)驗(yàn)[M].北京:北京大學(xué)出版社,2011.
[2] 譚大為.開放的嵌入式系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(12):141-145.
[3] 唐續(xù),趙芳斌,王嘉.EDA與單片機(jī)及SOPC一體化實(shí)驗(yàn)教學(xué)平臺(tái)研制[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(1):73-77.
[4] 宋焱翼,陳禮,顏芳.嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)改革與實(shí)驗(yàn)教學(xué)裝置開發(fā)[J].實(shí)驗(yàn)室研究與探索,2011,30(7):239-241.
[5] 呂向陽,陳明義.嵌入式系統(tǒng)創(chuàng)新實(shí)驗(yàn)室建設(shè)[J].實(shí)驗(yàn)室研究與探索,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實(shí)驗(yàn)教學(xué)改革項(xiàng)目
呂國成(1984—),男,云南宣威,碩士,工程師,主要從事嵌入式系統(tǒng)、衛(wèi)星信號處理教學(xué)及研究.
E-mail:lv.guocheng@pku.edu.cn
TP316.4;G642.4
A
1002-4956(2016)3- 0151- 03