利用PSD834F2中的PLD实现串行通信扩展的设计
介绍以单片机80C196KC为处理器的多功能无功补偿仪。本控制仪由80C196KC与PSD834F2组成最小系统,并配有两种异步串行通信接口:RS-23 2C和RS-485。文中详细阐述了硬件威廉希尔官方网站
、软件和通信协议。
关键词:单片机;串口通信;PSD;无功补偿?
Design of Realizing the Extending of Serial Communicatio n
by Applying PLD of PSD834F2
WANG Linan1, WANG Jianhua1, CAI Zonghu1, TIAN Xiaolin2
(1.School of Electrical Engineering, Xi’an Jiaotong University,
Xi’ an 710049, China;?
2.Xidian University, Xi’an 710071, China)?
Key words: single chip computer; serial communication; PSD; reactive compensation
1单片机的外围接口芯片PSD8XX简介
PSD8XX系列产品是为8位机定制的可编程接口芯片,它可以代替传统单片机系统中的地址锁存器、地址译码器、程序存储器和数据存储器等,并扩展了27个双向I/O口,每个端口可独立配置。PSD8XX中的PLD具有16个输出宏单元和24个输入宏单元,可有效地用于实现多种逻辑功能,包括用于内部和外部控制的状态集合地址译码器,还可以提供三种专用的外部芯片输出。PSD8XX中强大的页存储器功能使微控制器的地址空间扩展256倍,内置的JTAG从属串口允许在现场对空白器件的编程或器件的重新编程。
为了方便使用该系列器件,Waferscale公司提供了PSDsoft Express软件,只需对环境和要求进行选择就可完成对PSD的设计和编程工作,最后通过JTAG口把由PSDsoft生成的固件下载到器件即可。?
2.1硬件设计
该控制仪同时配有RS-232和RS-485串口,而80C196KC只有一个串口,所以必须进行扩展。PSD834F2中有两种PLD(DPLD和GPLD)。DPLD称为译码PLD,为内部和外部部件执行地址译码功能,如存储器、寄存器和I/O口的片选;GPLD称为复合PLD,用于实现系统逻辑,如可装载计数器、变换寄存器和状态器等,这些功能由16个输出宏单元(OMC)、24个输入宏单元(IMC)和与(AND)阵列配置完成。
为了实现扩展功能,应用GPLD做一个类似于复合开关的逻辑,工作原理如下:通常状态下,逻辑部件监测两个串口的状态,监测到哪个串口有数据发过来(通信线的逻辑电平由1变0),逻辑就将那个串口的收发线与单片机的收发线接通,从而完成单片机与上位机之间的通信。等完成数据的一次接受和发送后,逻辑部件又恢复到初试状态,继续进行监测,以便进行下一次的通信。系统的硬件设计如图1。?
RS-485通信部分采用MAX485芯片,该芯片工作于单工方式,用PSD834F2芯片的PC2引脚来控制MAX485处于接受状态还是发送状态。
逻辑部件的实现采用ABLE语言编写,经编译后可通过电缆下载到PSD834F2中。实现串口扩展逻辑的硬件代码如例程1。
以上前半部分为引脚定义,A、B为中间节点;后半部分是描述逻辑功能的代码。
2.2软件设计
为了保证系统正常工作,需要对80C196KC的串行口中断和PSD834F2正确初始化。该控制仪在通信中总处于被动地位,即只有接受到上位机的命令后,才向上位机发送数据。所以在初始化和平时运行期间可以使MAX485一直处于接受状态,待接受到数据时,若程序判断是RS485通信,则把PC2置“1”,即让MAX?485处于发送状态,通信完毕后重置接受状态。由于MAX-232E芯片工作于全双工方式下,不需要用引脚去控制它的工作方式。
80C196KC的外置晶振为16M,其初始化程序如例程2。
?
PSD834F2内部包含一组寄存器,通过配置这组寄存器可使PSD工作于不同的方式,本系统为寄存器组分配的地址为0xf000~0xf0ff,初始化程序如例程3。?
?
80C196KC与上位机通信的处理程序如例程4。
以上例程对RS232与RS485通用。具体应用时,在第一个省略号的括号内还要加入代码,以便实现一定功能。这些功能主要包括:判断数据接受是否完毕;在数据接受完毕的情况下,根据协议判断通讯的端口(RS232或RS485),并置响应端口标志;若RS485端口标志有效,把PC2置“1”,以便数据向上位机发送。同样,在第二个省略号的括号内也要加入一定功能,如判断数据发送是否完毕;若数据发送完毕且RS485端口标志有效,把PC置“0”等等。?
通信协议信息格式采用FT1.2,即通信方式为异步,8位数据位,1位起始位,1位停止位,偶校验,波特率默认为9600bps。每两帧之间最小间隔20ms。数据传输报文的基本帧格式(链路层定义)如下所示。
工业现场中,总站与多个无功补偿仪构成一个分布式控制系统,无功补偿仪在低端完成数据 的采集、计算和存储以及对无功进行补偿,并按要求向总站发送数据以供综合分析。
本文所讨论的设计方法,能很好的满足多功能无功补偿控制仪与上位机进行远距离实时通信 的要求,能利用串口完成对系统进行数据调试、系统参数设定等任务。由单片机80C196KC和 PSD834F2组成最小系统,并且利用PSD内部的PLD实现串口的扩展,不仅可靠性好,还大大降 低了系统的硬件的复杂性。?