美章網(wǎng) 資料文庫 無線通信傳輸技術(shù)研究范文

無線通信傳輸技術(shù)研究范文

本站小編為你精心準(zhǔn)備了無線通信傳輸技術(shù)研究參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

無線通信傳輸技術(shù)研究

1LINUX文件系統(tǒng)

文件在系統(tǒng)環(huán)境中發(fā)揮著重要的作用,它為操作系統(tǒng)和設(shè)備提供了高效簡(jiǎn)單的訪問接口。除了一般文件,程序可以調(diào)用硬盤文件、串口文件、打印機(jī)文件和其他設(shè)備文件。文件目錄也是一種極特殊的文件,目錄文件具有節(jié)點(diǎn)號(hào)和其包含文件的文件名,每一個(gè)目錄入口點(diǎn)就是文件節(jié)點(diǎn)。每個(gè)文件夾下還包 括一個(gè)Makefile文件,文件包含了程序的編譯規(guī)則。庫文件為設(shè)備和硬盤文件提供了一種高級(jí)接口,使系統(tǒng)更智能。設(shè)備能夠被使用,也必須借助驅(qū)動(dòng)被內(nèi)核使用。1.3BOOTLOADER啟動(dòng)過程步驟(1)硬件初始化CFG_HW_INIT(2)從nandflash加載鏡像到動(dòng)態(tài)內(nèi)存ram,load_nandflash(IMG_ADDRESS,IMG_SIZE,JUMP_ADDR)(3)處理鏡像文件,decompress_image((void*)IMG_ADDRESS,(void*)JUMP_ADDR,IMG_SIZE)(4)開始應(yīng)用程序,設(shè)置偏移量Crt0_gnu.S文件由匯編語言構(gòu)成的初始文件。它是首先被執(zhí)行的指令集,啟動(dòng)程序乃至整個(gè)軟件操作系統(tǒng)運(yùn)行的第一個(gè)文件。應(yīng)用程序開始的入口點(diǎn),設(shè)置了中斷向量并初始化堆棧等,最后進(jìn)入main主函數(shù)中和跳到應(yīng)用程序入口。

2設(shè)備驅(qū)動(dòng)程序

2.1設(shè)備驅(qū)動(dòng)程序基本概念設(shè)備驅(qū)動(dòng)在操作系統(tǒng)Linux內(nèi)核發(fā)揮重要作用,使得硬件成為對(duì)某些特定程序作出相應(yīng)反應(yīng)的內(nèi)部可編程程序接口,在執(zhí)行過程中完全隱藏了設(shè)備工作的具體細(xì)節(jié)。通過一系列依賴特定驅(qū)動(dòng)程序的標(biāo)準(zhǔn)指令來實(shí)現(xiàn)用戶要完成的行為功能,將這些標(biāo)準(zhǔn)指令組織起來,讓實(shí)際硬件根據(jù)指令發(fā)揮相應(yīng)的作用,這就是設(shè)備驅(qū)動(dòng)要完成的。這個(gè)所謂的可編程的接口驅(qū)動(dòng)能夠獨(dú)立于內(nèi)核存在,也可以在內(nèi)核運(yùn)行需要時(shí)進(jìn)行加載。事實(shí)上許多設(shè)備驅(qū)動(dòng)和用戶程序一起發(fā)行用來幫助構(gòu)造和使用目標(biāo)設(shè)備。這些程序包含很多種,從簡(jiǎn)單公用程序到完全的圖形化應(yīng)用程序。

2.2設(shè)備驅(qū)動(dòng)程序分類和模塊化Linux將設(shè)備驅(qū)動(dòng)分為3種,每個(gè)模塊至少完成其中的一種設(shè)備驅(qū)動(dòng)類型。這三種設(shè)備驅(qū)動(dòng)的類型分別是:字符型設(shè)備模塊、塊設(shè)備模塊、網(wǎng)絡(luò)設(shè)備模塊。設(shè)備驅(qū)動(dòng)的模塊化使得設(shè)備驅(qū)動(dòng)劃分成不同的類型,不同類型之間并不是孤立的,可以用一系列的代碼將不同的設(shè)備驅(qū)動(dòng)整合成一個(gè)大的模塊具備更強(qiáng)大的功能。通過insmod和rmmod可以對(duì)模塊進(jìn)行加載和卸載,而且只有超級(jí)用戶才有權(quán)限加載和卸載模塊。通過insmod命令調(diào)用模塊中的init_module函數(shù)通知內(nèi)核有模塊進(jìn)行注冊(cè),然后直接引用內(nèi)核函數(shù)register_capability(),一旦內(nèi)核有空閑就發(fā)送響應(yīng)請(qǐng)求執(zhí)行模塊程序。此時(shí),模塊程序中可以直接調(diào)用內(nèi)核函數(shù)進(jìn)行內(nèi)核操作。模塊注銷時(shí),不用申請(qǐng)響應(yīng)而是直接通過unregister_capability()注銷。鏈接模塊到內(nèi)核過程如圖2。

2.3MAKEFILE文件編譯規(guī)則Makefile文件是一種腳本文件,把各級(jí)目錄下的文件有規(guī)則的組織在一起;它是一種程序編譯規(guī)則。它的獨(dú)特優(yōu)勢(shì)在于“自動(dòng)化編譯”,就是腳本代碼寫好后,執(zhí)行命令就會(huì)按照腳本進(jìn)行編譯。在腳本語言中,我們首先要把源文件編譯成中間代碼文件也就是.o文件,然后把.o文件鏈接成可執(zhí)行文件。書寫規(guī)則如下:(1)如果工程沒有編譯過,所有源文件都要編譯并鏈接。(2)如果工程中有文件被修改,只編譯和鏈接被修改的文件。(3)如果工程中頭文件被修改,只編譯引用頭文件的源文件。

3網(wǎng)絡(luò)通信硬件結(jié)構(gòu)以及驅(qū)動(dòng)軟

3.1網(wǎng)絡(luò)設(shè)備工作原理網(wǎng)絡(luò)通信的發(fā)展方便了我們的生活,因?yàn)榈匦螐?fù)雜的山地不方便儀器的架設(shè)。而通過網(wǎng)絡(luò)通信大大豐富了系統(tǒng)的功能。設(shè)備發(fā)送隊(duì)列dev_queue_xmit()申請(qǐng)傳輸數(shù)據(jù),在設(shè)備結(jié)構(gòu)描述中找到相應(yīng)的設(shè)備發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包函數(shù)和設(shè)備名,發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包函數(shù)hard_start_xmit()通過物理設(shè)備發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包。和前兩種驅(qū)動(dòng)類型不同,網(wǎng)絡(luò)驅(qū)動(dòng)能夠異步接收和發(fā)送數(shù)據(jù)包文件。它還要完成發(fā)地址,修改傳輸參數(shù),阻塞處理和錯(cuò)誤統(tǒng)計(jì)等任務(wù)。內(nèi)核網(wǎng)絡(luò)子系統(tǒng)完全依賴網(wǎng)絡(luò)協(xié)議和硬件協(xié)議。網(wǎng)絡(luò)協(xié)議是實(shí)現(xiàn)網(wǎng)絡(luò)傳輸?shù)母鞣N協(xié)議;硬件協(xié)議是網(wǎng)絡(luò)設(shè)備硬件驅(qū)動(dòng)程序,負(fù)責(zé)與硬件設(shè)備通信與數(shù)據(jù)傳輸驅(qū)動(dòng)接口都被結(jié)構(gòu)體structnet_device表示:初始化的主要作用是為網(wǎng)絡(luò)設(shè)備提供一個(gè)設(shè)備結(jié)構(gòu)文件;網(wǎng)絡(luò)設(shè)備和結(jié)構(gòu)文件緊密連接,相互依賴。結(jié)構(gòu)包含:打開設(shè)備,關(guān)閉設(shè)備,設(shè)備配置,硬件傳輸,I/O控制,設(shè)備狀態(tài),重建文件頭,網(wǎng)絡(luò)硬件結(jié)構(gòu)件頭,傳輸超時(shí),看門狗超時(shí),地址解析協(xié)議禁用標(biāo)志,設(shè)置模塊所有者等參數(shù)。網(wǎng)絡(luò)硬件結(jié)構(gòu)件頭包含:設(shè)備名,設(shè)備內(nèi)存信息,網(wǎng)絡(luò)接口的I/O地址,中斷號(hào),接口選擇,DMA通道,設(shè)備狀態(tài),指向下一個(gè)設(shè)備的指針,初始化。網(wǎng)絡(luò)硬件結(jié)構(gòu)文件的很多參數(shù)都可以在ifconfig中看到。除了以上網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)文件可見的參數(shù)外,網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)文件中還有很多不可見的參數(shù),這些參數(shù)在結(jié)構(gòu)中也都發(fā)揮著重要作用。內(nèi)核網(wǎng)絡(luò)子系統(tǒng)即網(wǎng)絡(luò)接口是系統(tǒng)初始化時(shí)實(shí)時(shí)自動(dòng)生成的,內(nèi)核支持而實(shí)際不存在的網(wǎng)絡(luò)物理設(shè)備。而對(duì)于字符設(shè)備和塊設(shè)備,無論有沒有實(shí)際的物理設(shè)備,內(nèi)核都生成其接。當(dāng)驅(qū)動(dòng)鏈接到內(nèi)核時(shí),網(wǎng)絡(luò)驅(qū)動(dòng)不在內(nèi)核里聲明此網(wǎng)絡(luò)設(shè)備結(jié)構(gòu);而是在drivers/net/space.c里聲明設(shè)備結(jié)構(gòu)文件,這個(gè)文件的下有很多網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)的聲明。系統(tǒng)啟動(dòng)時(shí),網(wǎng)絡(luò)初始化代碼把所有的網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)都初始化,初始化時(shí)僅僅是給設(shè)備本身一個(gè)指針。另外,網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)的注冊(cè)也不需要?jiǎng)?chuàng)建設(shè)備文件,而是直接通過設(shè)備名從設(shè)備描述結(jié)構(gòu)鏈表中找到對(duì)應(yīng)的structnet_device結(jié)構(gòu),可以直接用此結(jié)構(gòu)對(duì)應(yīng)的操作函數(shù)進(jìn)行注冊(cè)。

3.2網(wǎng)絡(luò)通信硬件電路以太網(wǎng)MAC模塊兼容IEEE802.3標(biāo)準(zhǔn),包含地址檢測(cè),統(tǒng)計(jì)和控制寄存器,收發(fā)塊,DMA接口。地址檢測(cè)辨認(rèn)4個(gè)標(biāo)準(zhǔn)的48位地址,它還包含一個(gè)64位應(yīng)急寄存器來匹配廣播和單發(fā)地址。統(tǒng)計(jì)寄存器塊對(duì)收發(fā)操作相關(guān)的各種類型事件計(jì)數(shù),能讓軟件產(chǎn)生網(wǎng)絡(luò)管理統(tǒng)計(jì)兼容IEEE802.3,它和狀態(tài)字被存在接收緩存表中。DM9161A是具有網(wǎng)絡(luò)功能,工作在物理層,低功率收發(fā)芯片。從而決定物理層設(shè)備的職能,但這些功能依然由協(xié)議完成。串口管理接口包括管理數(shù)據(jù)時(shí)鐘和管理數(shù)據(jù)輸入輸出信號(hào)。自動(dòng)識(shí)別媒體功能能夠讓它自動(dòng)識(shí)別是直連還是交叉雙絞線,通過置位某特定寄存器的設(shè)置位即可。圖3網(wǎng)絡(luò)芯片硬件電路9161原理圖。

3.3網(wǎng)絡(luò)通信軟件實(shí)現(xiàn)進(jìn)行網(wǎng)絡(luò)編程,套接字是至關(guān)重要的;套接字代表通信的端口,通過套接字建立通信的橋梁。套接字有描述符,應(yīng)用程序可以通過描述符操作套接字。通過socket()創(chuàng)建套接字;同時(shí)套接字只有和地址綁定之后才有意義,通過bind()進(jìn)行地址綁定。函數(shù)socket()有四個(gè)參數(shù),分別表示通信域,套接字類型,制定協(xié)議。通過套接字和connect()函數(shù)建立一個(gè)連接,建立連接之后,我們就可以通過send()和recv()發(fā)送和接收數(shù)據(jù)了。函數(shù)send()有四個(gè)參數(shù):第一個(gè)表示通信,連接套接字;第二個(gè)是設(shè)置發(fā)送緩沖區(qū);第三個(gè)表示發(fā)送內(nèi)容字節(jié)數(shù);第四個(gè)是傳輸數(shù)據(jù)標(biāo)志。發(fā)送成功則返回已發(fā)送數(shù)據(jù)的字節(jié)數(shù),否則返回-1。函數(shù)recv()也有四個(gè)參數(shù):第一個(gè)用來通信的套接字;第二個(gè)讀緩沖區(qū)設(shè)置;第三個(gè)讀最大字節(jié)數(shù);第四個(gè)接收數(shù)據(jù)標(biāo)志。而返回值有三種情況:大于零表示成功接收數(shù)據(jù)返回已接收字節(jié)數(shù)目;等于零表示無數(shù)據(jù)接收;小于零表示接收數(shù)據(jù)出錯(cuò)。網(wǎng)絡(luò)驅(qū)動(dòng)程序客戶端仔程序流程如圖4。

作者:王慶吉單位:吉林大學(xué)儀器科學(xué)與電氣工程學(xué)院

主站蜘蛛池模板: 天天天欲色欲色WWW免费| 欧洲一区二区三区在线观看| 国产三级久久久精品麻豆三级| 污视频免费网站| 天天躁日日躁狠狠躁一区| 中文字幕羽月希黑人侵犯| 最近中文字幕mv图| 亚洲日韩欧美一区二区三区在线 | 亚洲一区二区三区深夜天堂| 深夜福利gif动态图158期| 十八岁的天空完整版在线观看 | 岳在我胯下哭泣| 久久99国产精品尤物| 日韩精品在线一区二区| 亚洲午夜精品久久久久久人妖| 浮力影院第一页小视频国产在线观看免费 | 另类ts人妖专区| 豪妇荡乳1一5白玉兰免费下载 | 国产激情一区二区三区| 7x7x7x免费在线观看| 天堂va视频一区二区| 一本久道中文无码字幕av| 护士人妻hd中文字幕| 久久免费公开视频| 日韩精品国产另类专区| 亚洲一区中文字幕在线电影网| 欧美综合区自拍亚洲综合绿色| 人妻丰满熟妇av无码区| 窝窝人体色www| 午夜免费福利在线观看| 美美哒韩国免费高清在线观看| 国产人与禽zoz0性伦多活几年| 国产激情视频在线观看首页| 国产精品一区二区久久| 1024手机在线播放视频| 国产黄色一级片| 99在线观看免费视频| 天堂资源在线中文| maomiav923| 女让张开腿让男人桶视频| 丁香六月综合网|