久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

基于ARM的嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì).

時(shí)間:2019-05-13 04:30:23下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《基于ARM的嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì).》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《基于ARM的嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì).》。

第一篇:基于ARM的嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì).

摘要

科技改變生活,科技為人類帶來(lái)了更舒適更方便的解決方案,智能家居是現(xiàn)代化科技的體現(xiàn),智能家居也正是在應(yīng)人們需求下而產(chǎn)生的。

本設(shè)計(jì)的內(nèi)容是設(shè)計(jì)一個(gè)基于ARM的智能家居遠(yuǎn)程監(jiān)控系統(tǒng)。整個(gè)硬件控制系統(tǒng)有以下模塊:控制主機(jī)STM32F103VET6、無(wú)線短信收發(fā)模塊GPRS(遠(yuǎn)程監(jiān)控的主要模塊)、用于顯示的LCD1602液晶顯示屏(顯示測(cè)量出來(lái)的溫濕度值)、測(cè)量外部環(huán)境溫濕度的溫濕度傳感器DHT11,異步電機(jī)28BYJ-48(模擬控制窗簾收放用到的控制器)、蜂鳴器(報(bào)警用)、LED燈(模擬室內(nèi)各種燈)、繼電器(模擬室內(nèi)各種電器的控制開(kāi)關(guān))。

溫濕度傳感器測(cè)量出來(lái)的溫濕度數(shù)值通過(guò)LCD1602來(lái)顯示,當(dāng)超過(guò)設(shè)定的閾值將通過(guò)GPRS模塊發(fā)送警報(bào)短信到指定的手機(jī)上,同時(shí)也可以由手機(jī)發(fā)送特定短信到GPRS上控制LED燈的亮滅、控制28BJY-48步進(jìn)電機(jī)的正反轉(zhuǎn)、讀取當(dāng)前室內(nèi)的溫濕度并發(fā)送回手機(jī)上,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的。關(guān)鍵詞 智能家居;遠(yuǎn)程監(jiān)控;GPRS;ARM Abstract Technology has changed life, science and technology has brought to mankind more comfortable and more convenient solution, smart home is a manifestation of modern technology, smart home is also in demand should be generated by people.The content of this thesis is to design a remote monitoring system of smart home based on ARM.The entire hardware control system has the following modules: the host controller STM32F103VET6, wireless SMS transceiver module GPRS(the main module of the remote monitoring), LCD display(to display the temperature and humidity measured values), temperature and humidity sensor,DHT11, be used to measure the external environment temperature and humidity, asynchronous motor 28BYJ-48(analog controller curtain used), a buzzer(alarm), LED light(simulated indoor lamps), a relay(control switch simulation of indoor each kind of electric appliance).The temperature and humidity value measured by the temperature and humidity sensor and displayed by LCD1602, when more than a set threshold an alarm SMS will be sent by GPRS module to the designated mobile phone, but also can be caused by the mobile phone to send a specific message to the GPRS to control LED light, 28BJY-48 stepper motor reversible, read the current indoor temperature and humidity and sent back to the mobile phone.Keywords smart home;remote monitoring;GPRS;ARM II

目 錄

摘要.......................................................................................................................I Abstract...............................................................................................................II 第1章 緒論........................................................................................................1 1.1 課題背景..................................................................................................1 1.2國(guó)外的發(fā)展動(dòng)態(tài).......................................................................................1 1.3 國(guó)內(nèi)的發(fā)展動(dòng)態(tài)......................................................................................2 1.4 本文各章主要安排..................................................................................2 第2章 各個(gè)硬件模塊的說(shuō)明............................................................................3 2.1 主控模塊..................................................................................................3 2.1.1 STM32的系統(tǒng)架構(gòu)............................................................................3 2.1.2 STM32F103VET6的內(nèi)部資源..........................................................4 2.2短信收發(fā)模塊GPRS................................................................................7 2.3溫濕度測(cè)量模塊.......................................................................................8 2.3.1 DHT11的引腳說(shuō)明............................................................................8 2.3.2 DHT11的工作原理............................................................................9 2.4 溫濕度液晶顯示模塊LCD1602............................................................11 2.4.1 LCD1602的管腳說(shuō)明......................................................................12 2.4.2 LCD1602的特性..............................................................................12 2.4.3 LCD1602的基本指令......................................................................12 2.5 收放窗簾模塊步進(jìn)電機(jī)28BJY-48.......................................................14 2.5.1 步進(jìn)電機(jī)的工作原理......................................................................14 2.5.2 步進(jìn)電機(jī)的引腳接線......................................................................14 2.6 本章小結(jié)................................................................................................15 第3章 硬件系統(tǒng)的設(shè)計(jì)..................................................................................16 3.1 直流穩(wěn)壓電源的設(shè)計(jì)............................................................................16 3.2 STM32最小系統(tǒng)的設(shè)計(jì)........................................................................17 3.2.1電源的供電方案...............................................................................17 3.2.2 晶振電路..........................................................................................17 3.2.3 復(fù)位電路..........................................................................................18 III 3.2.4 串口驅(qū)動(dòng)電路...................................................................................18 3.3 步進(jìn)電機(jī)、繼電器驅(qū)動(dòng)電路設(shè)計(jì).........................................................19 3.4 本章小結(jié).................................................................................................20

第4章 軟件程序的設(shè)計(jì)...................................................................................21 4.1 主函數(shù)及TIM2中斷服務(wù)函數(shù)設(shè)計(jì)......................................................21 4.1.1 主函數(shù)及TIM2中斷服務(wù)函數(shù)程序代碼........................................21 4.1.2 主函數(shù)及TIM2中斷服務(wù)函數(shù)程序流程圖....................................23 4.2 GPRS來(lái)信中斷處理函數(shù)設(shè)計(jì)...............................................................24 來(lái)信中斷處理函數(shù)程序代碼.................................................24 4.2.2 GPRS來(lái)信中斷處理流程圖.............................................................26 4.3 GPRS的AT指令....................................................................................27 4.3.1 本設(shè)計(jì)中用到的AT指令................................................................27 4.3.2 PDU編碼...........................................................................................27 4.3.3 AT指令的使用程序設(shè)計(jì)..................................................................29 4.4本章小結(jié)..................................................................................................31 結(jié)論.....................................................................................................................32 參考文獻(xiàn).............................................................................................................33 致謝.....................................................................................................................35 附錄一 整個(gè)硬件系統(tǒng)電路圖...........................................................................36 附錄二 開(kāi)題報(bào)告說(shuō)明.......................................................................................37 附錄三 文獻(xiàn)綜述...............................................................................................38 附錄四 中期報(bào)告...............................................................................................39 附錄五 外文文獻(xiàn)及其翻譯...............................................................................40 附錄六 完整的程序代碼...................................................................................41 4.2.1 GPRS IV 第1章 緒論 第1章 緒論 1.1 課題背景

隨著科技的提高,經(jīng)濟(jì)的發(fā)展,人們的物質(zhì)生活水平的提高,對(duì)家居環(huán)境的要求也越來(lái)越高,作為家居智能化的核心部分——智能家居控制系統(tǒng)也越發(fā)顯得重要。智能家居控制器可以為系統(tǒng)提供智能控制方案,使住戶的控制更便捷,更高效,更能為家庭的日常活動(dòng)節(jié)約不必要的能耗[1]。而且在現(xiàn)在這個(gè)注重綠色環(huán)保的世界里,智能的為住戶控制好空氣的濕度、溫度等,檢查分析空氣成分,讓住戶安心入住。家居智能化控制的開(kāi)發(fā)和建設(shè)是未來(lái)國(guó)家、經(jīng)濟(jì)發(fā)展的必然趨勢(shì)。在科學(xué)技術(shù)日新月異的今天,智能家居產(chǎn)品也在不斷發(fā)展尋求突破,用智能的方式緩和、解決社會(huì)矛盾,這是本課題的目的及意義所在。1.2國(guó)外的發(fā)展動(dòng)態(tài)

1984年,世界上第一座智能建筑在美國(guó)的康涅迪格州建成,這座意義不一般的智能建筑是對(duì)一座舊式大樓在一定程度上的改造而完成的。它只是采用計(jì)算機(jī)系統(tǒng)對(duì)大樓的照明、空調(diào)、電梯等設(shè)備進(jìn)行監(jiān)控,并提供情報(bào)資料、語(yǔ)音通信、電子郵件等方面的信息服務(wù)。2000年,新加坡大約有5000戶家庭采用了這種家庭智能家居化系統(tǒng),而與此同時(shí),美國(guó)采用這種智能家居化系統(tǒng)的用戶已高達(dá)4萬(wàn)戶。目前,在國(guó)外的家庭智能化系統(tǒng)技術(shù)己經(jīng)越來(lái)越成熟,預(yù)計(jì)今后,越來(lái)越多的新房將會(huì)安裝具有一定的“智能家居化”功能的系統(tǒng)。于此同時(shí),由于科學(xué)技術(shù)的發(fā)展日益標(biāo)準(zhǔn)化,這些新型智能家居系統(tǒng)將會(huì)比世界首富比爾.蓋茨耗資六千萬(wàn)美元的高端智能家居別墅便宜得多。

在家居智能化系統(tǒng)研發(fā)方面,美國(guó)及一些西方國(guó)家一直處于領(lǐng)先地位。近年來(lái),以摩托羅拉公司及美國(guó)微軟公司等為首的一些國(guó)外知名企業(yè),先后加入到智能家居系統(tǒng)的研發(fā)中。比如:摩托羅拉公司開(kāi)發(fā)出來(lái)的“居所之門”、微軟公司開(kāi)發(fā)出來(lái)的“夢(mèng)幻之家”、IBM公司開(kāi)發(fā)出來(lái)的“家庭主任”等都以日趨成穩(wěn)的技術(shù)霸占家居市場(chǎng)。此外,亞洲國(guó)家日本、韓國(guó)、新加坡等國(guó) 的領(lǐng)頭大企業(yè)也紛紛致力于家居智能化的研發(fā),對(duì)家居市場(chǎng)更是躍躍欲試。1.3 國(guó)內(nèi)的發(fā)展動(dòng)態(tài)

1990年后,我國(guó)的智能家居化住宅小區(qū)日益興起。我國(guó)的智能家居化住宅建筑最早起于廣州、深圳和上海等沿海發(fā)達(dá)城市,并慢慢地向內(nèi)陸發(fā)展。在1997年香港回歸時(shí),上海的中皇廣場(chǎng)在建設(shè)部“97跨世紀(jì)住宅小區(qū)案競(jìng)賽活動(dòng)”中被建設(shè)部科技委員會(huì)評(píng)為全國(guó)首家“智能住宅示范工程”,從此揭開(kāi)了我國(guó)智能家居住宅小區(qū)發(fā)展的序幕。1999年,建設(shè)部住宅產(chǎn)業(yè)化辦公室、建設(shè)部勘察設(shè)計(jì)司聯(lián)合組織實(shí)施了全國(guó)住宅小區(qū)智能化技術(shù)示范工程,這也標(biāo)志著我國(guó)的智能家居進(jìn)入了一個(gè)新階段。隨著信息化技術(shù)日益普,國(guó)家經(jīng)貿(mào)委領(lǐng)頭成立了家庭信息網(wǎng)絡(luò)技術(shù)委員會(huì),同時(shí)信息網(wǎng)絡(luò)技術(shù)體系研究及產(chǎn)品開(kāi)發(fā)已經(jīng)被列為了國(guó)家技術(shù)創(chuàng)新的重點(diǎn)專項(xiàng)計(jì)劃。根據(jù)建設(shè)部的要求,截止今年,大中城市中50%的住宅要實(shí)現(xiàn)智能化[2]。

我國(guó)的智能家居建設(shè)相對(duì)于國(guó)外起步比較晚,尚未形成一定的國(guó)家標(biāo)準(zhǔn)。國(guó)內(nèi)各大硬、軟件企業(yè)機(jī)構(gòu)正在積極的研發(fā)更為符合市場(chǎng)的智能家居化產(chǎn)品,以解決我國(guó)當(dāng)前智能化設(shè)備使用復(fù)雜、產(chǎn)品價(jià)格昂貴及實(shí)用性差等缺點(diǎn),而技術(shù)創(chuàng)新能力也逐漸向國(guó)際先進(jìn)水平靠攏,這樣智能家居的未來(lái)值得我們期待[3-4]。1.4 本文各章主要安排

本文第二章主要介紹了智能家居控制系統(tǒng)中用到的各個(gè)硬件模塊,有主控模塊STM32F103VET6、GPRS短信收發(fā)模塊GTM900-B、溫濕度測(cè)量傳感器DHT11、液晶顯示屏LCD1602、步進(jìn)電機(jī)28BYJ-48。

第三章主要介紹了硬件系統(tǒng)的設(shè)計(jì),重點(diǎn)描述各個(gè)功能模塊電路圖的設(shè)計(jì)及其功能。

第四章主要介紹了控制系統(tǒng)軟件程序的設(shè)計(jì),主要有主函數(shù)及TIM2中斷處理函數(shù)的程序設(shè)計(jì),GPRS來(lái)信中斷處理函數(shù)的設(shè)計(jì)以及GPRS的AT指令的PDU編碼過(guò)程。其中給出了主要程序代碼及其程序流程圖。第2章 各個(gè)硬件模塊的說(shuō)明 第2章 各個(gè)硬件模塊的說(shuō)明 2.1 主控模塊

本設(shè)計(jì)整個(gè)系統(tǒng)的主控芯片選擇的具有ARM內(nèi)核Cortex-M3的STM32F103VET6。該芯片屬于增強(qiáng)型的32位高性能微控制器,具有100引腳和高達(dá)512K字節(jié)的閃存存儲(chǔ)器。2.1.1 STM32的系統(tǒng)架構(gòu)

STM32VET6的系統(tǒng)架構(gòu)包含4個(gè)驅(qū)動(dòng)單元:Cortex-M3內(nèi)核Dcode總線、系統(tǒng)總線、通用DMA1和通用DMA2;4個(gè)被動(dòng)單元:內(nèi)部閃存存儲(chǔ)器Flash、內(nèi)部數(shù)據(jù)存儲(chǔ)器SRAM、FSMC和AHB到APB的橋。這些單元都是通過(guò)一個(gè)多級(jí)的AHB總線構(gòu)架相互連接的,如圖2-1所示。

ICode: 該總線將閃存指令接口與ARM的Cortex-M3內(nèi)核的指令總線相連接。指令預(yù)取在此總線上完成。

DCode: 該總線將閃存存儲(chǔ)器的數(shù)據(jù)接口和Cortex-M3內(nèi)核的數(shù)據(jù)總線相連接(常量加載和調(diào)試訪問(wèn))。

系統(tǒng)總線: 此總線連接Cortex-M3內(nèi)核的系統(tǒng)總線到總線矩陣,總線矩陣協(xié)調(diào)著DMA與內(nèi)核之間的訪問(wèn)。

DMA總線: 此總線將DMA的AHB主控接口與總線矩陣相聯(lián),總線矩陣協(xié)調(diào)著CPU的DCode和DMA到 內(nèi)部閃存存儲(chǔ)器Flash、內(nèi)部數(shù)據(jù)存儲(chǔ)器SRAM和外設(shè)的訪問(wèn)。

總線矩陣: 該矩陣協(xié)調(diào)DMA主控總線與內(nèi)核系統(tǒng)總線間的訪問(wèn)與仲裁,仲裁采用輪換算法。總線矩陣包含4個(gè)驅(qū)動(dòng)部件和4個(gè)被動(dòng)部件。AHB外設(shè)通過(guò)總線矩陣與系統(tǒng)總線相連,允許DMA訪問(wèn)。

AHB/APB橋(APB): 兩個(gè)AHB/APB橋在AHB和2個(gè)APB總線間提供同步連接。APB1操作速度限于36MHz,APB2操作于全速(最高72MHz)。有關(guān)連接到每個(gè)橋的不同外設(shè)的地址映射。在每一次復(fù)位以后,所有除SRAM和FLITF以外的外設(shè)都被關(guān)閉,在使用一個(gè)外設(shè)之前,必須設(shè)置寄存器RCC_AHBENR來(lái)打開(kāi)該外設(shè)的時(shí)鐘 3

圖2-1 STM32系統(tǒng)架構(gòu)

2.1.2 STM32F103VET6的內(nèi)部資源

STM32F103VET6的引腳圖如圖2-2所示。

(1)內(nèi)核:ARM的32位Cortex-M3微處理器;最高達(dá)72MHZ頻率,Cortex-M3內(nèi)部的數(shù)據(jù)路徑是32位的,寄存器是32位的,存儲(chǔ)器接口也是32位的。Cortex-M3采用了哈佛結(jié)構(gòu),擁有獨(dú)立的Dcode總線和Icode總線,可以讓數(shù)據(jù)訪問(wèn)和取指并行不悖,這樣數(shù)據(jù)訪問(wèn)就不再占用Icode總線,從而提升了工作性能。為實(shí)現(xiàn)這個(gè)特性,Cortex-M3內(nèi)部含有好幾條總線接口,每條都為自己的應(yīng)用場(chǎng)合而優(yōu)化過(guò),并且它們可以并行工作。第2章 各個(gè)硬件模塊的說(shuō)明 圖2-2 STM32F103VET6引腳圖

(2)存儲(chǔ)器:512KB的閃存程序存儲(chǔ)器;64K字節(jié)的靜態(tài)數(shù)據(jù)存儲(chǔ)器 5

SRAM,它可以以字節(jié)、半字(16位)或全字(32位)訪問(wèn)。(3)時(shí)鐘和電源管理:

(a)三種不同的時(shí)鐘源可被用來(lái)驅(qū)動(dòng)系統(tǒng)時(shí)鐘(SYSCLK):1)HSI振蕩器時(shí)鐘;2)HSE振蕩器時(shí)鐘;3)PLL時(shí)鐘。

(b)STM32的工作電壓(VDD)為2.0~3.6V,通過(guò)內(nèi)置的電壓調(diào)節(jié)器提供所需的1.8V電源;

(c)獨(dú)立的A/D轉(zhuǎn)換器供電和參考電壓;

(d)一個(gè)完整的上電復(fù)位(POR)和掉電復(fù)位(PDR)電路;(e)可有3種不同工作模式的電壓調(diào)節(jié)器;(f)可編程電壓監(jiān)測(cè)器(PVD)。

(4)通用和復(fù)用功能I/O(GPIO和AFIO):5組多功能雙向5V兼容的通用I/O端口;可使用復(fù)用功能重新映射到其他一些引腳上。

(5)DMA控制器:支持定時(shí)器、ADC、SPI、IIC和USART等外設(shè)。(6)嵌套向量中斷控制器:

(a)有68個(gè)可屏蔽中斷通道(不包含16個(gè)Cortex?-M3的中斷線);(b)16個(gè)可編程的優(yōu)先等級(jí)(使用了4位中斷優(yōu)先級(jí));(c)低延遲的異常和中斷處理;(d)電源管理控制;

(e)系統(tǒng)控制寄存器的實(shí)現(xiàn)。

(7)模擬/數(shù)字轉(zhuǎn)換(ADC):12位的ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器,它有多達(dá)18個(gè)通道,可測(cè)量16個(gè)外部和2個(gè)內(nèi)部信號(hào)源。

(8)定時(shí)器:2個(gè)高級(jí)控制定時(shí)器(TIM1、TIM8);(a)4個(gè)通用定時(shí)器(TIM2、TIM3、TIM4、TIM5);(b)2個(gè)基本定時(shí)器(TIM6、TIM7);

(c)一個(gè)實(shí)時(shí)時(shí)鐘、兩個(gè)看門狗定時(shí)器和一個(gè)系統(tǒng)滴答定時(shí)器(Systick)。

(9)通用異步收發(fā)器(USART):全雙工的,異步通信RZ標(biāo)準(zhǔn)格式;發(fā)送和接收共用的可編程波特率,最高達(dá)4.5Mbits/s;智能卡模擬功能。6

第二篇:基于ARM嵌入式的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

基于ARM嵌入式的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

摘要:基于ARM 內(nèi)核的嵌入式系統(tǒng)在遠(yuǎn)程監(jiān)控報(bào)警系統(tǒng)中的設(shè)計(jì)實(shí)現(xiàn)與應(yīng)用。核心部分主要包 括 ARM 嵌入式平臺(tái)設(shè)計(jì)及 μC-OS 嵌入式實(shí)時(shí)操作系統(tǒng)移植;人機(jī)交互界面 μCGUI 的設(shè)計(jì)與實(shí)現(xiàn);遠(yuǎn)程通訊及自動(dòng)報(bào)警等;系統(tǒng)的設(shè)計(jì)還考慮到了擴(kuò)展性和通用性以及與其他監(jiān)控設(shè)備無(wú)縫連接等問(wèn)題。

關(guān)鍵詞: ARM;μC/OS-II;μCGUI;遠(yuǎn)程監(jiān)控 引言

監(jiān)控系統(tǒng)現(xiàn)已成為現(xiàn)代化生產(chǎn)、生活中不可缺少的重要組成部分。目前,監(jiān)控系列產(chǎn)品 種類繁多,大部分廣泛應(yīng)用于交通、醫(yī)院、銀行、家居、學(xué)校等安防領(lǐng)域。

隨著嵌入式系統(tǒng)的出現(xiàn),尤其是基于 ARM 內(nèi)核芯片的嵌入式系統(tǒng)的出現(xiàn),使得監(jiān)控系統(tǒng)的應(yīng)用領(lǐng)域更為廣泛。本文設(shè)計(jì)的遠(yuǎn)程監(jiān)控報(bào)警系統(tǒng)除了作為安防功能外,還可以應(yīng)用于以下領(lǐng)域:通訊領(lǐng)域:遠(yuǎn)程通訊、視頻會(huì)議和視頻點(diǎn)播、證券、遠(yuǎn)程教育等。醫(yī)療領(lǐng)域:病房監(jiān)護(hù)、遠(yuǎn)程診斷等。工業(yè)領(lǐng)域:遠(yuǎn)程設(shè)備診斷、維護(hù)、維修,遠(yuǎn)程生產(chǎn)監(jiān)控等。家用領(lǐng)域:家用電器遠(yuǎn)程維護(hù);電、氣、火等重大事故自動(dòng)報(bào)警等。

系統(tǒng)設(shè)計(jì)

2.1系統(tǒng)組成

本文設(shè)計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng)主要由中心控制器、數(shù)據(jù)終端、傳感器模塊、通訊模塊、接口模塊等幾部分組成。系統(tǒng)組成圖(如圖 1)。

2.2中心控制器 系統(tǒng)核心負(fù)責(zé)數(shù)據(jù)采集判斷處理。為了提高系統(tǒng)工作效率,這里使用的是三星公司的 S3C2410芯片作為處理器。S3C2410 芯片是一款高性價(jià)比的 ARM 芯片,非常適合作手機(jī)、PDA 等手持設(shè)備。主要特性包括: ARM920T 內(nèi)核,最高工作頻率 203MHz,LCD 控制器:可直接驅(qū)動(dòng)真彩液晶屏,最高支持 2048×1024 真彩液晶屏,2 個(gè) USB Host端口,1 個(gè)USB Device端口,支持 Nand flash 啟動(dòng)模式,SD 卡接口,UART、IIC、SPI、IIS 等多種類 型串行接口,4 通道DMA。

本文的監(jiān)控系統(tǒng)的 CPU 核心部分使用的是標(biāo)準(zhǔn)的 SO-DIMM200 金手指接口,便于后期維護(hù)和升級(jí)。如果該監(jiān)控系統(tǒng)的使用環(huán)境較為苛刻,可以將 CPU替換為S3C2440芯片。S3C2440完全兼容S3C2410全部特性(注意:芯片引腳不完全兼容)。與S3C2410芯片相比,S3C2440的性能更為優(yōu)越:最高工作頻率可達(dá)500MHz,內(nèi)部集成CMOS攝像頭接口,但價(jià)格較昂貴。

圖1 監(jiān)控系統(tǒng)組成框圖

2.3數(shù)據(jù)終端 數(shù)據(jù)終端的主要功能是對(duì)監(jiān)控?cái)?shù)據(jù)進(jìn)行分析、處理,及時(shí)將數(shù)據(jù)匯報(bào)給監(jiān)控人員。同時(shí),監(jiān)控人員可以根據(jù)現(xiàn)場(chǎng)情況,使用數(shù)據(jù)終端對(duì)監(jiān)控的設(shè)備進(jìn)行遠(yuǎn)程控制。數(shù)據(jù)終端最大優(yōu)勢(shì) 就是安全、可靠、便于攜帶。一般情況下為了節(jié)約成本,可以將手機(jī)、PDA 等移動(dòng)通訊設(shè)備作為數(shù)據(jù)終端使用。但是如果作為對(duì)高危環(huán)境或精密儀器的監(jiān)控系統(tǒng),數(shù)據(jù)終端需要專業(yè)定制。這里使用的是中心控制器的作為數(shù)據(jù)終端,即中心控制器既作為數(shù)據(jù)采集發(fā)送中心,也可數(shù)據(jù)接收處理中心使用。

2.4通訊模塊

通訊模塊主要負(fù)責(zé)遠(yuǎn)程數(shù)據(jù)通訊。帶有 RS232/485、GPRS、CDMA 等一種或多種通訊 方式。需要根據(jù)現(xiàn)場(chǎng)環(huán)境和用戶需要進(jìn)行定制。通訊模塊與控制器通過(guò)接口總線連接,連接 方式為 TTL/RS232/RS485 等。

2.5傳感器模塊

傳感器模塊的主要功能是感知外部環(huán)境,對(duì)外部環(huán)境進(jìn)行實(shí)時(shí)監(jiān)測(cè)。由人體紅外傳感器、振動(dòng)傳感器、超聲波傳感器、可燃?xì)怏w傳感器、溫度傳感器、濕度傳感器等一種或多種傳感 器組成。可根據(jù)現(xiàn)場(chǎng)監(jiān)測(cè)環(huán)境不同進(jìn)行定制。

2.6接口模塊

接口模塊主要作為系統(tǒng)擴(kuò)展功能使用,將控制器的 A/D 轉(zhuǎn)換、I2C、SPI 等多種接口進(jìn)行 外部擴(kuò)展。接口模塊沒(méi)有特定的功能,但可以根據(jù)需要與其他設(shè)備連接,例如可以與工業(yè)儀 器儀表或設(shè)備連接,實(shí)時(shí)對(duì)儀器或設(shè)備進(jìn)行監(jiān)控。

接口模塊雖然不是監(jiān)控系統(tǒng)的主要部分,但是對(duì)于整個(gè)系統(tǒng)來(lái)說(shuō)卻是不可缺少。因?yàn)楸疚牡谋O(jiān)控系統(tǒng)主要考慮到了系統(tǒng)的可擴(kuò)展性和與其它系統(tǒng)無(wú)縫連接。通過(guò)接口模塊可以很方 便的對(duì)監(jiān)控系統(tǒng)進(jìn)行升級(jí),并且可以實(shí)現(xiàn)與其他系統(tǒng)或設(shè)備的無(wú)縫連接。這也是本系統(tǒng)區(qū)優(yōu) 于其他監(jiān)控系統(tǒng)的主要功能。軟件設(shè)計(jì)

3.1工作軟件

系統(tǒng)的軟件設(shè)計(jì)較為復(fù)雜,這里只給出了整個(gè)工作軟件流程(如圖 2)。

圖2 軟件流程圖

3.2操作系統(tǒng)移植

S3C2410 芯片支持多種嵌入式操作系統(tǒng),如 WINCE、uCLinux 等。但考慮到監(jiān)控系統(tǒng) 的實(shí)時(shí)性要求,這里使用的是 μC/OS-II 嵌入式實(shí)時(shí)操作系統(tǒng)。μC/OS-II 是一個(gè)源碼公開(kāi)、可移植、可固化、可裁剪、占先式的實(shí)時(shí)多任務(wù)操作系統(tǒng)。其絕大部分源碼是用 ANSI C 寫(xiě)的。整個(gè)嵌入式系統(tǒng)分為兩大層:硬件層和軟件層。這里主要研究軟件層的架構(gòu)。軟件層主要分為四個(gè)部分:實(shí)時(shí)操作系統(tǒng)內(nèi)核,與處理器相關(guān)部分,與應(yīng)用程序相關(guān)部分,用戶的應(yīng)用程序。移植 μC/OS-II 系統(tǒng)需要修改的文件有:應(yīng)用程序相關(guān)文件: OS_CFG.H INCLUDE.H; 處理器相關(guān)文件: OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C。

3.2.1 與處理器相關(guān)的代碼

這是移植中最關(guān)鍵的部分。內(nèi)核將應(yīng)用系統(tǒng)和底層硬件有機(jī)的結(jié)合成一個(gè)實(shí)時(shí)系統(tǒng),要 使同一個(gè)內(nèi)核能適用于不同的硬件體系,就需要在內(nèi)核和硬件之間有一個(gè)中間層,這就是與 處理器相關(guān)的代碼。處理器不同。這部分代碼也不同。我們?cè)谝浦矔r(shí)需要自己移植這部分代 碼。

a)OS_CPU.H

包括了用#define 定義的與處理器相關(guān)的常量,宏和類型定義,有系統(tǒng)數(shù)據(jù)類型定義,棧 增長(zhǎng)方向定義,關(guān)中斷和開(kāi)中斷定義,系統(tǒng)軟中斷的定義等等。

b)OS_CPU_A.ASM

這部分需要對(duì)處理器的寄存器進(jìn)行操作,所以必須用匯編語(yǔ)言來(lái)編寫(xiě)。包括四個(gè)子函數(shù): OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。OSStartHighRdy()在多任務(wù)系統(tǒng)啟動(dòng)函數(shù) OSStart()中調(diào)用。完成的功能是:設(shè)置系統(tǒng)運(yùn)行標(biāo)志位 OSRunning = TRUE;將就緒表中最高優(yōu)先級(jí)任務(wù)的棧指針 Load 到 SP 中,并強(qiáng)制中斷返回。這樣就緒的最高優(yōu)先級(jí)任務(wù)就如同從中斷里返回到運(yùn)行態(tài)一樣,使得整個(gè)系統(tǒng)得以運(yùn)轉(zhuǎn)。OSCtxSw()在任務(wù)級(jí)任 務(wù)切換函數(shù)中調(diào)用的。任務(wù)級(jí)切換是通過(guò) SWI 或者 TRAP 人為制造的中斷來(lái)實(shí)現(xiàn)的。ISR 的向 量地址必須指向 OSCtxSw()。這一中斷完成的功能:保存任務(wù)的環(huán)境變量(主要是寄存器的值, 通過(guò)入棧來(lái)實(shí)現(xiàn)),將當(dāng)前 SP 存入任務(wù) TCB 中,載入就緒最高優(yōu)先級(jí)任務(wù)的 SP,恢復(fù)就緒最高優(yōu)先級(jí)任務(wù)的環(huán)境變量,中斷返回。這樣就完成了任務(wù)級(jí)的切換。OSIntCtxSw()在退出中斷 服務(wù)函數(shù) OSIntExit()中調(diào)用,實(shí)現(xiàn)中斷級(jí)任務(wù)切換.由于是在中斷里調(diào)用,所以處理器的寄存器入棧工作已經(jīng)做完,就不用作這部分工作了。具體完成的任務(wù);調(diào)整棧指針(因?yàn)檎{(diào)用函數(shù)會(huì)使任務(wù)棧結(jié)構(gòu)與系統(tǒng)任務(wù)切換時(shí)堆棧標(biāo)準(zhǔn)結(jié)構(gòu)不一致),保存當(dāng)前任務(wù) SP,載入就緒 最高優(yōu)先級(jí)任務(wù)的 SP,恢復(fù)就緒最高優(yōu)先級(jí)任務(wù)的環(huán)境變量,中斷返回。這樣就完成了中斷級(jí)任務(wù)切換。OSTickISR()系統(tǒng)時(shí)鐘節(jié)拍中斷服務(wù)函數(shù),這是一個(gè)周期性中斷,為內(nèi)核提供

時(shí)鐘節(jié)拍。頻率越高系統(tǒng)負(fù)荷越重。其周期的大小決定了內(nèi)核所能給應(yīng)用系統(tǒng)提供的最小時(shí) 間間隔服務(wù)。一般只限于 ms 級(jí)(跟 MCU 有關(guān)),對(duì)于要求更加苛刻的任務(wù)需要用戶自己建立中斷來(lái)解決.該函數(shù)具體內(nèi)容:保存寄存器(如果硬件自動(dòng)完成就可以省略),調(diào) OSIntEnter(),調(diào)用 OSTimeTick(),調(diào)用 OSIntExit(),恢復(fù)寄存器,中斷返回。

c)OS_CPU_C.C

該文件中共定義了 6 個(gè)函數(shù),但是最重要的是 OSTaskStkInit().其他都是對(duì)系統(tǒng)內(nèi)核的擴(kuò)展 時(shí)用的.OSTaskStkInit()是在用戶建立任務(wù)時(shí)系統(tǒng)內(nèi)部自己調(diào)用的,對(duì)用戶任務(wù)的堆棧進(jìn)行初始化。使建立好的進(jìn)入就緒態(tài)任務(wù)的堆棧與系統(tǒng)發(fā)生中斷并且將環(huán)境變量保存完畢時(shí) 的棧結(jié)構(gòu)一致。這樣就可以用中斷返回指令使就緒的任務(wù)運(yùn)行起來(lái)。

3.2.2與應(yīng)用相關(guān)的代碼

這部分包括兩個(gè)文件:OS_CFG.H, INCLUDES.H。用戶根據(jù)自己的應(yīng)用系統(tǒng)來(lái)定制合適 的內(nèi)核服務(wù)功能。OS_CFG.H 來(lái)配置內(nèi)核,用戶根據(jù)需要對(duì)內(nèi)核進(jìn)行定制,留下需要的部分,去掉不需要的部分,設(shè)置系統(tǒng)的基本情況。比如系統(tǒng)可提供的最大任務(wù)數(shù)量,是否定制郵箱服務(wù),是否需要系統(tǒng)提供任務(wù)掛起功能,是否提供任務(wù)優(yōu)先級(jí)動(dòng)態(tài)改變功能等等。INCLUDES.H 系統(tǒng)頭文件,整個(gè)實(shí)時(shí)系統(tǒng)程序所需要的文件,包括了內(nèi)核和用戶的頭文件。

3.3用戶圖形接口

雖然 μC/OS-II 操作系統(tǒng)具有很高的實(shí)時(shí)性,但不像 WINCE、uCLinux 等操作系統(tǒng)那樣 有良好的圖形界面支持。所以,在使用液晶和觸摸屏的情況下需要移植用戶圖形接口程序。這里使用的是 μC/GUI。μC/GUI 是一個(gè)軟件模塊集合,通過(guò)該模塊可以在我們的嵌入式產(chǎn)品 中加入用戶圖形接口(GUI)。μC/GUI 具有很高的執(zhí)行效率,并且與處理器和 LCD 控制器相 獨(dú)立。該模塊可以工作在單任務(wù)或者多任務(wù)環(huán)境,可以支持不同大小的顯示方式。

通過(guò) μC/GUI 我們可以很方便的在液晶屏繪制圖形和界面。如果需要多種字體支持,必 須自己將相應(yīng)的字體字庫(kù)加入到 μC/GUI 中。為了避免出現(xiàn)亂碼,盡量使用 GB2312 國(guó)標(biāo)字庫(kù)。

3.4關(guān)于字庫(kù)的兼容性問(wèn)題

我們國(guó)內(nèi)通常使用的漢字字庫(kù)是 GB 碼,但國(guó)際上使用的是 UNICODE 碼,所以如果數(shù)據(jù)終端使用的是手機(jī)、PDA 等移動(dòng)通信設(shè)備,那么在數(shù)據(jù)發(fā)送前必須進(jìn)行字碼轉(zhuǎn)換,即 GB 碼 轉(zhuǎn)換為 UNICODE 碼或者 UNICODE 碼轉(zhuǎn)換為 GB 碼。由于 GB 碼與 UNICODE 碼在排列組合上沒(méi)有任何規(guī)律,所以通常字碼轉(zhuǎn)換的方法就是 查表法。

4結(jié)束語(yǔ)

基于 ARM9 嵌入式系統(tǒng)的遠(yuǎn)程監(jiān)控系統(tǒng)與以往的監(jiān)控系統(tǒng)不同,高性能的處理器芯片大大提高了系統(tǒng)的性能。使監(jiān)控系統(tǒng)能夠工作在比較惡劣的環(huán)境中。并且在設(shè)計(jì)上充分考慮到了系統(tǒng)的可擴(kuò)展性和兼容性問(wèn)題,實(shí)現(xiàn)了本系統(tǒng)與其他系統(tǒng)的無(wú)縫連接。以滿足不同工作環(huán) 境的需要。

作者創(chuàng)新觀點(diǎn):本文設(shè)計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng)應(yīng)用范圍更廣,更靈活、方便。通過(guò)各個(gè)功能模塊 的不同組合,可以十分方便快速的應(yīng)用于各個(gè)領(lǐng)系域,真正實(shí)現(xiàn)智能化、自動(dòng)化且具有較高 的性價(jià)比。

第三篇:基于嵌入式ARM的遠(yuǎn)程視頻監(jiān)控系統(tǒng)研究.

基于嵌入式ARM的遠(yuǎn)程視頻監(jiān)控系統(tǒng)研究

隨著科技的進(jìn)步,視頻監(jiān)控系統(tǒng)正在向嵌入式、數(shù)字化、網(wǎng)絡(luò)化方向發(fā)展。嵌入式視頻監(jiān)控系統(tǒng)充分利用大規(guī)模集成電路和網(wǎng)絡(luò)的科技成果,實(shí)現(xiàn)了體積小巧、性能穩(wěn)定、通訊便利的監(jiān)控產(chǎn)品。本文以S3C2410為核心硬件平臺(tái)開(kāi)發(fā)了基于嵌入式的遠(yuǎn)程視頻監(jiān)控系統(tǒng),并對(duì)關(guān)鍵技術(shù)進(jìn)行了論述和研究。首先給出了系統(tǒng)總體軟硬件設(shè)計(jì)方案,針對(duì)本系統(tǒng)硬件對(duì)vivi進(jìn)行了修改和移植,對(duì)編譯和移植Linux內(nèi)核以及制作YAFFS文件系統(tǒng)也做了深入的研究,重點(diǎn)討論了在嵌入式Linux操作系統(tǒng)下開(kāi)發(fā)USB接口攝像頭驅(qū)動(dòng)程序和利用linux提供的Video4Linux API函數(shù)實(shí)現(xiàn)視頻數(shù)據(jù)采集,其次采用背景差法實(shí)現(xiàn)了對(duì)視頻圖像中運(yùn)動(dòng)目標(biāo)的檢測(cè),然后通過(guò)MJPEG壓縮算法實(shí)現(xiàn)了視頻數(shù)據(jù)壓縮,接著介紹了在Linux下基于TCP/IP協(xié)議的socket編程,實(shí)現(xiàn)了視頻數(shù)據(jù)的網(wǎng)絡(luò)發(fā)送。最后著重論述了嵌入式Web服務(wù)器的設(shè)計(jì),編寫(xiě)了視頻監(jiān)控主界面程序,并實(shí)現(xiàn)了基于B/S模式的視頻監(jiān)控系統(tǒng)結(jié)構(gòu)。本系統(tǒng)采用模塊化設(shè)計(jì)方法,使得設(shè)計(jì)更加簡(jiǎn)潔、高效,具有良好的擴(kuò)展性和易用性,有利于系統(tǒng)升級(jí)。另外采用嵌入式的方法,系統(tǒng)成本較低,易于推廣使用。

【關(guān)鍵詞相關(guān)文檔搜索】: 控制理論與控制工程;ARM;嵌入式Linux;USB攝像頭;Video4Linux;嵌入式Web服務(wù)器

【作者相關(guān)信息搜索】: 南京理工大學(xué);控制理論與控制工程;陳青林;李保國(guó);

第四篇:嵌入式系統(tǒng)ARM實(shí)驗(yàn)報(bào)告

南京郵電大學(xué)通信與信息工程學(xué)院

實(shí)驗(yàn)報(bào)告

實(shí)驗(yàn)名稱:實(shí)驗(yàn)一基于ADS開(kāi)發(fā)環(huán)境的設(shè)計(jì)

實(shí)驗(yàn)二嵌入式Linux交叉開(kāi)發(fā)環(huán)境的建立 實(shí)驗(yàn)三嵌入式Linux環(huán)境下的程序設(shè)計(jì)

課程名稱嵌入式系統(tǒng)B

班級(jí)學(xué)號(hào)B13010711 姓名馬俊民

開(kāi)課時(shí)間 2015/2016學(xué)年第1學(xué)期

實(shí)驗(yàn)一基于ADS開(kāi)發(fā)環(huán)境的程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

1、學(xué)習(xí)ADS開(kāi)發(fā)環(huán)境的使用;

2、學(xué)習(xí)和掌握ADS環(huán)境下的匯編語(yǔ)言及C語(yǔ)言程序設(shè)計(jì);

3、學(xué)習(xí)和掌握匯編語(yǔ)言及C語(yǔ)言的混合編程方法。

二、實(shí)驗(yàn)內(nèi)容

1、編寫(xiě)和調(diào)試匯編語(yǔ)言程序;

2、編寫(xiě)和調(diào)試C語(yǔ)言程序;

3、編寫(xiě)和調(diào)試匯編語(yǔ)言及C語(yǔ)言的混合程序;

4、編寫(xiě)程序測(cè)試多寄存器傳送指令的用法。

三、實(shí)驗(yàn)原理

ADS全稱為ARM Developer Suite,是ARM公司推出的新一代ARM集成開(kāi)發(fā)工具。現(xiàn)在常用的ADS版本是ADS1.2,它取代了早期的ADS1.1和ADS1.0。

ADS用于無(wú)操作系統(tǒng)的ARM系統(tǒng)開(kāi)發(fā),是對(duì)裸機(jī)(可理解成一個(gè)高級(jí)單片機(jī))的開(kāi)發(fā)。ADS具有極佳的測(cè)試環(huán)境和良好的偵錯(cuò)功能,它可使硬件開(kāi)發(fā)工作者更深入地從底層去理解ARM處理器的工作原理和操作方法,為日后自行設(shè)計(jì)打基礎(chǔ),為BootLoader的編寫(xiě)和調(diào)試打基礎(chǔ)。

1.ADS軟件的組成

ADS由命令行開(kāi)發(fā)工具、ARM運(yùn)行時(shí)庫(kù)、GUI開(kāi)發(fā)環(huán)境(CodeWarrior和AXD)、實(shí)用程序、支持軟件等組成。

2.GUI開(kāi)發(fā)環(huán)境

ADS GUI開(kāi)發(fā)環(huán)境包含CodeWarrior和AXD兩種,其中Code Warrior是集成開(kāi)發(fā)工具,而AXD是調(diào)試工具。

使用匯編語(yǔ)言進(jìn)行編程簡(jiǎn)單、方便,適用于初始化硬件代碼、啟動(dòng)代碼等。匯編語(yǔ)言具有一些相同的基本特征:

1.一條指令一行。

2.使用標(biāo)號(hào)(label)給內(nèi)存單元提供名稱,從第一列開(kāi)始書(shū)寫(xiě)。3.指令必須從第二列或能區(qū)分標(biāo)號(hào)的地方開(kāi)始書(shū)寫(xiě)。4.注釋必須跟在指定的注釋字符后面,一直書(shū)寫(xiě)到行尾。

在ARM匯編程序中,每個(gè)段必須以AREA作為段的開(kāi)始,以碰到下一個(gè)AREA作為該段的結(jié)束,段名必須唯一。程序的開(kāi)始和結(jié)束需以ENTRY和END來(lái)標(biāo)識(shí)。嵌入式C語(yǔ)言設(shè)計(jì)是利用基本的C語(yǔ)言知識(shí),面向嵌入式工程實(shí)際應(yīng)用進(jìn)行程序設(shè)計(jì)。為了使單獨(dú)編譯的C語(yǔ)言程序和匯編程序之間能夠相互調(diào)用,必須為子程序之間的調(diào)用規(guī)定一定的規(guī)則。ATPCS就是ARM程序和Thumb程序中子程序調(diào)用的基本規(guī)則。

四、實(shí)驗(yàn)過(guò)程與關(guān)鍵代碼分析

1.創(chuàng)建項(xiàng)目工程

在File菜單中選擇New命令,打開(kāi)一個(gè)新建工程對(duì)話框。在Project選項(xiàng)卡下,選擇ARM Executable Image, 然后在Project name文本框里輸入項(xiàng)目名稱,點(diǎn)擊確定。彈出工程窗口。

選擇File菜單中的New命令,選擇File標(biāo)簽頁(yè),在File name文本框中輸入要?jiǎng)?chuàng)建的文件名。匯編程序以.s結(jié)尾,c程序以.c結(jié)尾。在Location文本框中指定文件的存放位置,選中Add to Project,在Targets中選中DebugRel,單擊確定關(guān)閉窗口。

2.用匯編語(yǔ)言設(shè)計(jì)程序?qū)崿F(xiàn)10的階乘

AREA EXAMPLE, CODE, READONLY ENTRY start MOV R0, #10 MOV R1, #1 LOOP MUL R0, R0, R1 SUB R0, R0, 1 CMP R0, #1 BHI LOOP END 在這個(gè)程序中,我們首先對(duì)R0和R1賦值,將R0作為一個(gè)變量,而R1作為一個(gè)存貯階乘值的寄存器。在每進(jìn)行一次乘法之后,將R0減1。同時(shí)在做完減法后進(jìn)行判斷,如果此時(shí)R0大于1,則返回繼續(xù)乘法,否則結(jié)束程序,輸出結(jié)果。

3.用調(diào)用子程序的方法實(shí)現(xiàn)1!+2!+3!+?+10!,代碼如下: asmp.s

AREA JC, CODE, READONLY

EXPORT JCP

ENTRY JCP

ADD R3, R0, #1

MOV R2, #1

MOV R1, #1 LOOP MUL R0, R1, R2

MOV R1, R0

ADD R2, R2, #1

CMP R2, R3

BNE LOOP

NOP

NOP

MOV PC, LR

END

PROGC.c #include Extern int JCP(int N)

int main(){ int res=0;int m=10;int i;for(i=1;i<=m;i++)

res=res+JCP(i);printf(“The result =%dn”,res);return 0;} 在這個(gè)程序中,主程序由c語(yǔ)言完成作求和,子程序由匯編語(yǔ)言寫(xiě)成作階乘。

5.實(shí)現(xiàn)字符串的逆序復(fù)制TEXT1=“HELLO”=>TEXT2=“OLLEH”

AREA invstring, CODE, READONLY start

ADR R1,TEXT1

ADR R2,TEXT2

MOV R3, #0 LOOP

LDRB R0,[R1], #1

ADD R3,R3,#1

CMP R0,#0

BNE LOOP

SUB R1,R1,#2

LOOP1

LDRB R0,[R1], #-1

STRB R0,[R2], #1

SUB R3,R3, #1

CMP R3,#1

BNE LOOP1

MOV R5,#&55

TEXT1

TEXT2 NOP =“HELLO”,0 ALIGN =“OELLH” END

五、實(shí)驗(yàn)小結(jié)

在這次實(shí)驗(yàn)中,學(xué)會(huì)了如何使用匯編程序進(jìn)行編程。對(duì)匯編程序編程一些基本的要求有了一定的了解,學(xué)習(xí)了C語(yǔ)言的語(yǔ)法和在其中調(diào)用匯編程序的方法。學(xué)會(huì)了利用CodeWarrior IDE開(kāi)發(fā)C和ARM匯編代碼。學(xué)會(huì)了在AXD中進(jìn)行代碼調(diào)試的方法和過(guò)程,對(duì)AXD的調(diào)試有初步的了解。,實(shí)驗(yàn)二嵌入式Linux交叉開(kāi)發(fā)環(huán)境的建立

一、實(shí)驗(yàn)?zāi)康?/p>

1、掌握嵌入式Linux交叉開(kāi)發(fā)環(huán)境的建立方法

2、學(xué)習(xí)和掌握Linux常用命令

3、學(xué)習(xí)和掌握vi編輯器的使用

二、實(shí)驗(yàn)內(nèi)容

1、搭建嵌入式Linux交叉開(kāi)發(fā)環(huán)境

2、熟悉Linux的常用命令

3、熟悉vi編輯器的常用命令

三、實(shí)驗(yàn)原理

Linux系統(tǒng)是UNIX系統(tǒng)的分支,是UNIX的微機(jī)版。Linux具有異常豐富的驅(qū)動(dòng)程序資源,支持各種主流的硬件設(shè)備與技術(shù)。Linux包含了現(xiàn)代的UNIX操作系統(tǒng)的所有功能特性,這些功能包括多任務(wù)、虛擬內(nèi)存、虛擬文件系統(tǒng)、進(jìn)程間通信、對(duì)稱所處理器、多用戶支持等。

Vi編輯器是所有UNIX和Linux下的標(biāo)準(zhǔn)編輯器。它包含3種工作模式。嵌入式系統(tǒng)是專用的計(jì)算機(jī)系統(tǒng),它對(duì)系統(tǒng)的功能、可靠性、成本、體積、功耗等有嚴(yán)格的要求。大部分嵌入式系統(tǒng)沒(méi)有大容量存儲(chǔ)設(shè)備,一般不能安裝大型開(kāi)發(fā)軟件,系統(tǒng)的開(kāi)發(fā)需要采用交叉開(kāi)發(fā)模式。

四、實(shí)驗(yàn)過(guò)程與關(guān)鍵代碼分析

實(shí)驗(yàn)用的是UP-NetARM2410-S試驗(yàn)箱,里面配有三星的芯片S3c2410X。打開(kāi)電腦上VMWare軟件,在Windows系統(tǒng)下啟動(dòng)虛擬機(jī)里的Linux系統(tǒng)。接著需要

1.宿主機(jī)的環(huán)境搭建

下載并運(yùn)行VMWare,根據(jù)向?qū)?chuàng)建一臺(tái)新虛擬機(jī)并選擇Linux作為客戶操作系統(tǒng),再根據(jù)向?qū)О惭bRedHat Linux 9.0。

2.虛擬機(jī)中啟動(dòng)Linux操作系統(tǒng)

使用root登陸,用戶名為root,密碼為123456。之后對(duì)共享文件設(shè)置進(jìn)行調(diào)整:打開(kāi)settings界面,打開(kāi)shared folders功能,同時(shí)將路徑設(shè)置到有課前下載的軟件的目錄下。

3.開(kāi)發(fā)工具軟件的安裝(1)安裝gcc 打開(kāi)Linux后,打開(kāi)終端窗口,在共享的目錄下找到install.sh并運(yùn)行,命令如下: ls./ install.sh 安裝程序?qū)⒆詣?dòng)建立/arm2410s目錄,并將所有的開(kāi)發(fā)軟件包安裝到/arm2410s 目錄下,同時(shí)自動(dòng)配置編譯環(huán)境,建立合適的符號(hào)鏈接。安裝完成后在目錄/opt/host/armv4l/bin/下應(yīng)該能看到主編譯器。(2)配置PATH路徑

vi.bash.profile 將里面PATH變量改為PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/;存盤(pán)后執(zhí)行

source.bash_profile 以后armv4l-unknown-linux-gcc將被自動(dòng)搜索到

4.宿主機(jī)上的開(kāi)發(fā)環(huán)境配置(1)配置IP地址

ifconfig eth0 192.168.0.121 命令配置了宿主機(jī)的IP地址。然后打開(kāi)網(wǎng)絡(luò)配置窗口,重新探測(cè)MAC地址。重新激活。(2)關(guān)閉防火墻

單擊“Red”菜單→“系統(tǒng)設(shè)置”→“安全級(jí)別”→打開(kāi)“安全級(jí)別配置”窗口,選擇“無(wú)防火墻選項(xiàng)。”(3)配置NFS。

單擊“Red”菜單→“系統(tǒng)設(shè)置”→“服務(wù)器設(shè)置”→“服務(wù)”,在“服務(wù)配置”窗口中勾選nfs,單擊“開(kāi)始”(4)NFS設(shè)置

單擊“Red”菜單→“系統(tǒng)設(shè)置”→“服務(wù)器設(shè)置”→“NFS服務(wù)器”,打開(kāi)“NFS服務(wù)器配置”窗口,設(shè)置NFS共享。

然后在NFS服務(wù)器中增加主機(jī)IP地址的鏈接許可和目錄。完成配置。

5.目標(biāo)機(jī)的信息輸出

Windows系統(tǒng)下,“開(kāi)始”→“所有程序”→“附件”→“通訊”→“超級(jí)終端”,新建一個(gè)通信終端。區(qū)號(hào)、電話號(hào)碼隨意輸入。設(shè)置每秒位數(shù)為“115200”,數(shù)據(jù)位為“8”,無(wú)奇偶校驗(yàn),停止位為“1”,無(wú)數(shù)據(jù)流控制。單擊“確定”。

6.程序的運(yùn)行

打開(kāi)超級(jí)終端,啟動(dòng)Linux,屏幕顯示:

[/mnt/yaffs] 在超級(jí)終端上執(zhí)行掛載命令:

[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 掛載成功后可執(zhí)行程序。

五、實(shí)驗(yàn)小結(jié)

在這次實(shí)驗(yàn)中,學(xué)會(huì)建立Linux交叉開(kāi)發(fā)環(huán)境,學(xué)會(huì)了ls和vi,cd等常用的Linux命令,并掌握了Vi編輯器的使用方法。同時(shí)知道了如何在搭建失敗時(shí)尋找錯(cuò)誤進(jìn)行排錯(cuò)。

實(shí)驗(yàn)三嵌入式Linux環(huán)境下的程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

1、掌握嵌入式Linux環(huán)境下的程序設(shè)計(jì)方法

2、學(xué)會(huì)編寫(xiě)Makefile文件

二、實(shí)驗(yàn)內(nèi)容

1、熟悉嵌入式教學(xué)實(shí)驗(yàn)箱的使用

2、編寫(xiě)C程序和Makefile文件

3、編譯程序產(chǎn)生可執(zhí)行程序

4、完成主機(jī)的掛載和程序的執(zhí)行

三、實(shí)驗(yàn)原理

在嵌入式Linux環(huán)境下的程序設(shè)計(jì)方法有一下幾個(gè)步驟:

1.編寫(xiě)源程序

2.編寫(xiě)Makefile文件 3.編譯程序

4.運(yùn)行和調(diào)試程序

5.將生產(chǎn)的可執(zhí)行文件加入文件系統(tǒng)。

前三個(gè)步驟在宿主機(jī)上完成,后面的步驟在目標(biāo)機(jī)上完成。

四、實(shí)驗(yàn)過(guò)程與關(guān)鍵代碼分析

1.建立工作目錄

mkdir hello cd hello

2.編寫(xiě)源程序

用vi編輯器編輯Hello.c文件

vi Hello.c 在Vi中輸入源程序如下:

#include main(){

printf(“hello world n”);}

3.編寫(xiě)Makefile文件

vi Makefile 在vi中編輯Makefile文件如下:

CC= armv4l-unknown-linux-gcc EXEC = hello OBJS = hello.o CFLAGS += LDFLAGS+=-static all: $(EXEC)$(EXEC):(OBJS)$(CC)$(LDFLAGS)–o $@ $(OBJS)clean:

-rm –f $(EXEC)*.elf *.gdb *.o

4.編譯程序

在hello目錄下運(yùn)行“make”來(lái)編譯程序。

make clean

make 編譯成功后,生成可執(zhí)行文件Hello.o。

5.下載調(diào)試

在宿主機(jī)上啟動(dòng)nfs服務(wù),并將/arms2410s設(shè)置為共享目錄。接下來(lái)啟動(dòng)超級(jí)終端,建立通訊,掛載。

[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 掛載成功后,進(jìn)入/mnt/nfs,再進(jìn)入/mnt/nfs/hello,直接運(yùn)行剛剛編譯生成的可執(zhí)行文件Hello.o,查看運(yùn)行結(jié)果

cd hello./hello 可以看見(jiàn)“Hello world”

只需要掛載一次便可,只要實(shí)驗(yàn)箱沒(méi)有重啟,就可以一直保持連接。反復(fù)修改、編譯、調(diào)試,直至程序調(diào)試通過(guò)。

6.可執(zhí)行文件加入文件系統(tǒng)

程序調(diào)試通過(guò)后,可以把可執(zhí)行文件拖放到usr/bin目錄下,然后使用mkcramfs制作工具生成新的文件系統(tǒng)。當(dāng)系統(tǒng)啟動(dòng)后,就可以在相應(yīng)目錄下執(zhí)行可執(zhí)行程序hello.五、實(shí)驗(yàn)小結(jié) 在這次實(shí)驗(yàn)中,學(xué)會(huì)了在嵌入式Linux環(huán)境下設(shè)計(jì)程序。同時(shí)知道了如何對(duì)目標(biāo)機(jī)進(jìn)行掛載。以及如何在發(fā)現(xiàn)掛載不成功尋找錯(cuò)誤進(jìn)行修改。另外在編譯文件時(shí)需要注意的也都有所了解。

實(shí)驗(yàn)四多線程程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?、2、二、實(shí)驗(yàn)內(nèi)容1、2、3、4、三、實(shí)驗(yàn)原理

四、實(shí)驗(yàn)過(guò)程與關(guān)鍵代碼分析

五、實(shí)驗(yàn)小結(jié)

3+

第五篇:基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第1頁(yè)

共33頁(yè)

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

學(xué)生:劉 仁

指導(dǎo)老師:蔡 碩

摘要: 隨針對(duì)當(dāng)前國(guó)內(nèi)國(guó)外嵌入式服務(wù)器技術(shù)研究和發(fā)展情況的分析,本報(bào)告提出了將 WEB 服務(wù)器、嵌入式系統(tǒng)以及當(dāng)前的一些嵌入式實(shí)驗(yàn)板板載功能進(jìn)行融合的設(shè)計(jì)思想。設(shè)計(jì)了結(jié)合 WEB 服務(wù)器技術(shù)的嵌入式監(jiān)控系統(tǒng)。該系統(tǒng)具有瀏覽交互式網(wǎng)頁(yè),對(duì)嵌入式平臺(tái)進(jìn)行監(jiān)視和控制等功能。通過(guò)本套嵌入式WEB 服務(wù)器系統(tǒng),用戶可以通過(guò) HTTP 協(xié)議方便的訪問(wèn)相應(yīng)的嵌入式平臺(tái)進(jìn)行有效監(jiān)視的同時(shí)還可以進(jìn)行實(shí)時(shí)的有效控制。該系統(tǒng)對(duì)硬件要求極低、響應(yīng)速度快、安全性好、可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),具有較高的實(shí)際應(yīng)用價(jià)值。該系統(tǒng)在智能家居、嵌入式組網(wǎng)等方面的應(yīng)用將有較廣闊的發(fā)展前途。

關(guān)鍵詞:ARM 嵌入式系統(tǒng);嵌入式 web 監(jiān)控;boa 服務(wù)器;CGI 編程;Linux 操作系統(tǒng)

關(guān)鍵詞:自動(dòng)化、奏樂(lè)器、VHDL、數(shù)字電路

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第2頁(yè)

共33頁(yè)

Abstract: According to the analysis of the researches about the status of the mbeddedserver of the world.We rise a design of a embedded internet control system basedon the Web service which integrates the web server,embedded technology and thefunctions on the embedded experiment Board.This system has the function of browsing the web pages,monitoring theembedded Board and so on.With this embedded WEB server,the users can watchthe embedded system conveniently according the HTTP protocol.At the sametime the users can also monitor the ystem.This system have a lot of longtageslike a low request of the hardware,limited time of response and a stable status.Wewill see that this kind of system used in the application of intelligent familyelectronics,embedded neting and so on would have a good development.Keywords: ARM Embedded System;Embedded Web Server System;Boa Server;CGI Programing;Linux Operating System

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第3頁(yè)

共33頁(yè)

引 言

嵌入式系統(tǒng)課程設(shè)計(jì)是本專業(yè)在學(xué)習(xí)完 C 語(yǔ)言、LINUX 操作系統(tǒng)、嵌入式系統(tǒng)原理與接口設(shè)計(jì)、嵌入式操作系統(tǒng)原理之后的專業(yè)課程設(shè)計(jì),屬于專業(yè)課內(nèi)容。通過(guò)課程設(shè)計(jì)建立嵌入式系統(tǒng)主體環(huán)節(jié),嵌入式系統(tǒng)的最小結(jié)構(gòu)和系統(tǒng)應(yīng)用設(shè)計(jì)基本技能,培養(yǎng)分析和解決一些簡(jiǎn)單的實(shí)際問(wèn)題的能力,為今后畢業(yè)設(shè)計(jì)奠定基礎(chǔ)。隨著嵌入式技術(shù)的發(fā)展和高速寬帶網(wǎng)絡(luò)的普及, 利用網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控已為人們廣泛接受, 嵌入式網(wǎng)絡(luò)監(jiān)控技術(shù)正是在此條件下逐步發(fā)展成熟起來(lái)的。用戶使用 Web 瀏覽器, 通過(guò)以太網(wǎng)遠(yuǎn)程訪問(wèn)內(nèi)置 Web 服務(wù)器的監(jiān)控?cái)z像機(jī), 不但可以實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)的遠(yuǎn)程視頻監(jiān)控, 而且可以向監(jiān)控現(xiàn)場(chǎng)發(fā)送指令。在整個(gè)系統(tǒng)的實(shí)現(xiàn)過(guò)程中, 嵌入式 Web 服務(wù)器起著十分重要的作用。本課題就是基于該項(xiàng)技術(shù),最終編程實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)控制下位機(jī)嵌入式控制器的電機(jī)啟動(dòng)和停止。

1.1研究目的和意義

1、通過(guò)嵌入式課程設(shè)計(jì),熟練掌握 C 語(yǔ)言的編程方法。基于 WEB 的遠(yuǎn)程監(jiān)控的實(shí)現(xiàn),CGI 的編寫(xiě)和使用,將理論聯(lián)系到實(shí)踐中去,提高我們的動(dòng)腦和動(dòng)手的能力。

2、通過(guò)基于 WEB 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì),掌握 S3C2410 實(shí)驗(yàn)箱,直流電機(jī)的工作原理,BOA 服務(wù)器的使用,CGI 的使用和簡(jiǎn)單程序的編寫(xiě)及調(diào)試方法,最終提高我們的動(dòng)手實(shí)踐能力。

3、本課題的研究目的是用 BOA 服務(wù)器、CGI、IE 瀏覽器設(shè)計(jì)一個(gè)通過(guò) IE 瀏覽器監(jiān)控電機(jī)的系統(tǒng),能夠通過(guò)兩個(gè)簡(jiǎn)單的按鍵對(duì)電機(jī)進(jìn)行啟動(dòng)和停止的控 3

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第4頁(yè)

共33頁(yè)

制,并能夠在 IE 瀏覽器上看到電機(jī)的當(dāng)前狀態(tài)。

4、由于基于 WEB 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)將成為今后遠(yuǎn)程監(jiān)控技術(shù)發(fā)展的主流方向,所以需要設(shè)計(jì)出簡(jiǎn)單實(shí)用,讓人們更滿意的產(chǎn)品。

1.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容

1.基本要求

本課題主要設(shè)計(jì)和研究基于WEB的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng),要求在保證可靠運(yùn)行的前提下,電路設(shè)計(jì)盡量簡(jiǎn)潔緊湊,以減小成本、提高系統(tǒng)的效率和安全性。

2.應(yīng)解決的問(wèn)題 1)設(shè)計(jì)系統(tǒng)網(wǎng)絡(luò)方案

2)分析網(wǎng)絡(luò)程序結(jié)構(gòu)和應(yīng)用程序的使用方法 3)編程實(shí)現(xiàn)嵌入式系統(tǒng)服務(wù)器功能 4)編程實(shí)現(xiàn)嵌入式系統(tǒng)聯(lián)網(wǎng)功能

5)編程實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)控制下位機(jī)嵌入式控制器的電機(jī)啟動(dòng)和停止

3.?dāng)U展功能

演奏時(shí)可以通過(guò)按鍵選擇是手動(dòng)演奏還是自動(dòng)演奏,手動(dòng)演奏是通過(guò)按鍵進(jìn)行簡(jiǎn)易樂(lè)曲的演奏。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第5頁(yè)

共33頁(yè)總體方案設(shè)計(jì)

2.1 整體方案設(shè)計(jì)

系統(tǒng)總體設(shè)計(jì)是基于嵌入式系統(tǒng)和 WEB 服務(wù)器結(jié)合的思想開(kāi)發(fā)的,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖 2.1 所示

圖 2.1 系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D

針對(duì)本次課程設(shè)計(jì)提出的系統(tǒng)設(shè)計(jì)如圖 2.2 所示

圖 2.2 系統(tǒng)方案框圖

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第6頁(yè)

共33頁(yè)

2.2 硬件系統(tǒng)設(shè)計(jì)

2.3.1 核心處理器的選擇

核心處理芯片需要完成處理和支持整個(gè)系統(tǒng)的功能需求,通過(guò)運(yùn)行 BOA 服務(wù)器要實(shí)施的接收來(lái)自各個(gè)客戶端的請(qǐng)求和信息,并根據(jù)獲得的請(qǐng)求和信息進(jìn)行相應(yīng)的后臺(tái)處理以及信息的反饋。為完成上述功能,實(shí)現(xiàn)服務(wù)器正常運(yùn)行,對(duì)處理芯片進(jìn)行選型,對(duì)比現(xiàn)有處理芯片的優(yōu)缺點(diǎn),選擇 ARM9 S3C2410X 芯片作為設(shè)計(jì)開(kāi)發(fā)嵌入式服務(wù)器系統(tǒng)的核心處理芯片。S3C2410X 微處理器是一款由 Samsung 公司為手持設(shè)備設(shè)計(jì)的低功耗、高集成度的基于ARM920T 核的微處理器,為了降低系統(tǒng)總成本和減少外圍器件,這款芯片還集成了以下部件:16KB 指令 Cache、16KB 數(shù)據(jù) Cache、MMU、外部存儲(chǔ)器控制器、LCD 控制器、NAND FLASH 控制器、4 個(gè) DMA 通道、3 個(gè) UART 通道、1 個(gè) IIC 總線控制器、1 個(gè) IIS總線控制器、4 個(gè) PWM 定時(shí)器、1 個(gè)內(nèi)部定時(shí)器、通用 IO 口、實(shí)時(shí)時(shí)鐘、8 通道 10 位ADC 和觸摸屏接口、USB 主、USB 從、SD/MMC 卡接口等。

2.3 軟件環(huán)境選擇

2.3.1 操作系統(tǒng)的選擇

當(dāng)選定了硬件系統(tǒng)后,為了配合硬件達(dá)到系統(tǒng)的最優(yōu)控制要求,對(duì)市面上常用的嵌入式系統(tǒng)進(jìn)行分析比較。

(1)價(jià)格比較:Linux 是完全免費(fèi)的操作系統(tǒng),只需遵循 GPL 聲明,不需支付任何費(fèi)用;WinCE 是微軟的商用嵌入式操作系統(tǒng),使用它需要支付 WinCE 及其開(kāi)發(fā)環(huán)境的費(fèi)用,開(kāi)發(fā)出來(lái)的每套產(chǎn)品也需交納一定費(fèi)用。uc/os—II 系統(tǒng),可以免費(fèi)用于學(xué)習(xí)或科研,但開(kāi)發(fā)商使用產(chǎn)品或銷售都是收費(fèi)的。

(2)開(kāi)放性比較:Linux 是源代碼完全開(kāi)放的操作系統(tǒng),可以自由下載,并且

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第7頁(yè)

共33頁(yè)

在遵循GPL 聲明的前提下可以自由地修改、移植,為系統(tǒng)的開(kāi)發(fā)和調(diào)試帶來(lái)極大的便利;winCE是部分源碼開(kāi)放的商用操作系統(tǒng),如果要修改其中的代碼,需獲得微軟公司的授權(quán);uc/os—II 也是開(kāi)放的實(shí)時(shí)操作系統(tǒng)。

(3)文件系統(tǒng)的比較:Linux 支持絕大部分文件系統(tǒng),只需選擇相應(yīng)的文件系統(tǒng)即可;

WinCE 僅支持 Windows 系列的 FAT16、有限文件系統(tǒng);uc/os—II 本身沒(méi)有包括文件系統(tǒng),需購(gòu)買或移植。Linux 與 ARM 處理器從以上可以看出,Linux 系統(tǒng)在諸多方面都存在優(yōu)勢(shì),而且本身的 ARM 處理器與 Linux 也有著緊密的聯(lián)系。因此采用 Linux 操作系統(tǒng)。2.3.2 服務(wù)器的選擇

典型的嵌入式 Web 服務(wù)器有 Boa 和 thttpd 兩種,它們和 Apache 等高性能的 Web 服務(wù)器主要的區(qū)別在于它們一般是單進(jìn)程服務(wù)器,只有在完成一個(gè)用戶請(qǐng)求后才能響應(yīng)另一個(gè)用戶的請(qǐng)求,而無(wú)法并發(fā)響應(yīng),但這在嵌入式設(shè)備的應(yīng)用場(chǎng)合里已經(jīng)足夠了。Boa 是一個(gè)非常小巧的 Web 服務(wù)器,可執(zhí)行代碼只有約 60KB。它是一個(gè)單任務(wù) Web服務(wù)器,只能依次完成用戶的請(qǐng)求,而不會(huì) fork 出新的進(jìn)程來(lái)處理并發(fā)連接請(qǐng)求。但 Boa支持 CGI,能夠?yàn)?CGI 程序 fork 出一個(gè)進(jìn)程來(lái)執(zhí)行。Boa 的設(shè)計(jì)目標(biāo)是速度和安全,在其站點(diǎn)公布的性能測(cè)驗(yàn)中,Boa 的性能要好于 Apache 服務(wù)器。經(jīng)過(guò)上述的對(duì)比和判斷,選擇Boa 作為系統(tǒng)的嵌 入式服務(wù)器。

綜合以上的討論以及選擇,根據(jù)系統(tǒng)的實(shí)際需求,最終確定了采用 S3C2410X 為核心處理器,Linux 為嵌入式操作系統(tǒng),boa 為服務(wù)器以及相應(yīng)的 http 瀏覽器的系統(tǒng)設(shè)計(jì)方案。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第8頁(yè)

共33頁(yè)硬件設(shè)計(jì)

3.1 系統(tǒng)硬件平臺(tái)介紹

我們所介紹的硬件平臺(tái)是基于 ARM 體系結(jié)構(gòu),由北京博創(chuàng)興業(yè)科技有限公司開(kāi)發(fā)的UP-NetARM2410-S 實(shí)驗(yàn)儀器。UP-NetARM2410-S 的 CPU 為 ARM920T 內(nèi)核的三星S3c2410 芯片,由于有 MMU(內(nèi)存管理單元)可以運(yùn)行標(biāo)準(zhǔn)的 ARM-LINUX 內(nèi)核。通過(guò)這個(gè)平臺(tái),我們可以實(shí)現(xiàn)嵌入式 LINUX 中的針對(duì)無(wú) MMU 的開(kāi)發(fā)過(guò)程。

3.2 s3c2410 芯片介紹

圖 3.1 芯片結(jié)構(gòu)圖

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第9頁(yè)

共33頁(yè)

3.3 ARM 處理器的外圍設(shè)備

3.3.1 電源電路

設(shè)備提供 12v 的電源,經(jīng) LM1085-3.3V 和 AS1117-1.8V 分別得到 3.3V 和 1.8V 的工作電壓。開(kāi)發(fā)板上的芯片多數(shù)使用了 3.3V 電壓,而 1.8V 是供給 S3C2410 內(nèi)核使用的。5V 電壓供給 LCD、電機(jī)、總線等電路使用。

圖 3.2 電源電路

3.3.2 硬件復(fù)位電路

硬件復(fù)位電路由IMP811T構(gòu)成,實(shí)現(xiàn)對(duì)電源電壓的監(jiān)控和手動(dòng)復(fù)位操作。2410-S主板復(fù)位電路設(shè)置專用邏輯:IMP811T 的復(fù)位電平可以使CPU JTAG(nTRST和板級(jí)系統(tǒng)(nRESET)全部復(fù)位;來(lái)自仿真器的ICE_nSRST 信號(hào)只能使板級(jí)復(fù)位;來(lái)自仿真器的ICE_nTRST 可以使JTAG(nTRST)復(fù)位,通過(guò)跳線選擇是否使板級(jí)nRESET復(fù)位。nRESET反相后得到RESET 信號(hào)。硬件復(fù)位電路如圖3.3所示

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第10頁(yè)

共33頁(yè)

圖3.3 硬件復(fù)位

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第11頁(yè)

共33頁(yè)軟件設(shè)計(jì)

4.1 設(shè)計(jì)思想

基于 web 的嵌入式監(jiān)控系統(tǒng)設(shè)計(jì)主要的功能有簡(jiǎn)單的網(wǎng)頁(yè)瀏覽,實(shí)現(xiàn)簡(jiǎn)單應(yīng)用功能(客戶端與服務(wù)器的交互)以及服務(wù)器端的控制功能。因此軟件的設(shè)計(jì)分為三個(gè)部分:boa 服務(wù)器的搭建、應(yīng)用程序設(shè)計(jì)和驅(qū)動(dòng)程序的加載。

4.2 BOA 服務(wù)器的簡(jiǎn)介與搭建

4.2.1 嵌入式 Web 服務(wù)器 Boa 的特點(diǎn)

Boa 是一款單任務(wù)的 HTTP 服務(wù)器, 與其他傳統(tǒng)的 Web 服務(wù)器不同的是當(dāng)有連接請(qǐng)求到來(lái)時(shí), 它并不為每個(gè)連接單獨(dú)創(chuàng)建進(jìn)程, 也不通過(guò)復(fù)制自身進(jìn)程來(lái)處理多鏈接, 而是通過(guò)建立 HTTP 請(qǐng)求列表來(lái)處理多路 HTTP 連接請(qǐng)求, 同時(shí)它只為 CGI 程序創(chuàng)建新的進(jìn)程,這樣就在最大程度上節(jié)省了系統(tǒng)資源, 這對(duì)嵌入式系統(tǒng)來(lái)說(shuō)至關(guān)重要。同時(shí)它還具有自動(dòng)生成目錄、自動(dòng)解壓文件等功能, 因此 Boa 具有很高的 HTTP 請(qǐng)求處理速度和效率, 在嵌入式系統(tǒng)中具有很高的應(yīng)用價(jià)值。4.2.2 Boa 的功能實(shí)現(xiàn)

嵌入式 Web 服務(wù)器 Boa 和普通 Web 服務(wù)器一樣, 能夠完成接收客戶端請(qǐng)求、分析請(qǐng)求、響應(yīng)請(qǐng)求、向客 戶端返回請(qǐng)求結(jié)果等任務(wù)。它的工作過(guò)程主要包括:

(a)完成 Web 服務(wù)器的初始化工作, 如創(chuàng)建環(huán)境變量、創(chuàng)建 TCP 套接字、綁定端口、開(kāi)始偵聽(tīng)、進(jìn)入循環(huán)結(jié)構(gòu), 以及等待接收客戶瀏覽器的連接請(qǐng)求;

(b)當(dāng)有客戶端連接請(qǐng)求時(shí),Web 服務(wù)器負(fù)責(zé)接收客戶端請(qǐng)求, 并保存相關(guān)請(qǐng)求信息;

(c)在接收到客戶端的連接請(qǐng)求之后,分析客戶端請(qǐng)求, 解析出請(qǐng)求的方法、基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第12頁(yè)

共33頁(yè)

URL 目標(biāo)、可選的查詢信息及表單信息, 同時(shí)根據(jù)請(qǐng)求做出相應(yīng)的處理;

(d)Web 服務(wù)器完成相應(yīng)處理后, 向客戶端瀏覽器發(fā)送響應(yīng)信息, 關(guān)閉與客戶機(jī)的TCP 連接。嵌入式 Web 服務(wù)器 Boa 根據(jù)請(qǐng)求方法的不同,做出不同的響應(yīng)。如果請(qǐng)求方法為HEAD,則直接向?yàn)g覽器返回響應(yīng)首部;如果請(qǐng)求方法為 GET,則在返回響應(yīng)首部的同時(shí),將客戶端請(qǐng)求的 URL 目標(biāo)文件從服務(wù)器上讀出,并且發(fā)送給客戶端瀏覽器;如果請(qǐng)求方法為 POST,則將客戶發(fā)送過(guò)來(lái)的表單信息傳送給相應(yīng)的 CGI 程序,作為 CGI 的參數(shù)來(lái)執(zhí)行 CGI 程序,并將執(zhí)行結(jié)果發(fā)送給客戶端瀏覽器。Boa 的功能實(shí)現(xiàn)也是通過(guò)建立連接、綁定端口、進(jìn)行偵聽(tīng)、請(qǐng)求處理等來(lái)實(shí)現(xiàn)的。4.2.3 BOA 的搭建與移植

(1)準(zhǔn)備源代碼、解壓軟件包,安裝源代碼到 boa 網(wǎng)站 http://www.tmdps.cnTB0 = DCM_TCNTB0;/* less than 10ms */ TCMPB0 = DCM_TCNTB0/2;TCON &=~(0xf);TCON |=(0x2);TCON &=~(0xf);TCON |=(0x19);})在 s3c2410_dcm_ioctl 中提供調(diào)速功能接口: case DCM_IOCTRL_SETPWM: return dcm_setpwm((int)arg);應(yīng)用程序 dcm_main.c 中調(diào)用:

ioctl(dcm_fd, DCM_IOCTRL_SETPWM,(setpwm * factor));實(shí)現(xiàn)直流電機(jī)速度的調(diào)整。a.編譯直流電機(jī)模塊 cd /arm2410s/kernel-2410s

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第20頁(yè)

共33頁(yè)

make menuconfig 進(jìn)入 Main Menu / Character devices 菜單,選擇 DC MOTOR 為模塊加載: b.編譯內(nèi)核模塊: make dep make make modules 直流電機(jī)模塊的編譯結(jié)果為:

/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o c.編譯應(yīng)用程序

cd /arm2410s/exp/basic/10_dcmotor/ make 生成 dcm_main d.掛載驅(qū)動(dòng)模塊

insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o e.運(yùn)行程序

mount –t nfs 192.168.0.xxx:/arm2410s /host insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o cd /host/exp/basic/10_dcmotor/./dcm_main 程序運(yùn)行結(jié)果:直流電機(jī)轉(zhuǎn)動(dòng) 1 秒,停轉(zhuǎn) 1 秒。由于是根據(jù)原有變速程序稍做改動(dòng)完成的程序,所以遇到的問(wèn)題不是很多,經(jīng)過(guò)幾次嘗試就得到了期望的結(jié)果。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第21頁(yè)

共33頁(yè)

5.3 調(diào)試結(jié)果分析

5.3.1 調(diào)試結(jié)果

1、靜態(tài)網(wǎng)頁(yè)

圖 5.1 靜態(tài)網(wǎng)頁(yè)

2、乘法網(wǎng)頁(yè)

圖 5.2 乘法網(wǎng)頁(yè)

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第22頁(yè)

共33頁(yè)

3、電機(jī)控制網(wǎng)頁(yè)

圖 5.3 電機(jī)控制網(wǎng)頁(yè)

圖 5.4 返回結(jié)果

5.3.2 結(jié)果分析

經(jīng)過(guò) x86 下的調(diào)試和基于 ARM 的下載與調(diào)試后,系統(tǒng)能夠?qū)崿F(xiàn)靜態(tài)網(wǎng)頁(yè)瀏覽,簡(jiǎn)單人機(jī)交互以及電機(jī)控制的功能,系統(tǒng)工作穩(wěn)定,響應(yīng)速度快,組網(wǎng)方便快捷,如果與 DNS 服務(wù)器或者 WINS 服務(wù)器相結(jié)合即可實(shí)現(xiàn)用主機(jī)名就能登錄相應(yīng)平臺(tái)的功能。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第23頁(yè)

共33頁(yè)設(shè)計(jì)總結(jié)

經(jīng)過(guò)三個(gè)周的學(xué)習(xí)與努力,經(jīng)過(guò)系統(tǒng)分析、方案論證、硬件和軟件設(shè)計(jì)、調(diào)試 等階段完成了基于 web 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)制作。在這三個(gè)周的課程設(shè)計(jì)中,我得到了老師和同學(xué)很大的幫助,有時(shí)候覺(jué)得進(jìn)行不下去了,老師或同學(xué)一句話就能讓我茅塞頓開(kāi)。即使聽(tīng)不懂,他們也會(huì)耐心的講解。

在系統(tǒng)的設(shè)計(jì)制作過(guò)程中,確實(shí)遇到了各種各樣的問(wèn)題,如調(diào)試思路正確但是沒(méi)有能夠進(jìn)行找到合適的方法進(jìn)行進(jìn)一步的實(shí)驗(yàn),設(shè)計(jì)中對(duì)于程序的編寫(xiě)以及目錄結(jié)構(gòu)的認(rèn)知上存在偏差,其主要原因還是基礎(chǔ)功不扎實(shí),把握系統(tǒng)的能力不足,這為我們以后的學(xué)習(xí)和工作提了一個(gè)醒。在問(wèn)題的解決過(guò)程中,也提高了組員的動(dòng)手動(dòng)腦能力,學(xué)到了許多在書(shū)本上學(xué)不到的知識(shí)。在具體的設(shè)計(jì)當(dāng)中解決了諸如 boa 服務(wù)器的搭建,C 程序的修改及 CGI編程的理解,程序的調(diào)試和系統(tǒng)的整體認(rèn)識(shí)等問(wèn)題,小組成員收獲很大。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第24頁(yè)

共33頁(yè)

致謝

在這次課程設(shè)計(jì)中,學(xué)校和學(xué)院給予了大力的支持,提供了與設(shè)計(jì)有關(guān)的環(huán)境,方便了課程設(shè)計(jì)的順利進(jìn)行。在這其中我確實(shí)學(xué)到了很多知識(shí),在此僅代表個(gè)人衷心的感謝學(xué)校和學(xué)院的大力支持。本論文是在指導(dǎo)老師蔡爍的悉心指導(dǎo)和嚴(yán)格要求下完成的。在整個(gè)課程設(shè)計(jì)過(guò)程中,蔡爍老師時(shí)時(shí)督促和引導(dǎo),并在設(shè)計(jì)過(guò)程中進(jìn)行了方向指導(dǎo),在總體方向不出錯(cuò)的基礎(chǔ)上,施展自己的所學(xué),發(fā)揮個(gè)人的所長(zhǎng)。他不僅在學(xué)習(xí)上和生活上給予了我們多方面的指導(dǎo)和無(wú)微不至的關(guān)懷,而且他淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、孜孜不倦的工作作風(fēng)和寬以待人的處事風(fēng)格使我終身受益,并且還從中學(xué)會(huì)了分析問(wèn)題和解決問(wèn)題的方法此外,在本次設(shè)計(jì)過(guò)程中,還得到了其他老師和的熱情關(guān)心和幫助,值此論文完成之際,謹(jǐn)向老師表示崇高的敬意和最誠(chéng)摯的謝意。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第25頁(yè)

共33頁(yè)

參考文獻(xiàn)

[1]鄭靈翔編著 《嵌入式 LINUX 系統(tǒng)設(shè)計(jì)》 北京航空航天大學(xué) 2008 年 [2]孫紀(jì)坤、張小全編著 《嵌入式 LINUX 系統(tǒng)開(kāi)發(fā)技術(shù)詳解-基于 ARM》人民郵電出版社 2007.9、[3]王進(jìn)德 編著 《嵌入式 LINUX 程序設(shè)計(jì)與應(yīng)用案例》 中國(guó)電力出版社 2007.5 [4]鄭慕德 編著 《嵌入式微型計(jì)算機(jī)系統(tǒng)實(shí)例教程-ARM 與 LINUX》 科學(xué)出版社2006.7 [5]劉淼 編著 《嵌入式系統(tǒng)接口設(shè)計(jì)與 LINUX 驅(qū)動(dòng)程序開(kāi)發(fā)》 北京航空航天大學(xué)出版社,2006.5 [6]魏洪興等編著 《嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開(kāi)發(fā) II-基于 ARM9 微處理器與 LINUX 操作系統(tǒng)》 清華大學(xué)出版社 2005.12 [7]魏洪興等編著 《嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開(kāi)發(fā)實(shí)驗(yàn)教材 II-基于 ARM9 微處理器與LINUX 操作系統(tǒng)》清華大學(xué)出版社 2005.12 [8]金敏等編著 《嵌入式組成、原理與設(shè)計(jì)編程》 人民郵電出版社 2007.6

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第26頁(yè)

共33頁(yè)

附錄 1 主要程序清單

乘法網(wǎng)頁(yè)的HTML表單: 測(cè)試

?測(cè)試

請(qǐng)?jiān)谙旅嫣钊氤藬?shù)和被乘數(shù),按下確定后可以看到結(jié)果

下載基于ARM的嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì).word格式文檔
下載基于ARM的嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)..doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

主站蜘蛛池模板: 女人高潮内射99精品| 影音先锋亚洲成aⅴ无码| 国内揄拍国产精品人妻电影| 精品无码三级在线观看视频| 丰满人妻精品国产99aⅴ| 蜜臀av色欲a片无码精品一区| 偷偷色噜狠狠狠狠的777米奇| 国产精品乱子乱xxxx| 国产成人精品视频网站| 10000部拍拍拍免费视频| 欧美日韩人妻精品一区二区三区| 最新中文字幕av无码专区| 妖精色av无码国产在线看| 国产精品久久国产三级国| 亚洲精品国产自在现线看| 日韩 欧美 动漫 国产 制服| 欧美乱妇日本无乱码特黄大片| 日韩成人av无码一区二区三区| 大色欧美| 处破痛哭a√18成年片免费| 国产精品乱码高清在线观看| 成·人免费午夜无码视频蜜芽| 97国产露脸精品国产麻豆| 日韩一区二区在线观看视频| 失禁大喷潮在线播放| 国产色爱av资源综合区| 午夜亚洲国产理论片_日本| 精品国产乱码久久久久久郑州公司| 亚洲精品毛片一区二区三区| 人妻熟女一二三区夜夜爱| 成a∧人片在线观看无码| 国产精品嫩草影院入口一二三| 日本高清一区二区三| 四虎国产精品成人影院| 亚洲a∨无码国产精品久久网| 欧美真人做爰在线观看| 国产丰满老熟妇乱xxx1区| 色情久久久av熟女人妻网站| 国产在线精品一区二区不卡| 国产精品亚洲一区二区三区在线| 亚洲国产精品一区二区成人片国内|