基于双机通信的研究

时间:2022-05-28 11:07:07

基于双机通信的研究

摘 要:研究了在因特网日渐普及而商务活动中又难以摒弃传真的情况下,在普通传真机上实现因特网络传真和普通电话网传真两种功能的新型传真机――双网数字传真机。讨论了网络传真协议栈,并根据双网数字传真机的总体设计方案,完成了其软硬件模块设计,实现了其双机通信模块的软硬件,并在仿真环境下完成了调测试。

关键词:传真通信; 电话网; 因特网; 协议

中图分类号: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.

上一篇:基于TMS320F2812物探GPS接收机设计与实现 下一篇:开关磁通永磁同步电机的结构参数研究