基于双机通信的研究
0 引言
传真通信不仅能传送图像/ 图形信息,而且可以保留其具体的形式,因此,真迹传送是传真通信又一主要特点,也是最具魅力的特点。随着因特网的发展,收发电子邮件已经成为大部分公司与个人或其他公司进行通信联系的主要方式。在公司内部,相比使用电话进行通信,人们更愿意使用电子邮件,电子邮件已经成为大多数人的第二种主要通信手段。相比传统传真,电子邮件有一个显着的优点: 成本很低。基于这种原因,人们自然会联想到通过因特网发送传真,这就是网络传真。
双网数字传真机与普通传真机的最大区别是增加了网络传输接口,具有普通电话网和因特网两种传输模式,增强了传真机的功能,扩展其适用范围,提高了传输效率和传输可靠性,保证良好的图像质量,并大幅度地降低了传真所带来的长途通信费用。
双网数字传真机是一个双处理器结构( 主处理器是SCE214,从处理器是A RM S3C4510B) 的嵌入式系统,要实现网络传真功能首先必须实现系统内的双机通信,即主处理器与从处理器的信息交换。
1 双机通信的硬件实现
采用IDT 公司的2K ×8 b 的高速双口RAMIDT7132 来实现双机通信。双口RAM 是常见的共享式多端口存储器,如图1 所示,双口RAM 最大的特点是存储数据共享,一个存储器配备两套独立的地址、数据和控制线,允许两个独立的CPU 或控制器同时异步地访问存储单元。既然数据共享,就必须存在访问仲裁控制。内部仲裁逻辑控制提供以下功能: 对同一地址单元访问的时序控制; 存储单元数据块的访问权限分配;信令交换逻辑( 例如中断信号) 等。
图1 双口RAM 的功能框图。
它允许两个( 左、右) 端口同时读写数据,每个端口具有自己独立的控制信号线、地址线和数据线; 允许数据高速存取,最快存取时间为20 ns; 功耗低,工作在省电模式时,功耗为5 mW; 其数据保存电压为2 V,便于用电池完成数据的掉电保护。IDT 7132 可以作为8 位双口RAM 单独使用,也可以与IDT7142 组成主从式系统,将数据线扩展到16 位,甚至更宽。IDT7132 支持从其两个端El 对器件的任何存储空间进行完全异步的读/ 写操作。通过的控制,IDT7132 自动工作在省电模式下,而且还可以通过接电池达到数据保护的目的。
IDT7132 工作情况如下: 当左右端口不对同一地址单元存取时,,可正常存储,其中: H 表示高电平,L 表示低电平。当左右端口对同一地址单元存取时,有一端口的= L,禁止数据的存取。此时,两个端口中,哪个存取请求信号出现在前,则其对应的= H,允许存取; 哪个存取请求信号出现在后,则其对应的= L,禁止其写入数据。需要注意的是,两端口间的存取请求信号出现时间要相差在5 ns 以上,否则仲裁逻辑无法判定哪一个端口的存取请求信号在前; 在无法判定哪个端口先出现存取请求信号时,控制线只有一个为低电平,不会同时为低电平。这样,就能保证一个对应于=H 的端口能进行正常存取,对应于= L 的端口不存取,避免双端口存取出现错误。非竞争真值表见表1,竞争真值表见表2。
表1 IDT7132 非竞争真值表。
表2 IDT7132 竞争真值表。
图2 是IDT7132 在本系统中的连接框图。IDT7132 的写入时序图和读出时序如图3,图4 所示。
在写入时序图中,由脉冲上升沿控制写入操作,在读出时序图中,由脉冲上升沿控制读出操作。
图2双口RAM 芯片IDT7132 连接框图。
图3 IDT7132 写入时序图。
图4 IDT7132 读出时序图。
SCE214 和ARM 处理器间数据交换的软件实现是采用轮询方式分别读/ 写双口RAM。它们的读/ 写操作过程基本相同,工作流程如图5 所示。
图5 主、从处理器读/ 写双口RAM 流程图。
SCE214 处理器采用汇编语言实现对双口RAM 的读/ 写; ARM( S3C4510B) 处理器采用C+ + 语言编程,并基于嵌入式操作系统VxWorks 实现对双口RAM 的读/ 写。
当SCE214 与S3C4510B 同时向同一存储单元( # 07FF) 写入数据时,如果对侧地址信号的稳态先于本侧的时,本侧信号输出 L.,表示禁止本侧处理器写入,本侧写入脉冲中加入等待周期; 若对侧地址信号的稳态晚于本侧时,本侧信号输出" H".,表示本侧处理器可以执行写入操作;不能同时为" L".。
图6 是双口RAM IDT7132 存储器映射图,IDT7132 空间大小为2 KB,存储空间划分为两部分: 控制区和数据区。数据区分又分为两部分: 1# 区和2#区,其空间均为512 B,1# 区用于实现SCE214 写入数据和S3C4510B 读出数据,2# 区用于实现SCE214 读出数据和S3C4510B 写入数据。控制区包含读/ 写标志、1 # 数据区起始地址及有效数据最大地址偏移、2#数据区起始地址及有效数据最大地址偏移。
图6 双口RAM IDT71
- 51单片机 双机通信(汇编)(11-18)
- AT89C51双机通信C程序(11-11)
- 双机通信(C语言、主机和从机共用程序)(11-06)
- 单片机双机通信(C51程序)(10-31)
- 单片机串口编程问题(06-26)
- 基于8051单片机的双机通信设计(09-20)