版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 深 圳 大 學(xué)</b></p><p><b> 本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p> 基于ARM Linux設(shè)備的遠(yuǎn)程控制設(shè)計(jì)</p><p> 所在學(xué)院
2、 </p><p> 專業(yè)班級(jí) 電子信息工程 </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月
3、 </p><p> 深圳大學(xué)本科畢業(yè)論文(設(shè)計(jì))誠(chéng)信聲明</p><p> 本人鄭重聲明:所呈交的畢業(yè)論文(設(shè)計(jì)),題目《基于ARM LINUX設(shè)備的遠(yuǎn)程控制設(shè)計(jì)》是本人在指導(dǎo)教師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式注明。除此之外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的作品成果。本人完全意識(shí)到本聲明的法律結(jié)果
4、。</p><p> 畢業(yè)論文(設(shè)計(jì))作者簽名:</p><p> 日期: 年 月 日</p><p><b> 目 錄</b></p><p><b> 摘要(關(guān)鍵詞)1</b></p><p><b> 1.前言2<
5、;/b></p><p> 1.1 研究背景2</p><p> 1.2 研究意義及發(fā)展趨勢(shì)2</p><p> 1.3 論文概述3</p><p><b> 2.系統(tǒng)介紹3</b></p><p> 2.1 系統(tǒng)概述3</p><p> 2.2
6、 Web 服務(wù)器主控模塊4</p><p> 2.2.1 TCP/IP協(xié)議4</p><p> 2.2.2 串口通信7</p><p> 2.3 I2C協(xié)議8</p><p> 2.3.1 I2C協(xié)議概述8</p><p> 2.3.2 I2C協(xié)議總線接口8</p><p>
7、; 2.3.3 ARM平臺(tái)的嵌入式Linux的I2C總線驅(qū)動(dòng)設(shè)計(jì)9</p><p> 2.3.3.1 I2C總線讀寫時(shí)序9</p><p> 2.3.3.2 Linux下I2C總線驅(qū)動(dòng)程序概述9</p><p> 3.PC頁(yè)面顯示處理10</p><p> 3.1 靜態(tài)頁(yè)面10</p><p>
8、3.2 動(dòng)態(tài)頁(yè)面12</p><p> 3.3 動(dòng)態(tài)網(wǎng)頁(yè)語言12</p><p> 3.3.1 動(dòng)態(tài)網(wǎng)頁(yè)語言簡(jiǎn)介12</p><p> 3.3.1.1 ASP簡(jiǎn)介12</p><p> 3.3.1.2 PHP簡(jiǎn)介12</p><p> 3.3.1.3 JSP簡(jiǎn)介12</p><
9、p> 3.3.1.4 CGI簡(jiǎn)介12</p><p> 3.3.2 ASP、PHP、JSP、CGI技術(shù)性能比較13</p><p> 4.基于ARM的嵌入式Linux系統(tǒng)14</p><p> 4.1 ARM介紹14</p><p> 4.1.1 ARM概述14</p><p> 4.1.2
10、 ARM體系結(jié)構(gòu)特點(diǎn)14</p><p> 4.1.3 開發(fā)環(huán)境介紹15</p><p> 4.1.3.1 IPC-SAMA5D34概述15</p><p> 4.1.3.2 IPC-SAMA5D34特性16</p><p> 4.2 嵌入式系統(tǒng)16</p><p> 4.2.1 層次結(jié)構(gòu)概述16
11、</p><p> 4.2.1.1 嵌入式硬件17</p><p> 4.2.1.2 嵌入式操作系統(tǒng)17</p><p> 4.2.1.3 支撐軟件包17</p><p> 4.2.1.4 應(yīng)用軟件17</p><p> 4.2.2 嵌入式系統(tǒng)典型開發(fā)模式18</p><p>
12、; 4.3 軟件系統(tǒng)構(gòu)建18</p><p> 4.3.1 基于ARM的嵌入式Linux交叉編譯環(huán)境18</p><p> 4.3.2 ARM的嵌入式Linux軟件系統(tǒng)構(gòu)成19</p><p> 5. Switch 模塊20</p><p> 5.1 M23636特性20</p><p> 5.2
13、 M23636應(yīng)用20</p><p> 5.3 有源開關(guān)配置寄存器21</p><p> 5.3.1 概述21</p><p> 5.3.2 工作流程21</p><p> 6.總結(jié)與期望22</p><p><b> 參考文獻(xiàn)23</b></p><p
14、><b> 致謝24</b></p><p> Abstract(Key words)25</p><p> 基于ARM LINUX設(shè)備的遠(yuǎn)程控制設(shè)計(jì)</p><p> 【摘要】當(dāng)前,嵌入式系統(tǒng)已經(jīng)廣泛滲透到人們生活工作的各個(gè)領(lǐng)域。同時(shí),隨著嵌入式處理器性能的不斷增強(qiáng),嵌入式系統(tǒng)的處理能力和應(yīng)用范圍越來越廣,嵌入式操作系統(tǒng)逐漸
15、成為嵌入式系統(tǒng)中最重要的組成部分。而在各種嵌入式操作系統(tǒng)中,Linux憑借其代碼公開、性能穩(wěn)定、效率高等多方面的優(yōu)勢(shì),在嵌入式系統(tǒng)中被廣泛地采用認(rèn)可?;贏RM的嵌入式linux系統(tǒng)近年也得到了巨大的發(fā)展,呈現(xiàn)出蓬勃發(fā)展的趨勢(shì),利用ARM和Linux作為開發(fā)平臺(tái)越來越受到大眾的歡迎。</p><p> 嵌入式Web服務(wù)器是嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)結(jié)合的產(chǎn)物,是嵌入式技術(shù)網(wǎng)絡(luò)化的一項(xiàng)重要應(yīng)用?;趆ttp網(wǎng)絡(luò)協(xié)議,本
16、系統(tǒng)以嵌入式處理器IPC-SAMA5D34為硬件平臺(tái)核心,Linux操作系統(tǒng)作為嵌入式系統(tǒng)的軟件平臺(tái),通過瀏覽器實(shí)現(xiàn)對(duì)嵌入式設(shè)備的遠(yuǎn)程訪問及控制,并通過芯片M23636實(shí)現(xiàn)了視頻高速實(shí)時(shí)切換。其中,本文重點(diǎn)對(duì)比介紹了web服務(wù)器監(jiān)控、串口通信、i2c這三種通信方式,討論了利用何種動(dòng)態(tài)網(wǎng)頁(yè)語言實(shí)現(xiàn)與Web 服務(wù)器的動(dòng)態(tài)交互,闡述了M23636的特性、工作流程和有源開關(guān)寄存器控制傳輸信息的原理等相關(guān)知識(shí)。</p><p&
17、gt; 【關(guān)鍵詞】嵌入式系統(tǒng);遠(yuǎn)程監(jiān)控;網(wǎng)絡(luò)協(xié)議;視頻切換</p><p><b> 1.前言</b></p><p><b> 1.1 研究背景</b></p><p> 嵌入式系統(tǒng)是一種以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),其軟硬件可配置,可裁減,對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格約束的專用計(jì)算機(jī)系統(tǒng)。在當(dāng)前數(shù)
18、字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后PC時(shí)代,嵌人式系統(tǒng)已經(jīng)廣泛地滲透到科學(xué)研究、工程設(shè)計(jì)、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)以及人們的日常生活等方方面面。隨著信息技術(shù)的飛躍發(fā)展,嵌入式系統(tǒng)也將獲得廣闊的發(fā)展空間。</p><p> Linux是一個(gè)類UNIX的操作系統(tǒng),任何在UNIX下能完成的功能在Linux下也都可以實(shí)現(xiàn)。Linux是一個(gè)完整的多用戶多任務(wù)操作系統(tǒng),可以運(yùn)行在如Intel、Alpha、ARM等多種
19、硬件平臺(tái)上。在嵌入式領(lǐng)域中,Linux表現(xiàn)出強(qiáng)大而完備的性能,在短短的十幾年中Linux已經(jīng)迅速發(fā)展成一個(gè)穩(wěn)定、成熟的操作系統(tǒng)。當(dāng)前,以ARM體系結(jié)構(gòu)為處理器和以Linux為操作系統(tǒng)的嵌入式產(chǎn)品已經(jīng)在各行各業(yè)獲得了廣泛的應(yīng)用。</p><p> linux系統(tǒng)已經(jīng)成為三大主流OS之一,是最有發(fā)展前景的嵌入式OS。其優(yōu)勢(shì)主要體現(xiàn)在以下幾點(diǎn):</p><p> 1、源代碼公開,系統(tǒng)升級(jí)、軟
20、件移植方便</p><p><b> 2、性能穩(wěn)定、可靠</b></p><p> 3、內(nèi)核可裁剪,功能可定制</p><p> 4、優(yōu)秀的網(wǎng)絡(luò)功能、支持多種文件系統(tǒng)</p><p> 5、支持多種體系結(jié)構(gòu)的硬件平臺(tái)</p><p> 近年來,傳統(tǒng)上用于辦公室和商業(yè)的以太網(wǎng)逐漸進(jìn)入了基于
21、嵌入式設(shè)備的控制領(lǐng)域。Web技術(shù)可跨越諸多設(shè)備和系統(tǒng)在硬件和軟件產(chǎn)品間做到即連即用,只需用Web瀏覽器通過以太網(wǎng)和TCP/IP協(xié)議便可控制各種信息終端。客戶機(jī)可任意設(shè)置,只要能連上Internet并有權(quán)訪問Web服務(wù)器,便可控制現(xiàn)場(chǎng)有關(guān)信息,給維護(hù)和管理工作帶來很大的方便。而服務(wù)器端,能夠提供各種各樣的強(qiáng)大的腳本運(yùn)行環(huán)境,如CGI、ASP、PHP和JSP等。這為用戶開發(fā)動(dòng)態(tài)網(wǎng)頁(yè),發(fā)布實(shí)時(shí)和交互式信息提供了有力的技術(shù)支持。</p&g
22、t;<p> 1.2 研究意義及發(fā)展趨勢(shì)</p><p> 隨著社會(huì)的進(jìn)步和發(fā)展,生活水平的逐步提高,人們對(duì)顯示視頻的需求量越來越大,在大球場(chǎng)、戶外場(chǎng)等大型環(huán)境都隨處可見。且人們對(duì)清晰度的要求也越來越高,逐步實(shí)現(xiàn)發(fā)展視頻源的高速實(shí)時(shí)切換。不僅如此,現(xiàn)實(shí)生活中的視頻源足夠豐富,完全可以充分利用。因此,對(duì)視頻切換系統(tǒng)的深入研究具有現(xiàn)實(shí)意義和實(shí)用價(jià)值。</p><p> 嵌入
23、式系統(tǒng)作為專用計(jì)算機(jī)系統(tǒng),和通用計(jì)算機(jī)相比,具有多緊縮型操作系統(tǒng)、軟硬件結(jié)合緊密、獨(dú)特多樣化的外觀等典型特點(diǎn),廣泛獲得技術(shù)人士的一致認(rèn)可。</p><p> 不僅如此,基于ARM平臺(tái)的嵌入式系統(tǒng)發(fā)展更是迅猛,在嵌入式處理器中處于領(lǐng)先地位,在通訊應(yīng)用、工業(yè)控制等方面得到了良好的應(yīng)用。目前,在系統(tǒng)硬件平臺(tái)上,以ARM 為代表的嵌入式微處理器幾乎覆蓋傳統(tǒng)工業(yè)控制從低端到高端的全部領(lǐng)域,甚至延伸到桌面和服務(wù)器系統(tǒng),具有
24、廣闊的發(fā)展前景。而基于ARM的嵌入式linux系統(tǒng)近年也得到了巨大的發(fā)展,呈現(xiàn)出蓬勃發(fā)展的趨勢(shì)。</p><p> 嵌入式系統(tǒng)作為一種新興系統(tǒng)有著很廣泛的應(yīng)用前景:</p><p> 1、嵌入式產(chǎn)品與互聯(lián)網(wǎng)應(yīng)用相互促進(jìn),快速發(fā)展,嵌入式產(chǎn)品將成為互聯(lián)網(wǎng)的主要終端之一,大量的服務(wù)于嵌入式產(chǎn)品的軟件將會(huì)出現(xiàn),并有專門服務(wù)于嵌入式產(chǎn)品的內(nèi)容。</p><p> 2、
25、隨著微電子技術(shù)的快速發(fā)展,芯片功能更加強(qiáng)大,SOC(System on Chip)將成趨勢(shì),這不僅能降低成本,縮小產(chǎn)品體積,還將增強(qiáng)產(chǎn)品的可靠性。同時(shí),軟件硬件的緊密結(jié)合,嵌入式軟件與硬件界限更加模糊,嵌入式軟件時(shí)常以硬件形態(tài)存在,這種方式可提高實(shí)時(shí)性,增強(qiáng)可維護(hù)性。</p><p> 3、軟件硬件的緊密結(jié)合,嵌入式軟件與硬件界線更加模糊,嵌入式軟件時(shí)常以硬件形態(tài)存在,這種方式可提高實(shí)時(shí)性,增強(qiáng)可維護(hù)性。<
26、;/p><p> 4、嵌入式操作系統(tǒng)會(huì)與嵌入應(yīng)用軟件協(xié)同發(fā)展。昂貴的商用嵌入式操作系統(tǒng)在一定程度上抑制了嵌入式系統(tǒng)的更廣泛應(yīng)用。但隨著免費(fèi)Linux 操作系統(tǒng)的日趨成熟,嵌入式Linux 將成為新的嵌入式操作系統(tǒng)的研發(fā)基礎(chǔ)。</p><p><b> 1.3 論文概述</b></p><p> 為了便于讀者了解整個(gè)系統(tǒng)的構(gòu)成與流程,本論文的各
27、部分內(nèi)容和安排如下:</p><p> 第一章為前言,主要介紹本文研究的背景、意義和發(fā)展趨勢(shì)。重點(diǎn)闡述了ARM-Linux嵌入式系統(tǒng)所特有的優(yōu)勢(shì)。</p><p> 第二章主要介紹本系統(tǒng)的總體設(shè)計(jì)目標(biāo),結(jié)構(gòu)原理及模塊組成,重點(diǎn)分析對(duì)比了模塊與模塊之間的通信方式,并選擇最優(yōu)方案。</p><p> 第三章簡(jiǎn)單描述了PC的靜態(tài)頁(yè)面顯示,以當(dāng)今流行的動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù)
28、為背景,重點(diǎn)介紹了ASP、PHP、JSP和CGI動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù)各自的特點(diǎn),對(duì)比總結(jié)了各種開發(fā)技術(shù)的性能。</p><p> 第四章簡(jiǎn)要介紹了基于IPC-SAMA5D34的LINUX嵌入式系統(tǒng)的主要特點(diǎn)、優(yōu)勢(shì)、開發(fā)環(huán)境等。詳細(xì)介紹了如何構(gòu)建基于arm的嵌入式Linux交叉編譯環(huán)境。</p><p> 第五章主要介紹基于M23636芯片實(shí)現(xiàn)視頻高速實(shí)時(shí)切換的的Switch模塊,闡述了M2
29、3636特性、工作流程和M23636有源開關(guān)寄存器控制傳輸信息的原理等相關(guān)知識(shí)。</p><p> 第六章為總結(jié)和展望,指出了在研究過程遺留的問題和期待完善的地方。</p><p><b> 2.系統(tǒng)介紹</b></p><p><b> 2.1 系統(tǒng)概述</b></p><p> 本系統(tǒng)以
30、IPC-SAMA5D34芯片和M23636開關(guān)交換器為背景,將Web服務(wù)器移植到接入網(wǎng)絡(luò)的arm-linux嵌入式設(shè)備后,基于TCP/IP標(biāo)準(zhǔn)協(xié)議的Web服務(wù)器實(shí)現(xiàn),基于HTTP協(xié)議的B/S通信模式,基于HTML標(biāo)準(zhǔn)的用戶控制界面,借助瀏覽器對(duì)遠(yuǎn)端的嵌入式設(shè)備進(jìn)行監(jiān)測(cè)和控制,并由I2C控制,通過芯片M23636開關(guān)交換器實(shí)現(xiàn)高清視頻的實(shí)時(shí)切換。</p><p> 系統(tǒng)流程圖如圖1所示。</p>&
31、lt;p><b> 圖1 系統(tǒng)流程圖</b></p><p> 2.2 Web 服務(wù)器主控模塊</p><p> 嵌入式Web服務(wù)器的主要功能是嵌入式設(shè)備在接收到客戶端瀏覽器的HTTP請(qǐng)求后,對(duì)其響應(yīng),并將請(qǐng)求內(nèi)容返回給客戶端。具體表現(xiàn)在[1]:</p><p> 1、客戶可以根據(jù)自己的需要完成服務(wù)器的啟動(dòng)與關(guān)閉。</p&
32、gt;<p> 2、當(dāng)Web 服務(wù)器運(yùn)行時(shí),對(duì)客戶請(qǐng)求進(jìn)行監(jiān)聽;當(dāng)有客戶請(qǐng)求時(shí),將請(qǐng)求傳送給HTTP會(huì)話模塊,服務(wù)器繼續(xù)進(jìn)行監(jiān)聽。</p><p> 3、當(dāng)請(qǐng)求傳送給HTTP會(huì)話模塊后,HTTP會(huì)話模塊完成對(duì)靜態(tài)頁(yè)面處理模塊和動(dòng)態(tài)頁(yè)面處理模塊的調(diào)度。</p><p> 4、日志功能,實(shí)現(xiàn)日志的記錄與維護(hù),對(duì)服務(wù)器啟動(dòng)、服務(wù)器關(guān)閉、客戶請(qǐng)求的IP地址/端口號(hào)、請(qǐng)求資源類型
33、等進(jìn)行記錄。</p><p> 2.2.1 TCP/IP協(xié)議</p><p> TCP/IP協(xié)議是HTTP協(xié)議的基礎(chǔ),HTTP實(shí)現(xiàn)客戶與服務(wù)器之間的請(qǐng)求和響應(yīng),而TCP/IP實(shí)現(xiàn)了底層的數(shù)據(jù)傳輸。</p><p> TCP/IP是一個(gè)協(xié)議集合,其核心功能是尋址和路由選擇以及傳輸控制。TCP/IP協(xié)議體系結(jié)構(gòu)模型如圖2所示。</p><p&g
34、t; 圖2 TCP/IP協(xié)議體系結(jié)構(gòu)模型</p><p> 2.2.1.1 HTTP協(xié)議</p><p> 超文本傳輸協(xié)議HTTP(HyperText Transfer Protocol)是一種應(yīng)用級(jí)通信協(xié)議,它允許將超文本標(biāo)記語言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器。它適應(yīng)分布式超媒體協(xié)作系統(tǒng)對(duì)靈活性及速度的要求。它是一個(gè)簡(jiǎn)單靈活、無狀態(tài)、無連接、基于Client/
35、Server模式的協(xié)議。其傳輸過程為[2]:</p><p> 我們輸入U(xiǎn)RL后,我們的瀏覽器給Web服務(wù)器發(fā)送了一個(gè)Request, 并有可能經(jīng)過了代理服務(wù)器,Web服務(wù)器接到Request后進(jìn)行處理,生成相應(yīng)的Response,然后發(fā)送給瀏覽器, 瀏覽器解析Response中的HTML,這樣我們就看到了網(wǎng)頁(yè)。HTTP協(xié)議傳輸過程如圖3所示。</p><p> 圖3 HTTP協(xié)議傳
36、輸過程</p><p> HTTP消息的結(jié)構(gòu):HTTP消息由客戶端到服務(wù)器的請(qǐng)求和服務(wù)器到客戶端的響應(yīng)組成。客戶端和服務(wù)器之間的信息傳遞是通過消息來進(jìn)行的,請(qǐng)求消息是客戶端向服務(wù)器發(fā)送的用于請(qǐng)求服務(wù)器提供服務(wù)的消息。響應(yīng)消息是服務(wù)器接到客戶端請(qǐng)求后返回給客戶端的消息。</p><p> 1.客戶端請(qǐng)求(Request):HTTP請(qǐng)求由3部分組成,分別是:請(qǐng)求行、消息報(bào)頭、請(qǐng)求正文。且消
37、息報(bào)頭和請(qǐng)求正文之間有個(gè)空行,結(jié)構(gòu)如圖4所示。</p><p> 圖4 客戶端請(qǐng)求結(jié)構(gòu)圖</p><p> 第一行中的Method表示請(qǐng)求方法,Path-to-resource表示請(qǐng)求的資源,Http/version-number 表示HTTP協(xié)議的版本號(hào)。常見的請(qǐng)求方法如表1所示:</p><p> 表1 常見請(qǐng)求方法</p><p&
38、gt; 2、服務(wù)器端響應(yīng)(Response):HTTP響應(yīng)由3個(gè)部分組成。分別是:狀態(tài)行、消息報(bào)頭、響應(yīng)正文。且消息報(bào)頭和響應(yīng)正文之間有個(gè)空行,結(jié)構(gòu)如圖5所示。</p><p> 圖5 服務(wù)器端響應(yīng)結(jié)構(gòu)圖</p><p> 其中,HTTP-Version -numbe表示服務(wù)器HTTP協(xié)議的版本號(hào);Status Code表示服務(wù)器發(fā)回的響應(yīng)狀態(tài)碼。 </p><
39、p> 狀態(tài)碼表示服務(wù)器是否成功地滿足了客戶的請(qǐng)求。它由三位數(shù)字組成,第一個(gè)數(shù)字定義了響應(yīng)的類別。</p><p> 常見狀態(tài)碼如表2所示:</p><p><b> 表2 常見狀態(tài)碼</b></p><p> HTTP 協(xié)議并沒有規(guī)定必須使用TCP/IP 協(xié)議,也沒有規(guī)定必須使用基于TCP/IP支持的層。從本質(zhì)上說,HTTP 協(xié)
40、議可以在任何其他互聯(lián)網(wǎng)協(xié)議上實(shí)現(xiàn)。HTTP 協(xié)議假定其下層協(xié)議提供可靠性的傳輸,任何能夠提供這種保證的協(xié)議都能夠被其使用。現(xiàn)在TCP/IP 協(xié)議在互聯(lián)網(wǎng)應(yīng)用上非常流行,HTTP 使用TCP 而不是UDP 的原因在于打開一個(gè)網(wǎng)頁(yè)必須傳送很多數(shù)據(jù),而TCP協(xié)議提供傳輸控制,按順序組織數(shù)據(jù)和錯(cuò)誤糾正。</p><p> 2.2.1.2 SNMP協(xié)議</p><p> SNMP(Simple
41、Network Management Protocol)即簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,它是為網(wǎng)絡(luò)管理服務(wù)而定義的應(yīng)用層通信協(xié)議。SNMP被設(shè)計(jì)成與協(xié)議無關(guān),所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的傳輸協(xié)議上被使用。 </p><p><b> 其特點(diǎn)是:</b></p><p> 1、相對(duì)于其它種類的網(wǎng)絡(luò)管理體系或管理協(xié)議而言,SNMP易
42、于實(shí)現(xiàn)。設(shè)計(jì)簡(jiǎn)單、擴(kuò)展靈活、易于使用。</p><p> 2、SNMP協(xié)議是開放的免費(fèi)產(chǎn)品。</p><p> 3、SNMP協(xié)議有很多詳細(xì)的文檔資料。</p><p> 4、SNMP協(xié)議可用于控制各種設(shè)備。比如說電話系統(tǒng)、環(huán)境控制設(shè)備,以及其它可接入網(wǎng)絡(luò)且需要控制的設(shè)備等,這些非傳統(tǒng)裝備都可以使用SNMP協(xié)議。</p><p> SN
43、MP 是一個(gè)異步的請(qǐng)求/響應(yīng)協(xié)議。SNMP 實(shí)體在發(fā)出請(qǐng)求后不需要等待響應(yīng)到來。在應(yīng)用 SNMP 協(xié)議進(jìn)行網(wǎng)絡(luò)通信過程中,信息按照 SNMP 消息的形式在一個(gè)管理站和一個(gè)代理之間交換,一個(gè) SNMP 消息就是根據(jù)協(xié)議的定義封裝而成的,能夠完成一次信息傳遞任務(wù)的傳輸單元,而且它的發(fā)送和接收是原子類操作,即只有發(fā)送和接收一個(gè)完整的消息,才能實(shí)現(xiàn)這次信息交換。</p><p> SNMP協(xié)議定義了數(shù)據(jù)包的格式,及網(wǎng)絡(luò)
44、管理員和管理代理之間的信息交換,它還控制著管理代理的MIB數(shù)據(jù)對(duì)象。因此,可用于處理管理代理定義的各種任務(wù)。</p><p> SNMP協(xié)議之所以易于使用,這是因?yàn)樗鼘?duì)外提供了三種用于控制MIB對(duì)象的基本操作命令。它們是Set、Get和Trap:</p><p> 1、Get操作:它是SNMP協(xié)議中使用率最高的一個(gè)命令,是用來提取指定的網(wǎng)絡(luò)管理信息的基本方式。</p>&
45、lt;p> 2、Set操作:它是一個(gè)特權(quán)命令,用來對(duì)管理信息進(jìn)行控制,主要用于修改數(shù)據(jù)。</p><p> 3、Trap操作:用于通報(bào)重要事件的發(fā)生,它提供從代理到管理者的異步報(bào)告。</p><p> 在這三個(gè)操作中,前兩個(gè)是請(qǐng)求由管理者發(fā)給代理,需要代理發(fā)出響應(yīng)給管理者,最后一個(gè)則是由代理發(fā)給管理者,但并不需要管理者響應(yīng)。</p><p> 一條SN
46、MP報(bào)文由三個(gè)部分組成:版本域(version field),分區(qū)域(community field)和SNMP協(xié)議數(shù)據(jù)單元域(SNMP protocol data unit field),數(shù)據(jù)包的長(zhǎng)度不是固定的。</p><p> 目前,SNMP協(xié)議中基于分區(qū)的身份驗(yàn)證模型被認(rèn)是為很不牢靠的,它存在一個(gè)嚴(yán)重的安全問題。由于SNMP協(xié)議并不提供加密功能,也不保證在SNMP數(shù)據(jù)包交換過程中不能從網(wǎng)絡(luò)中直接拷貝分區(qū)
47、信息。只需使用一個(gè)數(shù)據(jù)包捕獲工具就可把整個(gè)SNMP數(shù)據(jù)包解密,這樣分區(qū)名就暴露無遺。因此,本系統(tǒng)選擇了較安全通用的網(wǎng)絡(luò)協(xié)議HTTP。</p><p> 2.2.2 串口通信</p><p> 串口通信是指外設(shè)和計(jì)算機(jī)間,通過數(shù)據(jù)信號(hào)線 、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。串口按位(bit)發(fā)送和接收字節(jié),比按字節(jié)(byte)的并行通信慢,但這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)
48、距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)汀?lt;/p><p> 由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時(shí)在另一根線上接收數(shù)據(jù)。其他線用于握手,但是不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對(duì)于兩個(gè)進(jìn)行通行的端口,這些參數(shù)必須匹配。 </p><p> 串口通信數(shù)據(jù)傳送方式:</p><p> 1、單工傳
49、送:?jiǎn)喂魉蜁r(shí)指在通信時(shí)只能由一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)的通信方式。</p><p> 2、半雙工傳送:指在通信時(shí)雙方都能夠接收或者發(fā)送,但是不能夠同時(shí)接收和發(fā)送的通信方式。</p><p> 3、全雙工傳送:通信雙方之間有兩條通路,發(fā)送信息和接收信息可以同時(shí)進(jìn)行。</p><p> 對(duì)比網(wǎng)絡(luò)監(jiān)控與串口通信的通信方式,網(wǎng)絡(luò)監(jiān)控更勝一籌。主要表現(xiàn)在網(wǎng)絡(luò)監(jiān)控對(duì)于
50、使用者來說不受時(shí)間、地點(diǎn)的限制,在授權(quán)的情況下可以隨時(shí)按需監(jiān)控,實(shí)現(xiàn)即插即用即看,使用方式相當(dāng)便捷。不僅如此,網(wǎng)絡(luò)監(jiān)控系統(tǒng)方式比較靈活,系統(tǒng)施工和維護(hù)成本相對(duì)低廉,保存的數(shù)據(jù)量可以更大,數(shù)據(jù)的保存方式也更多,數(shù)據(jù)應(yīng)用形式更廣,系統(tǒng)的集成度也更高。所以,本系統(tǒng)選擇了基于HTTP網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)監(jiān)控模式。</p><p><b> 2.3 I2C協(xié)議</b></p><p&g
51、t; 2.3.1 I2C協(xié)議概述</p><p> I2C即I2C總線。I2C(Inter-Integrated Circuit)總線是由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。它是同步通信的一種特殊形式,具有接口線少,控制方式簡(jiǎn)單,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。</p><p> 12C總線最主要的優(yōu)點(diǎn)
52、是其簡(jiǎn)單性和有效性。由于接口直接在組件之上,因此12C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本。總線的長(zhǎng)度可高達(dá)25英尺,并且能夠以lOkbps的最大傳輸速率支持40個(gè)組件。12C總線的另一個(gè)優(yōu)點(diǎn)是,它支持多主控(multimastering),其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主總線。一個(gè)主控能夠控制信號(hào)的傳輸和時(shí)鐘頻率。當(dāng)然,在任何時(shí)間點(diǎn)上只能有一個(gè)主控。</p><p&g
53、t; 2.3.2 I2C協(xié)議總線接口</p><p> I2C總線是一種用于IC器件之間連接的串行總線,采用SDA(數(shù)據(jù)線)和SCL(時(shí)鐘線)兩線連接每個(gè)帶有I2C總線接口的器件或模塊。串行的8位雙向數(shù)據(jù)傳輸率在標(biāo)準(zhǔn)模式下可達(dá)100 kb/s,快速模式下可達(dá)400 kb/s。多個(gè)微控制器可以通過I2C總線接口非常方便地連接在一起構(gòu)成系統(tǒng),并根據(jù)地址識(shí)別每個(gè)器件。這種總線結(jié)構(gòu)的連線和連接引腳少,器件間總線簡(jiǎn)單,
54、結(jié)構(gòu)緊湊。因此其構(gòu)成系統(tǒng)的成本較低,并且在總線上增加器件不會(huì)影響系統(tǒng)的正常工作,所有的I2C總線器件共用一套總線,因此其系統(tǒng)修改和可擴(kuò)展性好。</p><p> 總線必須由主機(jī)(通常為微控制器)控制,主機(jī)產(chǎn)生串行時(shí)鐘( SCL) 控制總線的數(shù)據(jù)傳輸,并產(chǎn)生起始和停止條件。SDA 線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA 狀態(tài)的改變被用來表示起始和停止條件。I2C總線起始和停止
55、時(shí)序如圖6所示。</p><p> 圖6 I2C總線起始和停止時(shí)序</p><p> 2.3.3 ARM平臺(tái)的嵌入式Linux的I2C總線驅(qū)動(dòng)設(shè)計(jì)</p><p> 2.3.3.1 I2C總線讀寫時(shí)序</p><p> ARM9微控制器作為主機(jī)向從機(jī)DSP寫數(shù)據(jù),首先向從機(jī)發(fā)送啟動(dòng)信號(hào),然后發(fā)送7位從機(jī)地址和1位寫標(biāo)志位,再等待從機(jī)
56、的應(yīng)答信號(hào)。在收到應(yīng)答信號(hào)后,主機(jī)發(fā)送數(shù)據(jù)給從機(jī),再次等待應(yīng)答信號(hào)。當(dāng)主機(jī)收到應(yīng)答信號(hào)之后再次發(fā)送數(shù)據(jù)。之后,主機(jī)等待從機(jī)的應(yīng)答信號(hào),如此直到數(shù)據(jù)發(fā)送完成,主機(jī)發(fā)送停止信號(hào)[3]。I2C總線寫數(shù)據(jù)幀格式如圖7所示。</p><p> 圖7 I2C總線寫數(shù)據(jù)幀格式</p><p> 主模式下讀數(shù)據(jù),是指每次從指定的位置讀取一個(gè)或多個(gè)字節(jié)數(shù)據(jù)。主機(jī)首先向從機(jī)發(fā)送啟動(dòng)信號(hào),然后發(fā)送 7位從
57、機(jī)地址和1位讀標(biāo)志位,等待從機(jī)應(yīng)答。當(dāng)收到從機(jī)的應(yīng)答信號(hào)后,主機(jī)準(zhǔn)備接收從機(jī)發(fā)送的數(shù)據(jù),接收完成后發(fā)送一個(gè)應(yīng)答信號(hào),如此直到數(shù)據(jù)接收完成,主機(jī)發(fā)送一個(gè)停止信號(hào)。I2C總線讀數(shù)據(jù)幀格式如圖8所示。</p><p> 圖8 I2C總線讀數(shù)據(jù)幀格式</p><p> 2.3.3.2 Linux下I2C總線驅(qū)動(dòng)程序概述</p><p> Linux系統(tǒng)的I2C總線驅(qū)
58、動(dòng)采用體系化結(jié)構(gòu)設(shè)計(jì),包括I2C總線適配器驅(qū)動(dòng)和I2C總線設(shè)備驅(qū)動(dòng)??偩€驅(qū)動(dòng)實(shí)現(xiàn)對(duì)I2C總線適配器(S3C2440的I2C總線模塊)的控制,設(shè)備驅(qū)動(dòng)實(shí)現(xiàn)對(duì)具體設(shè)備(F28015的I2C總線模塊)的讀寫控制。如圖為總體驅(qū)動(dòng)框架,可以分為三個(gè)層次:</p><p> 1、 I2C框架。內(nèi)核中i2c.h和i2ccore.c為I2C總線框架的主體,提供了核心數(shù)據(jù)結(jié)構(gòu)的定義、I2C總線適配器驅(qū)動(dòng)和設(shè)備驅(qū)動(dòng)的注冊(cè)、注銷管
59、理、I2C總線通信方法上層的、與具體適配器無關(guān)的代碼、檢測(cè)設(shè)備地址的上層代碼等。i2cdev.c用于創(chuàng)建I2C總線適配器的設(shè)備節(jié)點(diǎn),提供I2C總線設(shè)備訪問方法等。</p><p> 2、 I2C總線適配器驅(qū)動(dòng)。定義描述具體I2C總線適配器的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)在具體I2C總線適配器上的I2C總線通信方法。</p><p> 3、I2C總線設(shè)備驅(qū)動(dòng)。定義描述具體設(shè)備的數(shù)據(jù)結(jié)構(gòu),借助I2C總線
60、框架的相關(guān)函數(shù)實(shí)現(xiàn)設(shè)備的注冊(cè),并為用戶提供上層應(yīng)用程序編程接口。I2C總線驅(qū)動(dòng)框架如圖9所示。</p><p> 圖9 I2C總線驅(qū)動(dòng)框架</p><p> 3.PC頁(yè)面顯示處理</p><p><b> 3.1 靜態(tài)頁(yè)面</b></p><p> 本系統(tǒng)PC的顯示頁(yè)面是用HTML語言編寫而成。HTML是Hyp
61、er Text Markup language(超文本標(biāo)識(shí)語言)的縮寫。HTML使用一些約定的符號(hào)對(duì)各種文件進(jìn)行標(biāo)注,這些被標(biāo)注的文件存放于服務(wù)器上,通過internet網(wǎng)絡(luò)供讀者閱讀。PC部分顯示界面如圖10所示。</p><p> 圖10 pc部分顯示頁(yè)面</p><p><b> 其對(duì)應(yīng)部分代碼為:</b></p><p> &
62、lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></p><p> <html xmlns="http://www.w3.org/1999/xhtml&q
63、uot;></p><p><b> <head></b></p><p> <title>csw</title></p><p> <meta http-equiv="contest-typer" content="text/html:charset=&quo
64、t;GB2312"></p><p><b> </head></b></p><p><b> <body></b></p><p> <table border="1" width="780" bgcolor="#FF
65、FFFF" align="center"> </p><p> <form name="form" action="http://localhost/cms/csw.asp" method="post" target="_blank" title="CSW" enctyp
66、e="multipart/form-data"> </p><p><b> <tr> </b></p><p> <th width="40%"><font face="Calibri" color="#010101">CSW Gener
67、al Configuration</font></th> </p><p> <th width="30%"> </p><p> <input type="text" name="Configuration" size="20" maxlength="3
68、0" border="10px" border style="60px 30px solid #336699"> </p><p><b> </th></b></p><p> <th width="15%"> </p><p> <
69、;button style="color:white; font-size: 20px;background-color:#336699; width:100px;height: 30px; border-radius:10px;" class="add_button" type="submit">Set</button> </p><p&
70、gt;<b> </th> </b></p><p> <th width="15%"> </p><p> <button style="color:white; font-size: 20px;font-color:#FFFFFF;background-color:#3366aa;width:100
71、px;height: 30px; border-radius:10px;" class="add_button" type="submit">Get</button> </p><p><b> ……</b></p><p><b> </th> </b><
72、/p><p><b> </tr></b></p><p><b> </form></b></p><p><b> </body></b></p><p><b> </html></b></p
73、><p> 靜態(tài)頁(yè)面處理需求[4]:</p><p> 1、對(duì)靜態(tài)頁(yè)面請(qǐng)求進(jìn)行處理,獲取文件類型、文件路徑、文件名。</p><p> 2、根據(jù)文件路徑、文件名讀取請(qǐng)求文件。</p><p> 3、根據(jù)HTTP 協(xié)議,將請(qǐng)求文件內(nèi)容及相關(guān)信息發(fā)送給客戶端。</p><p><b> 3.2 動(dòng)態(tài)頁(yè)面&l
74、t;/b></p><p> 動(dòng)態(tài)頁(yè)面處理主要包括GET 和POST請(qǐng)求,相關(guān)需求分析如下:</p><p> 1、對(duì)客戶請(qǐng)求信息進(jìn)行處理,判斷是GET 請(qǐng)求還是POST 請(qǐng)求。</p><p> 2、獲取客戶信息中的文件路徑、文件名。</p><p> 3、執(zhí)行客戶請(qǐng)求的動(dòng)態(tài)網(wǎng)頁(yè)語言程序。</p><p&g
75、t; 4、根據(jù)HTTP 協(xié)議,將執(zhí)行結(jié)果及相關(guān)信息發(fā)送給客戶端。</p><p> 3.3 動(dòng)態(tài)網(wǎng)頁(yè)語言</p><p> 動(dòng)態(tài)網(wǎng)頁(yè)語言是指編寫動(dòng)態(tài)網(wǎng)頁(yè)相關(guān)程序的計(jì)算機(jī)高級(jí)語言。</p><p> 3.3.1 動(dòng)態(tài)網(wǎng)頁(yè)語言簡(jiǎn)介</p><p> 3.3.1.1 ASP簡(jiǎn)介</p><p> ASP(Acti
76、ve Server Pages)是一種簡(jiǎn)單、方便的編程工具,它其實(shí)只是一個(gè)腳本環(huán)境,不是一門語言。利用它可以產(chǎn)生和執(zhí)行動(dòng)態(tài)的、互動(dòng)的、高性能的WEB服務(wù)器應(yīng)用程序。ASP采用VBScript、Jscript等簡(jiǎn)單易懂的腳本語言作為自己的開發(fā)語言。</p><p> 3.3.1.2 PHP簡(jiǎn)介</p><p> PHP(Pernoal Home Page)是一種跨平臺(tái)的服務(wù)器端的嵌入式腳
77、本語言。它大量地借用C,Java和Perl語言的語法, 并形成了自己的獨(dú)有風(fēng)格,使WEB程序員能夠快速地開發(fā)出動(dòng)態(tài)網(wǎng)頁(yè)。它支持目前絕大多數(shù)數(shù)據(jù)庫(kù),是當(dāng)今Internet上最火熱的腳本語言。PHP是完全免費(fèi)的,可以不受限制的獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。</p><p> 3.3.1.3 JSP簡(jiǎn)介</p><p> JSP(Java Servlet Pages)是Sun公
78、司推出的基于Java Servlet以及整個(gè)Java系統(tǒng)的Web開發(fā)技術(shù),是Servlet技術(shù)的擴(kuò)展。他完全解決了目前ASP、PHP的一個(gè)通病——腳本級(jí)執(zhí)行,每個(gè)JSP文件總是先被編譯成Serv]et,然后再由Servlet引擎運(yùn)行。它為基于Java環(huán)境開發(fā)多層結(jié)構(gòu)的動(dòng)態(tài)Web應(yīng)用程序提供一種方便、快捷的方法。</p><p> 3.3.1.4 CGI簡(jiǎn)介</p><p> CGI(C
79、ommon Gateway Interface) 是WWW技術(shù)中最重要的技術(shù)之一,有著不可替代的重要地位。CGI是外部應(yīng)用程序(CGI程序)與Web服務(wù)器之間的接口標(biāo)準(zhǔn),其主要功能是在Web環(huán)境下,從客戶端傳送一些消息給Web服務(wù)器,Web服務(wù)器把接收到的有關(guān)信息放入環(huán)境變量,然后再去啟動(dòng)所指定的CGI腳本以完成特定的工作, CGI腳本從環(huán)境變量中獲取相關(guān)信息來運(yùn)行,最后以Html格式輸出相應(yīng)的執(zhí)行結(jié)果返回給瀏覽器端,由于用戶能傳遞不同
80、的參數(shù)給CGI腳本,所以CGI技術(shù)使得瀏覽器和服務(wù)器之間具有交互性[5]。CGI工作流程如圖11所示。</p><p> 圖11 CGI工作流程</p><p> 3.3.2 ASP、PHP、JSP、CGI技術(shù)性能比較</p><p> ASP、PHP、JSP、CGI技術(shù)性能比較如表3所示:</p><p> 表3 ASP、PHP
81、、JSP、CGI技術(shù)性能比較</p><p> 綜合比較,ASP、PHP、JSP、CGI各有優(yōu)缺點(diǎn)。目前,國(guó)內(nèi)PHP與ASP應(yīng)用廣泛。但是在國(guó)外,JSP是比較流行的一種技術(shù),尤其是電子商務(wù)類網(wǎng)站,多采用JSP技術(shù)。PHP可以與很多數(shù)據(jù)庫(kù)直接連接,是完全免費(fèi)的,可以自由下載。但是PHP提供的數(shù)據(jù)庫(kù)接口支持不統(tǒng)一,更換數(shù)據(jù)庫(kù)時(shí),必須更改編碼才能運(yùn)行,使得它不適合運(yùn)用在電子商務(wù)中。另外由于PHP缺乏規(guī)模支持和多層結(jié)構(gòu)
82、支持,決定了PHP很難適用大型應(yīng)用的要求。ASP和JSP功能都比較強(qiáng)大,都可以獲得規(guī)模支持和結(jié)構(gòu)支持。ASP的不足是它只在Windows平臺(tái)下才能充分發(fā)揮其價(jià)值,對(duì)于關(guān)鍵的大型應(yīng)用,NT平臺(tái)往往無法讓人放心。JSP只有對(duì)Java熟悉的人才能用得很好。至于選擇哪種技術(shù),取決于制作者的愛好和技術(shù)儲(chǔ)備。不難看出,JSP技術(shù)對(duì)比其它技術(shù)存在著很大的優(yōu)勢(shì),特別是它很好的解決了跨平臺(tái)問題。就應(yīng)用前景分析,三者中JSP應(yīng)該是最有發(fā)展前途的技術(shù)[6]。
83、</p><p> 不過,CGI是所有Web應(yīng)用的基礎(chǔ), 所有的Web服務(wù)都是在CGI上發(fā)展起來的,在嵌入式web開發(fā)領(lǐng)域還是有優(yōu)勢(shì)的,特別是硬件資源比較有限的情況下。它的兼容性比較好。CGI可以為我們提供許多Html無法做到的功能。比如記數(shù)器、顧客信息表格的提交以及統(tǒng)計(jì)、搜索進(jìn)程、Web數(shù)據(jù)庫(kù)。</p><p> 用Html是沒有辦法記住客戶的任何信息的,就算用戶愿意讓你知道。用Ht
84、ml也是無法把信息記錄到某一個(gè)特定文件里的,要把客戶端的信息記錄在服務(wù)器的硬盤上,就要用到CGI。這是CGI最重要的作用,它補(bǔ)充了Html的不足。</p><p> 4.基于ARM的嵌入式Linux系統(tǒng)</p><p><b> 4.1 ARM介紹</b></p><p> 4.1.1 ARM概述</p><p>
85、 ARM處理器是Acorn計(jì)算機(jī)有限公司面向低預(yù)算市場(chǎng)設(shè)計(jì)的第一款RISC微處理器。</p><p> ARM處理器本身是32位設(shè)計(jì),但也配備16位指令集。一般來講比等價(jià)32位代碼節(jié)省達(dá)35%,卻能保留32位系統(tǒng)的所有優(yōu)勢(shì)。</p><p> ARM微處理器中支持字節(jié)(8位)、半字(16位)、字(32位)三種數(shù)據(jù)類型,其中,字需要4字節(jié)對(duì)齊,半字需要2字節(jié)對(duì)齊。</p>
86、<p> 4.1.2 ARM體系結(jié)構(gòu)特點(diǎn)</p><p> ARM體系結(jié)構(gòu)的總體思想是在不犧牲性能的同時(shí),盡量簡(jiǎn)化處理器,同時(shí)從體系結(jié)構(gòu)的層面上靈活支持處理器擴(kuò)展。這種簡(jiǎn)化和開放的思路使得ARM處理器采用了很簡(jiǎn)單的結(jié)構(gòu)來實(shí)現(xiàn)。目前,ARM 32位體系結(jié)構(gòu)被業(yè)界公認(rèn)為領(lǐng)先的32位嵌入式RICS微處理器,所有ARM處理器都共享這一體系結(jié)構(gòu)。ARM體系結(jié)構(gòu)具有以下特點(diǎn)[7]:</p>&l
87、t;p> 1、采用RISC結(jié)構(gòu)。ARM采用RISC結(jié)構(gòu),在簡(jiǎn)化處理器結(jié)構(gòu),減少?gòu)?fù)雜功能指令的同時(shí),提高了處理器的速度同時(shí),考慮到處理器與存儲(chǔ)器打交道的指令執(zhí)行時(shí)間遠(yuǎn)遠(yuǎn)大于在寄存器內(nèi)操作的指令執(zhí)行時(shí)間,RISC型處理器采用了Load/Store(加載/存儲(chǔ))結(jié)構(gòu),即只有Load/Store指令可與存儲(chǔ)器打交道,其余指令都不允許進(jìn)行存儲(chǔ)器操作。</p><p> 2、Thumb指令集??紤]到RICS型處理器
88、的指令功能相對(duì)較弱,新型的ARM體系結(jié)構(gòu)中定義了16位的Thumb指集。Thumb指令集比通常的8/16位CISC/RICS處理器有更大的代碼密度,芯片面積只增加6%,卻可以使程序存儲(chǔ)器更小。</p><p> 3、多處理器狀態(tài)模式。ARM體系結(jié)構(gòu)定義了7種處理器模式:</p><p> (1)用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài);</p><p>
89、; (2)快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理;</p><p> (3)外部中斷模式(irq):用于通用的中斷處理;</p><p> (4)管理模式(svc):操作系統(tǒng)使用的保護(hù)模式,系統(tǒng)復(fù)位后的默認(rèn)模式;</p><p> (5)數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù);</p>
90、<p> (6)系統(tǒng)模式(sys):用于運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù);</p><p> (7)未定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。</p><p> 大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下。當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問的。除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式(P
91、rivileged Modes),其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式(Exception Modes),常用于處理中斷或異常,以及需要訪問受保護(hù)的系統(tǒng)資源等情況。</p><p> 4、兩種處理器工作狀態(tài)。ARM處理器有兩種工作狀態(tài):ARM狀態(tài)(執(zhí)行32位ARM指令集)和Thumb狀態(tài)(執(zhí)行16位Thumb指令集)。在程序的執(zhí)行過程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)
92、的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。</p><p> 5、嵌入式在線仿真調(diào)試。ARM體系結(jié)構(gòu)的處理器芯片都嵌入了在線仿真ICE—RT邏輯,便于通過TJAG來仿真調(diào)試芯片,省去了價(jià)格昂貴的在線仿真器。</p><p> 6、靈活方便的接口。ARM體系結(jié)構(gòu)具有協(xié)處理器接口,允許接6個(gè)協(xié)處理器。這樣,既可以使基本的ARM處理器內(nèi)核盡可能小,也可以方便地?cái)U(kuò)充各種功能。<
93、/p><p> 7、低電壓功耗的設(shè)計(jì)。考慮到ARM體系結(jié)構(gòu)的處理器主要用于手持式嵌入式系統(tǒng)中,ARM體系結(jié)構(gòu)在設(shè)計(jì)中就十分注意功耗。</p><p> 4.1.3 開發(fā)環(huán)境介紹</p><p> 4.1.3.1 IPC-SAMA5D34概述</p><p> IPC-SAMA5D34是核風(fēng)智能技術(shù)設(shè)計(jì)的基于ATMEL SAMA5D34 A
94、RM Cortex-A5 處理器設(shè)計(jì)的工業(yè)控制板卡,主要面向工業(yè)控制應(yīng)用,支持Linux 3.6.9 系統(tǒng)及Android 系統(tǒng)。</p><p> CM-SAMA5D34 是IPC-SAMA5D34的核心板控制模塊,主頻可達(dá)到536MHZ。它板載512MB DDR2 SDRAM, 256MB NandFlash 和4Kbit EEPROM,并通過3個(gè)2.0mm 間距的排針合計(jì)150Pin 引出多種外設(shè)接口,如
95、UART,以太網(wǎng),USB,SDIO,CAN 及IOs,并集成千兆網(wǎng)口芯片,更加有利于客戶的二次開發(fā)[8]。IPC-SAMA5D34底板示意圖如圖12所示。</p><p> 圖 12 IPC-SAMA5D34底板示意圖</p><p> 與整個(gè)系統(tǒng)進(jìn)行信息交換的接口有:</p><p> 1、網(wǎng)絡(luò)接口:千兆以太網(wǎng)支持,它可以自適應(yīng)10/100/1000M 網(wǎng)
96、絡(luò),RJ45連接頭已經(jīng)包含了耦合線圈,因此不必另接網(wǎng)絡(luò)變壓器,使用普通的網(wǎng)線即可連接板卡到路由器或者交換機(jī)。</p><p><b> 2、IIC 接口</b></p><p> 4.1.3.2 IPC-SAMA5D34特性</p><p> ? 嵌入式微處理器:ATMEL SAMA5D34 ARM 處理器、Cortex-A5,工作主頻可
97、達(dá)536MHZ</p><p> ? DDR2 RAM 內(nèi)存:512MB DDR2 RAM、32bit 總線 </p><p> ? Flash 存儲(chǔ):256MB Nand Flash、4MB SPI Flash</p><p> ? 板載資源:集成千兆網(wǎng)口芯片、2特LED、支持3.3V供電</p><p> ? 電氣特性:8層PC
98、B, 52 x 64 (mm)、超低功耗、工作狀態(tài)僅0.5W,工作級(jí)溫度范圍:-40—80度</p><p> ? 軟件支持:Linux 3.6.9、 Android 4.0 支持</p><p><b> 4.2 嵌入式系統(tǒng)</b></p><p> 4.2.1 層次結(jié)構(gòu)概述</p><p> 嵌入式系統(tǒng)由嵌入
99、式硬件、嵌入式操作系統(tǒng)、支撐軟件包和應(yīng)用軟件組成。其結(jié)構(gòu)圖如圖13所示[9]: </p><p> 圖13 嵌入式系統(tǒng)結(jié)構(gòu)圖</p><p> 4.2.1.1 嵌入式硬件</p><p> 不同于通用的PC硬件平臺(tái),它沒有一個(gè)固定的、標(biāo)準(zhǔn)的外形,可能是圓形、方形甚至三角形,而且大多體積很小。其
100、外設(shè)接口被充分利用,沒有用到的外設(shè)接口在設(shè)計(jì)硬件平臺(tái)時(shí)被完全刪除。</p><p> 嵌入式硬件平臺(tái)由核心板和接口板共同組成,在接口板接口較少時(shí),有時(shí)也將接口板和核心板設(shè)計(jì)在一個(gè)板上。核心板包括嵌入式微處理器和微存儲(chǔ)器,提供嵌入式操作系統(tǒng)和功能軟件的運(yùn)行環(huán)境,接口板完成外設(shè)接口功能。外設(shè)終端通常都是微小終端,以和嵌入式系統(tǒng)整體體積相匹配。</p><p> 4.2.1.2 嵌入式操作系
101、統(tǒng)</p><p> 專門負(fù)責(zé)管理存儲(chǔ)器分配、中斷處理、任務(wù)調(diào)度等功能的軟件模塊。是嵌入式系統(tǒng)極為重要的組成部分,包括與硬件相關(guān)的底層驅(qū)動(dòng)程序、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形用戶界面(GUI)等。</p><p> 4.2.1.3 支撐軟件包</p><p> 支撐軟件包完全為應(yīng)用軟件服務(wù),一般是專門面向嵌入式開發(fā)而設(shè)計(jì)的精簡(jiǎn)軟件包,其占用的資源不能過
102、多。</p><p> 4.2.1.4 應(yīng)用軟件</p><p> 應(yīng)用軟件是針對(duì)特定應(yīng)用領(lǐng)域,基于某一固定的硬件平臺(tái),用來達(dá)到用戶預(yù)期目標(biāo)的計(jì)算機(jī)軟件。它不僅要求準(zhǔn)確性、安全性和穩(wěn)定性等方面能夠滿足實(shí)際應(yīng)用的需要,而且還要盡可能地進(jìn)行優(yōu)化,以減少對(duì)系統(tǒng)資源的消耗,降低硬件成本。</p><p> 4.2.2 嵌入式系統(tǒng)典型開發(fā)模式</p>&l
103、t;p> 嵌入式系統(tǒng)是一個(gè)復(fù)雜而專用的系統(tǒng),在進(jìn)行系統(tǒng)開發(fā)之前,必須明確定義系統(tǒng)的外部功能和內(nèi)部軟硬件結(jié)構(gòu);然后進(jìn)行系統(tǒng)的設(shè)計(jì)分割,分別實(shí)現(xiàn)硬件規(guī)劃與設(shè)計(jì),應(yīng)用軟件規(guī)劃設(shè)計(jì)以及操作系統(tǒng)的裁剪;在操作系統(tǒng)裁剪和應(yīng)用軟件編碼完成后,通常還將它們先移植到同系統(tǒng)結(jié)構(gòu)的CPU 的硬件平臺(tái)上進(jìn)行遠(yuǎn)程調(diào)試、功能模擬;完整無誤后,最后才將操作系統(tǒng)和應(yīng)用軟件移植到自己開發(fā)的專用硬件平臺(tái)上,完成系統(tǒng)的集成。其開發(fā)流程如圖14所示。</p>
104、;<p> 圖14 嵌入式系統(tǒng)開發(fā)流程</p><p> 4.3 軟件系統(tǒng)構(gòu)建</p><p> 4.3.1 基于ARM的嵌入式Linux交叉編譯環(huán)境</p><p> 交叉編譯環(huán)境是構(gòu)建嵌入式Linux系統(tǒng)開發(fā)環(huán)境過程中最為重要的一步。在嵌入式系統(tǒng)開發(fā)中,由于嵌入式開發(fā)板的存儲(chǔ)空間和運(yùn)算能力往往比較有限,沒有足夠的硬件資源來運(yùn)行編譯和調(diào)試工
105、具,所以,通常嵌入式系統(tǒng)的軟件開發(fā)需要采用交叉編譯的方式。交叉編譯指在一個(gè)平臺(tái)上通過編譯器編譯某個(gè)源程序,生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。</p><p> 因?yàn)榍度胧侥繕?biāo)主機(jī)資源有限,不能完成自身程序的編譯下作,從另外一個(gè)角度,嵌入式主機(jī)上運(yùn)行的程序調(diào)試穩(wěn)定后,很少需要修改,也沒有必要具備完成自身程序的編譯工作。因此,在嵌入式系統(tǒng)開發(fā)時(shí),往往由宿主機(jī)開發(fā)程序,而目標(biāo)機(jī)作為最后的執(zhí)行機(jī),兩者在開發(fā)時(shí)需要交替結(jié)合進(jìn)
106、行[10]。嵌入式開發(fā)的交叉編譯環(huán)境如圖15所示。</p><p> 圖15 嵌入式開發(fā)的交叉編譯環(huán)境</p><p> 一般把編譯程序的主機(jī)稱為宿主機(jī)(Host),把運(yùn)行程序的嵌入式主機(jī)稱為目標(biāo)機(jī)(Target)。通常,宿主機(jī)是一臺(tái)通用計(jì)算機(jī),可以是PC或工作站。它通過串口或網(wǎng)絡(luò)連接與目標(biāo)機(jī)通信,宿主機(jī)的軟硬件資源比較豐富。目標(biāo)機(jī)可以是嵌入式應(yīng)用軟件的實(shí)際運(yùn)行環(huán)境,也可以是能替代實(shí)
107、際環(huán)境的仿真系統(tǒng)。</p><p> 為了使宿主機(jī)上開發(fā)的程序(應(yīng)用程序和驅(qū)動(dòng)程序)能夠方便地下載到目標(biāo)機(jī)上運(yùn)行,一般還要在宿主機(jī)上配置好網(wǎng)絡(luò),使其支持NFs或tftp等網(wǎng)絡(luò)服務(wù),從而實(shí)現(xiàn)兩臺(tái)機(jī)器之間的文件共享。交叉編譯過程如圖16所示。</p><p> 圖16 嵌入式開發(fā)的交叉編譯過程</p><p> 交叉開發(fā)環(huán)境是指實(shí)現(xiàn)編譯、鏈接和調(diào)試應(yīng)用程序代碼的
108、環(huán)境,與運(yùn)行應(yīng)用程序的環(huán)境不同,它分散在有通信連接的宿主機(jī)與目標(biāo)機(jī)環(huán)境中。過程包括:</p><p> 1、下載源文件、補(bǔ)丁和建立編譯的目錄</p><p><b> 2、建立內(nèi)核頭文件</b></p><p> 3、建立二進(jìn)制工具(binutils)</p><p> 4、建立初始編譯器(bootstrap g
109、cc)</p><p> 5、建立c庫(kù)(glibc)</p><p> 6、建立全套編譯器(full gcc)</p><p> 4.3.2 ARM的嵌入式Linux軟件系統(tǒng)構(gòu)成</p><p> 一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通??梢苑譃樗膫€(gè)層次[11]:</p><p> 1.引導(dǎo)加載程序:包括固
110、化在固件中的boot代碼(可選)和Boot Loader兩大部分。</p><p> 2.Linux內(nèi)核:特定于嵌入式板子的定制內(nèi)核以及內(nèi)核的啟動(dòng)參數(shù)。</p><p> 3.文件系統(tǒng):包括根文件系統(tǒng)和其他建立于Flash設(shè)備之上的文件系統(tǒng)。</p><p> 4.用戶應(yīng)用程序:特定于用戶的應(yīng)用程序。</p><p> 5. Swit
111、ch 模塊 </p><p> M23636是36 x36運(yùn)作在數(shù)據(jù)率最高達(dá)6.5 Gbps完全異步非阻塞交叉點(diǎn)開關(guān)。它運(yùn)作在Lane模式。該設(shè)備包括使6.5 Gbps的PCB通道,超過一米長(zhǎng)的NRZ數(shù)據(jù)傳輸?shù)南冗M(jìn)的信號(hào)調(diào)理功能。信號(hào)調(diào)理電路的頻率依賴的障礙對(duì)抗信道,降低信號(hào)質(zhì)量。特定的設(shè)備功能包括個(gè)人、per-lane可編程輸入和輸出去強(qiáng)調(diào)均衡。設(shè)備的配置是通過一組寄存器寫入使用一個(gè)集成的2線串行(I2C兼容
112、),4線串行或并行數(shù)字接口。M23636設(shè)備架構(gòu)如圖17所示。</p><p> 圖17 M23636設(shè)備架構(gòu)</p><p> 5.1 M23636特性</p><p> M23636特性如表4所示:</p><p> 表4 M23636特性</p><p> 5.2 M23636應(yīng)用</p>
113、;<p> ? 底板交換和信號(hào)調(diào)理</p><p> ? ?? SMPTE 424M, 292M, 344M, 259M, DVB-ASI</p><p> SMPTE 424M標(biāo)準(zhǔn),制訂的292M,3.44億,259M,DVB-ASI(270 Mbps) (270 Mbps)</p><p> ? ?? HDMI, DVI, KVM, and
114、 Displayport switching</p><p> HDMI,DVI,KVM和DisplayPort轉(zhuǎn)接equipment設(shè)備</p><p> ? ?? Digital video switchers/routers</p><p> 數(shù)字視頻交換器/路由器</p><p> ? ?? SONET/SDH systems
115、 and modules</p><p> SONET / SDH系統(tǒng)和模塊</p><p> ? ?? Fibre Channel systems</p><p><b> 光纖通道系統(tǒng)</b></p><p> ? ?? Gigabit Ethernet systems</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子信息工程畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的家電遠(yuǎn)程控制系統(tǒng)的研究
- 電子信息工程畢業(yè)論文
- 電子信息工程畢業(yè)論文
- 電子信息工程專業(yè)畢業(yè)論文(設(shè)計(jì))
- 電子信息工程專業(yè)畢業(yè)論文
- 電子信息工程專業(yè)畢業(yè)論文
- 電子信息工程畢業(yè)論文(設(shè)計(jì))基于vb控制的絕緣耐壓測(cè)試系統(tǒng)
- 電子信息工程技術(shù)畢業(yè)論文設(shè)計(jì)
- 畢業(yè)論文--智能遠(yuǎn)程控制led顯示設(shè)備設(shè)計(jì)
- 電子信息工程畢業(yè)論文帶程序
- 電子信息工程畢業(yè)論文范文
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)【電子信息工程畢業(yè)論文】
- 電子信息工程系畢業(yè)論文
- 交通燈控制系統(tǒng)設(shè)計(jì)【電子信息工程畢業(yè)論文】
- 電子信息工程畢業(yè)論文基于網(wǎng)絡(luò)工程實(shí)驗(yàn)論文
- 基于java的遠(yuǎn)程控制軟件設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)【電子信息工程畢業(yè)論文】
- 電子與信息工程畢業(yè)論文基于arm的壓力監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
- 電子與信息工程畢業(yè)論文基于arm的濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
- 電子信息工程畢業(yè)論文基于agent的網(wǎng)絡(luò)教學(xué)模型
評(píng)論
0/150
提交評(píng)論