基于Z85C30的多协议串行通信设计
L电路,在实际的应用,还需加入TTL-RS232转换电路芯片。
3软件设计
3.1Z85Z30的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的写寄存器赋予相应的初值。
图38051与Z85C30的接口电路
在SCC初始化完成后,即可进行通信。传送缓冲区和接收缓冲区全部为空。软件把第1个传送字符写到传送缓冲器,中断才会产生。第1个传送字符到了SCC的移位寄存器,传送中断产生。然后,SCC继续判断中断,直到报文结束。报文结束时,应执行复位发送中断赋值命令,用来禁止发送请求中断。SCC检测到最后一个字符,中断将停止,直到另外的报文写到传送缓冲器。
寄存器RR2用来说明中断矢量和状态,它从B信道读取。RR3是中断赋值寄存器,用来指示中断的类型,它从A信道读取。
外部/状态中断源包括:断点/异常中断、发送欠载/报文结束中断、CTS中断、同步/搜索中断、DCD中断、零计数中断。它由WR1和WR15设置,只有WR1中外部/状态中断允许位置和WR15中的相应控制位置位后,外部/状态条件才会产生中断。
结语
采用该设计方案,能够满足不同通信格式的要求,软件编程可根据实际情况选用查
询方式、中断方式、DMA传送方式,如需要可以加MODEM控制方式。由于Z85C30功能强大,在许多嵌入式系统、网络设计方面,选用Z85C30作为通信控制器进行开发,完全能够实现其预期的功能。
《基于Z85C30的多协议串行通信设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/144866.html
3软件设计
3.1Z85Z30的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的写寄存器赋予相应的初值。
图38051与Z85C30的接口电路
在SCC初始化完成后,即可进行通信。传送缓冲区和接收缓冲区全部为空。软件把第1个传送字符写到传送缓冲器,中断才会产生。第1个传送字符到了SCC的移位寄存器,传送中断产生。然后,SCC继续判断中断,直到报文结束。报文结束时,应执行复位发送中断赋值命令,用来禁止发送请求中断。SCC检测到最后一个字符,中断将停止,直到另外的报文写到传送缓冲器。
寄存器RR2用来说明中断矢量和状态,它从B信道读取。RR3是中断赋值寄存器,用来指示中断的类型,它从A信道读取。
外部/状态中断源包括:断点/异常中断、发送欠载/报文结束中断、CTS中断、同步/搜索中断、DCD中断、零计数中断。它由WR1和WR15设置,只有WR1中外部/状态中断允许位置和WR15中的相应控制位置位后,外部/状态条件才会产生中断。
结语
采用该设计方案,能够满足不同通信格式的要求,软件编程可根据实际情况选用查
询方式、中断方式、DMA传送方式,如需要可以加MODEM控制方式。由于Z85C30功能强大,在许多嵌入式系统、网络设计方面,选用Z85C30作为通信控制器进行开发,完全能够实现其预期的功能。
《基于Z85C30的多协议串行通信设计(第3页)》