微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于Z85C30的多协议串行通信设计

基于Z85C30的多协议串行通信设计

时间:03-17 来源:互联网 点击:
2 Z85C30与CPU的接口

以下介绍以8051作CPU与Z85C30的接口电路,如图3所示。



Z85C30的时钟选用7.0728MHz。54LS373用来锁存片选信号和Z85C30的地址(用来区分命令、数据寄存器)。因为 Z85C30的写时序在数据有效后,才应出现WR的下降沿;在数据无效之前,应出现WR上升沿。用1片D触发器54LS74和2个反相器件来延迟送到 Z85C30的WR。由于电路设计为TTL电路,在实际的应用,还需加入TTL-RS232转换电路芯片。

3 软件设计

3.1 Z85Z30的I/O操作

X85C30有三种基本的I/O操作形式:查询、中断、块操作。这三种I/O操作在初始化和数据传送时涉及到寄存器操作。

查询方式依靠软件查询串行控制器,从而决定什么时候数据应从串行控制器输入或输出。在此模式中,主中断使能位和WAIT/DMA请求位都应编程为0,从而清除任何中断或DMA请求。查询是通过对RR0的状态检测进行的。在此模式中,中断功能失效。在转入数据处理前,必须对RR0读分析,以决定进入怎样的例程。

中断方式中,串行控制器的每一个通道包括三个中断源:接收器中断、发送器中断和外部/状态中断。

块操作方式可将W/REQ输出与WR1中的就绪/请求位配合。通过编程,W/REQ输出在块操作方式中能被定义为WAIT信号,在DMA方式中可作为REQ信号。

3.2 软件的编写

不同的应用场合,对Z85C30的初始化流程不同,这就需要对Z85C30的写寄存器赋予相应的初值。

在SCC初始化完成后,即可进行通信。传送缓冲区和接收缓冲区全部为空。软件把第1个传送字符写到传送缓冲器,中断才会产生。第1个传送字符到了SCC的移位寄存器,传送中断产生。然后,SCC继续判断中断,直到报文结束。报文结束时,应执行复位发送中断赋值命令,用来禁止发送请求中断。SCC检测到最后一个字符,中断将停止,直到另外的报文写到传送缓冲器。

寄存器RR2用来说明中断矢量和状态,它从B信道读取。RR3是中断赋值寄存器,用来指示中断的类型,它从A信道读取。看网络补充版(www.dpj.com.cn)中列出了Z85C30的中断流程。

外部/状态中断源包括:断点/异常中断、发送欠载/报文结束中断、CTS中断、同步/搜索中断、DCD中断、零计数中断。它由WR1和WR15 设置,只有WR1中外部/状态中断允许位置和WR15中的相应控制位置位后,外部/状态条件才会产生中断。

结语

采用该设计方案,能够满足不同通信格式的要求,软件编程可根据实际情况选用查询方式、中断方式、DMA传送方式,如需要可以加MODEM控制方式。由于Z85C30功能强大,在许多嵌入式系统、网络设计方面,选用Z85C30作为通信控制器进行开发,完全能够实现其预期的功能。

参考文献

   1. Zilog Inc Z85C30 USER MANUAL 1998
   2. 徐惠民.安德宁 单片微型计算机原理接口应用 1999

作 者:中国兵器工业集团 任续渊  
来 源:单片机与嵌入式系统应用2003(10)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top