【嵌入式系统复习】嵌入式网络与协议栈
目錄
- 開放式系統(tǒng)互連模型
- 總線通信的報(bào)文組形式以及傳遞方式
- 報(bào)文組形式
- 報(bào)文傳遞方式
- 網(wǎng)絡(luò)分配與調(diào)度
- 嵌入式TCP/IP
- 藍(lán)牙技術(shù)
- 藍(lán)牙的節(jié)能狀態(tài)
- 糾錯(cuò)方案
- 藍(lán)牙協(xié)議棧
開放式系統(tǒng)互連模型
ISO/OSI七層模型展示了網(wǎng)絡(luò)結(jié)構(gòu)與各層的功能。
應(yīng)用層:
提供了終端用戶程序和網(wǎng)絡(luò)之間的應(yīng)用程序接口
表示層:
規(guī)定了數(shù)據(jù)交換的格式并為應(yīng)用程序提供有效的轉(zhuǎn)換工具
會話層:
提供了一種控制網(wǎng)絡(luò)上終端用戶交互的機(jī)制,例如,數(shù)據(jù)分組和檢測點(diǎn)
傳輸層:
定義了面向連接的服務(wù),可以保證數(shù)據(jù)按照一定的順序無差錯(cuò)地在多條鏈路上傳送,同時(shí)會對網(wǎng)絡(luò)資源的利用做一些優(yōu)化
網(wǎng)絡(luò)層:
定義了基本的點(diǎn)到點(diǎn)數(shù)據(jù)傳輸服務(wù),在多轉(zhuǎn)發(fā)網(wǎng)絡(luò)中特別重要
數(shù)據(jù)鏈路層:
主要作用:錯(cuò)誤檢測和控制一條單個(gè)鏈路,如果網(wǎng)絡(luò)需要多個(gè)數(shù)據(jù)鏈路實(shí)現(xiàn)多轉(zhuǎn)發(fā),那么數(shù)據(jù)鏈路層將不再保證轉(zhuǎn)發(fā)的數(shù)據(jù)的完整性。
物理層:
規(guī)定了系統(tǒng)間基本的接口特性,如物理連接、電氣特征、電子部件、物理部件的基本功能、位交換的基本功能。
總線通信的報(bào)文組形式以及傳遞方式
報(bào)文組形式
網(wǎng)絡(luò)允許多個(gè)設(shè)備相互連接,所以總線是鏈路形式,連接到總線的所有網(wǎng)絡(luò)設(shè)備都必須有自己的唯一地址。
總線上的通信以報(bào)文組的形式進(jìn)行每一個(gè)分組報(bào)文包含目的地址、被傳送的數(shù)據(jù)、檢錯(cuò)和糾錯(cuò)信息。
總線上的信息交互不是通過共享內(nèi)存實(shí)現(xiàn)的,而是在總線上通過傳遞報(bào)文來實(shí)現(xiàn)的。
報(bào)文傳遞方式
報(bào)文傳遞方式有請求/應(yīng)答方式和推移方式。
1、請求/應(yīng)答方式
以中斷方式為例。
發(fā)送方設(shè)計(jì)一個(gè)發(fā)送隊(duì)列,需要發(fā)送的報(bào)文先放在發(fā)送隊(duì)列中,發(fā)送中斷服務(wù)程序從發(fā)送隊(duì)列中讀取報(bào)文并進(jìn)行發(fā)送。
接收方也以中斷的方式進(jìn)行接收。中斷控制器接收到一個(gè)報(bào)文時(shí)會產(chǎn)生一個(gè)中斷,然后執(zhí)行中斷服務(wù)程序,把報(bào)文交給中斷任務(wù),由中斷任務(wù)來完成報(bào)文的處理。(報(bào)文一般較長,如果利用中斷服務(wù)程序處理報(bào)文,則會耽誤下一個(gè)報(bào)文的接收。)
2、推移方式
數(shù)據(jù)的發(fā)送方在不需要等待請求的情況下主動發(fā)送數(shù)據(jù)。適用于數(shù)據(jù)發(fā)送方周期性產(chǎn)生數(shù)據(jù)的系統(tǒng),如:
傳感器節(jié)點(diǎn)不斷向主機(jī)發(fā)送數(shù)據(jù)的連續(xù)過程控制系統(tǒng)、CAN總線網(wǎng)絡(luò)系統(tǒng)、現(xiàn)場總線網(wǎng)絡(luò)的過程數(shù)據(jù)的通信機(jī)制。
這種方式省掉了發(fā)送請求的通信量,可以減少網(wǎng)絡(luò)流量。
網(wǎng)絡(luò)分配與調(diào)度
嵌入式系統(tǒng)分為I/O密集型系統(tǒng)和計(jì)算密集型系統(tǒng),所以有必要使用不同的策略。
1、對于I/O密集型系統(tǒng):
入手點(diǎn):I/O設(shè)備以及關(guān)聯(lián)的處理
1、編制I/O設(shè)備的清單
2、根據(jù)預(yù)算,確定哪個(gè)任務(wù)需要具有很短的進(jìn)程期限,并判斷網(wǎng)絡(luò)傳輸是否能滿足需求
3、確定哪些任務(wù)處理元素或網(wǎng)絡(luò)接口
4、分析通信時(shí)間,確定關(guān)鍵性通信是否可能相互影響,確定為了達(dá)到通信的實(shí)現(xiàn)要求,是否需要使用復(fù)雜的網(wǎng)絡(luò)或多個(gè)網(wǎng)絡(luò)
5、為I/O設(shè)備分配所需要的最小數(shù)量的處理設(shè)備。
2、對于計(jì)算密集型系統(tǒng):
入手點(diǎn):進(jìn)程
1、從具有最短進(jìn)程期限的任務(wù)開始,任務(wù)的進(jìn)程期限越短,越有可能單獨(dú)需要一個(gè)或多個(gè)處理設(shè)備。
如果一個(gè)高優(yōu)先級任務(wù)與低優(yōu)先級任務(wù)共享處理設(shè)備,那么不僅需要更昂貴的處理設(shè)備,而且會非線性地增加調(diào)度開銷
2、分析通信時(shí)間,確定關(guān)鍵性通信是否可能相互影響。
3、盡可能把低優(yōu)先級任務(wù)分配到共享的處理設(shè)備上
嵌入式TCP/IP
TCP/IP通常被認(rèn)為是一個(gè)4層協(xié)議系統(tǒng):應(yīng)用層,傳輸層,網(wǎng)絡(luò)層,網(wǎng)絡(luò)接口層
應(yīng)用層:處理特定應(yīng)用程序;把數(shù)據(jù)按照傳輸層的格式要求組織好,向下一層傳輸;
傳輸層(TCP/UDP):提供應(yīng)用程序之間的通信服務(wù)(端到端通信);管理信息流動,提供可靠地傳輸服務(wù),確保數(shù)據(jù)到達(dá);
網(wǎng)絡(luò)層(IP):處理主機(jī)之間地通信問題;接受傳輸層請求,傳輸具有目的地址信息地分組,將分組封裝到IP數(shù)據(jù)包中,填入數(shù)據(jù)包頭部,把它交給適當(dāng)?shù)鼐W(wǎng)絡(luò)接口傳輸。
網(wǎng)絡(luò)接口層:負(fù)責(zé)接受IP數(shù)據(jù)包,把數(shù)據(jù)包通過選定的網(wǎng)絡(luò)發(fā)送出去。
TCP與UDP區(qū)別:
TCP是一種可靠的數(shù)據(jù)流傳輸服務(wù)協(xié)議。進(jìn)行通信的雙方,在傳輸數(shù)據(jù)之前必須先建立連接。數(shù)據(jù)傳輸完畢,任何一方都可以斷開連接。
由于IP數(shù)據(jù)包可能丟失、接受順序與發(fā)送順序不一致,所以TCP要能夠?qū)崿F(xiàn)差錯(cuò)恢復(fù)、排序等功能。
TCP使用滑動窗口機(jī)制實(shí)現(xiàn)差錯(cuò)控制
UDP是一種不可靠、五連接數(shù)據(jù)包交付服務(wù)協(xié)議。它只把分組從一臺主機(jī)發(fā)送到另一臺主機(jī),不保證該數(shù)據(jù)是否能達(dá)到另一端,可靠性由應(yīng)用程序提供,它適用于一些自身提供面向連接功能的應(yīng)用,如網(wǎng)絡(luò)監(jiān)控?cái)?shù)據(jù)交換。
藍(lán)牙技術(shù)
藍(lán)牙的節(jié)能狀態(tài)
藍(lán)牙的節(jié)能狀態(tài):呼吸(Sniff)、保持(Hold)、停用(Park)三種狀態(tài)。
節(jié)能效率(從高到低):停用->保持->呼吸
呼吸狀態(tài):從節(jié)點(diǎn)降低從網(wǎng)絡(luò)收聽消息的速率。
保持狀態(tài):節(jié)點(diǎn)停止傳送數(shù)據(jù),一旦激活,數(shù)據(jù)傳輸立即重新開始。
停用狀態(tài):節(jié)點(diǎn)被賦予停用節(jié)點(diǎn)地址,并以一定間隔監(jiān)聽主節(jié)點(diǎn)的消息。
主節(jié)點(diǎn)的消息包括:詢問該節(jié)點(diǎn)是否愿意成為活動節(jié)點(diǎn)、詢問任何停等節(jié)點(diǎn)是否愿意成為活動節(jié)點(diǎn)、廣播消息。
糾錯(cuò)方案
糾錯(cuò)方案包括:1/3前向糾錯(cuò)、2/3前向糾錯(cuò)、自動重傳
前向糾錯(cuò)一般應(yīng)用于噪聲干擾較大的信道。
SCO鏈路:使用1/3前向糾錯(cuò)。
ACL鏈路:使用2/3前向糾錯(cuò)。
自動重傳要求傳送的數(shù)據(jù)在下一個(gè)時(shí)隙得到確認(rèn),而確認(rèn)消息的產(chǎn)生要求數(shù)據(jù)必須通過報(bào)頭錯(cuò)誤檢測和循環(huán)冗余校驗(yàn)。
藍(lán)牙協(xié)議棧
硬件模塊:
射頻RF:實(shí)現(xiàn)數(shù)據(jù)位流的過濾和傳輸
基帶層BB:負(fù)責(zé)跳頻和藍(lán)牙數(shù)據(jù)及信息幀的傳輸
鏈路管理層LM:負(fù)責(zé)連接的建立和拆除以及鏈路的安全和控制
軟件模塊:
L2CAP屬于數(shù)據(jù)鏈路層一部分:負(fù)責(zé)向上層提供面向連接和無連接的數(shù)據(jù)服務(wù)(協(xié)議復(fù)用、分組的分割和重組、組提取)
SDP:定義藍(lán)牙服務(wù)類型和屬性發(fā)現(xiàn)服務(wù)的方法,提供服務(wù)瀏覽的方法
射頻通信協(xié)議RFCOMM:仿真串行電纜接口協(xié)議,通過RFCOMM,藍(lán)牙可以在無線環(huán)境下實(shí)現(xiàn)對高層協(xié)議(TCP/IP)的支持。
支持AT指令集,從而實(shí)現(xiàn)移動電話、傳真機(jī)與Modem之間的無線連接。
TCS協(xié)議:定義了藍(lán)牙設(shè)備之間建立語音和數(shù)據(jù)呼叫的控制信號。
總結(jié)
以上是生活随笔為你收集整理的【嵌入式系统复习】嵌入式网络与协议栈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海恋爱地图剧情介绍
- 下一篇: 开封看卵巢多囊最好的医院推荐