μC/OS-II基礎(chǔ)上實(shí)現(xiàn)的無紙傳真收發(fā)系統(tǒng)
摘要:對(duì)T.30協(xié)議和T.4協(xié)議進(jìn)行了深入的研究,設(shè)計(jì)出了可靠的傳真收發(fā)流程。設(shè)計(jì)的傳真數(shù)據(jù)解析樹對(duì)數(shù)據(jù)進(jìn)行解析。在μC/OS-II操作系統(tǒng)下實(shí)現(xiàn)了無紙傳真收發(fā)。該系統(tǒng)對(duì)資源要求低,能夠在低端嵌入式硬件上運(yùn)行,支持的最高傳輸速率為14 400 bps。用戶可以將該系統(tǒng)視作一個(gè)傳真機(jī)功能模塊,嵌入到諸如可視電話之類的設(shè)備中。以較低的成本集成傳真功能,也可以作為獨(dú)立系統(tǒng)應(yīng)用于移動(dòng)辦公場合。
關(guān)鍵詞:通信終端技術(shù);T.30協(xié)議;T.4協(xié)議;無紙傳真;μC/OS-II
引言
隨著Internet的高速發(fā)展,通信工具日益更新,傳真憑借其具有憑證確認(rèn)、快速、方便等特點(diǎn),是企業(yè)不可或缺的通信工具。傳統(tǒng)硬件傳真機(jī)存在很多問題,影響了企業(yè)使用傳真機(jī)的成本和效率。很多企業(yè)已經(jīng)放棄使用傳統(tǒng)傳真機(jī),或是尋找替代產(chǎn)品。無紙傳真系統(tǒng)正是針對(duì)企業(yè)的這種需求應(yīng)運(yùn)而生的。其實(shí)質(zhì)是電子化收發(fā)傳真。無紙化傳真系統(tǒng)啟動(dòng)后,在無人參與條件下可自動(dòng)可靠地運(yùn)行,減少多余的環(huán)節(jié),縮短信息的傳遞時(shí)間,使傳真盡快得到處理。同時(shí),增強(qiáng)了傳真的保密性。電子化過程可以節(jié)省大量資源,包括人力、紙張、打印、通信費(fèi)用、維護(hù)費(fèi)用等,從而減少成本。目前無紙化傳真系統(tǒng)對(duì)企業(yè)的重要作用已經(jīng)逐步顯現(xiàn),使用也越來越廣泛。
1 傳真協(xié)議介紹
T.30協(xié)議為PSTN網(wǎng)上的傳真?zhèn)鬏攨f(xié)議與規(guī)程,是標(biāo)準(zhǔn)傳真。它對(duì)3類傳真機(jī)在普通電話網(wǎng)上的通信流程、所采用的信號(hào)格式、控制信令以及糾錯(cuò)方式都作了詳細(xì)的描述和規(guī)定。該協(xié)議規(guī)定了8種可能的操作方式,每種操作方式均可用5個(gè)獨(dú)立而又連貫的階段來描述:呼叫建立
階段、報(bào)文傳輸前標(biāo)識(shí)和選擇所需性能的過程、報(bào)文傳輸階段、報(bào)文后處理階段和呼叫釋放階段。其中傳真報(bào)文的傳輸將按照T4協(xié)議中所描述的調(diào)制方式進(jìn)行。
T4是ITU—T制定的傳真協(xié)議。該協(xié)議用于3類傳真終端文件傳輸?shù)臉?biāo)準(zhǔn)化協(xié)議。它定義了黑白文件和彩色文件在普通電話交換網(wǎng),國際租用電路以及ISDN進(jìn)行三類傳真的各種特性,包括編碼、線掃描等定義。
2 μC/OS-lI操作系統(tǒng)介紹
μC/OS-II是一種公開源代碼、結(jié)構(gòu)小巧、具有可剝奪實(shí)時(shí)內(nèi)核的實(shí)時(shí)操作系統(tǒng)。μC/OS-II大部分代碼是用C語言編寫的。CPU硬件相關(guān)部分是用匯編語言編寫的??偭考s200行的匯編語言部分被壓縮到最低限度,為的是便于移植到其他的CPU上。用戶只要有標(biāo)準(zhǔn)的ANSI的C交叉編譯器、匯編器、連接器等軟件工具,就可以將μC/OS-II嵌入到開發(fā)的產(chǎn)品中。μC/OS-II具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn)。最小內(nèi)核可編譯至2 KB。μC/OS-II操作系統(tǒng)已經(jīng)移植到了大部分知名的CPU上。
3 傳真數(shù)據(jù)處理的算法設(shè)計(jì)
收到傳真數(shù)據(jù)后,往往需要對(duì)數(shù)據(jù)進(jìn)行解析,比如生成tiff文件、格式轉(zhuǎn)換、錯(cuò)誤統(tǒng)計(jì)等。由前文所述,T.4協(xié)議中規(guī)定了傳真數(shù)據(jù)采用前綴編碼,所以本文采用霍夫曼樹進(jìn)行數(shù)據(jù)解析。
霍夫曼算法一般用于數(shù)據(jù)壓縮,基本思想是根據(jù)數(shù)據(jù)的統(tǒng)計(jì)頻度,生成一種帶權(quán)路徑長度最短的二叉樹。從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)所經(jīng)歷的路徑即代表該葉子節(jié)點(diǎn)的編碼。本文采用了這種思想對(duì)傳真數(shù)據(jù)進(jìn)行解析,比如N的編碼為0001,該編碼為前綴編碼,每個(gè)碼字之間不會(huì)出現(xiàn)混淆?;舴蚵鏄淙鐖D1所示。
基于霍夫曼樹的思想,將T.4協(xié)議中對(duì)傳真掃描點(diǎn)的編碼構(gòu)建成一顆帶權(quán)二叉樹,如圖2所示。
其中每一個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)于某一個(gè)編碼,首先設(shè)置一個(gè)游標(biāo),用于標(biāo)識(shí)當(dāng)前位置,其初始位置為根節(jié)點(diǎn),收到傳真數(shù)據(jù)后,根據(jù)數(shù)據(jù)中的bit位移動(dòng)游標(biāo),可能有以下3種情況:
①游標(biāo)到達(dá)某一個(gè)葉子節(jié)點(diǎn),但此葉子節(jié)點(diǎn)不是EOL,表明收到一個(gè)完整的編碼,但1行還沒結(jié)束,游標(biāo)返回到根節(jié)點(diǎn);
②游標(biāo)到達(dá)EOL葉子節(jié)點(diǎn),表明1行結(jié)束,游標(biāo)返回根節(jié)點(diǎn);
③游標(biāo)下一步?jīng)]有路徑可走,表明數(shù)據(jù)出錯(cuò),此時(shí)需要搜尋下一個(gè)EOL用于重新同步。
4 無紙傳真收發(fā)系統(tǒng)設(shè)計(jì)
4.1 基本模式
按照T.30協(xié)議規(guī)定,文件傳真在公用電話交換網(wǎng)上的傳輸操作方法可能有8種組合,如表1所列。本文設(shè)計(jì)的系統(tǒng)采用的操作方法為4-T,即主叫站與被叫站均為自動(dòng)操作,主叫站作為傳真的發(fā)送方,被叫站作為傳真的接收方。
評(píng)論