當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于NiosII傳真通信規(guī)程的分析與設(shè)計(jì)實(shí)現(xiàn)

 傳真機(jī)作為圖文通信設(shè)備得到了廣泛應(yīng)用。為了進(jìn)行正常通信,需要在通信過程中進(jìn)行一些“操作”,或者由機(jī)器自動(dòng)執(zhí)行某些操作,發(fā)送方和接收方要進(jìn)行“磋商”。接收/發(fā)送雙方要經(jīng)過發(fā)出表示信號(hào)、命令信號(hào)、響應(yīng)信號(hào)和證實(shí)信號(hào)這一過程,這是一個(gè)不斷“操作”和“確認(rèn)”的漸進(jìn)過程。這個(gè)通信規(guī)程就是ITU-T在T.30建議中作的規(guī)定,T.30建議書作為傳真機(jī)在公用電話交換網(wǎng)上的傳輸規(guī)程,對公用電話交換網(wǎng)上傳真業(yè)務(wù)的發(fā)展起到了決定性的作用。
  目前傳真通信的產(chǎn)品開發(fā)主要是基于Conexant等公司的專用傳真芯片,對系統(tǒng)二次開發(fā)。本文從替代傳統(tǒng)專用芯片的角度,提出一種新的基于NiosII傳真系統(tǒng)方案,即軟硬件協(xié)同開發(fā)的流程,分析并設(shè)計(jì)實(shí)現(xiàn)傳真通信。
1 傳真通信規(guī)程分析
1.1 傳真過程描述
  T.30建議規(guī)定了通信規(guī)程的適用范圍、所用術(shù)語的解釋、傳真呼叫描述、傳真用的單音信號(hào)方式和二進(jìn)制信號(hào)方式[1]。圖1為傳真階段過程圖。

  (1)階段A:呼叫建立,連通傳真通信雙方傳輸線,使傳真機(jī)接入線路。撥號(hào)和應(yīng)答雙方均可由人工或自動(dòng)兩種操作完成。
  (2)階段B:報(bào)文前過程,報(bào)文傳輸?shù)臏?zhǔn)備階段,包括性能識(shí)別和選擇條件命令及接收條件確認(rèn)。命令部分包括性能命令、訓(xùn)練、同步及可選的非標(biāo)準(zhǔn)設(shè)備命令、終端識(shí)別命令、查詢(發(fā)送)命令和回聲抑制器解除。
  (3)階段C:報(bào)文中過程,由信息傳輸過程和報(bào)文傳輸組成。信息傳輸過程與報(bào)文傳輸同時(shí)進(jìn)行,并控制傳輸信號(hào)完整性,如傳輸同步、差錯(cuò)檢測及糾錯(cuò)和線路管理。若沒有差錯(cuò)檢測和糾錯(cuò)處理,則該階段只傳輸報(bào)文數(shù)據(jù)。
  (4)階段D:報(bào)文后過程,傳真雙方在完成傳輸一頁報(bào)文后進(jìn)行該過程。包含消息結(jié)束信號(hào)、確認(rèn)信號(hào)、多頁信號(hào)和傳真結(jié)束過程信號(hào)。如果信息傳輸完畢,則直接進(jìn)入E階段。
  (5)階段E:呼叫釋放,可以手動(dòng)或自動(dòng)進(jìn)行。在信息傳輸完畢或上述各階段操作異常時(shí),雙方分別進(jìn)入該階段,將傳真機(jī)與線路脫離。
1.2 傳真二進(jìn)制碼信號(hào)結(jié)構(gòu)
  傳真過程用的二進(jìn)制信號(hào),以300 b/s的速率傳送,這是三類機(jī)二進(jìn)制代碼過程數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)速率。二進(jìn)制代碼的傳真控制過程都使用HDLC幀結(jié)構(gòu)。一個(gè)HDLC幀結(jié)構(gòu)由先導(dǎo)序列、標(biāo)志序列、地址字段、控制字段、信息字段、幀校驗(yàn)序列組成。
  由于采用的調(diào)制解調(diào)器為TM-EC5658V Data/Voice/Fax Modem,它完成幀校驗(yàn)和幀封裝工作,所以數(shù)字終端設(shè)備DTE與調(diào)制解調(diào)器通信過程中的HDLC幀結(jié)構(gòu)如圖2所示。

 

  (1)地址字段:表示該鏈路上發(fā)送或接收該幀的地址。提供多點(diǎn)連接安排中的指定終端的標(biāo)識(shí)。在傳真通信中,由于公用電話交換網(wǎng)中只進(jìn)行點(diǎn)對點(diǎn)的通信,故限定為單一信號(hào)格式。
  (2)控制字段:該字段8 bit數(shù)據(jù),用來提供末幀及非末幀的標(biāo)志。格式為1100 x000,過程中的非末幀,x=0,末幀,x=1,這樣可以區(qū)別末幀和非末幀。末幀是指為期待從對方站發(fā)來響應(yīng)之前所發(fā)送的最后一幀。
  (3)HDLC信息字段:T.30建議書中HDLC信息字段被劃分為傳真控制字段和傳真信息字段兩部分。傳真控制字段由8 bit或16 bit構(gòu)成,二進(jìn)制碼表示各種命令或響應(yīng)信號(hào),可以提供28=256種控制信號(hào)。傳真信息字段的作用是進(jìn)一步說明傳真控制字段的內(nèi)容,提供各種標(biāo)識(shí)、選擇、控制參數(shù)等信息。傳真信息字段是以8 bit為一組的數(shù)據(jù)信息來說明傳真過程。
  (4)幀校驗(yàn)序列,幀校驗(yàn)序列為16 bit位寬數(shù)據(jù),用于檢測傳輸中可能產(chǎn)生的差錯(cuò)。DTE向Modem發(fā)送幀數(shù)據(jù)時(shí)不需要幀校驗(yàn)序列,Modem完成幀校驗(yàn)。Modem向DTE傳送幀數(shù)據(jù)時(shí),附帶有幀校驗(yàn)數(shù)據(jù)。
1.3 傳真通信流程分析
  主叫端主動(dòng)發(fā)出一次傳真呼叫,其既可以發(fā)送也可以接收傳真文件。一般情況下,當(dāng)一方有文件需要發(fā)送時(shí),可作為主叫端發(fā)送傳真文件。在輪詢狀態(tài)下,主叫端檢測被叫端是否有文件需要傳送。當(dāng)主叫端和被叫端均為全自動(dòng)操作時(shí),主叫端先將傳真機(jī)接入電路,檢測到撥號(hào)音后撥號(hào),啟動(dòng)計(jì)時(shí)并向線路發(fā)送主叫單音信號(hào),在設(shè)置本端傳真模式后進(jìn)入階段B。
  階段B要完成對通信雙方的標(biāo)識(shí),包括收發(fā)操作的確認(rèn)、兼容性識(shí)別以及傳輸速率的確定。具體過程如下:
  (1)被叫端將其性能指標(biāo)(如支持的頁面大小、傳輸速率等)封裝在DIS(Digital Identification Signal)中,通知主叫端發(fā)送。
  (2)主叫端根據(jù)被叫端性能指標(biāo)做兼容性判斷。若本地?zé)o文件發(fā)送而對方有文件發(fā)送,則作為接收機(jī)發(fā)送DTC(Digital Transmistion Command)信號(hào);若本地有文件發(fā)送且對方機(jī)器兼容,則發(fā)送DCS(Digital Command Signal)通知接收端本次傳真過程所采用的傳輸參數(shù),并發(fā)送協(xié)商速率下的訓(xùn)練序列。
  (3)接收端正確接收到訓(xùn)練后發(fā)送CFR(Confirmation To Receive)信號(hào),否則發(fā)送FTT(Failure To Train)信號(hào),發(fā)送端更新DCS相應(yīng)字段并重發(fā)降速訓(xùn)練序列,直至接收到CFR。
  在收發(fā)雙方確定連接所能夠支持的最大速率傳輸速率下傳輸報(bào)文。非糾錯(cuò)模式的報(bào)文在階段C一次性全部傳輸完畢,其報(bào)文后命令有三種,分別為多頁信號(hào)MPS(MultiPage Signal)、傳真過程結(jié)束信號(hào)EOP(End Of Procedure)和報(bào)文結(jié)束信號(hào)EOM(End Of Message)。正確接收報(bào)文后接收端發(fā)送MCF(Message Confirmation)信號(hào)。發(fā)送端收到MCF后,進(jìn)入E階段,并發(fā)送DCN(Disconnect)信號(hào),雙方拆鏈路。
1.4 調(diào)制解調(diào)器通信原理分析
  Modem集成標(biāo)準(zhǔn)RS-232接口,通過RS-232接口的TxD和RxD兩條信號(hào)線完成DCE(Data Communication Equipment)和DTE(Data Terminal Equipment)的數(shù)據(jù)交換和控制信號(hào)交換。DTE發(fā)送AT命令到DCE,即Modem。Modem執(zhí)行命令后通過RxD返回結(jié)果給DTE。圖3是Modem通信的示意圖。Modem每執(zhí)行一條AT指令,都要返回當(dāng)前的狀態(tài);傳真過程中向Modem串口發(fā)送AT指令和HDLC幀數(shù)據(jù)。
 由于Modem的性能不同,對應(yīng)不同的工作模式,Class 1服務(wù)類別DCE提供為支持G3傳真操作所需要的服務(wù)水平。DTE通過AT指令向Modem傳遞命令和參數(shù)。Modem執(zhí)行AT命令的結(jié)果就是修改Modem寄存器的值,即設(shè)置Modem操作狀態(tài)。通過設(shè)置Modem的服務(wù)類型后,撥號(hào)進(jìn)入傳真流程。

 

[!--empirenews.page--]2 傳真規(guī)程設(shè)計(jì)實(shí)現(xiàn)
2.1 傳真系統(tǒng)設(shè)計(jì)
  系統(tǒng)開發(fā)工具選擇QuartusII和NiosII IDE環(huán)境,結(jié)合SoPC技術(shù),軟硬件協(xié)同設(shè)計(jì)開發(fā)。器件選擇Altera公司的Cyclone系列EPEC20F400C開發(fā)板,使用QuartusII中SoPC Builder對硬件系統(tǒng)進(jìn)行定義,完成硬核開發(fā)的集成過程。根據(jù)設(shè)計(jì)需要對CPU進(jìn)行定制,包括CPU的數(shù)據(jù)和指令緩存的大小、CPU寄存器數(shù)量等[4]。除了NiosII之外,還需要將外圍設(shè)備的IP添加進(jìn)來。本設(shè)計(jì)就是將在前面提到的各種NiosII自帶的各種IP核(UART控制器、定時(shí)器等)添加進(jìn)來,其余自定義的邏輯器件接口同CPU的連接只需在SoPC Builder中將對應(yīng)的接口模塊添加進(jìn)來即可。
  NiosII核與調(diào)制解調(diào)器通信是通過UART控制器實(shí)現(xiàn)的。原來的UART直接選用Altera公司提供的標(biāo)準(zhǔn)UART組件,通信時(shí)通過寄存器單字節(jié)收發(fā),每個(gè)字節(jié)都會(huì)有中斷觸發(fā)。為了方便軟件編程,Altera提供硬件抽象層HAL(Hardware Abstract Level)系統(tǒng)庫驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序是一個(gè)集成到HAL系統(tǒng)中的HAL字符模式設(shè)備驅(qū)動(dòng)程序,代替訪問UART寄存器,編程者直接使用HAL的API和ANSI C標(biāo)準(zhǔn)庫函數(shù)訪問UART。此時(shí),UART相當(dāng)于字符設(shè)備文件,可以像打開文件、讀寫文件一樣操作UART設(shè)備。
  對UART的操作與對文件的操作一樣。打開UART設(shè)備后,向調(diào)制解調(diào)器發(fā)送的AT指令和HDLC幀數(shù)據(jù)以寫文件的方式寫入U(xiǎn)ART設(shè)備,UART把數(shù)據(jù)發(fā)送至調(diào)制解調(diào)器的串口,命令執(zhí)行對應(yīng)的操作。調(diào)制解調(diào)器通過串口把結(jié)果值和HDLC幀數(shù)據(jù)返回到UART設(shè)備,程序以讀文件的方式從UART設(shè)備讀取數(shù)據(jù),并判斷執(zhí)行下一步對應(yīng)的操作。系統(tǒng)框圖如圖4所示。

 

2.2 程序流程設(shè)計(jì)
  傳真發(fā)送過程就是對Modem不斷操作的過程,通過Modem完成數(shù)據(jù)的收發(fā)及信號(hào)的握手。DTE向調(diào)制解調(diào)器發(fā)送命令,調(diào)制解調(diào)器DCE對命令做出響應(yīng),完成該命令的操作,并返回命令執(zhí)行的結(jié)果碼。
  對調(diào)制解調(diào)器發(fā)送的命令是AT指令,命令形式化為“AT+命令值”,例如“AT+FRH=3”,表示命令Modem準(zhǔn)備以300 b/s的速率接收數(shù)據(jù)。根據(jù)T.30建議書的要求,發(fā)送的TCF信號(hào)是連續(xù)1.5 s的“0”序列,設(shè)計(jì)過程中通過反復(fù)實(shí)驗(yàn),用軟件連續(xù)發(fā)送一定的字節(jié)內(nèi)比特位為0的數(shù)據(jù),可達(dá)到通信要求。在接收TCF信號(hào)時(shí),把接收到的0比特?cái)?shù)據(jù)存入緩沖區(qū),然后判斷是否滿足在當(dāng)前通信速率下的連續(xù)0比特?cái)?shù)據(jù)量。在報(bào)文傳輸階段,發(fā)送的數(shù)據(jù)為處理后(掃描、二值化、編碼)二進(jìn)制數(shù)據(jù),根據(jù)ITU-T T.4標(biāo)準(zhǔn),傳輸?shù)臄?shù)據(jù)可以采用MH/MR/MMR編碼,并且每行的編碼數(shù)據(jù)發(fā)送時(shí)間不能少于20 ms[5]。所以編碼數(shù)據(jù)傳輸時(shí)要對數(shù)據(jù)量小的一行編碼進(jìn)行0 bit填充,這部分在軟件設(shè)計(jì)時(shí)實(shí)現(xiàn)。報(bào)文數(shù)據(jù)以字節(jié)為單位將8 bit數(shù)據(jù)高低位順序顛倒,再傳送給UART。報(bào)文數(shù)據(jù)傳送完之后需添加發(fā)送結(jié)束標(biāo)記<DLE><ETX>,告訴Modem報(bào)文數(shù)據(jù)結(jié)束。
  同樣,接收傳真時(shí),T.30建議書對判斷連續(xù)1.5 s的“0”沒有具體要求,這里采用緩沖區(qū)數(shù)據(jù)判斷,把接收的“0”存入緩沖單元,判斷“0”的個(gè)數(shù)來決定當(dāng)前的通信速率是否滿足。在接收到報(bào)文數(shù)據(jù)后,需要把結(jié)束標(biāo)記從數(shù)據(jù)中濾出,存入緩沖區(qū),再傳送給譯碼打印系統(tǒng)或存儲(chǔ)Tiff文件。限于篇幅,僅給出如圖5所示的發(fā)送單頁傳真樣張軟件實(shí)現(xiàn)流程圖。


 

3 驗(yàn)證與調(diào)試
  在NiosII IDE開發(fā)環(huán)境下完成設(shè)計(jì)代碼,將Nios硬核和軟件程序下載到FPGA開發(fā)板上,在線調(diào)試。最后在開發(fā)板上運(yùn)行該程序,實(shí)現(xiàn)與遠(yuǎn)端普通傳真機(jī)的傳真業(yè)務(wù)通信。所選擇的遠(yuǎn)端普通傳真機(jī)為光電傳真機(jī)OEF319系列傳真機(jī)和Pansonnic系列傳真機(jī)。測試主要內(nèi)容為:
  (1)發(fā)送傳真。在PC機(jī)上將符合ITU標(biāo)準(zhǔn)的測試樣張Tiff文件中的傳真數(shù)據(jù)存儲(chǔ)到文件,運(yùn)行NiosII環(huán)境時(shí)暫存到緩沖區(qū),執(zhí)行傳真通信,將傳真數(shù)據(jù)發(fā)送出去。遠(yuǎn)端傳真機(jī)打印出數(shù)據(jù)和樣張對比,文字清晰可讀。
  (2)接收傳真。和遠(yuǎn)端傳真機(jī)通信,接收對方發(fā)來的傳真數(shù)據(jù)并緩存。由于沒有打印設(shè)備,不能有效對比接收數(shù)據(jù)和樣張。把本次接收的數(shù)據(jù)緩存,作為發(fā)送傳真的測試數(shù)據(jù),基本保證了傳真測試。采用這樣的測試策略,接收傳真的功能基本實(shí)現(xiàn)。在后面深入研究中,可以將打印設(shè)備添加到FPGA開發(fā)板的系統(tǒng)中,這樣就完善了傳真系統(tǒng)。
  經(jīng)測試對比分析,傳真流程合理,與商用傳真機(jī)正常通信。但傳真附加功能和整個(gè)傳真系統(tǒng)還有待于進(jìn)一步完善。 本文深入分析了T.30傳真通信建議書,基于NiosII軟件集成開發(fā)環(huán)境實(shí)現(xiàn)了傳真通信規(guī)程,并將軟件下載到Altera公司系列開發(fā)板上。通過測試驗(yàn)證,實(shí)現(xiàn)了和普通商用傳真機(jī)的傳真通信?;贜iosII軟核的傳真通信規(guī)程的實(shí)現(xiàn),為嵌入式傳真機(jī)提供了一種新的設(shè)計(jì)開發(fā)策略,為傳真機(jī)產(chǎn)品升級(jí)和提高性能提供了參考;對打破國外傳真機(jī)芯片及產(chǎn)品的壟斷,實(shí)現(xiàn)中國傳真機(jī)自主知識(shí)產(chǎn)權(quán)及產(chǎn)業(yè)化,都具有重要的現(xiàn)實(shí)意義。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉