freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于嵌入式的火災(zāi)無線視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文(參考版)

2024-11-20 19:46本頁面
  

【正文】 while (size 0) { page = vmalloc_to_。 } 北華大學(xué)畢業(yè)設(shè)計(論文) 31 vmavm_flags |= VM_IO。 } if (i == || size != ) { ret = EINVAL。[i]。 i 。 size = vmavm_end vmavm_start。 int ret = 0。 unsigned long addr, start, size。 static int myuvc_mmap(struct file *file, struct vm_area_struct *vma) { struct myuvc_buffer *buffer。 done: return ret。 = bufsize。 } = mem。 init_waitqueue_head(amp。 [i]. = 0。 [i]. = V4L2_FIELD_NONE。 [i]. = V4L2_BUF_TYPE_VIDEO_CAPTURE。 [i]. = i * bufsize。 i nbuffers。)。)。myuvc_queue, 0, sizeof(myuvc_queue))。 goto done。 if (mem != NULL) break。 nbuffers 0。 if (nbuffers == 0) goto done。 北華大學(xué)畢業(yè)設(shè)計(論文) 29 int ret。 unsigned int i。 UVC驅(qū)動框架 include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include asm/ include asm/ include media/ include media/ include media/ include static int myuvc_vidioc_reqbufs(struct file *file, void *priv, struct v4l2_requestbuffers *p) { int nbuffers = pcount。 12) 關(guān)閉視頻設(shè)備。 命令為 VIDIOC_QBUF 11) 停止視頻的采集。 命令為 VIDIOC_DQBUF。命令為 VIDIOC_QBUF。因此本設(shè)計采用更為高效的內(nèi)存映射 mmap()。傳統(tǒng)的文件訪問方式, 首先 需要調(diào)用系統(tǒng)調(diào)用 open 打開 設(shè)備 文件 , 然后 調(diào)用 read, write 以及 lseek 等進行順序或者隨 機的 I/O 訪問,效率非常低 的 , 每一次 I/O 操作都需要一次系統(tǒng)調(diào)用 。 北華大學(xué)畢業(yè)設(shè)計(論文) 28 7) 將申請到的幀緩沖映射到 內(nèi)存。 6) 向 系統(tǒng) 申請幀緩沖,一般不超過 5 個。 制式包括 PAL, NTSC,幀的格式包括寬度和高度等。 命令 VIDIOC_S_INPUT。 4) 選擇視頻輸入 。 比如是否具有視頻輸入 , 或者音頻輸入輸出等 功能 。 如以讀寫方式打開: fd=open(/dev/video0,O_RDWR)。 命令為 VIDIOC_STREAMON。Linux 編程中,一般使用 ioctl 函數(shù)來對設(shè)備的 I/O 通道進行管理。 視頻采集實現(xiàn) 視頻采集流程 嵌入式 Linux 內(nèi)核在加載好 UVC 驅(qū)動后,插入 USB 攝像頭,系統(tǒng)會對視頻采集做出一系列操作。從 OSI 模型來說 , 網(wǎng)絡(luò)芯片硬件完成物理層和數(shù)據(jù)鏈路層中 MAC 子層的功能 , 而驅(qū)動程序完成數(shù)據(jù)鏈路層中 LLC 子層所要求的功能。 網(wǎng)絡(luò)設(shè)備在初始化時 , 調(diào)用系統(tǒng)函數(shù) register_dev()將自己的 _device 結(jié)構(gòu)加入到鏈表中 , 因此鏈表中的每一個單元表示一個存在網(wǎng)絡(luò)設(shè)備。另一個結(jié)北華大學(xué)畢業(yè)設(shè)計(論文) 26 構(gòu)就是上面提到的 _devicc 結(jié)構(gòu) , 它的定義在 (inclue/linux/)中。 圖 網(wǎng)絡(luò)設(shè)備的驅(qū)動程序結(jié)構(gòu) 在網(wǎng)絡(luò)驅(qū)動程序部分主要有兩個數(shù)據(jù)結(jié)構(gòu) : 一個是 sk_buff, TCP/IP 中不同協(xié)議層間以及網(wǎng)絡(luò)驅(qū)動程序之間傳遞數(shù)據(jù)包采用的結(jié)構(gòu)體 , 這個結(jié)構(gòu)體主要包括傳輸層、網(wǎng)絡(luò)層和連接層需要的變量 , 決定數(shù)據(jù)區(qū)位置和大小的指針 , 發(fā)送接收數(shù)據(jù)包所用到的具體設(shè)備信息等。該框架在內(nèi)核網(wǎng)絡(luò)模塊中已經(jīng)搭建好 , 而在設(shè)計網(wǎng)絡(luò)驅(qū)動程序時 , 主要工作就是根據(jù)上層網(wǎng)絡(luò)設(shè)備接口層定義的 _devioe 結(jié)構(gòu)和底層具體的硬件特性 , 完成設(shè)備驅(qū)動的功能。 USB 設(shè)備驅(qū)動程序使 用下層驅(qū)動提供的接口來訪問 USB 設(shè)備 , 不需要關(guān)心傳輸?shù)木唧w細節(jié)。 無線網(wǎng)卡在 Linux 系統(tǒng)下的驅(qū)動 對于接入系統(tǒng)中的 USB 無線網(wǎng)卡 , 從 CPU 的角度來看首先是 USB 總線 , 然后才是網(wǎng)卡芯片 , 所以說 USB 無線網(wǎng)卡驅(qū)動程序分為兩個部分 : USB 主機控制器驅(qū)動程序(HostControllerDrivers)和 USB 設(shè)備驅(qū)動程序 (USBdevicedrivers)。更重要的一點是,由于嵌入式 Linux 與 PCLinux 源于同一套內(nèi)核代碼,只是裁剪的程度不一樣,同時嵌入式Linux 軟件資源非 常豐富,有這各類實用的函數(shù)庫。 (3) Linux 是遵循 GPL 協(xié)議的開放源代碼的操作系統(tǒng),使用時無需繳納許可費用,內(nèi)核可以任意裁剪,幾乎支持所有的 32 位、 64 位 CPU;內(nèi)核 中支持的硬件種類繁多,幾乎可以從網(wǎng)絡(luò)上找到所有硬件驅(qū)動程序;支持幾乎所有網(wǎng)絡(luò)協(xié)議;有大量的應(yīng)用程序可用,從編譯工具、調(diào)試工具刀 GUI 程序,幾乎都有遵循的 GPL 協(xié)議的相關(guān)版本;有龐大的開發(fā)人員群體,有數(shù)量眾多的技術(shù)論壇,大多問題都可以得到快速而免費的解答。 (2)Windows CE 是微軟公司針對嵌入式設(shè)備開發(fā)的 32 為、多任務(wù)、多線程的操作系統(tǒng)。就性能而言,它是非常優(yōu)秀的操作系統(tǒng),具有可裁剪的微內(nèi)核結(jié)構(gòu)、高效的任務(wù)管理、靈活的任務(wù)間通信、微秒級的中斷處理,支持多種物理介質(zhì)及標(biāo)準(zhǔn)、完整的 TCP/IP 網(wǎng)絡(luò)協(xié)議等。操作系統(tǒng)的作用有:統(tǒng)一管理系統(tǒng)資源、為用戶提供訪問硬件的接口、調(diào)度多個應(yīng)用程序、管理文件系統(tǒng)等。 系統(tǒng)的軟件實現(xiàn)流程模塊 : 圖 系統(tǒng)的軟件流程圖 根據(jù)前三章的分析,系統(tǒng)是以攝像頭采集視頻系統(tǒng)為起始的 , 視頻采集涉及到把攝像頭的每個像點的模擬信號取進來 , 同時轉(zhuǎn)換成 RGB 或 YUV 格式的數(shù)字信號 ; 視頻采集完成以后 , 由于采集到的視頻容量較大 , 還需要進行視頻壓縮編碼 , 視 頻編碼就是把上述 RGB 或 YUV 格式的數(shù)字信號轉(zhuǎn)換成能適用于無線網(wǎng)絡(luò)傳輸或在 Inter 中傳輸?shù)木幋a , 例如 MPEG4 編碼 ; 當(dāng)編碼完成以后 , 通過網(wǎng)絡(luò)協(xié)議對數(shù)據(jù)進行封裝 , 并通過無線網(wǎng)絡(luò)模塊進行數(shù)據(jù)傳送 ; 在接收端 , 嵌入式設(shè)備進行壓縮編碼的解碼 , 將視頻數(shù)據(jù)轉(zhuǎn)換成到可以在 LCD 顯示頻上顯示的數(shù)據(jù)格式。 (3). 文件系統(tǒng) : 包括根文件系統(tǒng)和建立于 Flash 內(nèi)存設(shè)備之上的文件系統(tǒng) , 可以讓開發(fā)人員靈活方便的管理系統(tǒng)。 圖 視頻傳輸系統(tǒng)軟件模塊的整體框圖 (1). 引導(dǎo)加載程序 : 固化在硬件 Flash 上的一段引導(dǎo)代碼 , 用于初始化處理器、傳遞內(nèi)核啟動參數(shù)給嵌入式操作系統(tǒng)內(nèi)核 , 使內(nèi)核按照我們的參數(shù)要求啟動。由于具有 專用的操作系統(tǒng)支持 , 在嵌入式系統(tǒng)平臺上開發(fā)應(yīng)用軟件和在普通 PC 上一樣的方便快捷。 Linux 系統(tǒng)支持 NFS,使用 NFS 的這種功能,就能很輕松地將宿主機上的文件掛載到嵌入式目標(biāo)板上去,這樣不僅方便了嵌入式開發(fā)板對主機上文件地訪問, 而且極大地提高了嵌入式系統(tǒng)開發(fā)中應(yīng)用程序的開發(fā)和調(diào)試效率。打印環(huán)境變量如下: baudrate=115200 bootargs=console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=yaffs2 bootcmd=nand read 30000000 kernel。 armlinuxgcc 的安裝步驟為: 1) 在 /usr/local/下建立交叉編譯器的安裝目錄 arm 北華大學(xué)畢業(yè)設(shè)計(論文) 20 sudo mkdir /usr/local/arm 2) 將下載的交叉編譯器包解壓到 /usr/local/arm 目錄下 sudo tar xjf armlinuxgcc C /usr/local/arm/ 3) 解壓成功后,修改 PATH 環(huán)境變量 sudo vim /etc/profile 4) 在文件為加入交叉編譯器 armlinuxgcc 所在的路徑 export PATH=$PATH:/usr/local/arm/5) 更新一下配置文件 /etc/profile source /etc/profile 6) 查看交叉編譯工具的版本信息,檢測是否安裝成功。而交叉編譯工具鏈?zhǔn)窃诰幾g程序時用到的一系列工具,例如編譯器、匯編器、鏈接器等。 北華大學(xué)畢業(yè)設(shè)計(論文) 19 圖 網(wǎng)絡(luò)接口原理圖 嵌入式 Linux系統(tǒng)構(gòu)建 開發(fā)環(huán)境搭建 交叉編譯工具鏈 嵌入式軟件開發(fā)采用的是主機與目標(biāo)板結(jié)合的交叉開發(fā)模式,即在一個平臺上編譯生成能在另一個平臺上執(zhí)行的代碼。 圖 USB 接口原理圖 網(wǎng)絡(luò)接口:本開發(fā)板采用 DM9000 網(wǎng)卡芯片,它可以自適應(yīng) 10/100M 網(wǎng)絡(luò), RJ45連接頭內(nèi)部已經(jīng)包含了耦合線圈,因此不必另接 網(wǎng)絡(luò)變壓器。 北華大學(xué)畢業(yè)設(shè)計(論文) 18 圖 復(fù)位系統(tǒng)原理圖 USB 接口:本開發(fā)板具有兩種 USB 接口,一個是 USB Host,它和普通 PC 的 USB接口是一樣的可以接 USB 攝像頭、 USB 鍵盤、 USB 鼠標(biāo)等常見的 USB 外設(shè),另外一種是 USB Slave。 圖 是 電源系統(tǒng)原圖,圖 是 電源系統(tǒng)原理圖,圖 是 電源系統(tǒng)原理圖。 北華大學(xué)畢業(yè)設(shè)計(論文) 15 圖 NAND Flash 原理圖 北華大學(xué)畢業(yè)設(shè)計(論文) 16 圖 NOR Flash 原理圖 電源系統(tǒng)及接口:本開發(fā)板的電源系統(tǒng)比較簡單,直接使用外接的 5V 電源,通過降壓芯片產(chǎn)生整個系統(tǒng)所需要的三種電壓: 、 、 。 NAND Flash 不具有地址線,它有專門的控制接口與 CPU 相連,數(shù)據(jù)總線為 8bit,但這并不意味著 NAND Flash 讀寫數(shù)據(jù)會慢。 圖 是 SDRAM 原理圖。它們并接在一起形成 32bit 的總線數(shù)據(jù)寬度,這樣可以增加訪問的速度。 北華大學(xué)畢業(yè)設(shè)計(論文) 13 圖 S3C2440A 系統(tǒng)原理圖 該芯片具有 MMU 虛擬內(nèi)存管理,具有獨立的 16KB 指令高速緩存和 16KB 數(shù)據(jù)高速緩存,支持 Cache, LCD 控制器, NAND Flash 控制器, 3 通道 UART, 4 通 DMA,帶脈寬調(diào)制的 4 路定時器, I/O 端口, RTC (real time clock), 8 路 10 位 ADC 和觸摸屏接口, USB 主機, USB 從機。 S3C2440A 的突出特點是其處理器核心,是由 ARM 公司設(shè)計的 16/32 位 ARM920T 的 RISC 處理器。首先是將計算機芯片化,集成為單片微型計算機 (SCMP); 其后,為滿足對象體系的控制要求,單片機不斷從單片微型計算機向微控制器 (MCU)與片上系統(tǒng) (SoC)發(fā)展。 3 嵌入式系統(tǒng)及 ARM體系結(jié)構(gòu) 嵌入式系統(tǒng)概述 嵌入式系統(tǒng)源于微型 計算機,是嵌入到對象體系中,實現(xiàn)嵌入對象智能化的計算機。 北華大學(xué)畢業(yè)設(shè)計(論文) 12 對照我們提出的系統(tǒng)的整體功能和相關(guān)技術(shù)性指標(biāo) , 要求網(wǎng)絡(luò)傳輸距離可以從 100米到 2020 米 , 能夠滿足 2025 幀 /秒的視頻圖像數(shù)據(jù)經(jīng)過壓縮以后的傳輸速率要求。 ZigBee 技術(shù)是基于 的無線標(biāo)準(zhǔn) , 該標(biāo)準(zhǔn)是一種經(jīng)濟、高效、低數(shù)據(jù)速率 (小于 250kb/S)、工作在 和 868(歐洲 )/928(美國 )MHz 的無線技術(shù) , 用于個人局域網(wǎng)和對等網(wǎng)狀結(jié)構(gòu)。它主要適用于自動控制領(lǐng)域 , 可以嵌入各種設(shè)備中 , 同時支持地理定位功能。藍牙協(xié)議棧采用分層結(jié)構(gòu) , 有 3 個層次 : 底層協(xié)議、中間協(xié)議和高層協(xié)議 , 分別完成數(shù)據(jù)流的過濾 和傳輸、跳頻和數(shù)據(jù)幀傳輸、連接的建立和釋放、鏈路的控制、數(shù)據(jù)的拆裝、業(yè)務(wù)質(zhì)量、協(xié)議的復(fù)用和分用等功能。跳頻技術(shù)是把頻帶分成若干個跳頻信道 , 在一次連接中 , 無線電收發(fā)器按一定的碼序列不斷
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1