文 摘 利用高性能单片机 Intel 8344 组成的高速多机通信系统,应用于变电站微机综合自动化系统数据传输链路,可实现高达 375 kb/s 的串行同步通信,以满足现场数据采集及处理实时性的需要。文章介绍了系统硬件组成和软件编程。 关键词 单片机 同步 高速 多机通信
在变电站微机综合自动化系统中,大量的现场实时数据需要及时、迅速地通过数据链路在主控计算机与保护装置之间传输。常用的串行口异步通信方式往往不能胜任。为了提高信息的交换速率、信息处理的实时性,文章设计的采用Intel 8344 单片机构成的同步多机通信系统,通信速率高达 375 kb/s,可以满足现场的实际需要。
1 系统硬件组成 Intel 8344 是在 8051 单片机基础上发展起来的高性能单片机,以8051 为核心,采用了一个智能和高性能的串行接口部件(SIU)取代了 8051 的串行口。这一智能型的 SIU 可以在无需或很少需要 CPU 介入的情况下,实现高速串行通信。并且支持 HDLC/SDLC 通信协议。在采用外部同步通信方式时,数据传输速率可高达 2.4 Mb/s;在采用自同步方式时,数据传输速率可达 375 kb/s。 Intel 8344 内部采用双控制器结构,利用 8051 内核实现控制任务,利用 SIU 实现高速通信。二者用共享的内部双口 RAM 来交换信息。其电路结构如图1所示。
图1 8344内部双控制器结构
Intel 8344 是双列直插40脚芯片,其引脚功能几乎与8051相同,只是个别引脚功能稍有差别。例如:P1.6 脚定义为 RTS,即请求发送输出线;P1.7 脚定义为 CTS ,即允许发送输入线;P3.0(I/O RXD)脚在多点通信中用来控制 P3.1(TXD)引脚的数据传输方向,I/O=1时,P3.1被置为数据输入端,I/O=0时,P3.1 置为数据输出端,而在环状网络结构中,此脚即作为接收数据输入端; DATA TXD(P3.1)脚在点对点或多点通信中,用作输入或输出脚,其方向由 P3.0 脚控制,而在环状网络结构中,用作发送脚。此外,向该脚写“0”,使 8344 进入测试方式;SCLK T1(P3.5)脚除了用作I/O 口线外,还可以用作定时器1的外部计数脉冲输入端(T1)及串行时钟外部输入端(SCLK)。8344的引脚排列图如图2所示。
图2 8344 的引脚排列图
采用 8344 为核心设计的通信接口板如图3所示。图4是多机通信系统构成示意图。本文只给主站方框图,从站方框图略。
图3 8344 组成的通信接口板原理方框图
图4 多机通信系统构成图
如图3所示,主站电路由 8344、32 k程序存储器27256 、8 k 随机存储器6264、双口 RAM IDT-7134 等元件组成。其中双口 RAM 用于 8344 与 PC机间的数据交换。通信接口采用 RS 485 协议,并由高速光耦 6N 137 进行隔离,电源用电源隔离模块,通信用 50Ω 同轴电缆。 DS-1232 是看门狗集成电路,用来防止系统死机。
2 软件编程 8344 的片内 RAM 与 8051 略有不同,它包含 192字节的片内 RAM 与34个专用寄存器,是 SIU 的专用寄存器,它们是:串行方式寄存器 SMD;状态命令寄存器 STS;发送/接收计数器 NSNR;站地址寄存器 STAD ;发送控制字节TCB; 接收缓冲区起始地址寄存器 RBS;接收缓冲区长度寄存器RBL;接收段长度寄存器 RFL;接收控制字节 RCB;发送缓冲区起始地址寄存器 TBS;发送缓冲区长度寄存器 TBL;DMA 计数寄存器 DMACNT;先入先出寄存器 FIFO (3字节);SIU 状态计数器 SIUST。编程时,首先要对 SIU 的这些专用寄存器进行初始化。 8344 的 SIU 初始化程序如下: MOV SP,#170 ;设置堆栈指针 MOV IP,#00;设所有中断为同一优先级 MOV SMD,#54 H;定时器1溢出,MRZ I编码,帧前同步 MOV TCON,#44 H;边缘触发外部中段1,电平触发外部中段0 ;定时器1接通 MOV TH1,#0ECH;定时器初始化,传输速率为 3 125 bit/s MOV TMOD,#20H;定时器1自动重装载方式 MOV TBS,#106;发送缓冲区首址 MOV TBL,#64;发送缓冲区长度 MOV RBS,#42;接收缓冲区首址 MOV RBL,#64;接收缓冲区长度 MOV STAD,#55 H;站地址 MOV TCB,#00010001B;RR,P/F=1 SETB RBE;准备发送 MOV IE,#10010100B;开中断 SIU 的操作方式分为自动方式和非自动方式两种。在自动方式下,SIU 支持 SDLC 协议中的正常响应方式,此时 SIU 能自动识别和响应某些种类的SDLC 帧,而无需 CPU 的干预。在自动方式下,当8344 发送缓冲区装满待发送的信息时,若数据链路可供使用时,则不需要 CPU 的干预, SIU 发完该帧后,就等待接收站的应答,如果应答是否定的,SIU 重发这一帧,如果应答是肯定的,SIU 就中断 CPU,表示发送缓冲区可以重新装入新的信息。在接收数据时,SIU 收到某帧信息后,先核对地址,若地址符合,则进一步检查控制字节。根据发送站的控制命令采取相应的操作,若是信息帧,SIU 把接收到的信息装入接收缓冲区后就中断 CPU,把缓冲区的内容读走,并对发送站作出应有的回答。自动方式接收流程图如图5所示。自动方式发送流程图如图6所示。
图5 自动方式接收流程图
图6 自动方式发送流程图
在非自动方式下,所有的发送和接收过程都是在 CPU 的控制下进行的,这时 SDLC 和HDLC 的全部协议均可以实现。
本文所述主站电路制成 PC卡,插在微机62线扩展槽上,从站电路板通过24 芯电缆与数据采集板连接,主站与从站通过50Ω 同轴电缆连接。经实际运行,取得了较好的效果。
|