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

基于ARM嵌入式的遠程監控系統設計

時間:2019-05-13 02:08:24下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《基于ARM嵌入式的遠程監控系統設計》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《基于ARM嵌入式的遠程監控系統設計》。

第一篇:基于ARM嵌入式的遠程監控系統設計

基于ARM嵌入式的遠程監控系統設計

摘要:基于ARM 內核的嵌入式系統在遠程監控報警系統中的設計實現與應用。核心部分主要包 括 ARM 嵌入式平臺設計及 μC-OS 嵌入式實時操作系統移植;人機交互界面 μCGUI 的設計與實現;遠程通訊及自動報警等;系統的設計還考慮到了擴展性和通用性以及與其他監控設備無縫連接等問題。

關鍵詞: ARM;μC/OS-II;μCGUI;遠程監控 引言

監控系統現已成為現代化生產、生活中不可缺少的重要組成部分。目前,監控系列產品 種類繁多,大部分廣泛應用于交通、醫院、銀行、家居、學校等安防領域。

隨著嵌入式系統的出現,尤其是基于 ARM 內核芯片的嵌入式系統的出現,使得監控系統的應用領域更為廣泛。本文設計的遠程監控報警系統除了作為安防功能外,還可以應用于以下領域:通訊領域:遠程通訊、視頻會議和視頻點播、證券、遠程教育等。醫療領域:病房監護、遠程診斷等。工業領域:遠程設備診斷、維護、維修,遠程生產監控等。家用領域:家用電器遠程維護;電、氣、火等重大事故自動報警等。

系統設計

2.1系統組成

本文設計的遠程監控系統主要由中心控制器、數據終端、傳感器模塊、通訊模塊、接口模塊等幾部分組成。系統組成圖(如圖 1)。

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

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

圖1 監控系統組成框圖

2.3數據終端 數據終端的主要功能是對監控數據進行分析、處理,及時將數據匯報給監控人員。同時,監控人員可以根據現場情況,使用數據終端對監控的設備進行遠程控制。數據終端最大優勢 就是安全、可靠、便于攜帶。一般情況下為了節約成本,可以將手機、PDA 等移動通訊設備作為數據終端使用。但是如果作為對高危環境或精密儀器的監控系統,數據終端需要專業定制。這里使用的是中心控制器的作為數據終端,即中心控制器既作為數據采集發送中心,也可數據接收處理中心使用。

2.4通訊模塊

通訊模塊主要負責遠程數據通訊。帶有 RS232/485、GPRS、CDMA 等一種或多種通訊 方式。需要根據現場環境和用戶需要進行定制。通訊模塊與控制器通過接口總線連接,連接 方式為 TTL/RS232/RS485 等。

2.5傳感器模塊

傳感器模塊的主要功能是感知外部環境,對外部環境進行實時監測。由人體紅外傳感器、振動傳感器、超聲波傳感器、可燃氣體傳感器、溫度傳感器、濕度傳感器等一種或多種傳感 器組成。可根據現場監測環境不同進行定制。

2.6接口模塊

接口模塊主要作為系統擴展功能使用,將控制器的 A/D 轉換、I2C、SPI 等多種接口進行 外部擴展。接口模塊沒有特定的功能,但可以根據需要與其他設備連接,例如可以與工業儀 器儀表或設備連接,實時對儀器或設備進行監控。

接口模塊雖然不是監控系統的主要部分,但是對于整個系統來說卻是不可缺少。因為本文的監控系統主要考慮到了系統的可擴展性和與其它系統無縫連接。通過接口模塊可以很方 便的對監控系統進行升級,并且可以實現與其他系統或設備的無縫連接。這也是本系統區優 于其他監控系統的主要功能。軟件設計

3.1工作軟件

系統的軟件設計較為復雜,這里只給出了整個工作軟件流程(如圖 2)。

圖2 軟件流程圖

3.2操作系統移植

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

3.2.1 與處理器相關的代碼

這是移植中最關鍵的部分。內核將應用系統和底層硬件有機的結合成一個實時系統,要 使同一個內核能適用于不同的硬件體系,就需要在內核和硬件之間有一個中間層,這就是與 處理器相關的代碼。處理器不同。這部分代碼也不同。我們在移植時需要自己移植這部分代 碼。

a)OS_CPU.H

包括了用#define 定義的與處理器相關的常量,宏和類型定義,有系統數據類型定義,棧 增長方向定義,關中斷和開中斷定義,系統軟中斷的定義等等。

b)OS_CPU_A.ASM

這部分需要對處理器的寄存器進行操作,所以必須用匯編語言來編寫。包括四個子函數: OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。OSStartHighRdy()在多任務系統啟動函數 OSStart()中調用。完成的功能是:設置系統運行標志位 OSRunning = TRUE;將就緒表中最高優先級任務的棧指針 Load 到 SP 中,并強制中斷返回。這樣就緒的最高優先級任務就如同從中斷里返回到運行態一樣,使得整個系統得以運轉。OSCtxSw()在任務級任 務切換函數中調用的。任務級切換是通過 SWI 或者 TRAP 人為制造的中斷來實現的。ISR 的向 量地址必須指向 OSCtxSw()。這一中斷完成的功能:保存任務的環境變量(主要是寄存器的值, 通過入棧來實現),將當前 SP 存入任務 TCB 中,載入就緒最高優先級任務的 SP,恢復就緒最高優先級任務的環境變量,中斷返回。這樣就完成了任務級的切換。OSIntCtxSw()在退出中斷 服務函數 OSIntExit()中調用,實現中斷級任務切換.由于是在中斷里調用,所以處理器的寄存器入棧工作已經做完,就不用作這部分工作了。具體完成的任務;調整棧指針(因為調用函數會使任務棧結構與系統任務切換時堆棧標準結構不一致),保存當前任務 SP,載入就緒 最高優先級任務的 SP,恢復就緒最高優先級任務的環境變量,中斷返回。這樣就完成了中斷級任務切換。OSTickISR()系統時鐘節拍中斷服務函數,這是一個周期性中斷,為內核提供

時鐘節拍。頻率越高系統負荷越重。其周期的大小決定了內核所能給應用系統提供的最小時 間間隔服務。一般只限于 ms 級(跟 MCU 有關),對于要求更加苛刻的任務需要用戶自己建立中斷來解決.該函數具體內容:保存寄存器(如果硬件自動完成就可以省略),調 OSIntEnter(),調用 OSTimeTick(),調用 OSIntExit(),恢復寄存器,中斷返回。

c)OS_CPU_C.C

該文件中共定義了 6 個函數,但是最重要的是 OSTaskStkInit().其他都是對系統內核的擴展 時用的.OSTaskStkInit()是在用戶建立任務時系統內部自己調用的,對用戶任務的堆棧進行初始化。使建立好的進入就緒態任務的堆棧與系統發生中斷并且將環境變量保存完畢時 的棧結構一致。這樣就可以用中斷返回指令使就緒的任務運行起來。

3.2.2與應用相關的代碼

這部分包括兩個文件:OS_CFG.H, INCLUDES.H。用戶根據自己的應用系統來定制合適 的內核服務功能。OS_CFG.H 來配置內核,用戶根據需要對內核進行定制,留下需要的部分,去掉不需要的部分,設置系統的基本情況。比如系統可提供的最大任務數量,是否定制郵箱服務,是否需要系統提供任務掛起功能,是否提供任務優先級動態改變功能等等。INCLUDES.H 系統頭文件,整個實時系統程序所需要的文件,包括了內核和用戶的頭文件。

3.3用戶圖形接口

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

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

3.4關于字庫的兼容性問題

我們國內通常使用的漢字字庫是 GB 碼,但國際上使用的是 UNICODE 碼,所以如果數據終端使用的是手機、PDA 等移動通信設備,那么在數據發送前必須進行字碼轉換,即 GB 碼 轉換為 UNICODE 碼或者 UNICODE 碼轉換為 GB 碼。由于 GB 碼與 UNICODE 碼在排列組合上沒有任何規律,所以通常字碼轉換的方法就是 查表法。

4結束語

基于 ARM9 嵌入式系統的遠程監控系統與以往的監控系統不同,高性能的處理器芯片大大提高了系統的性能。使監控系統能夠工作在比較惡劣的環境中。并且在設計上充分考慮到了系統的可擴展性和兼容性問題,實現了本系統與其他系統的無縫連接。以滿足不同工作環 境的需要。

作者創新觀點:本文設計的遠程監控系統應用范圍更廣,更靈活、方便。通過各個功能模塊 的不同組合,可以十分方便快速的應用于各個領系域,真正實現智能化、自動化且具有較高 的性價比。

第二篇:基于ARM的嵌入式智能家居遠程監控系統設計.

摘要

科技改變生活,科技為人類帶來了更舒適更方便的解決方案,智能家居是現代化科技的體現,智能家居也正是在應人們需求下而產生的。

本設計的內容是設計一個基于ARM的智能家居遠程監控系統。整個硬件控制系統有以下模塊:控制主機STM32F103VET6、無線短信收發模塊GPRS(遠程監控的主要模塊)、用于顯示的LCD1602液晶顯示屏(顯示測量出來的溫濕度值)、測量外部環境溫濕度的溫濕度傳感器DHT11,異步電機28BYJ-48(模擬控制窗簾收放用到的控制器)、蜂鳴器(報警用)、LED燈(模擬室內各種燈)、繼電器(模擬室內各種電器的控制開關)。

溫濕度傳感器測量出來的溫濕度數值通過LCD1602來顯示,當超過設定的閾值將通過GPRS模塊發送警報短信到指定的手機上,同時也可以由手機發送特定短信到GPRS上控制LED燈的亮滅、控制28BJY-48步進電機的正反轉、讀取當前室內的溫濕度并發送回手機上,實現遠程監控的。關鍵詞 智能家居;遠程監控;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國外的發展動態.......................................................................................1 1.3 國內的發展動態......................................................................................2 1.4 本文各章主要安排..................................................................................2 第2章 各個硬件模塊的說明............................................................................3 2.1 主控模塊..................................................................................................3 2.1.1 STM32的系統架構............................................................................3 2.1.2 STM32F103VET6的內部資源..........................................................4 2.2短信收發模塊GPRS................................................................................7 2.3溫濕度測量模塊.......................................................................................8 2.3.1 DHT11的引腳說明............................................................................8 2.3.2 DHT11的工作原理............................................................................9 2.4 溫濕度液晶顯示模塊LCD1602............................................................11 2.4.1 LCD1602的管腳說明......................................................................12 2.4.2 LCD1602的特性..............................................................................12 2.4.3 LCD1602的基本指令......................................................................12 2.5 收放窗簾模塊步進電機28BJY-48.......................................................14 2.5.1 步進電機的工作原理......................................................................14 2.5.2 步進電機的引腳接線......................................................................14 2.6 本章小結................................................................................................15 第3章 硬件系統的設計..................................................................................16 3.1 直流穩壓電源的設計............................................................................16 3.2 STM32最小系統的設計........................................................................17 3.2.1電源的供電方案...............................................................................17 3.2.2 晶振電路..........................................................................................17 3.2.3 復位電路..........................................................................................18 III 3.2.4 串口驅動電路...................................................................................18 3.3 步進電機、繼電器驅動電路設計.........................................................19 3.4 本章小結.................................................................................................20

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

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

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

在家居智能化系統研發方面,美國及一些西方國家一直處于領先地位。近年來,以摩托羅拉公司及美國微軟公司等為首的一些國外知名企業,先后加入到智能家居系統的研發中。比如:摩托羅拉公司開發出來的“居所之門”、微軟公司開發出來的“夢幻之家”、IBM公司開發出來的“家庭主任”等都以日趨成穩的技術霸占家居市場。此外,亞洲國家日本、韓國、新加坡等國 的領頭大企業也紛紛致力于家居智能化的研發,對家居市場更是躍躍欲試。1.3 國內的發展動態

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

我國的智能家居建設相對于國外起步比較晚,尚未形成一定的國家標準。國內各大硬、軟件企業機構正在積極的研發更為符合市場的智能家居化產品,以解決我國當前智能化設備使用復雜、產品價格昂貴及實用性差等缺點,而技術創新能力也逐漸向國際先進水平靠攏,這樣智能家居的未來值得我們期待[3-4]。1.4 本文各章主要安排

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

第三章主要介紹了硬件系統的設計,重點描述各個功能模塊電路圖的設計及其功能。

第四章主要介紹了控制系統軟件程序的設計,主要有主函數及TIM2中斷處理函數的程序設計,GPRS來信中斷處理函數的設計以及GPRS的AT指令的PDU編碼過程。其中給出了主要程序代碼及其程序流程圖。第2章 各個硬件模塊的說明 第2章 各個硬件模塊的說明 2.1 主控模塊

本設計整個系統的主控芯片選擇的具有ARM內核Cortex-M3的STM32F103VET6。該芯片屬于增強型的32位高性能微控制器,具有100引腳和高達512K字節的閃存存儲器。2.1.1 STM32的系統架構

STM32VET6的系統架構包含4個驅動單元:Cortex-M3內核Dcode總線、系統總線、通用DMA1和通用DMA2;4個被動單元:內部閃存存儲器Flash、內部數據存儲器SRAM、FSMC和AHB到APB的橋。這些單元都是通過一個多級的AHB總線構架相互連接的,如圖2-1所示。

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

DCode: 該總線將閃存存儲器的數據接口和Cortex-M3內核的數據總線相連接(常量加載和調試訪問)。

系統總線: 此總線連接Cortex-M3內核的系統總線到總線矩陣,總線矩陣協調著DMA與內核之間的訪問。

DMA總線: 此總線將DMA的AHB主控接口與總線矩陣相聯,總線矩陣協調著CPU的DCode和DMA到 內部閃存存儲器Flash、內部數據存儲器SRAM和外設的訪問。

總線矩陣: 該矩陣協調DMA主控總線與內核系統總線間的訪問與仲裁,仲裁采用輪換算法。總線矩陣包含4個驅動部件和4個被動部件。AHB外設通過總線矩陣與系統總線相連,允許DMA訪問。

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

圖2-1 STM32系統架構

2.1.2 STM32F103VET6的內部資源

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

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

(2)存儲器:512KB的閃存程序存儲器;64K字節的靜態數據存儲器 5

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

(a)三種不同的時鐘源可被用來驅動系統時鐘(SYSCLK):1)HSI振蕩器時鐘;2)HSE振蕩器時鐘;3)PLL時鐘。

(b)STM32的工作電壓(VDD)為2.0~3.6V,通過內置的電壓調節器提供所需的1.8V電源;

(c)獨立的A/D轉換器供電和參考電壓;

(d)一個完整的上電復位(POR)和掉電復位(PDR)電路;(e)可有3種不同工作模式的電壓調節器;(f)可編程電壓監測器(PVD)。

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

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

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

(e)系統控制寄存器的實現。

(7)模擬/數字轉換(ADC):12位的ADC是一種逐次逼近型模擬數字轉換器,它有多達18個通道,可測量16個外部和2個內部信號源。

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

(c)一個實時時鐘、兩個看門狗定時器和一個系統滴答定時器(Systick)。

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

第三篇:基于嵌入式ARM的遠程視頻監控系統研究.

基于嵌入式ARM的遠程視頻監控系統研究

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

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

【作者相關信息搜索】: 南京理工大學;控制理論與控制工程;陳青林;李保國;

第四篇:嵌入式系統ARM實驗報告

南京郵電大學通信與信息工程學院

實驗報告

實驗名稱:實驗一基于ADS開發環境的設計

實驗二嵌入式Linux交叉開發環境的建立 實驗三嵌入式Linux環境下的程序設計

課程名稱嵌入式系統B

班級學號B13010711 姓名馬俊民

開課時間 2015/2016學年第1學期

實驗一基于ADS開發環境的程序設計

一、實驗目的

1、學習ADS開發環境的使用;

2、學習和掌握ADS環境下的匯編語言及C語言程序設計;

3、學習和掌握匯編語言及C語言的混合編程方法。

二、實驗內容

1、編寫和調試匯編語言程序;

2、編寫和調試C語言程序;

3、編寫和調試匯編語言及C語言的混合程序;

4、編寫程序測試多寄存器傳送指令的用法。

三、實驗原理

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

ADS用于無操作系統的ARM系統開發,是對裸機(可理解成一個高級單片機)的開發。ADS具有極佳的測試環境和良好的偵錯功能,它可使硬件開發工作者更深入地從底層去理解ARM處理器的工作原理和操作方法,為日后自行設計打基礎,為BootLoader的編寫和調試打基礎。

1.ADS軟件的組成

ADS由命令行開發工具、ARM運行時庫、GUI開發環境(CodeWarrior和AXD)、實用程序、支持軟件等組成。

2.GUI開發環境

ADS GUI開發環境包含CodeWarrior和AXD兩種,其中Code Warrior是集成開發工具,而AXD是調試工具。

使用匯編語言進行編程簡單、方便,適用于初始化硬件代碼、啟動代碼等。匯編語言具有一些相同的基本特征:

1.一條指令一行。

2.使用標號(label)給內存單元提供名稱,從第一列開始書寫。3.指令必須從第二列或能區分標號的地方開始書寫。4.注釋必須跟在指定的注釋字符后面,一直書寫到行尾。

在ARM匯編程序中,每個段必須以AREA作為段的開始,以碰到下一個AREA作為該段的結束,段名必須唯一。程序的開始和結束需以ENTRY和END來標識。嵌入式C語言設計是利用基本的C語言知識,面向嵌入式工程實際應用進行程序設計。為了使單獨編譯的C語言程序和匯編程序之間能夠相互調用,必須為子程序之間的調用規定一定的規則。ATPCS就是ARM程序和Thumb程序中子程序調用的基本規則。

四、實驗過程與關鍵代碼分析

1.創建項目工程

在File菜單中選擇New命令,打開一個新建工程對話框。在Project選項卡下,選擇ARM Executable Image, 然后在Project name文本框里輸入項目名稱,點擊確定。彈出工程窗口。

選擇File菜單中的New命令,選擇File標簽頁,在File name文本框中輸入要創建的文件名。匯編程序以.s結尾,c程序以.c結尾。在Location文本框中指定文件的存放位置,選中Add to Project,在Targets中選中DebugRel,單擊確定關閉窗口。

2.用匯編語言設計程序實現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 在這個程序中,我們首先對R0和R1賦值,將R0作為一個變量,而R1作為一個存貯階乘值的寄存器。在每進行一次乘法之后,將R0減1。同時在做完減法后進行判斷,如果此時R0大于1,則返回繼續乘法,否則結束程序,輸出結果。

3.用調用子程序的方法實現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;} 在這個程序中,主程序由c語言完成作求和,子程序由匯編語言寫成作階乘。

5.實現字符串的逆序復制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

五、實驗小結

在這次實驗中,學會了如何使用匯編程序進行編程。對匯編程序編程一些基本的要求有了一定的了解,學習了C語言的語法和在其中調用匯編程序的方法。學會了利用CodeWarrior IDE開發C和ARM匯編代碼。學會了在AXD中進行代碼調試的方法和過程,對AXD的調試有初步的了解。,實驗二嵌入式Linux交叉開發環境的建立

一、實驗目的

1、掌握嵌入式Linux交叉開發環境的建立方法

2、學習和掌握Linux常用命令

3、學習和掌握vi編輯器的使用

二、實驗內容

1、搭建嵌入式Linux交叉開發環境

2、熟悉Linux的常用命令

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

三、實驗原理

Linux系統是UNIX系統的分支,是UNIX的微機版。Linux具有異常豐富的驅動程序資源,支持各種主流的硬件設備與技術。Linux包含了現代的UNIX操作系統的所有功能特性,這些功能包括多任務、虛擬內存、虛擬文件系統、進程間通信、對稱所處理器、多用戶支持等。

Vi編輯器是所有UNIX和Linux下的標準編輯器。它包含3種工作模式。嵌入式系統是專用的計算機系統,它對系統的功能、可靠性、成本、體積、功耗等有嚴格的要求。大部分嵌入式系統沒有大容量存儲設備,一般不能安裝大型開發軟件,系統的開發需要采用交叉開發模式。

四、實驗過程與關鍵代碼分析

實驗用的是UP-NetARM2410-S試驗箱,里面配有三星的芯片S3c2410X。打開電腦上VMWare軟件,在Windows系統下啟動虛擬機里的Linux系統。接著需要

1.宿主機的環境搭建

下載并運行VMWare,根據向導創建一臺新虛擬機并選擇Linux作為客戶操作系統,再根據向導安裝RedHat Linux 9.0。

2.虛擬機中啟動Linux操作系統

使用root登陸,用戶名為root,密碼為123456。之后對共享文件設置進行調整:打開settings界面,打開shared folders功能,同時將路徑設置到有課前下載的軟件的目錄下。

3.開發工具軟件的安裝(1)安裝gcc 打開Linux后,打開終端窗口,在共享的目錄下找到install.sh并運行,命令如下: ls./ install.sh 安裝程序將自動建立/arm2410s目錄,并將所有的開發軟件包安裝到/arm2410s 目錄下,同時自動配置編譯環境,建立合適的符號鏈接。安裝完成后在目錄/opt/host/armv4l/bin/下應該能看到主編譯器。(2)配置PATH路徑

vi.bash.profile 將里面PATH變量改為PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/;存盤后執行

source.bash_profile 以后armv4l-unknown-linux-gcc將被自動搜索到

4.宿主機上的開發環境配置(1)配置IP地址

ifconfig eth0 192.168.0.121 命令配置了宿主機的IP地址。然后打開網絡配置窗口,重新探測MAC地址。重新激活。(2)關閉防火墻

單擊“Red”菜單→“系統設置”→“安全級別”→打開“安全級別配置”窗口,選擇“無防火墻選項。”(3)配置NFS。

單擊“Red”菜單→“系統設置”→“服務器設置”→“服務”,在“服務配置”窗口中勾選nfs,單擊“開始”(4)NFS設置

單擊“Red”菜單→“系統設置”→“服務器設置”→“NFS服務器”,打開“NFS服務器配置”窗口,設置NFS共享。

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

5.目標機的信息輸出

Windows系統下,“開始”→“所有程序”→“附件”→“通訊”→“超級終端”,新建一個通信終端。區號、電話號碼隨意輸入。設置每秒位數為“115200”,數據位為“8”,無奇偶校驗,停止位為“1”,無數據流控制。單擊“確定”。

6.程序的運行

打開超級終端,啟動Linux,屏幕顯示:

[/mnt/yaffs] 在超級終端上執行掛載命令:

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

五、實驗小結

在這次實驗中,學會建立Linux交叉開發環境,學會了ls和vi,cd等常用的Linux命令,并掌握了Vi編輯器的使用方法。同時知道了如何在搭建失敗時尋找錯誤進行排錯。

實驗三嵌入式Linux環境下的程序設計

一、實驗目的

1、掌握嵌入式Linux環境下的程序設計方法

2、學會編寫Makefile文件

二、實驗內容

1、熟悉嵌入式教學實驗箱的使用

2、編寫C程序和Makefile文件

3、編譯程序產生可執行程序

4、完成主機的掛載和程序的執行

三、實驗原理

在嵌入式Linux環境下的程序設計方法有一下幾個步驟:

1.編寫源程序

2.編寫Makefile文件 3.編譯程序

4.運行和調試程序

5.將生產的可執行文件加入文件系統。

前三個步驟在宿主機上完成,后面的步驟在目標機上完成。

四、實驗過程與關鍵代碼分析

1.建立工作目錄

mkdir hello cd hello

2.編寫源程序

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

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

#include main(){

printf(“hello world n”);}

3.編寫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目錄下運行“make”來編譯程序。

make clean

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

5.下載調試

在宿主機上啟動nfs服務,并將/arms2410s設置為共享目錄。接下來啟動超級終端,建立通訊,掛載。

[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 掛載成功后,進入/mnt/nfs,再進入/mnt/nfs/hello,直接運行剛剛編譯生成的可執行文件Hello.o,查看運行結果

cd hello./hello 可以看見“Hello world”

只需要掛載一次便可,只要實驗箱沒有重啟,就可以一直保持連接。反復修改、編譯、調試,直至程序調試通過。

6.可執行文件加入文件系統

程序調試通過后,可以把可執行文件拖放到usr/bin目錄下,然后使用mkcramfs制作工具生成新的文件系統。當系統啟動后,就可以在相應目錄下執行可執行程序hello.五、實驗小結 在這次實驗中,學會了在嵌入式Linux環境下設計程序。同時知道了如何對目標機進行掛載。以及如何在發現掛載不成功尋找錯誤進行修改。另外在編譯文件時需要注意的也都有所了解。

實驗四多線程程序設計

一、實驗目的1、2、二、實驗內容1、2、3、4、三、實驗原理

四、實驗過程與關鍵代碼分析

五、實驗小結

3+

第五篇:基于web的嵌入式遠程監控系統

基于web的嵌入式遠程監控系統

第1頁

共33頁

基于web的嵌入式遠程監控系統

學生:劉 仁

指導老師:蔡 碩

摘要: 隨針對當前國內國外嵌入式服務器技術研究和發展情況的分析,本報告提出了將 WEB 服務器、嵌入式系統以及當前的一些嵌入式實驗板板載功能進行融合的設計思想。設計了結合 WEB 服務器技術的嵌入式監控系統。該系統具有瀏覽交互式網頁,對嵌入式平臺進行監視和控制等功能。通過本套嵌入式WEB 服務器系統,用戶可以通過 HTTP 協議方便的訪問相應的嵌入式平臺進行有效監視的同時還可以進行實時的有效控制。該系統對硬件要求極低、響應速度快、安全性好、可擴展性強等優點,具有較高的實際應用價值。該系統在智能家居、嵌入式組網等方面的應用將有較廣闊的發展前途。

關鍵詞:ARM 嵌入式系統;嵌入式 web 監控;boa 服務器;CGI 編程;Linux 操作系統

關鍵詞:自動化、奏樂器、VHDL、數字電路

基于web的嵌入式遠程監控系統

第2頁

共33頁

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的嵌入式遠程監控系統

第3頁

共33頁

引 言

嵌入式系統課程設計是本專業在學習完 C 語言、LINUX 操作系統、嵌入式系統原理與接口設計、嵌入式操作系統原理之后的專業課程設計,屬于專業課內容。通過課程設計建立嵌入式系統主體環節,嵌入式系統的最小結構和系統應用設計基本技能,培養分析和解決一些簡單的實際問題的能力,為今后畢業設計奠定基礎。隨著嵌入式技術的發展和高速寬帶網絡的普及, 利用網絡實現遠程監控已為人們廣泛接受, 嵌入式網絡監控技術正是在此條件下逐步發展成熟起來的。用戶使用 Web 瀏覽器, 通過以太網遠程訪問內置 Web 服務器的監控攝像機, 不但可以實現對現場的遠程視頻監控, 而且可以向監控現場發送指令。在整個系統的實現過程中, 嵌入式 Web 服務器起著十分重要的作用。本課題就是基于該項技術,最終編程實現通過網絡控制下位機嵌入式控制器的電機啟動和停止。

1.1研究目的和意義

1、通過嵌入式課程設計,熟練掌握 C 語言的編程方法。基于 WEB 的遠程監控的實現,CGI 的編寫和使用,將理論聯系到實踐中去,提高我們的動腦和動手的能力。

2、通過基于 WEB 的嵌入式遠程監控系統的設計,掌握 S3C2410 實驗箱,直流電機的工作原理,BOA 服務器的使用,CGI 的使用和簡單程序的編寫及調試方法,最終提高我們的動手實踐能力。

3、本課題的研究目的是用 BOA 服務器、CGI、IE 瀏覽器設計一個通過 IE 瀏覽器監控電機的系統,能夠通過兩個簡單的按鍵對電機進行啟動和停止的控 3

基于web的嵌入式遠程監控系統

第4頁

共33頁

制,并能夠在 IE 瀏覽器上看到電機的當前狀態。

4、由于基于 WEB 的嵌入式遠程監控系統將成為今后遠程監控技術發展的主流方向,所以需要設計出簡單實用,讓人們更滿意的產品。

1.2 本設計任務和主要內容

1.基本要求

本課題主要設計和研究基于WEB的嵌入式遠程監控系統,要求在保證可靠運行的前提下,電路設計盡量簡潔緊湊,以減小成本、提高系統的效率和安全性。

2.應解決的問題 1)設計系統網絡方案

2)分析網絡程序結構和應用程序的使用方法 3)編程實現嵌入式系統服務器功能 4)編程實現嵌入式系統聯網功能

5)編程實現通過網絡控制下位機嵌入式控制器的電機啟動和停止

3.擴展功能

演奏時可以通過按鍵選擇是手動演奏還是自動演奏,手動演奏是通過按鍵進行簡易樂曲的演奏。

基于web的嵌入式遠程監控系統

第5頁

共33頁總體方案設計

2.1 整體方案設計

系統總體設計是基于嵌入式系統和 WEB 服務器結合的思想開發的,其網絡拓撲結構如圖 2.1 所示

圖 2.1 系統網絡拓撲圖

針對本次課程設計提出的系統設計如圖 2.2 所示

圖 2.2 系統方案框圖

基于web的嵌入式遠程監控系統

第6頁

共33頁

2.2 硬件系統設計

2.3.1 核心處理器的選擇

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

2.3 軟件環境選擇

2.3.1 操作系統的選擇

當選定了硬件系統后,為了配合硬件達到系統的最優控制要求,對市面上常用的嵌入式系統進行分析比較。

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

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

基于web的嵌入式遠程監控系統

第7頁

共33頁

在遵循GPL 聲明的前提下可以自由地修改、移植,為系統的開發和調試帶來極大的便利;winCE是部分源碼開放的商用操作系統,如果要修改其中的代碼,需獲得微軟公司的授權;uc/os—II 也是開放的實時操作系統。

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

WinCE 僅支持 Windows 系列的 FAT16、有限文件系統;uc/os—II 本身沒有包括文件系統,需購買或移植。Linux 與 ARM 處理器從以上可以看出,Linux 系統在諸多方面都存在優勢,而且本身的 ARM 處理器與 Linux 也有著緊密的聯系。因此采用 Linux 操作系統。2.3.2 服務器的選擇

典型的嵌入式 Web 服務器有 Boa 和 thttpd 兩種,它們和 Apache 等高性能的 Web 服務器主要的區別在于它們一般是單進程服務器,只有在完成一個用戶請求后才能響應另一個用戶的請求,而無法并發響應,但這在嵌入式設備的應用場合里已經足夠了。Boa 是一個非常小巧的 Web 服務器,可執行代碼只有約 60KB。它是一個單任務 Web服務器,只能依次完成用戶的請求,而不會 fork 出新的進程來處理并發連接請求。但 Boa支持 CGI,能夠為 CGI 程序 fork 出一個進程來執行。Boa 的設計目標是速度和安全,在其站點公布的性能測驗中,Boa 的性能要好于 Apache 服務器。經過上述的對比和判斷,選擇Boa 作為系統的嵌 入式服務器。

綜合以上的討論以及選擇,根據系統的實際需求,最終確定了采用 S3C2410X 為核心處理器,Linux 為嵌入式操作系統,boa 為服務器以及相應的 http 瀏覽器的系統設計方案。

基于web的嵌入式遠程監控系統

第8頁

共33頁硬件設計

3.1 系統硬件平臺介紹

我們所介紹的硬件平臺是基于 ARM 體系結構,由北京博創興業科技有限公司開發的UP-NetARM2410-S 實驗儀器。UP-NetARM2410-S 的 CPU 為 ARM920T 內核的三星S3c2410 芯片,由于有 MMU(內存管理單元)可以運行標準的 ARM-LINUX 內核。通過這個平臺,我們可以實現嵌入式 LINUX 中的針對無 MMU 的開發過程。

3.2 s3c2410 芯片介紹

圖 3.1 芯片結構圖

基于web的嵌入式遠程監控系統

第9頁

共33頁

3.3 ARM 處理器的外圍設備

3.3.1 電源電路

設備提供 12v 的電源,經 LM1085-3.3V 和 AS1117-1.8V 分別得到 3.3V 和 1.8V 的工作電壓。開發板上的芯片多數使用了 3.3V 電壓,而 1.8V 是供給 S3C2410 內核使用的。5V 電壓供給 LCD、電機、總線等電路使用。

圖 3.2 電源電路

3.3.2 硬件復位電路

硬件復位電路由IMP811T構成,實現對電源電壓的監控和手動復位操作。2410-S主板復位電路設置專用邏輯:IMP811T 的復位電平可以使CPU JTAG(nTRST和板級系統(nRESET)全部復位;來自仿真器的ICE_nSRST 信號只能使板級復位;來自仿真器的ICE_nTRST 可以使JTAG(nTRST)復位,通過跳線選擇是否使板級nRESET復位。nRESET反相后得到RESET 信號。硬件復位電路如圖3.3所示

基于web的嵌入式遠程監控系統

第10頁

共33頁

圖3.3 硬件復位

基于web的嵌入式遠程監控系統

第11頁

共33頁軟件設計

4.1 設計思想

基于 web 的嵌入式監控系統設計主要的功能有簡單的網頁瀏覽,實現簡單應用功能(客戶端與服務器的交互)以及服務器端的控制功能。因此軟件的設計分為三個部分:boa 服務器的搭建、應用程序設計和驅動程序的加載。

4.2 BOA 服務器的簡介與搭建

4.2.1 嵌入式 Web 服務器 Boa 的特點

Boa 是一款單任務的 HTTP 服務器, 與其他傳統的 Web 服務器不同的是當有連接請求到來時, 它并不為每個連接單獨創建進程, 也不通過復制自身進程來處理多鏈接, 而是通過建立 HTTP 請求列表來處理多路 HTTP 連接請求, 同時它只為 CGI 程序創建新的進程,這樣就在最大程度上節省了系統資源, 這對嵌入式系統來說至關重要。同時它還具有自動生成目錄、自動解壓文件等功能, 因此 Boa 具有很高的 HTTP 請求處理速度和效率, 在嵌入式系統中具有很高的應用價值。4.2.2 Boa 的功能實現

嵌入式 Web 服務器 Boa 和普通 Web 服務器一樣, 能夠完成接收客戶端請求、分析請求、響應請求、向客 戶端返回請求結果等任務。它的工作過程主要包括:

(a)完成 Web 服務器的初始化工作, 如創建環境變量、創建 TCP 套接字、綁定端口、開始偵聽、進入循環結構, 以及等待接收客戶瀏覽器的連接請求;

(b)當有客戶端連接請求時,Web 服務器負責接收客戶端請求, 并保存相關請求信息;

(c)在接收到客戶端的連接請求之后,分析客戶端請求, 解析出請求的方法、基于web的嵌入式遠程監控系統

第12頁

共33頁

URL 目標、可選的查詢信息及表單信息, 同時根據請求做出相應的處理;

(d)Web 服務器完成相應處理后, 向客戶端瀏覽器發送響應信息, 關閉與客戶機的TCP 連接。嵌入式 Web 服務器 Boa 根據請求方法的不同,做出不同的響應。如果請求方法為HEAD,則直接向瀏覽器返回響應首部;如果請求方法為 GET,則在返回響應首部的同時,將客戶端請求的 URL 目標文件從服務器上讀出,并且發送給客戶端瀏覽器;如果請求方法為 POST,則將客戶發送過來的表單信息傳送給相應的 CGI 程序,作為 CGI 的參數來執行 CGI 程序,并將執行結果發送給客戶端瀏覽器。Boa 的功能實現也是通過建立連接、綁定端口、進行偵聽、請求處理等來實現的。4.2.3 BOA 的搭建與移植

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

ioctl(dcm_fd, DCM_IOCTRL_SETPWM,(setpwm * factor));實現直流電機速度的調整。a.編譯直流電機模塊 cd /arm2410s/kernel-2410s

基于web的嵌入式遠程監控系統

第20頁

共33頁

make menuconfig 進入 Main Menu / Character devices 菜單,選擇 DC MOTOR 為模塊加載: b.編譯內核模塊: make dep make make modules 直流電機模塊的編譯結果為:

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

cd /arm2410s/exp/basic/10_dcmotor/ make 生成 dcm_main d.掛載驅動模塊

insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o e.運行程序

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 程序運行結果:直流電機轉動 1 秒,停轉 1 秒。由于是根據原有變速程序稍做改動完成的程序,所以遇到的問題不是很多,經過幾次嘗試就得到了期望的結果。

基于web的嵌入式遠程監控系統

第21頁

共33頁

5.3 調試結果分析

5.3.1 調試結果

1、靜態網頁

圖 5.1 靜態網頁

2、乘法網頁

圖 5.2 乘法網頁

基于web的嵌入式遠程監控系統

第22頁

共33頁

3、電機控制網頁

圖 5.3 電機控制網頁

圖 5.4 返回結果

5.3.2 結果分析

經過 x86 下的調試和基于 ARM 的下載與調試后,系統能夠實現靜態網頁瀏覽,簡單人機交互以及電機控制的功能,系統工作穩定,響應速度快,組網方便快捷,如果與 DNS 服務器或者 WINS 服務器相結合即可實現用主機名就能登錄相應平臺的功能。

基于web的嵌入式遠程監控系統

第23頁

共33頁設計總結

經過三個周的學習與努力,經過系統分析、方案論證、硬件和軟件設計、調試 等階段完成了基于 web 的嵌入式遠程監控系統的設計制作。在這三個周的課程設計中,我得到了老師和同學很大的幫助,有時候覺得進行不下去了,老師或同學一句話就能讓我茅塞頓開。即使聽不懂,他們也會耐心的講解。

在系統的設計制作過程中,確實遇到了各種各樣的問題,如調試思路正確但是沒有能夠進行找到合適的方法進行進一步的實驗,設計中對于程序的編寫以及目錄結構的認知上存在偏差,其主要原因還是基礎功不扎實,把握系統的能力不足,這為我們以后的學習和工作提了一個醒。在問題的解決過程中,也提高了組員的動手動腦能力,學到了許多在書本上學不到的知識。在具體的設計當中解決了諸如 boa 服務器的搭建,C 程序的修改及 CGI編程的理解,程序的調試和系統的整體認識等問題,小組成員收獲很大。

基于web的嵌入式遠程監控系統

第24頁

共33頁

致謝

在這次課程設計中,學校和學院給予了大力的支持,提供了與設計有關的環境,方便了課程設計的順利進行。在這其中我確實學到了很多知識,在此僅代表個人衷心的感謝學校和學院的大力支持。本論文是在指導老師蔡爍的悉心指導和嚴格要求下完成的。在整個課程設計過程中,蔡爍老師時時督促和引導,并在設計過程中進行了方向指導,在總體方向不出錯的基礎上,施展自己的所學,發揮個人的所長。他不僅在學習上和生活上給予了我們多方面的指導和無微不至的關懷,而且他淵博的學識、嚴謹的治學態度、孜孜不倦的工作作風和寬以待人的處事風格使我終身受益,并且還從中學會了分析問題和解決問題的方法此外,在本次設計過程中,還得到了其他老師和的熱情關心和幫助,值此論文完成之際,謹向老師表示崇高的敬意和最誠摯的謝意。

基于web的嵌入式遠程監控系統

第25頁

共33頁

參考文獻

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

基于web的嵌入式遠程監控系統

第26頁

共33頁

附錄 1 主要程序清單

乘法網頁的HTML表單: 測試

?測試

請在下面填入乘數和被乘數,按下確定后可以看到結果

下載基于ARM嵌入式的遠程監控系統設計word格式文檔
下載基于ARM嵌入式的遠程監控系統設計.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    基于嵌入式Web的遠程監控系統設計(5篇)

    基于嵌入式Web的遠程監控系統設計 摘 要:本文結合機房環境設備的管理需要,分析了遠程監控系統的特點,提出基于嵌入式Web服務器的遠程監控系統設計思路、體系架構方法,并對基于OP......

    基于嵌入式Linux遠程圖像監控系統的設計

    本文由wangyong1179貢獻 pdf文檔可能在WAP端瀏覽體驗不佳。建議您優先選擇TXT,或下載源文件到本機查看。 2010年第 11期 文章編號: 1006 2475( 2010) 11 0031 04 計 算......

    基于嵌入式網絡設備的遠程監控系統設計(樣例5)

    基于嵌入式網絡設備的遠程監控系統設計 摘要: 針對目前大量嵌入式網絡設備應用于工業控制的監控領域,監控網絡的性能、帶寬、成本成為目前工業控制領域普遍關心的問題。而影響......

    基于嵌入式ARM平臺的遠程IO數據采集系統的研究和開發.

    Research and Development of the Remote I/O Data Acquisition System Based on Embedded ARM Platform INTRODUCTION With the wide use of the networked, intelligent......

    ARM嵌入式系統的問題總結分析.

    ARM嵌入式系統的問題總結分析 摘要:本文是作者關于嵌入式系統一些基本問題的思考和總結。主要是從嵌入式處理器與硬件、ARM處理器的優勢、嵌入式軟件、嵌入式系統教學等方面......

    基于ARMlinux的嵌入式遠程測控系統設計.

    基于ARM linux的嵌入式遠程測控系統設計基于ARM linux的嵌入式遠程測控系統設計 類別:嵌入式系統前言 目前,大多數遠程測控系統中,系統的硬件采用8/16位的單片機,軟件多采用匯編......

    基于ARM的嵌入式RIFD讀寫器設計.

    基于ARM的嵌入式RIFD讀寫器設計 基于ARM的嵌入式RIFD讀寫器設計 類別:汽車電子摘要:RFID(Radio Frequency Identification)系統是高效的信息識別、采集系統。本文選用射頻芯片......

    嵌入式遠程醫療監護系統(范文模版)

    嵌入式遠程醫療監護系統 嵌入式醫療監護系統設計 一、整體設計 MSP430系列單片機是美國德州儀器(TI)1996年開始推向市場的一種16位超低耗(具有精簡指令集的混合信號處理器(Mixed......

主站蜘蛛池模板: 欧美va亚洲va在线观看| 97影院理论片手机在线观看| 欧美日本日韩aⅴ在线视频| 亚洲精品综合欧美一区二区| 亚洲中文字幕无码av永久| 国产精品天干天干在线综合| 国产黑色丝袜在线观看下| 国内露脸中年夫妇交换| 麻豆国产av穿旗袍强迫女佣人| 久久久久噜噜噜亚洲熟女综合| 久久99青青精品免费观看| 无遮挡十八禁污污网站在线观看| 亚洲日本va午夜在线影院| 国产精品成人免费视频一区| 久久水蜜桃亚洲av无码精品麻豆| 精品无码一区在线观看| 一区二区三区精品视频免费播放| 伊人久久大香线蕉av网| 亚洲精品无码久久久久去q| 亚洲国产制服丝袜无码av| 亚洲另类激情综合偷自拍图| 不卡无码人妻一区二区三区| 国产99久久久国产精品免费看| 日产精品卡三卡在线| 自偷自拍亚洲综合精品第一页| 玩弄少妇人妻中文字幕| 欧美猛男军警gay自慰| 国内揄拍国内精品少妇国语| 久章草在线无码视频观看| 精品精品国产高清a毛片| 国产精品 无码专区| 狠狠色噜噜狠狠狠777米奇小说| 久久人妻无码一区二区三区av| 欲色影视天天一区二区三区色香欲| 国产丝袜在线精品丝袜| 久久国产精品精品国产色婷婷| 欧美牲交a欧美牲交aⅴ| 欧美v国产v亚洲v日韩九九| 久久99精品久久久久久9蜜桃| 91娇羞????白丝| 97人妻天天爽夜夜爽二区|