《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于雙機(jī)通信的研究
基于雙機(jī)通信的研究
維庫(kù)網(wǎng)
摘要: 傳真通信不僅能傳送圖像/圖形信息,而且可以保留其具體的形式,因此,真跡傳送是傳真通信又一主要特點(diǎn),也是最...
關(guān)鍵詞: 雙機(jī)通信
Abstract:
Key words :

  傳真通信不僅能傳送圖像/ 圖形信息,而且可以保留其具體的形式,因此,真跡傳送是傳真通信又一主要特點(diǎn),也是最具魅力的特點(diǎn)。隨著因特網(wǎng)的發(fā)展,收發(fā)電子郵件已經(jīng)成為大部分公司與個(gè)人或其他公司進(jìn)行通信聯(lián)系的主要方式。在公司內(nèi)部,相比使用電話進(jìn)行通信,人們更愿意使用電子郵件,電子郵件已經(jīng)成為大多數(shù)人的第二種主要通信手段。相比傳統(tǒng)傳真,電子郵件有一個(gè)顯著的優(yōu)點(diǎn): 成本很低?;谶@種原因,人們自然會(huì)聯(lián)想到通過因特網(wǎng)發(fā)送傳真,這就是網(wǎng)絡(luò)傳真。

  雙網(wǎng)數(shù)字傳真機(jī)與普通傳真機(jī)的最大區(qū)別是增加了網(wǎng)絡(luò)傳輸接口,具有普通電話網(wǎng)和因特網(wǎng)兩種傳輸模式,增強(qiáng)了傳真機(jī)的功能,擴(kuò)展其適用范圍,提高了傳輸效率和傳輸可靠性,保證良好的圖像質(zhì)量,并大幅度地降低了傳真所帶來的長(zhǎng)途通信費(fèi)用。

  雙網(wǎng)數(shù)字傳真機(jī)是一個(gè)雙處理器結(jié)構(gòu)( 主處理器是SCE214,從處理器是A RM S3C4510B) 的嵌入式系統(tǒng),要實(shí)現(xiàn)網(wǎng)絡(luò)傳真功能首先必須實(shí)現(xiàn)系統(tǒng)內(nèi)的雙機(jī)通信,即主處理器與從處理器的信息交換。

  1 雙機(jī)通信的硬件實(shí)現(xiàn)

  采用IDT 公司的2K ×8 b 的高速雙口RAMIDT7132 來實(shí)現(xiàn)雙機(jī)通信。雙口RAM 是常見的共享式多端口存儲(chǔ)器,如圖1 所示,雙口RAM 最大的特點(diǎn)是存儲(chǔ)數(shù)據(jù)共享,一個(gè)存儲(chǔ)器配備兩套獨(dú)立的地址、數(shù)據(jù)和控制線,允許兩個(gè)獨(dú)立的CPU 或控制器同時(shí)異步地訪問存儲(chǔ)單元。既然數(shù)據(jù)共享,就必須存在訪問仲裁控制。內(nèi)部仲裁邏輯控制提供以下功能: 對(duì)同一地址單元訪問的時(shí)序控制; 存儲(chǔ)單元數(shù)據(jù)塊的訪問權(quán)限分配;信令交換邏輯
( 例如中斷信號(hào)) 等。

雙口RAM 的功能框圖

圖1 雙口RAM 的功能框圖。

  它允許兩個(gè)( 左、右) 端口同時(shí)讀寫數(shù)據(jù),每個(gè)端口具有自己獨(dú)立的控制信號(hào)線、地址線和數(shù)據(jù)線; 允許數(shù)據(jù)高速存取,最快存取時(shí)間為20 ns; 功耗低,工作在省電模式時(shí),功耗為5 mW; 其數(shù)據(jù)保存電壓為2 V,便于用電池完成數(shù)據(jù)的掉電保護(hù)。IDT 7132 可以作為8 位雙口RAM 單獨(dú)使用,也可以與IDT7142 組成主從式系統(tǒng),將數(shù)據(jù)線擴(kuò)展到16 位,甚至更寬。IDT7132 支持從其兩個(gè)端El 對(duì)器件的任何存儲(chǔ)空間進(jìn)行完全異步的讀/ 寫操作。通過的控制,IDT7132 自動(dòng)工作在省電模式下,而且還可以通過接電池達(dá)到數(shù)據(jù)保護(hù)的目的。

  IDT7132 工作情況如下: 當(dāng)左右端口不對(duì)同一地址單元存取時(shí),,可正常存儲(chǔ),其中: H 表示高電平,L 表示低電平。當(dāng)左右端口對(duì)同一地址單元存取時(shí),有一端口的= L,禁止數(shù)據(jù)的存取。此時(shí),兩個(gè)端口中,哪個(gè)存取請(qǐng)求信號(hào)出現(xiàn)在前,則其對(duì)應(yīng)的= H,允許存取; 哪個(gè)存取請(qǐng)求信號(hào)出現(xiàn)在后,則其對(duì)應(yīng)的= L,禁止其寫入數(shù)據(jù)。需要注意的是,兩端口間的存取請(qǐng)求信號(hào)出現(xiàn)時(shí)間要相差在5 ns 以上,否則仲裁邏輯無法判定哪一個(gè)端口的存取請(qǐng)求信號(hào)在前; 在無法判定哪個(gè)端口先出現(xiàn)存取請(qǐng)求信號(hào)時(shí),控制線只有一個(gè)為低電平,不會(huì)同時(shí)為低電平。這樣,就能保證一個(gè)對(duì)應(yīng)于=H 的端口能進(jìn)行正常存取,對(duì)應(yīng)于= L 的端口不存取,避免雙端口存取出現(xiàn)錯(cuò)誤。非競(jìng)爭(zhēng)真值表見表1,競(jìng)爭(zhēng)真值表見表2。

表1 IDT7132 非競(jìng)爭(zhēng)真值表。

IDT7132 非競(jìng)爭(zhēng)真值表

表2 IDT7132 競(jìng)爭(zhēng)真值表。

IDT7132 競(jìng)爭(zhēng)真值表

  圖2 是IDT7132 在本系統(tǒng)中的連接框圖。IDT7132 的寫入時(shí)序圖和讀出時(shí)序如圖3,圖4 所示。

  在寫入時(shí)序圖中,由脈沖上升沿控制寫入操作,在讀出時(shí)序圖中,由脈沖上升沿控制讀出操作。

雙口RAM 芯片IDT7132 連接框圖

圖2雙口RAM 芯片IDT7132 連接框圖。

IDT7132 寫入時(shí)序圖

圖3 IDT7132 寫入時(shí)序圖。

IDT7132 讀出時(shí)序圖

圖4 IDT7132 讀出時(shí)序圖。

  SCE214 和ARM 處理器間數(shù)據(jù)交換的軟件實(shí)現(xiàn)是采用輪詢方式分別讀/ 寫雙口RAM。它們的讀/ 寫操作過程基本相同,工作流程如圖5 所示。

主、從處理器讀/ 寫雙口RAM 流程圖

圖5 主、從處理器讀/ 寫雙口RAM 流程圖。

  SCE214 處理器采用匯編語(yǔ)言實(shí)現(xiàn)對(duì)雙口RAM 的讀/ 寫; ARM( S3C4510B) 處理器采用C+ + 語(yǔ)言編程,并基于嵌入式操作系統(tǒng)VxWorks 實(shí)現(xiàn)對(duì)雙口RAM 的讀/ 寫。

  當(dāng)SCE214 與S3C4510B 同時(shí)向同一存儲(chǔ)單元( # 07FF) 寫入數(shù)據(jù)時(shí),如果對(duì)側(cè)地址信號(hào)的穩(wěn)態(tài)先于本側(cè)的時(shí),本側(cè)信號(hào)輸出& L.,表示禁止本側(cè)處理器寫入,本側(cè)寫入脈沖中加入等待周期; 若對(duì)側(cè)地址信號(hào)的穩(wěn)態(tài)晚于本側(cè)時(shí),本側(cè)信號(hào)輸出" H".,表示本側(cè)處理器可以執(zhí)行寫入操作;不能同時(shí)為" L".。

  圖6 是雙口RAM IDT7132 存儲(chǔ)器映射圖,IDT7132 空間大小為2 KB,存儲(chǔ)空間劃分為兩部分: 控制區(qū)和數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)分又分為兩部分: 1# 區(qū)和2#區(qū),其空間均為512 B,1# 區(qū)用于實(shí)現(xiàn)SCE214 寫入數(shù)據(jù)和S3C4510B 讀出數(shù)據(jù),2# 區(qū)用于實(shí)現(xiàn)SCE214 讀出數(shù)據(jù)和S3C4510B 寫入數(shù)據(jù)??刂茀^(qū)包含讀/ 寫標(biāo)志、1 # 數(shù)據(jù)區(qū)起始地址及有效數(shù)據(jù)最大地址偏移、2#數(shù)據(jù)區(qū)起始地址及有效數(shù)據(jù)最大地址偏移。

雙口RAM IDT7132 存儲(chǔ)器映射圖

圖6 雙口RAM IDT7132 存儲(chǔ)器映射圖。

  處理器對(duì)雙口RAM 的操作過程如下:

  ( 1) SCE214 有寫入數(shù)據(jù)時(shí),將數(shù)據(jù)寫入1# 區(qū),有效數(shù)據(jù)起始地址寫入$ 07FE、$ 07FD 存儲(chǔ)單元中( 按小端格式存放) ,有效數(shù)據(jù)地址最大偏移量寫入$ 07FC、$ 07FB,并將$ 07FF 的Bit0 置為1;( 2) S3C4510B 讀雙口RAM 時(shí),先判斷$ 07FF 的Bit0 是否為1,若為1,從$ 07FE、$ 07FD 存儲(chǔ)單元中取出有效數(shù)據(jù)起始地址,從$ 07FC、$ 07FB 存儲(chǔ)單元中取出有效數(shù)據(jù)地址最大偏移量,根據(jù)有效數(shù)據(jù)起始地址和最大偏移量,讀出雙口RAM 中的數(shù)據(jù),并將$ 07FF 的Bit0 置為0;( 3) S3C4510B 讀雙口RAM 時(shí),若判斷出$ 07FF的Bit0 為0,則S3C4510B 認(rèn)為SCE214 無數(shù)據(jù)發(fā)送來。這時(shí)S3C4510B 若有數(shù)據(jù)需要寫入雙口RAM,則將數(shù)據(jù)寫入2# 區(qū),有效數(shù)據(jù)起始地址寫入$ 07FA、$ 07F9存儲(chǔ)單元中( 按小端格式存放) ,有效數(shù)據(jù)地址最大偏移量寫入$ 07F8、$ 07F7,并將$ 07FF 的Bit3 置為1;( 4) SCE214 輪循到讀雙口RAM 操作時(shí),先判斷$ 07FF 的Bit3 是否為1,若為1,從$ 07FA、$ 07F9 存儲(chǔ)單元中取出有效數(shù)據(jù)起始地址,從$ 07F8、$ 07F7 存儲(chǔ)單元中取出最后一個(gè)有效數(shù)據(jù)的地址偏移,根據(jù)有效數(shù)據(jù)起始地址和最大偏移量,讀出雙口RAM 中的數(shù)據(jù),并將$ 07FF 的Bit3 置為0;( 5) SCE214 輪循到讀雙口RAM 操作時(shí),若判斷出$ 07FF 的Bit3 為0,SCE214 認(rèn)為S3C4510B 無數(shù)據(jù)發(fā)送來。

  如此重復(fù)( 1) ~ ( 5) 的操作,即可完成SCE214 與S3C4510B 的雙向通信,最大一次可傳送512 B數(shù)據(jù)。

  2 結(jié)論

  雙機(jī)通信在嵌入式系統(tǒng)中應(yīng)用比較廣泛,本文介紹的設(shè)計(jì)方案主要用于速率要求高、成本適中的場(chǎng)合。

  由于本系統(tǒng)采用的是雙處理器結(jié)構(gòu)設(shè)計(jì),給系統(tǒng)的穩(wěn)定性帶來一定的隱患,有待于在以后的研發(fā)中能將雙處理器集成為單片處理器。雙網(wǎng)數(shù)字傳真機(jī)研發(fā)的亮點(diǎn)在網(wǎng)絡(luò)傳真,其網(wǎng)絡(luò)傳真實(shí)現(xiàn)的業(yè)務(wù)不是實(shí)時(shí)傳真,加之因特網(wǎng)本身的時(shí)延較大,有待用戶檢驗(yàn),但其市場(chǎng)前景仍比較樂觀。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。