基于Z85C30的多协议串行通信设计
时间:03-17
来源:互联网
点击:
引言
我们在嵌入式系统的开发过程中,经常需要设计串行通信口,用以同其它设备或计算机网络交换数据。针对不同的应用场合及不同的通信格式,在硬件设计方面有许多不同的芯片可供选择,如Intel 8251A、Intel 8274、Intel 82530等。采用ZILOG公司的串行通信控制器Z85C30进行设计,和其它器件相比,具有功能强、速度快、外部逻辑少等优点。
1 串行通信控制器Z85C30介绍
Z85C30是ZILOG公司推出的一种串行通信控制器(SCC)。它具有双通道,适用于8位、16位处理器的系统,能够完成串行到并行、并行到串行的转换。Z85C30能够处理诸如异步格式、面向字节的同步规程(如IBM双同步规程)、面向比特的同步规程(如HDLC、SDLC);能够产生、检查CRC循环冗余检验码。
Z85C30每个通道有14个写寄存器、7个读寄存器。通过对其编程,可将通信控制器配置满足各种格式,如数据长度、停止位的位数、有无奇偶检验等。
1.1 Z850C30主要性能
①同步速率。16MHz时钟下,传输速率达4Mb/s;使用16MHz时钟,传输速率达1Mb/s(FM编码);使用16MHz时钟,传输速率达500Kb/s(NRZI编码)。
②异步性能。每个字符5、6、7或8位;1/2或2位停止位;奇或偶校验;1、16、32、64倍时钟格式;断点产生和测试;奇偶、超载和帧出错测试。
③按字节同步性能。内同步或外同步;1或2个同步字符;自动CRC产生、测试。
④SDLC/HDLC性能。异常中止序列的产生和检测;“0”的自动插入和删除,报文间标志的自动插入,地址段的识别,信息段剩余管理,CRC 产生、测试;具有EOP识别/循不入口和出口的SDLC方式;可选NRZ、NRZI、曼彻斯特或FM编/解码;具有时钟恢复能力的数字锁相环;具有自动回波和局部回送的诊断能力。
另外,Z85C30能在SDLC/HDLC方式下更高效地工作,如果有10×19位SDLC/HDLC帧状态FIFO,14位SDLC /HDLC帧计数器,自动SDLC/HDLC标志发送,自动复位SDLC/HDLC Underrun/EOM标志,自动预置SDLC/HDLC CRC等。
1.2 Z85C30主要引脚简介
Z85C30引脚按功能分为7组:数据地址总线、总线时序和复位、控制引脚、中断控制、串行数据、通道控制引脚和时钟引脚,如图1所示。
Z85C30引脚定义如图2所示。
D7~D0:数据地址总线,用于传送命令和数据。
RD、WR:读、写信号,用于对Z85C30的寄存器操作,低电平有效。
CE:片选信号。
A/B:A、B通道选择,低电平表示选择B通道,高电平选择A通道。
D/C:数据/控制选择,高电平表示与85C30之间传输的是数据,低电平表示与85C30间传输的是命令信号。
INT:中断请求,低电平有效,当SCC需要申请中断时,该信号有效。
INTACK:中断响应,低电平有效。
IEI:中断允许输入。输入,高电平有效。当有多个中断源时,IEI和IEO一起组成中断顺序链优先级排队电路。
IEO:中断允许输出。输出,高电平有效。
PCLK:时钟输入,用来同步内部信号,是标准的TTL电平信号。
TxD、RxD:发送、接收数据,分A、B两个通道。
TRxC、RTxC:通道时钟,它们能被编程为几种不同的操作械。RTxC能提供接收时钟或传送时钟(在输入方式),能提供传输时钟计数器输出(数据锁相器)、晶体振荡器输出、波特率发生器输出和输入时钟输出(它们都是在输出方式)。RTxC能提供接收时钟、传送时钟、波特率发生器时钟、数字锁相环时钟。
1.3 Z85C30的接口时序
RD和WR是总线传输的两个控制信号。CE、D/C、A/B和INTACK用于控制总线传输的类型。总线上传输的地址在有效后,RD和WR才变低。CE、WR和CE、RD锁存地址的时序是一致的。
(1)读周期时序
在RD和CE有效时,A/B和D/C上的地址被锁存。在此周期内CE必须保持低,并且INTACK必须保持高。Z85X30的总线驱动设备只有在RD和CE都有效地才使能。在读操作用D/C为高时,不会影响指针的状态。当D/C为低且在内部操作完成后,指针复位到0。
(2)写周期时序
在CE和WR有效时,A/B、D/C和数据D7~D0同时被锁存。在此周期内CE必须保持低,并且INTACK必须保持高。在写操作且D/C为高时,不会影响指针的状态。当D/C为低且在内部操作完毕后,指针复位到0。
(3)中断响应周期
当INTACK为低时,进入中断响应周期。这个A/B、D/C、CE、WR信号都被忽略。
1.4 Z85X30寄存器访问
访问寄存器有两个步骤,是使用寄存器指针来完成寻址的。为寻址一个指定的寄存器,先通过写入WR0的指针位来指定寄存器。因为Z85X30只有唯一的寄存器设置存在,因此,可以从两个通道中的任意一个将指针写入。当指针写入后,再次的读或写周期(当D/C为低时)将存取刚才指定的寄存器。在读和写周期结束时,指针被复位到0。
对RR8(接收数据缓冲FIFO)的读及对WR8(传送数据缓冲FIFO)的写操作,可以按以上方法进行,也可以在D/C为高时进行存取。当D /C为高时,可以直接对相应的数据寄存器进行存取,并且指针的状态为独立的。这样,允许在一个周期内寻址数据寄存器,并且不影响指针的状态。
我们在嵌入式系统的开发过程中,经常需要设计串行通信口,用以同其它设备或计算机网络交换数据。针对不同的应用场合及不同的通信格式,在硬件设计方面有许多不同的芯片可供选择,如Intel 8251A、Intel 8274、Intel 82530等。采用ZILOG公司的串行通信控制器Z85C30进行设计,和其它器件相比,具有功能强、速度快、外部逻辑少等优点。
1 串行通信控制器Z85C30介绍
Z85C30是ZILOG公司推出的一种串行通信控制器(SCC)。它具有双通道,适用于8位、16位处理器的系统,能够完成串行到并行、并行到串行的转换。Z85C30能够处理诸如异步格式、面向字节的同步规程(如IBM双同步规程)、面向比特的同步规程(如HDLC、SDLC);能够产生、检查CRC循环冗余检验码。
Z85C30每个通道有14个写寄存器、7个读寄存器。通过对其编程,可将通信控制器配置满足各种格式,如数据长度、停止位的位数、有无奇偶检验等。
1.1 Z850C30主要性能
①同步速率。16MHz时钟下,传输速率达4Mb/s;使用16MHz时钟,传输速率达1Mb/s(FM编码);使用16MHz时钟,传输速率达500Kb/s(NRZI编码)。
②异步性能。每个字符5、6、7或8位;1/2或2位停止位;奇或偶校验;1、16、32、64倍时钟格式;断点产生和测试;奇偶、超载和帧出错测试。
③按字节同步性能。内同步或外同步;1或2个同步字符;自动CRC产生、测试。
④SDLC/HDLC性能。异常中止序列的产生和检测;“0”的自动插入和删除,报文间标志的自动插入,地址段的识别,信息段剩余管理,CRC 产生、测试;具有EOP识别/循不入口和出口的SDLC方式;可选NRZ、NRZI、曼彻斯特或FM编/解码;具有时钟恢复能力的数字锁相环;具有自动回波和局部回送的诊断能力。
另外,Z85C30能在SDLC/HDLC方式下更高效地工作,如果有10×19位SDLC/HDLC帧状态FIFO,14位SDLC /HDLC帧计数器,自动SDLC/HDLC标志发送,自动复位SDLC/HDLC Underrun/EOM标志,自动预置SDLC/HDLC CRC等。
1.2 Z85C30主要引脚简介
Z85C30引脚按功能分为7组:数据地址总线、总线时序和复位、控制引脚、中断控制、串行数据、通道控制引脚和时钟引脚,如图1所示。
Z85C30引脚定义如图2所示。
D7~D0:数据地址总线,用于传送命令和数据。
RD、WR:读、写信号,用于对Z85C30的寄存器操作,低电平有效。
CE:片选信号。
A/B:A、B通道选择,低电平表示选择B通道,高电平选择A通道。
D/C:数据/控制选择,高电平表示与85C30之间传输的是数据,低电平表示与85C30间传输的是命令信号。
INT:中断请求,低电平有效,当SCC需要申请中断时,该信号有效。
INTACK:中断响应,低电平有效。
IEI:中断允许输入。输入,高电平有效。当有多个中断源时,IEI和IEO一起组成中断顺序链优先级排队电路。
IEO:中断允许输出。输出,高电平有效。
PCLK:时钟输入,用来同步内部信号,是标准的TTL电平信号。
TxD、RxD:发送、接收数据,分A、B两个通道。
TRxC、RTxC:通道时钟,它们能被编程为几种不同的操作械。RTxC能提供接收时钟或传送时钟(在输入方式),能提供传输时钟计数器输出(数据锁相器)、晶体振荡器输出、波特率发生器输出和输入时钟输出(它们都是在输出方式)。RTxC能提供接收时钟、传送时钟、波特率发生器时钟、数字锁相环时钟。
1.3 Z85C30的接口时序
RD和WR是总线传输的两个控制信号。CE、D/C、A/B和INTACK用于控制总线传输的类型。总线上传输的地址在有效后,RD和WR才变低。CE、WR和CE、RD锁存地址的时序是一致的。
(1)读周期时序
在RD和CE有效时,A/B和D/C上的地址被锁存。在此周期内CE必须保持低,并且INTACK必须保持高。Z85X30的总线驱动设备只有在RD和CE都有效地才使能。在读操作用D/C为高时,不会影响指针的状态。当D/C为低且在内部操作完成后,指针复位到0。
(2)写周期时序
在CE和WR有效时,A/B、D/C和数据D7~D0同时被锁存。在此周期内CE必须保持低,并且INTACK必须保持高。在写操作且D/C为高时,不会影响指针的状态。当D/C为低且在内部操作完毕后,指针复位到0。
(3)中断响应周期
当INTACK为低时,进入中断响应周期。这个A/B、D/C、CE、WR信号都被忽略。
1.4 Z85X30寄存器访问
访问寄存器有两个步骤,是使用寄存器指针来完成寻址的。为寻址一个指定的寄存器,先通过写入WR0的指针位来指定寄存器。因为Z85X30只有唯一的寄存器设置存在,因此,可以从两个通道中的任意一个将指针写入。当指针写入后,再次的读或写周期(当D/C为低时)将存取刚才指定的寄存器。在读和写周期结束时,指针被复位到0。
对RR8(接收数据缓冲FIFO)的读及对WR8(传送数据缓冲FIFO)的写操作,可以按以上方法进行,也可以在D/C为高时进行存取。当D /C为高时,可以直接对相应的数据寄存器进行存取,并且指针的状态为独立的。这样,允许在一个周期内寻址数据寄存器,并且不影响指针的状态。
- 蓝牙无线电调制解调器Siw1701原理与应用(02-19)
- 嵌入式移动数据库的关键技术(03-20)
- 在嵌入式SQL中怎样使用游标(08-12)
- 嵌入式Linux系统软件开发学习思路详细介绍 (08-20)
- 基于AVR单片机的嵌入式“瘦服务器”系统设计思想(03-11)
- 嵌入式系统设计中的存储碎片收集策略(05-04)