付丙林
(江蘇無線電廠有限公司,江蘇南京210022)
多種通信方式并存的通信裝置開發(fā)研究
付丙林
(江蘇無線電廠有限公司,江蘇南京210022)
介紹一種多種通信方式并存的通信方法,該方法工作效率較高、誤碼率較低,不僅提高了CPU的工作效率,而且傳輸數(shù)據(jù)穩(wěn)定可靠,便于用戶使用。
低碳工業(yè)化;新型城鎮(zhèn)化;中部地區(qū)
ODN的智能化管理能夠?qū)DN網(wǎng)管、PON網(wǎng)管、資源管理系統(tǒng)、OSS(綜合的業(yè)務(wù)運營和管理平臺)和現(xiàn)有的網(wǎng)管設(shè)備組成統(tǒng)一的管理平臺,由于ODN設(shè)備中存在以太網(wǎng)口接口、USB通信接口、藍牙通信接口、RS485總線通信接口和1-Wire總線通信接口多種數(shù)據(jù)通信方式,多種通信方式并存會使得ODN設(shè)備使用時存在以下缺陷:
1)CPU需要同時處理多種通信接口傳輸?shù)臄?shù)據(jù),多種通信接口傳輸?shù)臄?shù)據(jù)可能引起沖突;CPU不僅工作效率較低,而且容易卡死,不便于人們使用。
2)為了防止數(shù)據(jù)傳輸錯誤,可以將數(shù)據(jù)接收和數(shù)據(jù)處理分開單獨操作,即不同通信方式對應(yīng)的數(shù)據(jù)接收操作、數(shù)據(jù)處理操作均單獨編成子函數(shù),但是單獨編成子函數(shù)會使得主程序中的邏輯安排比較困難,程序設(shè)計的工作效率較低。
本文介紹的多種通信方式并存的通信方法,包括以下步驟。
步驟A:將嵌入式實時操作系統(tǒng)RTOS的內(nèi)核移植入通信設(shè)備,在RTOS中編寫通信接口不同的數(shù)據(jù)通信模塊,每一個數(shù)據(jù)通信模塊對應(yīng)一種通信接口;為每個數(shù)據(jù)通信模塊配置對應(yīng)的通信任務(wù),將所有通信任務(wù)按照所要執(zhí)行的功能劃分為不同的優(yōu)先級,形成通信任務(wù)隊列。
步驟B:根據(jù)通信任務(wù)隊列的順序,通過RTOS判定數(shù)據(jù)通信模塊的通信中斷信號產(chǎn)生時,開辟一塊內(nèi)存區(qū)域,將內(nèi)存區(qū)域定義為循環(huán)隊列;將循環(huán)隊列中的第一個內(nèi)存單元標記為判斷單元,判斷單元標記有循環(huán)隊列數(shù)據(jù)滿的信息、循環(huán)隊列數(shù)據(jù)空的信息。
步驟C:判定循環(huán)隊列中已經(jīng)存儲的數(shù)據(jù)總數(shù)未超過循環(huán)隊列的閾值時,接收與通信中斷信號對應(yīng)的通信接收數(shù)據(jù);判斷循環(huán)隊列中的rear指針與front指針是否指向同一個內(nèi)存單元,若是,轉(zhuǎn)到步驟D,否則轉(zhuǎn)到步驟E。
步驟D:讀取判斷單元的信息,若判斷單元的信息為循環(huán)隊列數(shù)據(jù)空的信息,轉(zhuǎn)到步驟E;若判斷單元的信息為循環(huán)隊列數(shù)據(jù)滿的信息,轉(zhuǎn)到步驟H。
步驟E:將通信接收數(shù)據(jù)儲存至通信數(shù)據(jù)儲存單元,同時將rear指針指向下一個內(nèi)存單元、并將其標記為通信數(shù)據(jù)儲存單元,轉(zhuǎn)到步驟F。
步驟F:發(fā)送與通信接收數(shù)據(jù)對應(yīng)的阻塞式信號量,判斷循環(huán)隊列中的rear指針與front指針是否指向同一個內(nèi)存單元,若是,轉(zhuǎn)到步驟G,否則轉(zhuǎn)到步驟H。
步驟G:讀取判斷單元的信息,若判斷單元的信息為循環(huán)隊列數(shù)據(jù)滿的信息,轉(zhuǎn)到步驟H;若判斷單元的信息為循環(huán)隊列數(shù)據(jù)空的信息,轉(zhuǎn)到步驟B。
步驟H:讀取通信數(shù)據(jù)讀取單元的通信處理數(shù)據(jù),同時將front指針指向下一個內(nèi)存單元、將其標記為通信數(shù)據(jù)讀取單元,將通信處理數(shù)據(jù)通過與其對應(yīng)的通信接口處理并發(fā)送;轉(zhuǎn)到步驟I。
步驟I:重復(fù)執(zhí)行步驟B~步驟H,直至所有通信接收數(shù)據(jù)接收完畢、所有通信處理數(shù)據(jù)發(fā)送完畢,釋放內(nèi)存區(qū)域。
基于上述方法的多種通信方式并存的通信裝置,包括:
編程模塊,用于:將嵌入式RTOS的內(nèi)核移植入通信設(shè)備,在RTOS中編寫各種通信接口不同的數(shù)據(jù)通信模塊,每一個數(shù)據(jù)通信模塊對應(yīng)一種通信接口,向任務(wù)配置模塊發(fā)送任務(wù)配置信號。
任務(wù)配置模塊,用于:接收編程模塊發(fā)送的任務(wù)配置信號后,為每個數(shù)據(jù)通信模塊配置對應(yīng)的通信任務(wù),將所有通信任務(wù)按照所要執(zhí)行的功能劃分為不同的優(yōu)先級,形成通信任務(wù)隊列、并向通信中斷信號檢測模塊發(fā)送通信中斷檢測信號。
通信中斷信號檢測模塊,用于:接收中斷檢測信號后,根據(jù)通信任務(wù)隊列的順序,通過RTOS判定數(shù)據(jù)通信模塊的通信中斷信號產(chǎn)生時,向循環(huán)隊列定義模塊發(fā)送循環(huán)隊列定義信號。
循環(huán)隊列定義模塊,用于:接收通信中斷信號檢測模塊發(fā)送的循環(huán)隊列定義信號后,開辟一塊內(nèi)存區(qū)域,將內(nèi)存區(qū)域定義為循環(huán)隊列;將循環(huán)隊列中的第一個內(nèi)存單元標記為判斷單元,判斷單元標記有循環(huán)隊列數(shù)據(jù)滿的信息、循環(huán)隊列數(shù)據(jù)空的信息。
數(shù)據(jù)接收檢測模塊,用于:接收循環(huán)隊列定義模塊發(fā)送的數(shù)據(jù)接收檢測信號后,判定循環(huán)隊列中已經(jīng)存儲的數(shù)據(jù)總數(shù),未超過循環(huán)隊列的閾值,向通信數(shù)據(jù)儲存模塊發(fā)送通信數(shù)據(jù)儲存信號。
通信數(shù)據(jù)儲存模塊,用于:接收數(shù)據(jù)接收檢測模塊發(fā)送的通信數(shù)據(jù)儲存信號后,接收與通信中斷信號對應(yīng)的通信接收數(shù)據(jù),判斷循環(huán)隊列中的rear指針與front指針是否指向同一個內(nèi)存單元,若是,向通信數(shù)據(jù)判斷模塊發(fā)送通信數(shù)據(jù)判斷信號;否則向數(shù)據(jù)儲存模塊發(fā)送數(shù)據(jù)儲存信號。
通信數(shù)據(jù)判斷模塊,用于:接收通信數(shù)據(jù)儲存模塊發(fā)送的通信數(shù)據(jù)判斷信號后,讀取判斷單元的信息,若判斷單元的信息為循環(huán)隊列數(shù)據(jù)空的信息,向數(shù)據(jù)儲存模塊發(fā)送數(shù)據(jù)儲存信號;若判斷單元的信息為循環(huán)隊列數(shù)據(jù)滿的信息,向數(shù)據(jù)處理模塊發(fā)送數(shù)據(jù)處理信號。
數(shù)據(jù)儲存模塊,用于:接收數(shù)據(jù)儲存信號后,將通信接收數(shù)據(jù)儲存至通信數(shù)據(jù)儲存單元,同時將rear指針指向下一個內(nèi)存單元、并將其標記為通信數(shù)據(jù)儲存單元,向數(shù)據(jù)處理檢測模塊發(fā)送數(shù)據(jù)處理檢測信號。
數(shù)據(jù)處理檢測模塊,用于:接收數(shù)據(jù)處理檢測信號后,發(fā)送與通信接收數(shù)據(jù)對應(yīng)的阻塞式信號量,判斷循環(huán)隊列中的rear指針與front指針是否指向同一個內(nèi)存單元,若是,向數(shù)據(jù)處理判斷模塊發(fā)送數(shù)據(jù)處理判斷信號;否則向數(shù)據(jù)處理模塊發(fā)送數(shù)據(jù)處理信號。
數(shù)據(jù)處理判斷模塊,用于:接收數(shù)據(jù)處理檢測模塊發(fā)送的數(shù)據(jù)處理判斷信號后,讀取判斷單元的信息,若判斷單元的信息為循環(huán)隊列數(shù)據(jù)滿的信息、向數(shù)據(jù)處理模塊發(fā)送數(shù)據(jù)處理信號;若判斷單元的信息為循環(huán)隊列數(shù)據(jù)空的信息,向通信中斷信號檢測模塊發(fā)送通信中斷檢測信號。
內(nèi)存釋放模塊,用于:將所有通信接收數(shù)據(jù)接收完畢、所有通信處理數(shù)據(jù)發(fā)送完畢后,釋放內(nèi)存區(qū)域。
(編輯:劉楠)
Research on the Development of Communication Devicesw ith M ultiple Communication M odes
Fu Binglin
(Jiangsu W ireless Power Plant Co.,Ltd.,Nanjing Jiangsu 210022)
This paper introduces a communication method in which multiple communication modes coexist.The method has high efficiency and low error rate.Itnotonly improves the working efficiency of CPU,butalso the transmission data is stable and reliable and convenient for users.
low-carbon indnstrialization;new urbanization;central region
TN913.6
A
2095-0748(2016)23-0087-02
10.16525/j.cnki.14-1362/n.2016.23.41
2016-11-16
付丙林(1984—),男,內(nèi)蒙古呼倫貝爾人,大專,助理工程師,研究方向:射頻通信、接收機與發(fā)射機、開關(guān)電源技術(shù)開發(fā)。