《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Nios II的雙網(wǎng)傳真機系統(tǒng)的研究與開發(fā)
基于Nios II的雙網(wǎng)傳真機系統(tǒng)的研究與開發(fā)
來源:電子技術應用2010年第5期
劉永平,韓俊剛
西安郵電學院 計算機科學與技術系,,陜西 西安710061
摘要: 基于Nios-II設計和實現(xiàn)了支持PSTN網(wǎng)絡,、Internet網(wǎng)絡的雙網(wǎng)傳真機系統(tǒng),利用FPGA實現(xiàn)了傳真機系統(tǒng)的多個電路模塊,,包括A/D采樣控制邏輯,、二值化圖像處理模塊、MH編碼模塊,、MH譯碼模塊和CIS掃描,、TPH打印、電機控制模塊,?;趗C/OS-II、Niche TCP/IP實現(xiàn)了T30協(xié)議通信,、非實時網(wǎng)絡傳真通信,、Tiff文件創(chuàng)建,、Tiff文件解析模塊。使用Altera Cyclone EP1C20開發(fā)板實現(xiàn)和驗證了整機系統(tǒng),,經過軟硬件聯(lián)調,,達到了系統(tǒng)設計指標和功能。
中圖分類號: TP211.6,;TP212.14
文獻標識碼: A
Design of CCD wire alignment transducer based on C8051F410
CHAI Shi Jie,,DAI Yu Xing,WEN Ye Ting
College of Electrical and Information Engineering, Hunan University,Changsha 410082,,China
Abstract: Choosing C8051F410 as the hardware control platform , using the advanced CCD technology , according to dam deformation monitoring′s demand, the paper designs high accuracy and automatic measuring wire alignment transducer. Principle of work ,main hardware design scheme and software flow chart of system are introduced primely in this paper. The measurement result indicated that this instrument has very strong usability.
Key words : CCD,;dam deformation monitoring;automatic measuring,;wire alignment transducer

    雙網(wǎng)傳真機是指可以接入Internet網(wǎng)絡和PSTN網(wǎng)絡中進行發(fā)送和接收文字,、圖像、圖文稿件的傳真機,。由于Internet技術的發(fā)展,,Internet以其方便性、價格低廉等特點在當今通信中占有重要地位,。普通傳真機通過PSTN網(wǎng)絡進行傳真,,發(fā)送和接收耗時,速度慢,,而且費用比較昂貴,。本文設計和開發(fā)的雙網(wǎng)傳真機不僅可以兼容普通傳真機,而且可以使用Internet網(wǎng)絡進行收發(fā)傳真,,具有速度快,、費用低廉的特點。
1 雙網(wǎng)傳真機接入網(wǎng)絡
    本文設計的雙網(wǎng)傳真機接入Internet和傳真服務器進行通信,,通信協(xié)議是非實時傳真標準協(xié)議,,通過該傳真服務器中轉將傳真推送到目標傳真機,根據(jù)目標傳真機是雙網(wǎng)傳真機還是普通傳真機,,選擇對應的Internet網(wǎng)絡,、PSTN網(wǎng)絡進行推送。接入PSTN網(wǎng)絡和目標傳真機通過T30[1]協(xié)議進行通信,。通過Internet發(fā)送,,在掃描稿件時將稿件數(shù)據(jù)和信息封裝成Tiff文件的形式,通過非實時傳真標準協(xié)議將文件發(fā)送到傳真服務器,,傳真服務器判斷該傳真是發(fā)往普通傳真機還是雙網(wǎng)傳真機,。如果發(fā)往普通傳真機,服務器會解析Tiff文件并將解析出的傳真編碼數(shù)據(jù)發(fā)往普通傳真機;如果發(fā)往雙網(wǎng)數(shù)字傳真機,,則將該tiff文件放到用戶目錄中,,等待雙網(wǎng)傳真機自動或者手動收取。其在整個雙網(wǎng)傳真系統(tǒng)中的位置如圖1所示,。

2 雙網(wǎng)傳真機系統(tǒng)設計
    本文設計的雙網(wǎng)傳真機以Nios II嵌入式軟核為處理器,,采用SoPC[2]的軟硬件協(xié)同設計方法進行設計,以求最佳的性能價格比,。SoPC技術硬件用Altera公司的FPGA技術來實現(xiàn),,軟件用C語言編程實現(xiàn),操作系統(tǒng)平臺采用實時操作系統(tǒng)內核uC/OS-II,、TCP/IP協(xié)議棧使用Niche TCP/IP協(xié)議棧,。以Altera Cyclone EP1C20為實驗板進行系統(tǒng)實現(xiàn)和驗證。
    根據(jù)對傳真機功能和性能的分析,,提出將耗時,、算法復雜、數(shù)據(jù)處理量大的模塊用電路實現(xiàn),,需要提供精確的時序信號邏輯也用電路實現(xiàn),,而對時間要求不苛刻的場合,、CPU處理速度能跟上的功能模塊用軟件來實現(xiàn),。同時盡量利用可以利用的軟硬件模塊單元,增強系統(tǒng)的穩(wěn)定性和可靠性,,減少重復設計,,縮短開發(fā)周期。系統(tǒng)設計的結構圖如圖2所示,。


    系統(tǒng)開發(fā)工具采用Altera公司提供的Quartus II和Nios II IDE,。在Quartus II軟件內,使用SoPC Builder開發(fā)硬件模塊,,形成硬件設計文件和自定義軟件開發(fā)環(huán)境,。Nios II IDE是基于GNU C/C++編譯器和Eclipse IDE的,設計者可以很快開發(fā),、調試和仿真Nios II系統(tǒng),,開發(fā)模塊驅動程序、板級支持包(BSP)及用戶程序,。
2.1 雙網(wǎng)數(shù)字傳真機系統(tǒng)硬件設計
    本文設計的雙網(wǎng)數(shù)字傳真機以Altera Nios II軟核為處理器,、CIS掃描器件、電機,、TPH打印器件,、CIS、電機、TPH打印驅動板,、Alter EP1C20開發(fā)板,、Modem為硬件平臺,通過Altera的FPGA實現(xiàn)硬件電路模塊,,主要需要實現(xiàn)的電路模塊有A/D采樣控制邏輯模塊,、圖像二值化處理模塊、MH[3]編碼模塊,、MH譯碼模塊,、掃描、打印,、電機時序驅動邏輯模塊,。
    (1)A/D采樣控制邏輯模塊
    通過CIS掃描器件把原稿的光信號轉化為電信號,將CIS掃描器件獲得的模擬電信號通過A/D轉換器件轉化為8 bit的數(shù)字信號輸入圖像處理二值化模塊,。A/D采樣控制邏輯完成A/D器件的時序驅動,。
    (2)圖像二值化處理模塊
    本模塊輸入數(shù)據(jù)為A/D轉化后的每像素8 bit數(shù)據(jù),根據(jù)掃描原有文本,、灰度圖像,、圖文并茂3種類型自動判別選用不同的算法,進行偽灰度處理,,即根據(jù)抖動表(Dither)進行二值化處理,,得到人眼感覺有層次(灰度變化)的二值圖像,即半色調圖像(Halftone),?;叶戎祱D像轉化為二值圖像的算法原理是:通過實際的中間色調信號與存儲在ROM中的閾值信號比較形成二值圖像信號。


    一般傳真機采用的抖動表數(shù)據(jù)是8×8的Bayes矩陣,,在實驗中采用該方法處理得到的效果并不理想,,圖像對比度不是很強烈,整體效果較暗,。因此作者根據(jù)FPGA硬件處理的特性,,采用16×16的抖動矩陣對傳真圖像進行處理。采用該方法適應了FPGA 芯片擁有豐富寄存器資源的特點,,用來存儲改進抖動表,,在不影響處理速度的情況下,明顯改進圖像的處理效果,,提高圖像對比度,,圖像效果比較接近原圖。從得出的效果圖可以明顯看出,,改進方案比原有Bayer抖動表做抖動的圖像對比度要好得多,,代價為增加了一千多位寄存器,。從而較好地解決了對圖像二值化處理中對比度不強的問題。
    (3)編碼模塊
    將二值化后的圖像數(shù)據(jù)經一維MH編碼后交付通信模塊使用,。MH編碼是一維改進的Huffman編碼,,是ITU-T T.4[4]標準中的一部分,ITU-T T.4標準的全稱是三類傳真機終端文檔傳輸標準,。MH編碼具有效率高,、容易擴展等特點。三類傳真機一般都實現(xiàn)了一維MH編碼和譯碼,,有的也實現(xiàn)了二維MR編碼,,本文用硬件電路實現(xiàn)一維MH編碼。對于二值信源來說,,一幅傳真圖像是由掃描線上的像素組成的,。而每一掃描線又總是由一些黑像素和白像素組成。將連續(xù)發(fā)生的黑像素為連‘1’,,白像素為連‘0’,,也稱為黑游程和白游程。連‘1’的個數(shù)稱為黑游程的長度,,連‘0’的個數(shù)稱為白游程的長度,。黑白游程交替出現(xiàn)。針對游程編碼,,哈夫曼MH碼元很好地解決了傳真信源的壓縮問題,,是T.30協(xié)議中規(guī)定的編碼方式之一。實現(xiàn)時通過讀取像素信息存儲FIFO判斷是黑游程還是白游程,。當發(fā)生了黑白游程切換時,,根據(jù)黑白游程計數(shù)形成碼表訪問地址,根據(jù)地址查找碼表得到對應的編碼碼元,。MHC編碼硬件模塊圖如圖3所示。

    該編碼數(shù)據(jù)將封裝在T30協(xié)議中進行傳輸,,T30協(xié)議規(guī)定的每樣張的數(shù)據(jù)傳輸格式如圖4所示,。其中EOL為End Of Line,即行同步碼,,格式為000000000001,。同步碼是緊跟在每一行掃描線之后的特殊碼字,它在有效數(shù)據(jù)中不可能出現(xiàn),,因而在突發(fā)錯誤之后能重新建立同步,。特殊地,每頁文件的第一個數(shù)據(jù)之前也設置一個EOL,。


    填充碼fill的作用是保證每掃描線,,即每一行的數(shù)據(jù)傳輸時間不小于某一規(guī)定時間T,,T為發(fā)送一行編碼數(shù)據(jù)所用的最小時間,ITU-T T.4標準建議中規(guī)定T=20 ms,,不足20 ms時間應加入填充碼,,其格式為長度不一的全“0”串。RTC為返回控制碼,,其格式為6個連發(fā)的EOL碼,,表示一頁文件碼的傳輸結束。
    在通過Internet進行傳真時需要將MH編碼數(shù)據(jù)封裝在TIFF文件中,,封裝成TIFF文件的過程通過軟件模塊實現(xiàn),。
    (4)譯碼模塊
    基于FPGA硬件電路實現(xiàn)圖像MH譯碼模塊,采用快速譯碼策略,。在譯碼時,,由于碼元不等長且數(shù)據(jù)量較大,構造譯碼樹較困難,,應采用快速譯碼方法,。快速譯碼算法的基本思想是采取多步合一的方法,,一次輸入的不是一個碼元,,而是多個碼元。根據(jù)碼表的特點可知,,白游程最短碼長是4,,黑游程最短碼長是2。由此在譯碼開始時,,碼元是以穿行的方式進入譯碼電路,,對白游程可以直接讀取4 bit,進入譯碼查找,,若非完整編碼再逐位讀?。粚谟纬炭梢灾苯幼x取2 bit,,進入譯碼查找,,若非完整編碼再逐位讀取。譯碼的具體算法如下:
    ①按游程類型讀取對應最小編碼長度編碼,;
    ②在形成碼中進行匹配,,若成功,按游程類型繼續(xù)讀取對應最小編碼長度編碼,,轉入③,;否則轉入④;
    ③終結碼中匹配,,失敗則讀取下一位繼續(xù)匹配,,直至成功,;
    ④在終結碼中進行匹配,匹配成功則跳入①重新開始,;否則讀取下一位編碼,,轉入②。重復以上操作,,直到本行結束,;
    (5)掃描、打印,、電機驅動邏輯,。
    本硬件模塊采用FPGA實現(xiàn),主要提供CIS掃描器件,、TPH打印器件,、電機的驅動時序信號。
2.2 雙網(wǎng)數(shù)字傳真機軟件設計
    操作系統(tǒng)采用實時操作系統(tǒng)內核?滋C/OS-II,,硬件抽象層HAL[5]由Nios II開發(fā)工具生成,,TCP/IP協(xié)議棧使用移植到μC/OS-II上的Niche TCP/IP協(xié)議棧。Altera EP1C20開發(fā)板含有SMSC LAN91C111-NE MAC/PHY芯片,,該芯片完成網(wǎng)絡中MAC/PHY功能,。軟件主要完成系統(tǒng)控制和T30協(xié)議通信過程、非實時傳真通信過程,、Tiff[6]文件創(chuàng)建,、Tiff文件解析。由于μC/OS-II是多任務的實時內核,,故系統(tǒng)劃分和設計了以下任務:
    (1)Init任務:初始化任務,,建立任務之間的通信量。
    (2)TCP/IP協(xié)議棧任務:Inet_main任務,,該任務負責TCP/IP協(xié)議的運行,。
    (3)clock tick任務:系統(tǒng)ticks任務。
    (4)T30發(fā)送任務:實現(xiàn)發(fā)送一封傳真的T30通信過程,。
    (5)T30接收任務:實現(xiàn)接收一封傳真的T30通信過程,。
    (6)SMTP發(fā)送任務:通過SMTP命令EHLO、AUTH,、RCPT、MAIL,、DATA,、QUIT和傳真服務器進行對話,基于SMTP協(xié)議實現(xiàn)非實時傳真通信協(xié)議,,即按照服務器接收的發(fā)送傳真格式發(fā)送一封特殊郵件到服務器,。其中傳真數(shù)據(jù)文件以附件的方式附在這封有固定格式和含義的郵件中,,圖像數(shù)據(jù)需要封裝成Tiff文件的形式,附件發(fā)送時需要按照SMTP協(xié)議將數(shù)據(jù)重新編碼為base64格式的編碼數(shù)據(jù)才能進行發(fā)送,。該封郵件內容固定格式中含有賬號密碼,、發(fā)送參數(shù)、發(fā)往目標號碼列表信息等內容,,是非實時傳真通信協(xié)議中規(guī)定的內容,。
    (7)POP3接收任務:通過POP3命令USER、PASS,、STAT,、RETR、QUIT實現(xiàn)與傳真服務器的對話,,從傳真服務器收取一封特殊的郵件,,該郵件的附件即為傳真圖像數(shù)據(jù)Tiff文件。收取下來的Tiff文件是base64編碼數(shù)據(jù),,首先需要將文件數(shù)據(jù)進行base64解碼還原出Tiff文件,。
    (8)Tiff文件解碼任務:Tiff文件是標簽式文件,按照Tiff文件的格式和對應標簽含義解析出Tiff文件的信息和具體的圖像數(shù)據(jù),,然后觸發(fā)MH解碼電路模塊工作并驅動電機和TPH打印模塊打印黑白像素點,。
    (9)創(chuàng)建Tiff文件任務:根據(jù)Tiff文件信息標簽組建Tiff文件。
    雙網(wǎng)傳真機系統(tǒng)在Altera Cyclone EP1C20實驗板,、外加驅動板,、Modem等硬件基礎上開發(fā)成功,通過反復軟硬件調試,,軟硬件運行穩(wěn)定,、達到系統(tǒng)功能指標。利用了μC/OS-II能夠穩(wěn)定,、安全處理并發(fā)多任務這一特點,,軟件模塊穩(wěn)定運行,體現(xiàn)出較高的實時性和可靠性,,取得了較好的實際效果,。本系統(tǒng)可以自己設計和生產帶Altera FPGA芯片的實驗板,集成Ethernet MAC/PHY芯片和Modem芯片等,,降低系統(tǒng)成本,。同時本系統(tǒng)還可以與PC機聯(lián)網(wǎng),通過PC機向雙網(wǎng)傳真機發(fā)送文件和接收文件,,這樣可以提高工作效率并減少紙張浪費,,適合于公司集團用戶作為傳真中轉工作機,具有一定的市場應用價值,。

參考文獻
[1] ITU-T Recommendation T.30 Procedures for document  facsi-mile transmission in the general switched telephone  network[S].2005.
[2] 李蘭英.Nios II嵌入式軟核SoPC設計原理及應用[M].北京:北京航空航天大學出版社,,2006.
[3] 劉立柱.網(wǎng)絡傳真通信原理與技術[M].北京:國防工業(yè)出版社,,2006.
[4] ITU-T Recommendation T.4 Standardization of Group 3  facsimile terminals for document transmission[S].2003.
[5] Nios II軟件架構解析[M].西安:西安電子科技大學出版社,2007.
[6] RFC2306-Tag Image File Format(TIFF)-F Profile for Facsimile[S],,1998.

此內容為AET網(wǎng)站原創(chuàng),,未經授權禁止轉載。