




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、濟南大學泉城學院畢業(yè)設計濟南大學畢 業(yè) 設 計題 目 基于ARM Contex A8 智能家居系統(tǒng)設計 學 院 工學院 專 業(yè) 電氣工程及其自動化 班 級 學 生 學 號 指導教師 二一 六 年 五 月 二十 日- 2 -濟南大學畢業(yè)設計摘 要隨著“物聯(lián)網(wǎng)”的發(fā)展,智能家居近年來成為家電企業(yè)研究和轉(zhuǎn)型的熱點。智能家居對當前的發(fā)展形式難以適應,同時智能家居技術(shù)在我國處于起步階段,許多技術(shù)標準都未標準化,因此加強智能家居應用層方面的研究,通過選取合適的芯片和技術(shù),提出合理的設計方案,組建一種符合我國市場的、具有自主知識產(chǎn)權(quán)的智能家居系統(tǒng)己成為當前智能家居研究領域中極富經(jīng)濟價值和科技價值的課題。該項
2、目使用ARM cortex-A8芯片是三星一款精典的處理器,它內(nèi)核運算速度快,體積小,功耗低,可以夠兼容各種復雜的外設,可擴展性高。初步的構(gòu)建功能,功能人機交互界面。實現(xiàn)了檢測用并顯示浮點的格式當前的室內(nèi)溫度并用曲線顯示溫度隨時間的變化,還可以查看升級進度實現(xiàn)軟件在線升級,實現(xiàn)音樂播放器,蜂鳴器,開關(guān)LED燈和實現(xiàn)動態(tài)界面的顯示和攝像頭采集視頻的顯示,移植了游戲和計算器供用戶娛樂。本設計基于S5PV210芯片,采用嵌入式linux系統(tǒng)開發(fā),模擬了一套功能齊全,用戶體驗度高的智能家居系統(tǒng)。關(guān)鍵詞:智能家居;嵌入式開發(fā);S5PV210ABSTRACTWith the devel
3、opment of Internet of things, smart home has become a hot research and transformation of household electrical appliance enterprises in recent years. Intelligent home of the
4、60;current form of development difficult to adapt to,and smart home technology in our country in the initial stage, many of the technical standards are not standardized.
5、Therefore, strengthening the study of intelligent home application layer, by selecting the appropriate chip and technology,put forward the reasonable design, established one kind to
6、0;conform to our country market, with independent intellectual property rights of the smart home system has become the current topic of smart home in the research field
7、160;of highly economic value and the value of technology.The project use the ARM cortex-A8 chip processor is a classic of Samsung, its kernel computing speed, small volum
8、e,low power consumption, can enough compatible peripherals of avariety of complex, high scalability. Preliminary build function, function man-machine interaction interface. The detection and
9、 display the current the floating-point format, the indoortemperature and curvedisplay temperature changes with time, youcan also check the progress of your upgrade the software
10、60;online upgrade, realizing that the music player, buzzer, switchLED lights andrealize dynamic interface display and camera production video display, Transplant Games and calculator fo
11、r recreational users.This design based on S5PV210 chip, using embedded Linux system development, simulation of a set of complete functions, the user experience a high degree
12、160;of intelligent home system. Keywords:intelligent home; embedded developmentsensor; S5PV210目 錄摘 要IABSTRACTII1 前 言11.1智能家居研究背景及意義11.2國內(nèi)外發(fā)展現(xiàn)狀11.3課題研究的內(nèi)容21.4嵌入式系統(tǒng)的特點32 系統(tǒng)的總體方案設計42.1 系統(tǒng)設計思路42.2 系統(tǒng)方案設計42.3 項目實現(xiàn)功能53 基于S5PV210的智能家居系統(tǒng)硬件設計63.1 芯片的選型63.1.1 SPV210的功能特點73.1.2 AR
13、M CONTEX A8開發(fā)板的配置73.1.3智能家居項目硬件配置83.2 DS18B20溫度傳感器的工作原理及結(jié)構(gòu)圖83.3 LED原理和電路圖93.4 TFT觸摸屏原理和電路93.5 報警電路103.5.1蜂鳴器報警的原理103.5.2蜂鳴器報警電路圖113.5.3開發(fā)板音頻部分原理圖114 系統(tǒng)環(huán)境搭建124.1 搭建嵌入式linux系統(tǒng)環(huán)境124.2編譯器124.3 嵌入式linux軟件組成部分及其功能134.3.1 bootloader作用134.3.2 UBOOT移植134.3.3 linux內(nèi)核組成144.3.4內(nèi)核移植144.3.5根文件系統(tǒng)rootfs作用144.3.6根文件
14、系統(tǒng)制作144.4.Tslib移植164.4.1.tslib作用164.4.2.tslib移植164.5 QT移植174.5.1QT介紹174.5.2安裝中文字體庫174.5.3 QT界面制作175 基于CONTEX A8智能家居軟件設計195.1通過界面實現(xiàn)開關(guān)燈195.2實現(xiàn)DS18B20的溫度顯示195.2.1編寫DS18B20設備驅(qū)動程序195.2.2編寫硬件操作庫函數(shù)205.2.3編寫ehome圖形界面軟件,添加溫度顯示205.3 在線升級205.3.1升級方案215.3.2 TPAD的linux系統(tǒng)識別U盤215.3.3 TPAD在linux系統(tǒng)擦和寫Nand215.3.4 升級z
15、Image215.4.ehome添加MP3播放器功能225.5 附加功能226 系統(tǒng)的調(diào)試與測試236.1 集成測試簡介236.2 硬件和軟件測試246.2.1環(huán)境搭建測試246.2.2 tslib測試246.2.3 QT測試246.2.4測試LED燈驅(qū)動和硬件操作庫246.2.5溫度傳感器測試256.2.6在線升級功能測試256.3 智能家居文件的編譯267 總結(jié)與展望27參考文獻28致 謝29附錄一 主界面程序30附錄二 在線升級代碼32附錄三 音樂播放器程序33附錄四 溫度曲線和顯示程序35附錄五 主控制芯片S5PV210的外接方式電路圖44附錄六 主控芯片S5PV210硬件電路圖45-
16、 44 -1 前 言1.1智能家居研究背景及意義21世紀經(jīng)濟快速發(fā)展,計算機技術(shù)更是取得了驚人的發(fā)展速度,科學技術(shù)也越來越多地影響著人們的生活,人們對自己的衣、食、住、行,提出了更高的要求6。智能化于是就成了出現(xiàn)頻率最高的詞匯,像智慧城市、智能汽車、智能景區(qū),智能控制,智能交通等等,都體現(xiàn)出人類對智能化生活的迫切追求。家庭是社會的細胞,唯有家庭實現(xiàn)了信息化,才能真正實現(xiàn)社會的信息化,研究開發(fā)智能家居系統(tǒng)是實現(xiàn)室內(nèi)信息化的必要過程6。“智能家居”這樣一個更加貼切人們生活的詞匯最早的時候是在西方康捏狄克州被提出來,隨后對智能家居項目投入拉開了序幕,智能家居系統(tǒng)成了科技進步的最大受益者之一1。現(xiàn)在特
17、別是消費電子類產(chǎn)品智能化發(fā)展,嵌入式控制器件基本上應用于了生活的方方面面,比如收音機、智能手機、小區(qū)電梯、汽車電子、數(shù)字電視、工業(yè)控制、數(shù)碼相機、空調(diào)、交換機、路由器、衛(wèi)星、航空航天、月球探測儀、智能監(jiān)控、醫(yī)療器械,嵌入式的重要作用越突顯出來。近年來隨著“物聯(lián)網(wǎng)”的發(fā)展,物聯(lián)網(wǎng)技術(shù)的成熟和智能移動人機交互終端的普及,使得智能家居行業(yè)獲得了長足的發(fā)展,達到了前所未有的程度12。隨著智能家居技術(shù)的日益成熟、制造成本逐漸降低、用戶功能的人性化,使得智能家居“飛入尋常百姓家”,而不再是原來的高處不勝寒。最近幾年,隨著信息通信和計算機的發(fā)展,智能家居控制系統(tǒng)在房地產(chǎn)領域得到了一定程度的推廣,智能家居作為
18、一個智能化和物聯(lián)化的新型領域,對現(xiàn)在家居安防和家居智能化的管理具有很重要的價值16。1.2國內(nèi)外發(fā)展現(xiàn)狀 由于芯片朝著體積更小、運算更快、功耗更低的方向發(fā)展,所以越來越多的智能化芯片被運用到日常電子商品里,而且可以添加更多的外設和更好的功能。比如,諾基亞1050手機只能打電話,發(fā)個信息,而iphone手機可以打電話,發(fā)信息,WIFI,BT,TP等,軟件隨著硬件的改變而改變。不同的產(chǎn)品,它們的功能不一樣,可靠性也不一樣,成本不一樣,體積和功耗都,有可能不一樣,但是本質(zhì)同樣的東西都會滿足。根據(jù)不同用戶的需求,諾基亞1050:功能單一,可靠性高,成本低,體積小,功耗小,而iphone手機功能強大,可
19、靠性差,成本高,體積大,功耗高。可以得出結(jié)論,將來做產(chǎn)品可以做低端和高端,像智能家居就屬于滿足用戶需求的高端產(chǎn)品,然而高端行業(yè)會出現(xiàn)后勁不足。同時,盡管大量與智能家居有關(guān)的技術(shù)逐漸興起,而當前智能家居系統(tǒng)還并未發(fā)展成熟,存在諸多問題,如布線繁雜、不美觀、功耗大、對互聯(lián)網(wǎng)的依賴性強。到目前國內(nèi)的研究還沒有建立一個完整的智能家居理論體系,對智能家居的理解也存在著各種的差異;當前國內(nèi)的智能家居產(chǎn)品大都功能貧乏,系統(tǒng)設計不規(guī)范、可擴展性差,對當前的發(fā)展形式難以適應,同時智能家居技術(shù)在我國處于起步階段,許多技術(shù)標準都未標準化,還有很多工作需要做。因此加強智能家居應用層方面的研究,通過選取合適的芯片和技術(shù)
20、,提出合理的設計方案,組建一種符合我國市場的、具有自主知識產(chǎn)權(quán)的智能家居系統(tǒng)己成為當前智能家居研究領域中極富經(jīng)濟價值和科技價值的課題5。如果對國內(nèi)外智能家居系統(tǒng)的深入研究,針對國內(nèi)現(xiàn)狀,本系統(tǒng)的設計和使用,如果得到廣泛的應用,可以極大地提高人們的生活質(zhì)量,真正的實現(xiàn)住宅智能化,這也為將為推動中國物聯(lián)網(wǎng)的發(fā)展起到一定推動作用。如圖1.1所示,物聯(lián)網(wǎng)智能家居的體現(xiàn),體現(xiàn)了萬物互聯(lián)的主題。圖1.1 物聯(lián)網(wǎng)的智能家居1.3課題研究的內(nèi)容本次智能家居項目使用了韓國三星公司研發(fā)的S5PV210芯片,它的內(nèi)核cortex-A8 是ARM處理器最高級系列中的芯片,而且開發(fā)板接口資源豐富,搭載了相當豐富的外設串
21、口供開發(fā)者使用。雖然離現(xiàn)實的成熟的智能家居系統(tǒng)無論是功能上,還是制作上都存在一定差距,但是初步體現(xiàn)出智能家居的思想,達到展示的效果,并且體現(xiàn)一定的實用價值7。結(jié)合國內(nèi)外現(xiàn)有的相關(guān)研究成果及現(xiàn)有的成熟技術(shù),項目安排的主要內(nèi)容有:一、前言。簡要介紹了智能家居課題的研究背景及意義、研究內(nèi)容、國內(nèi)外發(fā)展和現(xiàn)狀、嵌入式系統(tǒng)的特點和課題所要達到技術(shù)要求以及功能的實現(xiàn)方法。二、系統(tǒng)整體方案設計及相關(guān)技術(shù)。主要包括智能家居系統(tǒng)的設計思路,設計方案和系統(tǒng)實現(xiàn)功能。三、 智能家居系統(tǒng)硬件設計。這部分內(nèi)容主要包括系統(tǒng)主要芯片結(jié)構(gòu)、各模塊的功能介紹和各模塊硬件電路圖等。4、 系統(tǒng)環(huán)境搭建。主要包括系統(tǒng)的UBOOT燒寫
22、,內(nèi)核移植,根文件系統(tǒng)制作,tslib移植,QT移植和校正。5、 智能家居系統(tǒng)軟件設計。軟件設計部分包括系統(tǒng)通過界面實現(xiàn)開關(guān)燈,實現(xiàn)溫度顯示,在線升級,音樂播放器。6、 系統(tǒng)的調(diào)試與測試。這部分內(nèi)容主要包括測試簡介,軟件測試和硬件測試。1.4嵌入式系統(tǒng)的特點嵌入式系統(tǒng)的核心是嵌入式計算機系統(tǒng),它分為系統(tǒng)硬件層、系統(tǒng)軟件層,應用軟件層和中間層。嵌入式系統(tǒng)是以用戶需求為中心,并且軟、硬件均可裁剪的但必須具備最小系統(tǒng)要求,軟硬件為可以根據(jù)用戶的需求而裁剪8。可以接受嵌入式計算機系統(tǒng)發(fā)出的控制命令的可以執(zhí)行裝置又被叫做被控對象,由它來它執(zhí)行所規(guī)定的操作或任務。執(zhí)行裝置功能可以很簡單,如MP3上的按鈕鍵
23、,可以上下左右切換歌曲;也可以功能很復雜,如谷歌眼鏡,上面集成了多種傳感器和各種微型機器,從而可以執(zhí)行各種復雜的機器動作并感受各種外界的狀態(tài)信息。具有極佳的運算處理性能、極低的功耗、極其豐富的外設接口,并且具有防復制保護,使得智能家居可以應用到很多場合。(1) 可裁剪性強。可以根據(jù)功能要求,裁剪設備功能。(2) 實時性好。實時性一般較好,在各種設備控制中可以應用。(3) 接口統(tǒng)一。提供統(tǒng)一的設備驅(qū)動接口。(4) 操作方便、提供良好人機交互界面,容易學會。提供強大的網(wǎng)絡功能,支持TCP/IP等各種協(xié)議,提供各種協(xié)議支持及統(tǒng)一的MAC訪問層的訪問接口,為各種計算設備預留接口。(5) 強穩(wěn)定性,弱交
24、互性。嵌入式操作系統(tǒng)的用戶接口一般不提供操作命令,它通過系統(tǒng)的調(diào)用命令向用戶程序提供服務。(6) 固化代碼。在嵌入式系統(tǒng)中,嵌入式操作系統(tǒng)和應用軟件被固化在嵌入式系統(tǒng)計算機的NAND上。(7) 很好的硬件適應性,具有良好的移植功能。(8) 嵌入式系統(tǒng)會和具體需求有機地結(jié)合在一起,嵌入式的升級更新也是和具體產(chǎn)品同步進行,具有較長的生命周期。2 系統(tǒng)的總體方案設計2.1 系統(tǒng)設計思路基于contex A8的智能家居系統(tǒng)設計思路是:當人在室內(nèi)時,增加用戶體驗,可以操作一塊室內(nèi)控制器的觸屏來控制室內(nèi)的器件,進行人機交互的控制。實現(xiàn)了檢測用并顯示浮點的格式當前的室內(nèi)溫度并用曲線顯示溫度隨時間的變化,還可
25、以查看升級進度實現(xiàn)新版本軟件的在線升級,實現(xiàn)音樂播放器,蜂鳴器,開關(guān)LED燈,視屏監(jiān)控和實現(xiàn)動態(tài)界面的顯示和攝像頭采集視頻的顯示,移植了游戲和輔助功能的計算器,供用戶娛樂這樣一來,用戶可以實現(xiàn)操作觸摸屏,就能做自己想做的事。本設計基于S5PV210芯片,采用嵌入式linux系統(tǒng)開發(fā),模擬了一套功能齊全,用戶體驗度高和可擴展性強的智能家居系統(tǒng)9。如圖2.1所示,本次采用的開發(fā)板全景圖,中間內(nèi)含有處理器S5PV210芯片。圖2.1 ARM CONTEX A8開發(fā)板2.2 系統(tǒng)方案設計基于contex A8的智能家居系統(tǒng)設計目的是設計出一種用戶體驗良好,功能齊全,實現(xiàn)人與室內(nèi)和諧的氛圍。要求設計的操
26、作QT界面進行操作實現(xiàn)觸屏式操作。綜合電路各模塊設計、環(huán)境搭建,軟件設計、系統(tǒng)的可靠性以及可擴展性等各方面的考慮與分析,最終決定該系統(tǒng)將選用三星S5PV210熱釋電紅外傳感器進行人體紅外信號采集,然后通過S5PV210芯片處理之后傳給外設作出一系列相應的操作,例如控制mp3和蜂鳴器的開與關(guān),并且采用LCD液晶顯示屏將時間顯示出來。經(jīng)過資料的查詢以及各方面的綜合考慮、分析、研究和比較,認為該方案的設計能夠很好得完成該系統(tǒng)所要實現(xiàn)的一系列功能,該系統(tǒng)的總體方案設計框圖如圖2.2所示。圖2.2 系統(tǒng)的設計框圖2.3 項目實現(xiàn)功能結(jié)合最初設定的基本功能,以及現(xiàn)在所掌握的知識能力,初步的構(gòu)建功能。功能人
27、機交互界面如圖2.3所示。(1)實時檢測當前的室內(nèi)溫度,并用曲線顯示溫度隨時間的變化,每隔1s刷新一次,同時用浮點的格式顯示出來溫度的值,單位攝氏度。(2)實現(xiàn)軟件在線升級,也能查看升級進度。(3)實現(xiàn)音樂播放器功能,上一首,下一首,暫停和播放音樂。(4)可以通過操作界面點響蜂鳴器,或者用蜂鳴器作為報警聲。(5)可以開關(guān)LED燈和切換界面,模擬室內(nèi)控制電燈。(6)實現(xiàn)動態(tài)界面的顯示和攝像頭采集視頻的顯示。(7)能夠在業(yè)余時間玩一些游戲(2048和貪吃蛇),還有一些輔助功能,如計算器,登陸界面,日歷,圖片查看器等。圖2.3 智能家居功能人機交互界面3 基于S5PV210的智能家居系統(tǒng)硬件設計3.
28、1 芯片的選型結(jié)合現(xiàn)實生活中的實際需要,以及現(xiàn)在人們對嵌入式的理解,最終定下功能目標主要分為四大部分:嵌入式以用戶需求為中心(產(chǎn)品要滿足和符合用戶的需求),用戶需求不同,最終造成產(chǎn)品硬件不同,產(chǎn)品的硬件不同,硬件可裁剪,本質(zhì)還是用戶需求。三星S5PV210核心板的三大件:CPU,閃存K9K8G08U0B(8G小b),內(nèi)存K4T1G084QF(1G大B) 。三星S5PV210具有可擴展性能強,可以為將來軟件升級提供充分的資源,而STC89C52等單片機就不能提供高清視頻輸出,視頻播放,視頻采集等功能4。如圖3.1所示,S5PV210處理器芯片。圖3.1 S5PV210處理器芯片3.1.1 SPV
29、210的功能特點S5PV210包含很多強大的硬件編解碼功能,內(nèi)建MFC(Multi Format Codec),支持MPEG-1/2/4,H.263,H.264等格式視頻的編解碼,支持模擬/數(shù)字TV輸出。JPEG硬件編解碼,最大支持8000x8000分辨率,支持2D/3D圖形加速,其多邊生成率為2800萬多邊形/秒,像素填充率可達2.5億/秒,可支持DX9,OpenGL2.0等PC級別的顯示技術(shù),在3D和多媒體方面比以往大幅提升。可以錄制高質(zhì)量的視頻文件,支持30幀每秒的19201080像素的視屏文件,支持HDMIv1.3高清顯示。具有總共五種定時器功能:接通延時型定時器,保持型接通延時定時器
30、,脈沖型定時器,斷開延時型定時器和擴張型脈沖定時器。系統(tǒng)構(gòu)架:圖3.2 系統(tǒng)構(gòu)架圖3.1.2 ARM CONTEX A8開發(fā)板的配置核心板的底板:外圍接口;網(wǎng)卡;USB口(4大1小):連接USB設備;串口(2個,9針串口座);音頻輸入和輸出;視頻輸出口(三個);HDMI(1個);按鍵(8個):人機交互;蜂鳴器(1個):報警;LCD屏接口(LCD屏分辨率800*480);JTAG口;SD卡;撥碼開關(guān);TF卡;SPI接口;攝像頭接口;485接口。3.1.3智能家居項目硬件配置CPU:S5PV210;內(nèi)存:1G;閃存:SLC 1G Nand;網(wǎng)卡:DM9000,100M;串口:2個,調(diào)試和數(shù)據(jù)通信;
31、USB:4個,外接U盤和移動硬盤;DS18B20:溫度傳感器(單總線接口 1-Wire);HIMD:攝像頭(一個);ADC:模數(shù)轉(zhuǎn)換器,分辨率10位或者12位;獨立式按鍵:8個;LED燈:2個;蜂鳴器:1個;AT24C02:EEPROM存儲器,容量256字節(jié);LCD顯示屏:分辨率800*480;電容觸摸屏:GT811。3.2 DS18B20溫度傳感器的工作原理及結(jié)構(gòu)圖DS18B20的讀寫時序和煙霧傳感器相同,只是得到的溫度值的位數(shù)因分辨率不同。 金屬在環(huán)境溫度變化時會產(chǎn)生相應的延伸。它的工作流程首先初始化時序,然后寫時序,讀時序,然后將高低位字節(jié)傳到寄存器并乘以位轉(zhuǎn)換精度,得到溫度值,溫度傳感
32、器可以用不同的方式來對這種情況進行轉(zhuǎn)換。以讀取DS18B20檢測的溫度值為例,它的具體具體的操作流程: (1)CPU發(fā)送初始化信號 (2)CPU發(fā)送SKIP ROM命令0xCC (3)CPU發(fā)送CONVERTT溫度轉(zhuǎn)換命令0x44,溫度轉(zhuǎn)換以后,二進制溫度值保存 在byte0和byte1中 (4)CPU發(fā)送初始化信號 (5)CPU發(fā)送SKIP ROM命令0xCC (6)CPU發(fā)送READ RAM命令0xBE (7)CPU讀取byte0和CPU讀取byte1 (8)CPU發(fā)送初始化信號 (9)實際溫度值=(byte1 << 8 | byte0)*625 (10)應用程序要將實際溫度值
33、/10000DS18B20測溫傳感器電路如圖3.3所示,讀寫時序圖如圖3.4所示。圖3.3 傳感器電路圖 圖3.4 讀寫時序圖3.3 LED原理和電路圖LED發(fā)光二極管是利用通電時正向?qū)ǚ聪蚪刂沟霓k法來實現(xiàn)燈的開與關(guān)。用LED來模擬智能家居中室內(nèi)電燈,通過觸摸屏幕上面的開關(guān)按鍵可以實現(xiàn)開關(guān)燈。開發(fā)板LED的原理圖如圖3.5所示。 圖3.5 LED電路圖3.4 TFT觸摸屏原理和電路我們來探討LCD運作原理。LCD本身是不發(fā)光的,顯示屏兩邊沒有作為發(fā)光的燈管,同時在顯示屏背面有一塊由熒光物質(zhì)組成的背光板和反光膜,其主要作用是提供背景光源,液晶層中的細小水晶被包含在細小的單元格中;然后用電路控制
34、哪些地方亮與不亮,液晶材料相當于一個小小的光閥,控制光的通過與不通過。液晶顯示屏通過DVI接口來接受數(shù)字信號,這些信號通過數(shù)據(jù)線來控制電路,由電路來調(diào)節(jié)顯示器的晶體管和透明電板,從而控制液晶的通光與否,這就是論文里使用的TFT屏幕的原理,如圖3.6是TFT屏幕的電路圖和圖3.7視頻模塊。圖3.6 TFT觸屏模塊圖3.7 視屏播放器電路模塊3.5 報警電路3.5.1蜂鳴器報警的原理蜂鳴器為發(fā)生元件,可分為有源蜂鳴器和無源蜂鳴器,這里所說的“源”是震蕩源,無源蜂鳴器的內(nèi)部是沒有震蕩源的,有源蜂鳴器其內(nèi)部帶有震蕩源,它的程序控制時比較的方便,只要通電蜂鳴器就會鳴叫。如果使用時直流信號無法使蜂鳴器鳴叫
35、,那么就要用2-5K的方波來驅(qū)動。鑒于蜂鳴器工作電流較大,在一般情況下使用三極管就可以來放大電流,使得嵌入式的I/O口無法直接驅(qū)動蜂鳴器,此時便要使用放大電路來驅(qū)動。蜂鳴器的驅(qū)動電路一般情況下包含有一個三極管,一個電源濾波電容,一個蜂鳴器和一個續(xù)流二極管。3.5.2蜂鳴器報警電路圖該系統(tǒng)采用蜂鳴器作為該系統(tǒng)的報警模塊,在淋浴時當溫度高于溫度閥值應范圍30攝氏度時,此時蜂鳴器響應單片機進行報警,低于這個溫度值蜂鳴器也將停止報警。蜂鳴器的報警原理是比較簡單,實現(xiàn)了報警的功能,蜂鳴器的電路如圖3.8所示。圖3.8 蜂鳴器電路圖3.5.3開發(fā)板音頻部分原理圖在點擊一首歌曲時,CPU就會發(fā)送一個信號給存
36、儲器,然后磁頭受到信號就搜索磁道上的信息,然后把音樂的文件數(shù)據(jù)從磁信號變成電信號在傳送到內(nèi)存條再傳送到CPU上,經(jīng)過處理器的計算,再分配到喇叭輸出接口,音頻部分電路圖如圖3.9所示,實現(xiàn)音樂播放器的上下音量控制,左右曲目控制。圖3.9 開發(fā)板音頻電路4 系統(tǒng)環(huán)境搭建4.1 搭建嵌入式linux系統(tǒng)環(huán)境安裝純linux系統(tǒng),然后給linux系統(tǒng)安裝,使用本地安裝或網(wǎng)絡安裝純linux軟件,安裝包名為sudo apt-get install。(1) 安裝和配置vim:sudo apt-get install vim,拷貝目錄和配置插件/home/tarena/.vimrc(2) 安裝串口終端工具:
37、sudo apt-get install kermit(3) 遠程登錄軟件:sudo apt-get install openssh-server,并重啟sudo /etc/init.d/ssh restart(4) Tftp網(wǎng)絡服務安裝:sudo apt-get install tftpd-hpa,配置tftpd-hpa時關(guān)閉WIFI,并且sudo /etc/init.d/nfs-kernel-service restart(5) 配置nfs相關(guān)服務:sudo apt-get install nfs-kernel-server /nfs 配置網(wǎng)絡服務sudo /etc/init.d/nfs-
38、kernel-server restart(6) 源碼閱讀工具安裝:sudo apt-get install ctags/cscope windows:源碼閱讀工具sourceinsight,linux編輯查看源碼工具ctags的使用進入要查看的源碼根目錄,cd /opt/arm/文件夾名,將所有源碼生成數(shù)據(jù)庫文件tags: ctags -R * ,ls tags -lh,所在目錄不能改變,找不到tags數(shù)據(jù)庫:vim main.c ,將光標移動到對應的位置uart_init,夠?qū)崿F(xiàn)函數(shù)或者變量的自動補全:ctrl+n (8) ubuntu 編譯軟件的安裝搜索“ubuntu 編譯軟件”,gcc
39、編譯器軟件安裝:sudo apt-get install gcc,C+編譯軟件安裝:sudo apt-get install g+,自動換行軟件的安裝:sudo apt-get install automake(9)安裝QT圖形界面開發(fā)軟件:sudo apt-get install qt相關(guān)的安裝包 。(10)掌握sourceinsight軟件操作使用,下載sourceinsight軟件并安裝,啟動sourceinsight軟件,將來拿到代碼,立即用SI創(chuàng)建源碼功能。4.2編譯器采用官方交叉編譯器:編譯器版本:4.4.6,編譯器路徑:/home/tarena/workdir/toolchain
40、/opt/S5PV210-crosstools/4.4.6,設置交叉編譯器環(huán)境變量:sudo vim /etc/environment,在“PATH”中添加如下信息:添加之前:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games添加之后:/home/tarena/workdir/toolchains/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games啟動交叉編譯器環(huán)境變量source /etc/environment
41、,查看是否是4.4.6版本編譯器驗證:arm-linux-gcc v 4.3 嵌入式linux軟件組成部分及其功能嵌入式linux系統(tǒng)是由Bootloader,linux內(nèi)核(kernel),根文件系統(tǒng)(rootfs)組成 ,uboot啟動加載內(nèi)核到內(nèi)存,然后由zImage掛接根文件系統(tǒng),最后由根文件系統(tǒng)掛用戶可以使用的文件,它的它的啟動過程如圖4.1所示。圖4.1 嵌入式linux系統(tǒng)啟動過程4.3.1 bootloader作用Bootloader的作用是初始化硬件(CPU,DDR,Nand,UART等),將內(nèi)核加載到內(nèi)存,給內(nèi)核傳遞啟動參數(shù)和啟動內(nèi)核6。4.3.2 UBOOT移植采用官方U
42、BOOT源碼,源碼包u-boot_CW210_1.3.4.tar.bz2,源碼存放路徑:/opt/uboot/,源碼操作:解壓源碼:tar xvf u-boot_CW210_1.3.4.tar.bz2。清除源碼配置文件和目標文件:make distclean,配置源碼:make cw210_configmake all,USB燒寫固化u-boot.bin,Linux內(nèi)核移植17。4.3.3 linux內(nèi)核組成包括7大子系統(tǒng)(1)進程管理:負責進程的創(chuàng)建,切換,調(diào)度,銷毀(2)內(nèi)存管理: 負責內(nèi)存的分配,銷毀,映射(3)系統(tǒng)調(diào)用:open/read/write/close/fork/sbrk/等
43、(4)網(wǎng)絡協(xié)議棧:TCP/IP協(xié)議(5)驅(qū)動程序:外設的驅(qū)動程序(6)文件系統(tǒng):NTFS,FAT32,EXT4,cramfs,ramdisk,nfs.(7)平臺相關(guān): linux內(nèi)核支持ARM,POWERPC,MIPS,X86 異常向量表的代碼。4.3.4內(nèi)核移植源碼包采用官方源碼:Kernel__CW210_for_Linux_v1.0.tar.gz,源碼存放路徑:/opt/kernel,然后Kernel__CW210_for_Linux_v1.0.tar.gz解壓源碼。清除源碼配置文件和目標文件:cd /opt/kernel && make
44、distclean,配置源碼:cp config_CW210_linux_V1.0 .config,保存退出:make menuconfig 并編譯make zImage最后拷貝到tftpboot中:cp arch/arm/boot/zImage /tftpboot/。4.3.5根文件系統(tǒng)rootfs作用rootfs作用是給給用戶提供基本的命令和程序使用的動態(tài)庫,常見的動態(tài)庫例如:ls/cd/mkdir/cp/.libc.so/libm.so/libstdc+.so/libpthread.so等 4.3.6根文件系統(tǒng)制作采用busybox開源軟件制作busybox,源碼包:busybox-1.
45、21.1.tar.bz2,源碼存放目錄:/opt/busybox/,進行解壓源碼:tar jxvf busybox-1.21.1.tar.bz2,進入cd busybox-1.21.1并配置源碼:make menuconfig,重新定制模塊操作命令:Linux Module Utilities,去掉Simplified modutils (NEW),同時添加insmod,rmmod,lsmod,modprobe,Blacklist support,depmod命令。取出閃存flash操作命令,去掉nandwrite (NEW)和nanddump (NEW),然后保存退出9。修改Makefile
46、文件,vim Makefile:將CROSS_COMPILE=修改為CROSS_COMPILE=arm-linux-,將ARCH=$(SUBARCH)修改為ARCH=arm,最后編譯和安裝 make && make install,默認安裝當前目錄的_install目錄:ls _install用file命令檢查編譯結(jié)果busybox可執(zhí)行文件的屬性:file _install/bin/busybox,打印信息如下:ELF 32-bit LSB executable,ARM, version 1 (SYSV), dynamically linked (uses shared li
47、bs), stripped /紅色字體的內(nèi)容必須為ARM,進入安裝目錄:cd _install。創(chuàng)建目錄:mkdir dev lib etc/init.dproc syshome mnt var tmp root -p(1)添加系統(tǒng)啟動配置文件,vim etc/inittab時添加如下內(nèi)容后保存退出。:sysinit:/etc/init.d/rcS:respawn:-/bin/sh:ctrlaltdel:/sbin/reboot:shutdown:/bin/umount -a r(2)添加文件系統(tǒng)配置文件vim etc/fstab然后添加如下內(nèi)容后保存退出。 proc /proc proc d
48、efaults 0 0 tmpfs /tmp tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /dev tmpfs defaults 0 0(3) 添加系統(tǒng)啟動服務配置腳本,vim etc/init.d/rcS 后添加內(nèi)容如下保存退出。/bin/mount -a,mkdir /dev/pts,mount -t devpts devpts /dev/pts,echo /sbin/mdev > /proc/sys/kernel/hotplug,mdev s。添加完成后,修改rcS文件權(quán)限:chmod 777 etc/init.d/
49、rcS并添加 busybox運行時所需動態(tài)庫,動態(tài)庫添加原則:應用軟件需要哪些動態(tài)庫,就添加,不相關(guān)不做添加,以便節(jié)省閃存空間。應用軟件編譯連接需要的動態(tài)庫在交叉編譯器中獲取,動態(tài)庫路徑如下:/home/tarena/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-gnueabi/lib/拷貝所需動態(tài)庫到根文件系統(tǒng)lib目錄。拷貝標準C庫find/home/tarena/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-g
50、nueabi/lib/ ( -name "libc-*" -o -name "libc.so*" ) -exec cp -frd lib/ ; 拷貝數(shù)學運算庫find home/tarena/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-gnueabi/lib/ ( -name "libm-*" -o -name "libm.so*" ) -exec cp -frd lib/ ; 拷貝動態(tài)鏈接庫find /home/taren
51、a/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-gnueabi/lib/ ( -name "ld-*" ) -exec cp -frd lib/ ; 測試制作好的根文件系統(tǒng)備份原有的根文件系統(tǒng)rootf:mv /opt/rootfs /opt/rootfs_bak,cp _install /opt/rootfs frd 將安裝制作好的根文件系統(tǒng)_install拷貝為/opt/rootfs,注意添加NFS網(wǎng)絡服務的支持:sudo vim /etc/exports 添加如下語句:/opt
52、/rootfs *(rw,sync,no_root_squash),保存退出,這時候重啟網(wǎng)絡服務sudo /etc/init.d/nfs-kernel-server restart.uboot中設置NFS網(wǎng)絡啟動參數(shù):setenv bootargs root=/dev/nfs nfsroot=:/opt/rootfs ip=10::::eth0:on init=/linuxrc console=ttySAC0,115200,保存saveenv。4.4.Tslib移植4.4.1.ts
53、lib作用在采用觸摸屏的移動終端中,觸摸屏性能的調(diào)試是個重要問題之一,因為電磁噪聲的緣故,觸摸屏容易存在點擊不準確、有抖動等問題。tslib是一個開源的程序,能夠為觸摸屏驅(qū)動獲得的采樣提供諸如濾波、去抖、校準等功能,通常作為觸摸屏驅(qū)動的適配層,為上層的應用(例如QT)提供了一個統(tǒng)一的接口3。4.4.2.tslib移植源碼存放目錄:/opt/project/source/,進入源碼目錄:cd /opt/project/source,解壓源碼: tar xvf tslib.tar.gz,cd tslib后執(zhí)行./autogen.sh 生成配置文件configure執(zhí)行echo "ac_c
54、v_func_malloc_0_nonnull=yes"> tmp.cache。指定安裝的目錄為/opt/project/tslib目錄執(zhí)行./configure -host=arm-linux -cache-file=tmp.cache -prefix=/opt/project/tslib 執(zhí)行make && make install ,編譯安裝后修改tslib的配置文件ts.conf。打開配置文件vim etc/ts.conf,進行如下操作:在“module pthres pmin=1”前一行添加“module_raw input”語句。開發(fā)板測試tslib
55、:編譯tslib生成目標文件存放目錄:/opt/rootfs/home/tslib/,mkdir /opt/rootfs/home/tslib/拷貝運行時配置文件cp etc /opt/rootfs/home/tslib/ -frd, 拷貝觸摸屏測試軟件cp bin /opt/rootfs/home/tslib/ -frd,拷貝tslib動態(tài)庫文件cp lib /opt/rootfs/home/tslib/ -frd 。連接觸摸屏和開發(fā)板,獲取觸摸屏設備文件開發(fā)板上執(zhí)行hexdump /dev/input/event0,然后用手指點擊觸摸屏,看串口終端是否有打印信息,如果沒有,event0不是
56、觸摸屏的設備文件,再執(zhí)行:hexdump /dev/input/event1,同樣點擊屏幕看是否有打印信息,如果沒有,再次更換設備文件為event2,直到找到觸摸屏的設備文件,例如:hexdump /dev/input/event3,有打印信息,至此觸摸屏的設備文件為/dev/input/event3。添加使用tslib時的環(huán)境變量后保存退出:打開后vim /opt/rootfs/etc/profile添加如下內(nèi)容:export TSLIBDIR=/home/tslib export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0
57、 export TSLIB_TSDEVICE=/dev/input/event3export TSLIB_CALIBFILE=$TSLIBDIR/etc/pointercal export TSLIB_CONFFILE=$TSLIBDIR/etc/ts.conf export TSLIB_PLUGINDIR=$TSLIBDIR/lib/tsexport PATH=/home/tslib/bin:$PATHexport LD_LIBRARY_PATH=/home/tslib/lib:$LD_LIBRARY_PATH4.5 QT移植4.5.1QT介紹QT是對底層圖形界面的應用編程接口,面向?qū)ο蠡?/p>
58、封裝,一套基于C+語言的類庫,堪稱藝術(shù)級別的開發(fā)工具,同時為用戶和團隊帶來高品質(zhì)的使用體驗11。QT不局限于用戶圖形界面的開發(fā),系統(tǒng)調(diào)用,網(wǎng)絡編程,數(shù)據(jù)庫編程,2D、3D處理,而且是跨平臺的應用編程框架,支持多中操作系統(tǒng)linux,windows,ios,安卓,MAX OS X等,是人機交互必不可少的開發(fā)工具。4.5.2安裝中文字體庫字體庫文件:wqy-zenhei.ttc,刪除QT自帶字體庫:rm /opt/project/qt/lib/fonts/* -fr,安裝中文字體庫:cp wqy-zenhei.ttc /opt/project/qt/lib/fonts/ ,安裝編譯出來的QT庫到跟
59、文件系統(tǒng)/opt/rootfs中,拷貝QT庫cp /opt/project/qt/lib /opt/rootfs/home/qt frd和cp /opt/project/qt/plugins /opt/rootfs/home/qt -frd,最后添加QT運行時的環(huán)境變量,打開vim /opt/rootfs/etc/profile, 添加如下內(nèi)容export QTDIR=/home/qt,Export QWS_MOUSE_PROTO=“Tslib:/dev/input/event3”,export QWS_SIZE=800X480,export QT_QWS_FONTDIR=$QTDIR/lib/fonts,export QT_PLUGIN_PATH=$QTDIR/plugins exportQWS_DISPLAY="LinuxFB:mmWidth180:0"export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH保存退出,重啟開發(fā)板,執(zhí)行env命令,查看環(huán)境變量是否生效。添加QT運行時的系統(tǒng)庫find /home/tarena/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初級養(yǎng)老護理員培訓全套課件
- 中班健康的芹菜
- 新入院病人健康宣教要點
- 消化健康小知識
- 頤和園的英文介紹
- 木字旁教學設計
- 工程設計報告
- 《智能網(wǎng)聯(lián)汽車技術(shù)》課件-激光雷達
- 預防網(wǎng)絡犯罪班會課件
- 幼兒園廚房安全培訓內(nèi)容
- 中共黨史知識競賽試題及答案
- 2020年杭州學軍中學高一入學分班考試英語試卷及答案
- (高清版)AQ 1044-2007 礦井密閉防滅火技術(shù)規(guī)范
- 死亡醫(yī)學證明書填寫培訓
- 做自己的心理壓力調(diào)節(jié)師智慧樹知到期末考試答案章節(jié)答案2024年嘉興大學
- 學術(shù)期刊推廣方案
- 安檢設備采購安裝調(diào)試方案
- 實習生-OFFER正式通知函
- 市政臨時占道施工方案
- 《分娩方式的選擇》課件
- 《FABE銷售法則》課件
評論
0/150
提交評論