基于ARM9的四翼探測飛行器設計與實現(xiàn)_第1頁
基于ARM9的四翼探測飛行器設計與實現(xiàn)_第2頁
基于ARM9的四翼探測飛行器設計與實現(xiàn)_第3頁
基于ARM9的四翼探測飛行器設計與實現(xiàn)_第4頁
基于ARM9的四翼探測飛行器設計與實現(xiàn)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、the designing 結構(靜態(tài))冗余度,去除數(shù)據(jù)本身的多余信息。 jpeg 編碼中主要涉及包括:dct、zigzag 編碼、量化、rle 編碼、范式 huffman 編碼、dc(直流分量)的編碼。jpeg 編碼流程如圖所示: 圖 2-1 jpeg 編碼流程圖 dct(discrete cosine transform)變換,又稱離散余弦變換是可逆的、離散的正交變 換。它將原始圖像色彩空問域轉換為頻譜域。由于相鄰兩點像素色彩很多是接近的, 壓縮這些不需要的數(shù)據(jù)必須利用圖像信號的頻譜特性。jpeg 壓縮原理的理論依據(jù)是圖 像信號頻譜線大都分布在 06 mhz 范圍內(nèi),而且一幅圖像內(nèi)大多數(shù)為

2、低頻頻譜線, 而高頻的譜線只占圖像比例很低的圖像邊緣或者細微紋理細節(jié)的信號時才出現(xiàn)。根據(jù) 這一特性,在做數(shù)字圖像處理時對包含信息量大的低頻譜區(qū)域分配較多的比特數(shù),相 反的對于包含信息量低的高頻譜區(qū)域分配較少的比特數(shù),達到圖像壓縮的目的,而圖 像質(zhì)量并沒有肉眼可察覺的降低。除了 dct 變換,常用的變化算法還有:walsh- hadamard 沃爾什哈達瑪變換、哈爾變換、傅氏變換等。 量化是對 dct 系數(shù)的一個優(yōu)化過程,利用了肉眼的高頻不敏感特性對數(shù)據(jù)進行大 幅壓縮。整個過程是簡易的把頻率域的每個成份除以對應的常數(shù),并對結果四舍五入 取整,整個流程的目的是減少非零的系數(shù)以及增加零值系數(shù)數(shù)目。量

3、化是有損運算, 是圖像質(zhì)量下降的主要因素。對于人眼對亮度與色差的敏感性不一致,分別使用亮度 量化表與色度量化表。對量化后的數(shù)據(jù)采用 zigzag 蛇形編碼,這是因為交流分量中含 有大量的零值,zigzag 編碼可以產(chǎn)生更多連續(xù)的零值,對下一步使用行程編碼非常有 利。行程編碼(run length coding)是一種根據(jù)相同數(shù)據(jù)連續(xù)重復多次的情況簡化表示的 算法。例如,5555333333999 按照行程編碼表示為(5,4)(3,6)(9,3)可以對數(shù)據(jù),尤其 是大量的零值壓縮數(shù)據(jù)長度。編碼后的數(shù)據(jù)還須通過 huffman 編碼來壓縮,huffman 編碼的最大特點是使出現(xiàn)頻率較高的數(shù)字小于

4、8 位,而出現(xiàn)頻率低的數(shù)字大于 8 位, 這使得數(shù)據(jù)大幅壓縮。到此數(shù)據(jù)的壓縮過程結束,對壓縮后的數(shù)據(jù)按照 jpeg 文件格式 要求進行保存,加上文件開始標記 start of image=ffd8,文件結束標記 end of image =ffd9,量化表標記 deftne quanttzation table=ffdb,霍夫曼編碼表標記 ddfine huffman table=ffc4,幀開始標記 star of frame=ffc0 等標記,再加上圖片識別信息 字節(jié)標記就最終形成完整的可用于傳輸或存儲的 jpeg 幀圖像,通過套接字接口不間斷 地發(fā)送 jpeg 圖像即形成 mjpeg 視

5、頻流。 2.1.4 jpeg 相關 jpeg 是 joint photographic exports group 的英文縮寫,中文稱之為聯(lián)合圖像專家小 組。該小組隸屬于 iso 國際標準化組織,主要負責定制靜態(tài)數(shù)字圖像的編碼方法,即 所謂的 jpeg 算法。jpeg 專家組開發(fā)了兩種基本的壓縮算法、兩種熵編碼方法、四種 編碼模式。 壓縮算法: (1)有損的離散余弦變換 dct(discrete cosine transform) (2)無損的預測壓縮技術; 熵編碼方法: (1)huffman 編碼; (2)算術編碼; 編碼模式: (1)基于 dct 的順序模式:編碼、解碼通過一次掃描完成;

6、(2)基于 dct 的漸進模式:編碼、解碼需要多次掃描完成,掃描效果由粗到精, 逐級遞增; (3)無損模式:基于 dpcm,保證解碼后完全精確恢復到原圖像采樣值; (4)層次模式:圖像在多個空間分辨率中進行編碼,可以根據(jù)需要只對低分辨率 數(shù)據(jù)做解碼,放棄高分辨率信息; 在實際應用中,jpeg 圖像編碼算法使用的大多是離散余弦變換、huffman 編碼、 順序編碼模式。這樣的方式,被人們稱為 jpeg 的基本系統(tǒng)。這里介紹的 jpeg 編碼算 法的流程,也是針對基本系統(tǒng)而言?;鞠到y(tǒng)的 jpeg 壓縮編碼算法一共分為 11 個步 驟:顏色模式轉換、采樣、分塊、離散余弦變換(dct) 、zigza

7、g 掃描排序、量化、 dc 系數(shù)的差分脈沖調(diào)制編碼、dc 系數(shù)的中間格式計算、ac 系數(shù)的游程長度編碼、 ac 系數(shù)的中間格式計算、熵編碼。 2.2 servfox 技術 2.2.1 servfox 的作用 servfox 在圖像采集過程中主要兩個線程:采集視頻圖像,發(fā)送視頻圖像給客戶端。 在采集線程和發(fā)送線程同時運行的情況下,會存在對存儲壓縮過的圖像數(shù)據(jù)的緩沖區(qū) 這個臨界區(qū)競爭的情況。為了能把采集到每一幀圖像數(shù)據(jù)完整的發(fā)送出去,需要采用 一些同步機制。servfox 只是個應用程序,它的初始化設備,獲取設備屬性和圖像屬性, 設置圖像參數(shù),捕捉圖像數(shù)據(jù),都是通過 video4linux 借口標

8、準調(diào)用驅(qū)動的相關函數(shù) 完成的。 2.2.2 servfox 流程圖 圖 2-2 servfox 流程圖 servfox 運行過程: a.從命令行傳遞參數(shù)給變量; b.初始化視頻采集設備; c.采集圖像數(shù)據(jù)線程; d.建立 tcp 套接字服務端,為圖像數(shù)據(jù)發(fā)送線程做好準備; e.發(fā)送圖像數(shù)據(jù)到客戶端的線程。 2.2.3 servfox 采集數(shù)據(jù)端 servfox,修改 makefile 文件為: cc= arm-linux-gcc servflags =- o2-dlinu x ( warnings )-i / home/ gongyaof ei/ linux-2. 6. 15/ include

9、 然后編譯文件 make, 在當前文件夾下就可以看到生成的可執(zhí)行文件 servfox, 把此可執(zhí) 行文件拷貝到網(wǎng)絡文件系統(tǒng)下/ home/ 2440/bin, 在開發(fā)板中運行 servfox-d /dev/video0 -g -s 320 x240 -w 7070, 就可以看到如下的提示信息: servfox version: 1. 1. 2 dat e: 07: 10: 2005 ( c) mxhaard magic. fr waiting. . . for connection. ct rl_c to stop ! ! ! ! 說明 servfox 已成功運行起來了。 2.3 video

10、for linux 介紹 video for linux(簡v4l)是linux中關于視頻設備的內(nèi)核驅(qū)動,它為針對視頻設備的 應用程序編程提供一系列接口函數(shù),這些視頻設備包括現(xiàn)今市場上流行的tv卡、視頻 捕捉卡和usb攝像頭等。對于usb口攝像頭,其驅(qū)動程序中需要提供基本的i/o操作接 口函數(shù)open、read、write、close的實現(xiàn)。 當應用程序?qū)υO備文件執(zhí)行讀操作時,內(nèi)核將調(diào)用file_operations結構中的read函數(shù)。 在系統(tǒng)平臺上對usb口數(shù)碼攝像頭驅(qū)動,首先把usb控制器驅(qū)動模塊靜態(tài)編譯進內(nèi)核, 使平臺中支持usb接口,再在需要使用攝像頭采集時,使用insmode動態(tài)加

11、載其驅(qū)動模 塊,這樣攝像頭就可以正常工作了,接著進行了下一步對視頻流的采集編碼。程序中 定義的數(shù)據(jù)結構: struct video_capability grab_cap; struct video_picture grab_pic; struct video_mmap grab_buf; struct video_mbuf grab_vm; 這些數(shù)據(jù)結構都是由video4linux支持的,它們的用途如下: video_capability 包含設備的基本信息(設備名稱、支持的最大最小分辨率、信 號源信息等)name32 設備名稱 maxwidth maxheight minwidth min

12、height channels 信號源個數(shù) type 是否能capture,彩色還是黑白,是否能裁剪等等。值如 vid_type_capture等。 video_picture 設備采集的圖象的各種屬性 brightness 065535 hue colour contrast whiteness depth 8 16 24 32 palette video_palette_rgb24 | video_palette_rgb565 video_palette_jpeg| video_palette_rgb32 video_channel 關于各個信號源的屬性 channel 信號源的編號 na

13、me tuners type video_type_tv | ideo_type_ccamera norm 制式 pal|nstc|secam|auto video_window 包含關于capture area的信息 x x windows 中的坐標. y y windows 中的坐標. width the width of the image capture. height the height of the image capture. chromakey a host order rgb32 value for the chroma key. flags additional capt

14、ure flags. clips a list of clipping rectangles. (set only) clipcount the number of clipping rectangles. (set only) video_mbuf 利用mmap進行映射的幀的信息 size 每幀大小 frames 最多支持的幀數(shù) offsets 每幀相對基址的偏移 video_mmap 用于mmap 2.4 系統(tǒng)硬件平臺 天嵌科技 s3c2440 開發(fā)板(如圖 2-3 天嵌科技 s3c2440 開發(fā)板) ,其 cpu 處理器 使用 samsung s3c2440,主頻 400 mhz,最高

15、533 mhz;64 m sdram、32 bit 數(shù)據(jù)總 線、sdram 時鐘頻率 100 mhz;256 m/1 gb nand flash,掉電非易失、2 m norflash,掉電非易失;4.3 真彩 lcd,屏集成 4 線電阻式觸摸屏;100 m 以太網(wǎng) rj- 45 接口(采用 dm9000 網(wǎng)絡芯片) 、串行口、usb host、usb slave b 型接口、sd 卡 存儲接口、路立體聲音頻輸出接口,麥克風接口、jtag 接口、4 user leds、i2c 總 線 at24c08 芯片、20 pin 攝像頭接口;攝像頭用良田,兼容 sn9c20x 系列芯片的驅(qū) 動。本系統(tǒng)的內(nèi)

16、核中集成了該驅(qū)動。在 s3c2440 上對 linux 內(nèi)核及根文件系統(tǒng)的移植 并運行,則完成了嵌入式開發(fā)平臺的搭建。其次,本文對系統(tǒng)的核心功能部分即應用 軟件部分進行了設計和實現(xiàn),包括完成 boa 服務器配置移植,外接 usb 攝像頭驅(qū)動和 wlan 無線網(wǎng)卡驅(qū)動的開發(fā)和移植;利用 video4linux 提供的接口函數(shù)實現(xiàn)了攝像頭 的圖像采集;設計了系統(tǒng) mpeg-4 圖像采集和壓縮的具體編程流程,并實現(xiàn)了基于 mjpeg 的視頻壓縮;采用了 ieee802.11 傳輸協(xié)議作為視頻數(shù)據(jù)流傳輸協(xié)議,并實現(xiàn) 了視頻數(shù)據(jù)在無線局域網(wǎng)(wean)內(nèi)的實時性傳輸;利用 mjpeg 和 servfox

17、 實現(xiàn)了壓 縮視頻數(shù)據(jù)的解碼播放。 圖 2-3 天嵌科技 s3c2440 開發(fā)板 3 3 系統(tǒng)文件的移植系統(tǒng)文件的移植 3.1 系統(tǒng)配置移植環(huán)境搭建 由于嵌入式系統(tǒng)軟件的開發(fā)特點,在進行軟件開發(fā)之前需要建立一個開發(fā)環(huán)境, 包括開發(fā)主機的操作系統(tǒng)安裝,交叉編譯壞境對的建立等。一般在整個開發(fā)壞境中, 需要 windows 系統(tǒng)工作臺, linux 系統(tǒng)的服務器和開發(fā)板。工作臺主要用于控制和調(diào) 試開發(fā)板,linux 系統(tǒng)的服務器主要用于對程序的交叉編譯。下表為開發(fā)壞境各個組成 部分和相關軟件表述: 圖 3-1 開發(fā)壞境要求 3.2 linux 移植相關 3.2.1 linux 系統(tǒng)組成部分介紹 一個

18、 linux 系統(tǒng)從軟件的角度通??纯梢苑譃樗膫€層次,如下圖所示: 引導加載程序:包括固化在固件中的 boot 代碼,和 bootloader 兩大部分。 linux 內(nèi)核:特定于嵌入式板子的定制內(nèi)核以及內(nèi)核的啟動參數(shù)。 文件系統(tǒng):包括根文件系統(tǒng)和建立于 flash 內(nèi)存設備之上的文件。 用戶應用程序:特定于用戶的應用程序。 圖 3-2 linux 軟件層次圖 3.2.2 嵌入式文件系統(tǒng) 不同的文件系統(tǒng)類型有不同的特點,因而根據(jù)存儲設備的硬件特性,系統(tǒng)需求等 有不同的應用場合。在嵌入式系統(tǒng) linux 應用中,主要存儲設備室 ram(dram,sdram)和 rom,常用的基于存儲設備的文件系

19、統(tǒng)類型包括: jffs2,yaffs,romfs,ramdisk,ramfs 等。 3.2.3 linux 移植 linux 移植主要包括三大部分:內(nèi)核的重新編譯,bootloader,重新編譯文件系統(tǒng)的制 作。 3.3 boa 的配置移植 在嵌入式系統(tǒng)中,boa 服務器運行在linux 系統(tǒng)下,輕巧高效、占用資源少,是嵌入 式web 服務器的首選。解壓boa 服務器的源代碼,通過修改配置( 配置文件boa conf 在/etc /boa 目錄下) ,可以將boa 編譯進內(nèi)核,從而使嵌入式linux 系統(tǒng)具備了 web 功能。執(zhí)行步驟如下:(詳細過程見附錄一) 1) 下載源碼解壓。 2) 進入

20、boa/src后, configure配置生成makefile文件,然后執(zhí)行make生成可執(zhí)行文件boa。 3) 配置boa. conf文件,主要完成對boa運行的用戶權限,端口,server根目錄,html網(wǎng) 頁等的設置。 (下圖為boa服務器工作原理圖) 圖3-3 boa服務器工作原理圖 由于服務器端的 web 頁面包括 java 插件,所以在遠程客戶端 pc 機 windows 系 統(tǒng)安裝 java 環(huán)境( j2sdk-1_4_1) ,下載安裝好 j2sdk-1_4_1,在遠程客戶端的 ie 瀏覽器 地址欄上輸入嵌入式 linux 視頻網(wǎng)站的 ip 地址,就可以實現(xiàn)遠程實時監(jiān)控了。 1)

21、 清晰度的測量由于網(wǎng)絡狀況的差異,數(shù)據(jù)傳輸有所不同,測試效果能達到每秒 20 幀左右,滿足實時播放的要求。 2) 工作環(huán)境的測試 設備可以方便的安裝在各種特殊的工業(yè)現(xiàn)場和某些極端惡劣的環(huán)境中,用戶都能順利 的通過網(wǎng)絡訪問視頻服務器網(wǎng)站,可以多用戶同時訪問,實現(xiàn)視頻監(jiān)控。理論傳輸距 離空曠區(qū)域 300 米,實際測試距離 260280 米(包含障礙物,樓房,樹木等) 。 4 人機交互界面的設計 4.1 人機交互界面設計理念 軟件界面是人機之間的信息界面,從某種意義上講,它比硬件和工作環(huán)境更為 重要。優(yōu)化軟件界面就是要合理設計和管理人機對話的結構。對話的結構設計一般 可分為初始設計、形式評價和總結評

22、價三個階段。 五種人機交互方式: 對話方式優(yōu)點缺點 菜單選擇學習期短 點擊次數(shù)少,結構清楚,利 于進行出錯處理 菜單之間識別性差 表格簡化數(shù)據(jù)管理,利于比較, 只需要少量幫助 輸入繁瑣 命令語言 靈活,對經(jīng)常性操作者有吸 引力; 支持用戶主管能動性 不易于廣泛推廣 需要大量培訓和記憶 出錯處理能力差 自然語言直接使用,無學習負擔技術限制 直接操作 以視覺的方式呈現(xiàn),容易學 習,可以避免出錯 鼓勵探索,能提高高度主管 滿足 編程難度 多種設備使用的協(xié)調(diào)性 4.2 人機交互界面設計的原則 (1)媒體最佳組合 媒體界面的成功并不在于僅向用戶提供豐富的媒體,而應在了解媒體的功能、 選 擇方法的基礎上,

23、在相關理論的指導下,在語義層上將各種媒體有機地結合起 來以更 有效地傳遞信息。 (2)界面分析與規(guī)范 在人機界面設計中,首先應進行界面設計分析,即收集有關用戶及其應用環(huán) 境信 息以后,進行用戶特性分析,用戶任務分析,記錄用戶有關系統(tǒng)的概念、術 語,這項 工作可與應用系統(tǒng)分析結合進行。分析任務中對界面設計要有界面規(guī)范 說明,選擇界 面設計類型,并確定設計的主要組成部分。 由于人機界面是為適合人的需要而建立的,所以要清楚使用該界面用戶的類型, 要了解用戶使用系統(tǒng)的頻率、用途及對用戶的綜合知識和智力的測試,這些均是用戶 設計中的內(nèi)容。在此基礎上產(chǎn)生任務規(guī)范說明,進行任務設計。任務設計的目的在于 重新

24、組織任務規(guī)范說明以產(chǎn)生一個更有邏輯性的編排。設計應精心地分別給出人與計 算機的活動,使設計者較好地理解在設計一個界面時所遇到的問題,這樣形成系統(tǒng)操 作手冊、訓練文件和用戶指南的基礎。在考慮用戶工作方式及系統(tǒng)環(huán)境和支持等因素 下,精心任務設計。任務確定之后,要決定界面類型。目前有多種人機界面設計類型, 各有不同的 品質(zhì)和性能,因此設計者要了解每種類型的優(yōu)點和限制。大多數(shù)界面使用 一種以上的設計類型。 4.3 運用 microsoft visual studio 設計界面 在人機交互界面實現(xiàn)的時候,有兩種方案可以選擇:visual studio2008 和 qt, 下面是兩種方案的選取比較。由于

25、vs2008 語法要求寬松,最終選用 vs2008 開發(fā)界面。 人際交互界面的設計方案 html(hyper text mark-up language) qt(奇趣) 編輯方便,簡單明了優(yōu)良的跨平臺特性(windows,linux) 語法要求寬松良好的封裝機制 制作軟件多(dreamware,visual studio,frontpage) 模塊化成度高 vs2008 是微軟公司推出的開發(fā)環(huán)境,是目前最流行的 windows 平臺應用程序開發(fā) 環(huán)境。vs2008 是基于 c 語言的一個開發(fā)平臺,用戶可以通過純 c 語言編寫,也可以使 用其設計模塊進行直接設計。網(wǎng)頁分為靜態(tài)和動態(tài)兩種。靜態(tài)網(wǎng)頁

26、是有一個 html 頁面 保存在要看的頁面上,瀏覽器就要這個頁面的時候服務器就把這個頁面文件發(fā)給瀏覽 器;動態(tài)網(wǎng)頁時服務器上沒有要看的頁面,惹事服務器動態(tài)生成的 html 頁面發(fā)給瀏覽 器。 一個網(wǎng)頁的基本結構(c 語言版)如下: 基本結構中 head 是標題頭,title 為網(wǎng)頁的標題,body 為網(wǎng)頁中的內(nèi)容,如下圖設計 版: 圖 4-1 網(wǎng)頁結構示意 網(wǎng)頁設計中視頻傳輸顯示界面的涉及到的核心代碼展示:(全部代碼見附錄二) you need to download java. click here: http:/ click on the window surface to set bri

27、ghtness and contrast when done, click again to remove the control box. 常用命令:創(chuàng)建表格;創(chuàng)建行;創(chuàng)建單元格; 回車; 為: /*if (dup2(error_log, stderr_fileno) = -1) die(unable to dup2 the error log); */ 否則會出現(xiàn)錯誤: log.c:73 unable to dup2 the error log:bad file descriptor (3)修改 src/boa.c 注釋掉下面兩句話: if (passwdbuf = null) die(”

28、getpwuid”); if (initgroups(passwdbuf-pw_name, passwdbuf-pw_gid) = -1) die(”initgroups”); 為 #if 0 if (passwdbuf = null) die(”getpwuid”); if (initgroups(passwdbuf-pw_name, passwdbuf-pw_gid) = -1) die(”initgroups”); #endif 否則會出現(xiàn)錯誤:boa.c:211 - getpwuid: no such file or directory 注釋掉下面語句: if (setuid(0) !

29、= -1) die(”icky linux kernel bug!”); 為 #if 0 if (server_uid !=0 #endif 否則會出現(xiàn)問題:boa.c:228 - icky linux kernel bug!: no such file or directory 4、生成 makefile 文件 執(zhí)行: #cd boa-0.94.13 #./configure 5、修改 makefile cdsrc vimmakefile 修改 cc gcc 為 cc arm-linux-gcc 修改 cpp gcc -e 為 cc arm-linux-gcce 退出, 6、編譯 # cd

30、.返回到上層目錄 make #cd src ls -l boa -rwxr-xr-x 1 daviddavid 189223 2009-05-31 13:44 boa 然后為生成的二進制文件 boa 瘦身 arm-linux-strip boa ls -l boa -rwxr-xr-x 1 daviddavid 61052 2009-05-31 13:51 boa 可以發(fā)現(xiàn) boa 的大小前后差距很大這為我們節(jié)省了很大的空間 7、boa 的配置 這一步的工作也在電腦主機上完成。 在 boa-0.94.13 目錄下已有一個示例 boa.conf(在 example 目錄下) , 可以在其基礎上進

31、行修改。如下: #cd #viboa.conf (1)group 的修改 修改 group nogroup 為 group 0 (2)user 的修改 修改 user nobody 為 user 0 (3)scriptalias 的修改 修改 scriptalias /cgi-bin/ /usr/lib/cgi-bin/ 為 scriptalias /cgi-bin/ /www/cgi-bin/ (5)doucmentroot 的修改 修改 doucmentroot /var/www 為 doucmentroot /www (6)servername 的設置 修改#servername www

32、..here 為 servername .here 否則會出現(xiàn)錯誤“gethostbyname:no such file or directory” (7)accesslog 修改 修改 accesslog /var/log/boa/access_log 為#accesslog /var/log/boa/access_log (8)errorlog 修改 修改 errorlog /var/log/boa/error_log 為 errorlog /root/log/boa/error_log 否則會出現(xiàn)錯誤提示:“unable to dup2 the e

33、rror log: bad file descriptor” (9)以下配置和 boa.conf 的配置有關,都是在 arm 根文件系統(tǒng)中創(chuàng)建 由于天嵌科技 2440 開發(fā)板采用 cramfs 文件系統(tǒng),對/etc 目錄沒有修改的權限,所以采 取制作文件系統(tǒng)的方法。 在虛擬機中解壓 up-star-rootfs.tar.bz2 #cd / #mkdirmyrootfs #cd myrootfs 將 up-star-rootfs.tar.bz2 復制到本目錄下 #tar xvfup-star-rootfs.tar.bz2 #cd rootfs/etc #mkdir boa 創(chuàng)建目錄 etc/bo

34、a 并且把 boa 和 boa.conf 拷貝到這個目錄下,將 boa 也考到 rootfs/bin 目錄下。 (10)在 rootfs/root/目錄下創(chuàng)建 log/boa #cd /home/myrootfs/root/ #mkdirp log/boa #touch error_log (11)將 www 拷貝的 rootfs 目錄下(創(chuàng)建 html 文檔的主目錄 www) rootfs 目錄有如下內(nèi)容: (12)還需要一個工具 servfox,解壓 servfox-r1_0_0.tar.gz 進入 servfox 目錄,直接 make,生成可執(zhí)行文件 servfox,將其復制到 root

35、fs/bin 目錄下。 (13)由于 redhat5.5,內(nèi)核版本 2.6.18 系統(tǒng)不帶 mkcramfs,我們要自己制作。 解壓 cramfs-1.1.tar.gz 直接 make,生成可執(zhí)行文件 mkcramfs,將其拷貝到 myrootfs 目錄。 #./mkcramfsrootfsroot.cramfs 將 root.cramfs 燒寫到開發(fā)板 測試: (1)啟動開發(fā)板: #boa .style2 width: 38%; .style3 width: 46px; height: 25px; .style4 width: 38%; height: 25px; .style5 heigh

36、t: 25px; width: 28%; .style6 width: 46px; height: 104px; .style7 width: 38%; height: 104px; .style8 height: 104px; width: 28%; .style9 width: 28%; .style10 width: 25%; .style11 font-family: 宋體, arial, helvetica, sans-serif; font-size: small; font-weight: bold; width: 203px; .style12 width: 138px; fo

37、nt-weight: bold; .style13 width: 268px; height: 20px; font-weight: bold; font-family: 幼圓; .style14 height: 20px; font-family: 幼圓; font-size: small; font-weight: bold; width: 203px; .style15 width: 249px; 四翼探測飛行器信息窗口 you need to download java. click here: http:/ click on the window surface to set bri

38、ghtness and contrast when done, click again to remove the control box. 簡 約 ; 高 效 追 求 nbsp; 卓 越 haojing college 攝像頭控制區(qū)域 當前溫度濕度信息 空氣質(zhì)量信息信息 a_team:程曉斌 楊鵬程 羅浩 張佳 指導老師:張鵬程 劉順來 畢業(yè)設計說明書(論文)縮寫稿 基于 arm9 的四翼探測飛行器的設計與實現(xiàn) 摘要 本文針對嵌入式開發(fā)基于 arm linux 平臺的人機交互系統(tǒng)解決方案。將從多角度 闡述人機交互的最新發(fā)展及應用狀況,包括多通道用戶界面、智能用戶界面多種關鍵 技術。還包含視頻

39、傳輸,解碼及最終顯示在用戶界面的軟件詳細開發(fā)過程。 1 緒論 1.1 課題的背景及意義 人機交互界面技術造就了輝煌的新時代個人計算機時代(20 世紀八、九十年 代) ,比如鼠標、圖形界面等等對 pc 的發(fā)展起到了巨大的促進作用。人機交互界面設 計是計算機系統(tǒng)的重要組成部分,是當前計算機界面設計行業(yè)競爭的焦點。人機交互 界面設計在設計流程上分為信息構架設計、交互設計、視覺平面設計三個部分。 用戶界面的發(fā)展對計算機系統(tǒng)整體性能的提高所具有的重要性已經(jīng)得到了人們的 高度重視,與此同時,圍繞人機建模業(yè)已形成了計算機產(chǎn)業(yè)又一新的競爭領域。在全 球范圍內(nèi),美國將人機交互的研究以加入到國防項目中,而日本以針

40、對此內(nèi)容提出一 個新計劃 fpiend21 其目標就是要開發(fā) 21 世界的計算機界面。 1.2 課題價值發(fā)展現(xiàn)狀 我國在人機界面方面的設計與國際同類研究相比還存在較大差距。目前的研究僅 僅著重于支持界面的軟件和硬件,對界面本身還缺少深入的研究,用戶界面的設計還 沒有成為軟件設計中獨立的一部分,也缺少新的人機界面設計技術。 界面設計必須在一定程度上反映產(chǎn)品目標的核心功能價值、工作原理方法、可能 的操作方法方式和反饋產(chǎn)品信息在某一特定時刻的運轉狀態(tài),并體現(xiàn)在以下幾個方面: 可用性,界面靈活性,界面設計的復雜性,界面可靠性。 1.3 論文主要工作 本文設計的人機交互界面是基于 arm9 的四翼探測飛

41、行器視頻采集及溫濕度數(shù)據(jù) 采集的顯示界面。另外攝像頭的驅(qū)動是要在 linux 操作系統(tǒng)下進行配置和修改,編譯 最后移植到 arm 板。 論文中人機交互界面的設計應用 microsoft 公司 visual studio 2008 軟件對整個界面 的布局,表格等進行詳細設計。 1.4 論文組織結構 本文包括五章內(nèi)容,其章節(jié)安排如下: 第一章介紹選題背景意義及論文設計中主要任務。 第二章介紹本文設計中涉及的重要理論知識。 第三章本章涉及引導系統(tǒng)的修改和移植, 。 第四章運用 microsoft 公司的 visual studio 2008 應用程序開發(fā)人機交互的界面。 第五章對本文的工作進行了論述

42、和以后工作的展望。 2 視頻流及攝像頭相關技術基礎 2.1 mjpeg 視頻流技術 2.1.1 mjpeg 視頻流概念 mjpeg 全名為 motion joint photographic experts group,是一種視頻編碼格 式,中文名稱翻譯為“技術即運動靜止圖像(或逐幀)壓縮技術” 。采用 m-jpeg 數(shù)字 壓縮格式,當壓縮比 7:1 時,可提供相當于 betecam sp 質(zhì)量圖像的節(jié)目。 motion jpeg 技術常用于閉合電路的電視攝像機的模擬視頻信號“翻譯”成視頻流, 并存儲在硬盤上。典型的應用如數(shù)字視頻記錄器等。在某些條件下,mjpeg 也許是效率 最低的編碼/解碼

43、器之一。 2.1.2 mjpeg 與 mpeg4 的區(qū)別 mjpg 是 mjpeg 的縮寫,但是 mjpeg 還可以表示文件格式擴展名. m-jpeg 是一種基于靜態(tài)圖像壓縮技術 jpeg 發(fā)展起來的動態(tài)圖像壓縮技術,可以生 成序列化的運動圖像。m-jpeg 壓縮技術可以獲取清晰度很高的視頻圖像,而且可以靈 活設置每路的視頻清晰度和壓縮幀數(shù)。m-jpeg 因采用幀內(nèi)壓縮方式也適于視頻編輯。 2.1.3 mjpeg 壓縮算法研究與實現(xiàn) mjpeg(motion joint photographic experts group)視頻編碼格式,把運動的視 頻序列作為連續(xù)的靜止圖像來處理,這種壓縮方式

44、單獨完整地壓縮每一幀,編輯過程 中可隨機存儲每一幀,可進行精確到幀的編輯。一幀原始圖像數(shù)據(jù)對其進行 jpeg 算法 編碼過程分兩大部分: 空間冗余度,去除視覺上的多余信息; 結構(靜態(tài))冗余度,去除數(shù)據(jù)本身的多余信息。 jpeg 編碼中主要涉及包括:dct、zigzag 編碼、量化、rle 編碼、范式 huffman 編 碼、dc(直流分量)的編碼。 dct(discrete cosine transform)變換,又稱離散余弦變換是可逆的、離散的正 交變換。它將原始圖像色彩空問域轉換為頻譜域。由于相鄰兩點像素色彩很多是接近 的,壓縮這些不需要的數(shù)據(jù)必須利用圖像信號的頻譜特性。 2.1.4 j

45、peg 相關 jpeg 是 joint photographic exports group 的英文縮寫,中文稱之為聯(lián)合圖像專 家小組。該小組隸屬于 iso 國際標準化組織,主要負責定制靜態(tài)數(shù)字圖像的編碼方法, 即所謂的 jpeg 算法。 2.2 servfox 技術 2.2.1 servfox 的作用 servfox 在圖像采集過程中主要兩個線程:采集視頻圖像,發(fā)送視頻圖像給客戶端。 2.2.2 servfox 流程圖 2.2.3 servfox 采集數(shù)據(jù)端 編譯文件 make, 在當前文件夾下就可以看到生成的可執(zhí)行文件 servfox, 把此可 執(zhí)行文件拷貝到網(wǎng)絡文件系統(tǒng)下/., 在開發(fā)板

46、中運行 servfox。 2.3 video for linux 介紹 video for linux(簡 v4l)是 linux 中關于視頻設備的內(nèi)核驅(qū)動,它為針對視頻設 備的應用程序編程提供一系列接口函數(shù),這些視頻設備包括現(xiàn)今市場上流行的 tv 卡、 視頻捕捉卡和 usb 攝像頭等。 2.4 系統(tǒng)硬件平臺 天嵌科技 s3c2440 開發(fā)板(如圖 2-3 天嵌科技 s3c2440 開發(fā)板) ,其 cpu 處理器使 用 samsung s3c2440,主頻 400 mhz,4.3 真彩 lcd;以太網(wǎng)接口、串行口、usb host、sd 卡存儲接口、路立體聲音頻輸出接口,麥克風接口。在 s3c

47、2440 上對 linux 內(nèi)核及根文件系統(tǒng)的移植并運行,則完成了嵌入式開發(fā)平臺的搭建。其次,本文對系 統(tǒng)的核心功能部分即應用軟件部分進行了設計和實現(xiàn),包括 boa 服務器,外接 usb 攝 像頭驅(qū)動和 wlan 無線網(wǎng)卡驅(qū)動;利用 v4l 實現(xiàn)了圖像采集;設計了系統(tǒng) mpeg-4 圖像 采集和壓縮;采用了 ieee802.11 傳輸協(xié)議作為視頻數(shù)據(jù)流傳輸協(xié)議,利用 mjpeg 和 servfox 實現(xiàn)了視頻播放。 3 系統(tǒng)文件的移植 3.1 系統(tǒng)配置移植環(huán)境搭建 由于嵌入式系統(tǒng)軟件的開發(fā)特點,在進行軟件開發(fā)之前需要建立一個開發(fā)環(huán)境,包括開發(fā)主機 的操作系統(tǒng)安裝,交叉編譯壞境對的建立等。一般在

48、整個開發(fā)壞境中,需要 windows 系統(tǒng)工作臺, linux 系統(tǒng)的服務器和開發(fā)板。下表為開發(fā)壞境各個組成部分和相關軟件表述: 3.2 linux 移植相關 3.2.1 linux 系統(tǒng)組成部分介紹 一個 linux 系統(tǒng)從軟件的角度通??纯梢苑譃樗膫€層次。 引導加載程序:包括固化在固件中的 boot 代碼,和 bootloader 兩大部分。 linux 內(nèi)核:特定于嵌入式板子的定制內(nèi)核以及內(nèi)核的啟動參數(shù)。 文件系統(tǒng):包括根文件系統(tǒng)和建立于 flash 內(nèi)存設備之上的文件。 用戶應用程序:特定于用戶的應用程序。 3.2.2 嵌入式文件系統(tǒng) 不同的文件系統(tǒng)類型有不同的特點,因而根據(jù)存儲設備的

49、硬件特性,系統(tǒng)需求等有不同的應用 場合。 3.2.3 linux 移植 linux 移植主要包括三大部分:內(nèi)核的重新編譯,bootloader,重新編譯文件系統(tǒng)的制作。 3.3 boa 的配置移植 在嵌入式系統(tǒng)中,boa 服務器運行在 linux 系統(tǒng)下,輕巧高效、占用資源少,是嵌入式 web 服務器的首選。 1) 下載源碼解壓。 2) 配置生成 makefile 文件,執(zhí)行 make 生成可執(zhí)行文件。 3) 配置 boa. conf 文件。安裝 j2sdk-1_4_1。 4 人機交互界面的設計 4.1 人機交互界面設計理念 軟件界面是人機之間的信息界面,從某種意義上講,它比硬件和工作環(huán)境更為

50、重要。優(yōu)化軟 件界面就是要合理設計和管理人機對話的結構。對話的結構設計一般可分為初始設計、形式評價 和總結評價三個階段。 4.2 人機交互界面設計的原則 (1)媒體最佳組合 (2)界面分析與規(guī)范 在人機界面設計中,首先應進行界面設計分析,即收集有關用戶及其應用環(huán) 境信息以后,進 行用戶特性分析,用戶任務分析,記錄用戶有關系統(tǒng)的概念、術 語,這項工作可與應用系統(tǒng)分析 結合進行。 4.3 運用 microsoft visual studio 設計界面 在人機交互界面實現(xiàn)的時候,有兩種方案可以選擇:visual studio2008 和 qt,下面是兩種方 案的選取比較。由于 vs2008 語法要求

51、寬松,最終選用 vs2008 開發(fā)界面。 vs2008 是基于 c 語言的一個開發(fā)平臺,用戶可以通過純 c 語言編寫,也可以使用其設計模塊 進行直接設計。網(wǎng)頁分為靜態(tài)和動態(tài)兩種。靜態(tài)網(wǎng)頁是有一個 html 頁面保存在要看的頁面上, 瀏覽器就要這個頁面的時候服務器就把這個頁面文件發(fā)給瀏覽器;動態(tài)網(wǎng)頁時服務器上沒有要看的 頁面,惹事服務器動態(tài)生成的 html 頁面發(fā)給瀏覽器。 一個網(wǎng)頁的基本結構(c 語言版)如下: 基本結構中 head 是標題頭,title 為網(wǎng)頁的標題,body 為網(wǎng)頁中的內(nèi)容。 5 測試與總結 5.1 測試結果展示 將所有的部分完成之后,需要接受端完成圖像接收性能的測試。 5

52、.2 工作總結 本課題經(jīng)過一個月的設計,以基于 arm9 的四翼探測飛行器之人機交互系統(tǒng)設計。通過遠程 搭載的攝像頭采集視頻通過 ieee802.11 無線傳輸協(xié)議傳輸?shù)?pc 機客戶端,實現(xiàn)人機交互。課題的 提出緊跟時代潮流,在嵌入式系統(tǒng)趨于廣泛應用各個領域,圍繞并展開一系列工作。 5.3 工作展望 系統(tǒng)設計中涉及了很多知識,作者也從中學習了很多的知識和技術,包括嵌入式技術,圖像編 碼技術等等。系統(tǒng)的設計到最后基本符合設計要求,但是由于作者能力有限,在以下方面還需要進 一步完善。 致 謝 經(jīng)過一個多月的緊張撰寫,畢業(yè)論文的工作以接近尾聲,回收三年的學習與生活, 許許多多激動畫面又浮現(xiàn)在眼前。

53、在此畢業(yè)之際,我首先感謝陜西科技大學鎬京學院 給我大學生活學習的機會,讓我學習到跟多知識及經(jīng)驗。其次要感謝我的班主任路竹 老師,劉順來老師和黨東鋒老師。 特別我感謝我們小組的其他成員,謝謝你們。除此之外還要感謝我的父母和家人。 最后感謝答辯組的老師在百忙之中閱讀批評評論指正我論文中的不足,在此衷心 祝福各位老師工作順利,事事順心! 參考文獻 1w.richard stevens,bill fenner,andrew m.rudoff,richardw.stevens.unix 網(wǎng)絡編程第 1 卷:套接口 api(第 3 版)m. 北京:清華大學出版社,2006.11 2周立功.arm 嵌入式系

54、統(tǒng)基礎教程(第二版)m.北京:北京航空航天大學出版社, 2008-9-1. 3楊繼華.基于嵌入式 linux 的遠程圖像監(jiān)控系統(tǒng)d.華中科技大學碩士學位論文. 2005.4 4mini2440 用戶手冊p. 廣州友善之臂計算機科技有限公司,2010.9.25 5柳亞東.基于 s3c2440 的嵌入式視頻網(wǎng)絡監(jiān)控系統(tǒng)d.上海交通大學碩士學位論 文.2009.1 畢業(yè)設計說明書(論文)縮寫稿譯文 the designing structure (static) redundancy, removing redundant information of the data itself. includ

55、ing: dct, zigzag coding, quantization, rle encoding, the paradigm huffman coding, coding dc (dc component) is mainly involved in the jpeg encoding. dct (discrete cosine transform) transform, also known as the discrete cosine transform is invertible, discrete orthogonal transformation. it the origina

56、l image color spatial domain to the spectral domain. due to the two adjacent pixel color is close, the compression of these unwanted data must utilize the spectral characteristics of the image signal. 2.1.4 jpeg related jpeg is the abbreviation for joint photographic exports group, the chinese calle

57、d the joint photographic experts group. the team is part of the iso international organization for standardization, is mainly responsible for custom static digital image coding method, which is called the jpeg algorithm. 2.2 servfox technology 2.2.1 the servfox role servfox in the image acquisition

58、process two threads: capture video images, send the video image to the client. 2.2.2 servfox flowchart 2.2.3 servfox collected data terminal the compiled documents make, the current folder you can see the resulting executable servfox, executable files are copied to the network file system /. run ser

59、vfox development board. 2.3 video for linux introduction video for linux (jane v4l) linux kernel driver, it offers a range of interface functions for video equipment application programming on the video device, these video devices including the popular tv card on the market today, video capture card

60、 and usb camera and so on. 2.4 system hardware platform the day embedded technology s3c2440 development board (figure 2-3 embedded technology s3c2440 development board), the cpu processor samsung s3c2440 clocked at 400 mhz, 4.3 true color lcd; ethernet interface, serial port, usb host, sd card stora

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論