新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > xWorks嵌入式系統(tǒng)下視頻監(jiān)控系統(tǒng)通信的研究

        xWorks嵌入式系統(tǒng)下視頻監(jiān)控系統(tǒng)通信的研究

        作者: 時(shí)間:2012-04-06 來源:網(wǎng)絡(luò) 收藏



        圖3  用狀態(tài)機(jī)實(shí)現(xiàn)幀同步的狀態(tài)轉(zhuǎn)換圖

        利用FSM處理異步通信同步的好處是:當(dāng)通信協(xié)議發(fā)生變化時(shí),可以很容易地對軟件進(jìn)行移植工作. 因?yàn)樵跀?shù)據(jù)鏈路層,所有幀格式都是由幀頭+ 數(shù)據(jù)+ 校驗(yàn)字的方式所組成,只需要改變同步字和校驗(yàn)方式就可以完成數(shù)據(jù)鏈路層的數(shù)據(jù)接收和應(yīng)答.

        (3) 用生產(chǎn)者—消費(fèi)者問題實(shí)現(xiàn)數(shù)據(jù)同步通信數(shù)據(jù)同步通信過程實(shí)際上等同于生產(chǎn)者—消費(fèi)者問題( Producer-Consumer Problem) . 生產(chǎn)者—消費(fèi)者問題是一個(gè)著名的進(jìn)程同步問題,它描述的是: 用一群生產(chǎn)者進(jìn)程生產(chǎn)消息,并用此消息提供給消費(fèi)者進(jìn)程消費(fèi). 為使生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程能并發(fā)執(zhí)行,在它們之間設(shè)置一個(gè)具有N 個(gè)緩沖區(qū)的緩沖池,生產(chǎn)者進(jìn)程可將它所生產(chǎn)的消息投入一個(gè)緩沖區(qū)中,消費(fèi)者進(jìn)程可從一個(gè)緩沖區(qū)中取得一個(gè)消息消費(fèi). 盡管所有的生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程都是以異步方式進(jìn)行,但它們之間必須保持同步,即不允許消費(fèi)者進(jìn)程到一個(gè)空緩沖區(qū)中去取消息,也不允許生產(chǎn)者進(jìn)程到一個(gè)已裝有消息但該消息未被取走的緩沖區(qū)中投放新消息.

        采用共享數(shù)據(jù)的方法簡化了數(shù)據(jù)交換,但在多進(jìn)程數(shù)據(jù)通信過程中卻可能發(fā)生錯(cuò)誤,使數(shù)據(jù)內(nèi)容被破壞. 為解決問題,可利用信號量的互斥性加以同步保護(hù),獲得對緩沖區(qū)(數(shù)據(jù)) 的獨(dú)占訪問,見圖4.



        圖4  使用信號量的緩沖區(qū)管理圖

        圖 4 中,假設(shè)緩沖池包含10 個(gè)緩沖區(qū),一個(gè)任務(wù)通過調(diào)用BufReq ( ) 可以從緩沖區(qū)管理器中獲得一個(gè)緩沖區(qū),用BufRel ( ) 釋放該緩沖區(qū)到緩沖區(qū)管理器中. 緩沖區(qū)管理器共有10 個(gè)信號量,當(dāng)所有的信號量都被使用時(shí),再申請緩沖區(qū)的任務(wù)將被掛起,直到有信號量可以使用為止. 當(dāng)一個(gè)帶有緩沖區(qū)的任務(wù)完成后,它將調(diào)用BufRel ( ) 把緩沖區(qū)還給緩沖區(qū)管理器.

        本文采用來管理緩沖區(qū),與其它信號量相比,的特點(diǎn)在于,它可以保持對信號量釋放次數(shù)的追蹤. 信號量每次釋放,計(jì)數(shù)器加1 ,每次獲取,計(jì)數(shù)器減1. 當(dāng)計(jì)數(shù)器為0 時(shí),試圖獲取該信號量的任務(wù)被阻塞. 在中斷服務(wù)程序中,可以將數(shù)據(jù)寫入緩沖區(qū),然后再釋放信號量. 由于它保持對信號量釋放次數(shù)的追蹤功能,如果任務(wù)暫時(shí)無法讀取數(shù)據(jù),數(shù)據(jù)也不會被丟棄.

        2、結(jié)論
        本文所研究的視頻監(jiān)控系統(tǒng),是嵌入式技術(shù)的典型. 嵌入式系統(tǒng)因其體積小、指令精簡、實(shí)時(shí)性處理能力強(qiáng)、處理速度快、穩(wěn)定性好、可擴(kuò)展性好的特點(diǎn),在專業(yè)性、實(shí)時(shí)性較強(qiáng)的領(lǐng)域中,發(fā)揮著重要的作用. 本文采用硬件抽象層分層設(shè)計(jì)的思想,實(shí)現(xiàn)了應(yīng)用程序與數(shù)據(jù)鏈路層設(shè)備的無關(guān)性,最大限度地實(shí)現(xiàn)了軟件的復(fù)用性. 文中采用FSM 和實(shí)現(xiàn)了異步通信的幀同步,這種方法不僅適用于串行通信,而且對于其它通信協(xié)議的實(shí)現(xiàn)都具有借鑒作用.


        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 苏尼特左旗| 抚远县| 陇西县| 马边| 紫云| 临汾市| 邵武市| 临江市| 溧阳市| 新营市| 西华县| 桐梓县| 丹江口市| 信丰县| 石屏县| 浦东新区| 江安县| 康马县| 镇坪县| 大城县| 泾川县| 汉沽区| 屯留县| 南皮县| 镇江市| 白城市| 清徐县| 金阳县| 德钦县| 陆良县| 防城港市| 将乐县| 手机| 什邡市| 河源市| 黑龙江省| 中超| 颍上县| 修文县| 奈曼旗| 饶阳县|