摘 要:研究了在因特網日漸普及而商務活動中又難以摒棄傳真的情況下,在普通傳真機上實現因特網絡傳真和普通電話網傳真兩種功能的新型傳真機——雙網數字傳真機。討論了網絡傳真協議棧,并根據雙網數字傳真機的總體設計方案,完成了其軟硬件模塊設計,實現了其雙機通信模塊的軟硬件,并在仿真環境下完成了調測試。
關鍵詞:傳真通信; 電話網; 因特網; 協議
中圖分類號:TN917.8-34文獻標識碼:A
文章編號:1004-373X(2010)21-0083-03
Research on Two-computer Communication
ZHANG Qun-liang,TIAN Xiao-ping
(Xi’an University of Post and Telecommunications, Xi’an 710121, China)
Abstract: With the popularity of the Internet and the increasing demands of the fax in the business activities, the digital fax used in double networks is achieved, that is, a new-born fax to simultaneously share the advantages of the Internet and the ordinary telephone fax, the protocol of the network fax is discussed, the whole designing scheme of the digital fax used in double networks is put forward including the model design of the software and hardware, and the simulated regulation and test are realized.
Keywords: fax telecommunication; telephone network; Internet; protocol
0 引 言
傳真通信不僅能傳送圖像/圖形信息,而且可以保留其具體的形式,因此,真跡傳送是傳真通信又一主要特點,也是最具魅力的特點。隨著因特網的發展,收發電子郵件已經成為大部分公司與個人或其他公司進行通信聯系的主要方式。在公司內部,相比使用電話進行通信,人們更愿意使用電子郵件,電子郵件已經成為大多數人的第二種主要通信手段。相比傳統傳真,電子郵件有一個顯著的優點:成本很低。基于這種原因,人們自然會聯想到通過因特網發送傳真,這就是網絡傳真。
雙網數字傳真機與普通傳真機的最大區別是增加了網絡傳輸接口,具有普通電話網和因特網兩種傳輸模式,增強了傳真機的功能,擴展其適用范圍,提高了傳輸效率和傳輸可靠性,保證良好的圖像質量,并大幅度地降低了傳真所帶來的長途通信費用。
雙網數字傳真機是一個雙處理器結構(主處理器是SCE214,從處理器是ARM S3C4510B)的嵌入式系統,要實現網絡傳真功能首先必須實現系統內的雙機通信,即主處理器與從處理器的信息交換。
1 雙機通信的硬件實現
采用IDT公司的2K×8 b的高速雙口RAM——IDT7132來實現雙機通信。雙口RAM是常見的共享式多端口存儲器,如圖1所示,雙口RAM最大的特點是存儲數據共享,一個存儲器配備兩套獨立的地址、數據和控制線,允許兩個獨立的CPU或控制器同時異步地訪問存儲單元。既然數據共享,就必須存在訪問仲裁控制。內部仲裁邏輯控制提供以下功能:對同一地址單元訪問的時序控制;存儲單元數據塊的訪問權限分配;信令交換邏輯(例如中斷信號)等。
圖1 雙口RAM的功能框圖
它允許兩個(左、右)端口同時讀寫數據,每個端口具有自己獨立的控制信號線、地址線和數據線;允許數據高速存取,最快存取時間為20 ns;功耗低,工作在省電模式時,功耗為5 mW;其數據保存電壓為2 V,便于用電池完成數據的掉電保護。IDT7132可以作為8位雙口RAM單獨使用,也可以與IDT7142組成主從式系統,將數據線擴展到16位,甚至更寬。IDT7132支持從其兩個端El對器件的任何存儲空間進行完全異步的讀/寫操作。通過CE的控制,IDT7132自動工作在省電模式下,而且還可以通過接電池達到數據保護的目的。
IDT7132工作情況如下:當左右端口不對同一地址單元存取時,BUSYR=H,BUSYL=H,可正常存儲,其中:H表示高電平,L表示低電平。當左右端口對同一地址單元存取時,有一端口的BUSY=L,禁止數據的存取。此時,兩個端口中,哪個存取請求信號出現在前,則其對應的BUSY=H,允許存取;哪個存取請求信號出現在后,則其對應的BUSY=L,禁止其寫入數據。需要注意的是,兩端口間的存取請求信號出現時間要相差在5 ns以上,否則仲裁邏輯無法判定哪一個端口的存取請求信號在前;在無法判定哪個端口先出現存取請求信號時,控制線BUSYL和BUSYR只有一個為低電平,不會同時為低電平。這樣,就能保證一個對應于BUSY=H的端口能進行正常存取,對應于BUSY=L的端口不存取,避免雙端口存取出現錯誤。非競爭真值表見表1,競爭真值表見表2。
表1 IDT7132非競爭真值表
左右端口
R/WCEOED0~D7
功能描述
XHXZ端口無效,掉電模式
XHXZCER,CEL為高電平,掉電模式
LLXDATAIN寫入數據
HLLDATAOUT讀出數據
HLHZ高阻抗輸出
注:A0L~A10L≠A0R~A10R,H表示高電平,L表示低電平,X表示任意狀態,Z表示高阻抗。
表2 IDT7132競爭真值表
輸入輸出
CELCERA0L~A10LA0R~A10RBUSYLBUSYR
功能描述
XXNO MATCHHH正常
HXMATCHHH正常
XHMATCHHH正常
LLMATCH☆☆禁止寫入
圖2是IDT7132在本系統中的連接框圖。IDT7132的寫入時序圖和讀出時序如圖3,圖4所示。在寫入時序圖中,由R/W脈沖上升沿控制寫入操作,在讀出時序圖中,由OE脈沖上升沿控制讀出操作。
圖2 雙口RAM芯片IDT7132連接框圖
圖3 IDT7132寫入時序圖
圖4 IDT7132讀出時序圖
SCE214和ARM處理器間數據交換的軟件實現是采用輪詢方式分別讀/寫雙口RAM。它們的讀/寫操作過程基本相同,工作流程如圖5所示。
圖5 主、從處理器讀/寫雙口RAM流程圖
SCE214處理器采用匯編語言實現對雙口RAM的讀/寫;ARM(S3C4510B)處理器采用C++語言編程,并基于嵌入式操作系統VxWorks實現對雙口RAM的讀/寫。
當SCE214與S3C4510B同時向同一存儲單元(#07FF)寫入數據時,如果對側地址信號的穩態先于本側的時,本側BUSY信號輸出“L”,表示禁止本側處理器寫入,本側寫入脈沖中加入等待周期;若對側地址信號的穩態晚于本側時,本側BUSY信號輸出“H”,表示本側處理器可以執行寫入操作;BUSYL和BUSYR不能同時為“L”。
圖6是雙口RAM IDT7132存儲器映射圖,IDT7132空間大小為2 KB,存儲空間劃分為兩部分:控制區和數據區。數據區分又分為兩部分:1#區和2#區,其空間均為512 B,1#區用于實現SCE214寫入數據和S3C4510B讀出數據,2#區用于實現SCE214讀出數據和S3C4510B寫入數據。控制區包含讀/寫標志、1#數據區起始地址及有效數據最大地址偏移、2#數據區起始地址及有效數據最大地址偏移。
圖6 雙口RAM IDT7132存儲器映射圖
處理器對雙口RAM的操作過程如下:
(1) SCE214有寫入數據時,將數據寫入1#區,有效數據起始地址寫入$07FE、$07FD存儲單元中(按小端格式存放),有效數據地址最大偏移量寫入$07FC、$07FB,并將$07FF的Bit0置為1;
(2) S3C4510B讀雙口RAM時,先判斷$07FF的Bit0是否為1,若為1,從$07FE、$07FD存儲單元中取出有效數據起始地址,從$07FC、$07FB存儲單元中取出有效數據地址最大偏移量,根據有效數據起始地址和最大偏移量,讀出雙口RAM中的數據,并將$07FF的Bit0置為0;
(3) S3C4510B讀雙口RAM時,若判斷出$07FF的Bit0為0,則S3C4510B認為SCE214無數據發送來。這時S3C4510B若有數據需要寫入雙口RAM,則將數據寫入2#區,有效數據起始地址寫入$07FA、$07F9存儲單元中(按小端格式存放),有效數據地址最大偏移量寫入$07F8、$07F7,并將$07FF的Bit3置為1;
(4) SCE214輪循到讀雙口RAM操作時,先判斷$07FF的Bit3是否為1,若為1,從$07FA、$07F9存儲單元中取出有效數據起始地址,從$07F8、$07F7存儲單元中取出最后一個有效數據的地址偏移,根據有效數據起始地址和最大偏移量,讀出雙口RAM中的數據,并將$07FF的Bit3置為0;
(5) SCE214輪循到讀雙口RAM操作時,若判斷出$07FF的Bit3為0,SCE214認為S3C4510B無數據發送來。
如此重復(1)~(5)的操作,即可完成SCE214與S3C4510B的雙向通信,最大一次可傳送512 B數據。
2 結 論
雙機通信在嵌入式系統中應用比較廣泛,本文介紹的設計方案主要用于速率要求高、成本適中的場合。
由于本系統采用的是雙處理器結構設計,給系統的穩定性帶來一定的隱患,有待于在以后的研發中能將雙處理器集成為單片處理器。雙網數字傳真機研發的亮點在網絡傳真,其網絡傳真實現的業務不是實時傳真,加之因特網本身的時延較大,有待用戶檢驗,但其市場前景仍比較樂觀。
參考文獻
[1]ITU. Procedures for the transfer of facsimile data via store-and-forward on the Internet [R]. [S.l.]: Telecommunication Standardization Sector of ITU, 1998.
[2]Rockwell International Digital Communications Division. MC24 CPU megacell programming manual [M].[S.l.]: RIDCD, 1993.
[3]SCE. CX066835 FAXEngine single-chip fax engine with integrated fax modem DSP core design guide[M]. Japan: SCE, 2003.
[4]中華人民共和國通信行業標準YD/T1044-2000.IP電話/傳真業務總體技術要求[S].北京:中華人民共和國信息產業部,2000.
[5]唐力,聶秀英.傳真機原理及應用[M].北京:人民郵電出版社,1995.
[6]探矽工作室.嵌入式系統開發圣經[M].北京:中國青年出版社,2002.
[7]張海藩.軟件工程導論[M].3版.北京:清華大學出版社,2003.