单片机以太网控制芯片W7100A数据手册(三)
昨天给大家介绍了有关中断、I/O端口及定时器的部分,今天继续讲解W7100A如何通过异步收发以及看门狗定时器&TCP/IP内核相关内容。
6. 通过异步收发(UART)
引脚的功能描述如下:
表6.1 UART引脚定义
注意:
SM2 – 允许多处理器通信
SM1 – 设置波特率
SM0 – 设置波特率
REN – ‘1’ : 使能串行接收
‘0’ : 禁止串行接收
TB8 – 在模式2和模式3,发送数据的第9位。根据CPU的运行情况启用这一位(奇偶校验,多机通信等)
RB8 – 在模式2和模式3,接收数据的第9位。在模式1,如果SM2=0,RB8是停止位,在模式0,该位没有使用。
UART模式如下表所示:
6.1 中断
与UART中断有关的位如下。中断可以由IE寄存器触发,中断优先级可以由IP寄存器配置。
图6.6 UART配置寄存器
注意:
TI – 发送中断标志,完成一次发送后由硬件自动置”1”,必须由软件清除
RI – 接收中断标志,接收一个串行数据后由硬件自动置”1”,必须由软件清除
所有可以产生中断的位都可以通过软件设置或清除,与硬件产生的效果相同。也即是说,中断可以由软件产生或清除。
表6.4 UART中断
6.2 模式0,同步模式
TXD输出同步时钟,波特率固定位1/12时钟频率(CLK)。传输的8位数据低位在前,通过设置RI=0和REN=1,即可启动接收。
6.3 模式1,8位UART,波特率可变,Timer1或Timer2作为时钟源
RXD引脚作为串行通信的输入端,TXD引脚作为串行通信的输出端。10位传输的数据顺序是:1个起始位(0)、8位数据位(低位在前)、一个停止位(1)。在接收过程中,通过起始位同步传输过程,下一步即可以通过SBUF读取到8位数据,停止位用于触发特殊功能寄存器SCON(0x98)的RB08位,根据Timer1或Timer2的模式可以改变通信波特率。要使用Timer2作为时钟源,需要设置T2CON(0xC8)寄存器的TCLK和RCLK位。
6.4 模式2,9位UART,固定波特率
模式2与模式1相同,但波特率固定为1/32或1/64时钟频率,传输的数据位11位:一个起始位(0),8位数据位(低位在前),一个可编程的第9位和一个停止位(1)。第9位可用于UART数据的其偶检验。在发送过程中,SCON寄存器的TB08位是作为数据的第9位输出的。在接收过程中,接收的第9位将保存在sCON的RB08位。
6.6 波特率设置
表6.5 波特率设置
注意:
波特率计算公式
使用Timer1 – 波特率 = ( 2SMOD/ 32 ) * ( 时钟频率 / 12( 256 – TH1 ) )
使用Timer2 – 波特率 = 时钟频率 / ( 32 * ( 65536 – ( RLDH, RLDL ) ) )
7. 看门狗定时器
7.1 概述
看门狗定时器由系统时钟经过一系列的分频器提供时钟信号,如下图所示。分频器输出是可选择的,它决定了定时器超时的间隔。当看门狗定时器产生超时的时候,相应的中断标志将置位。如果允许的话,对系统复位。当中断允许控制位和中断总开关都开启时,中断标志将触发中断。复位和中断是完全不同的两个功能,根据应用系统的要求,可分别得到响应、或单独得到响应、或忽略之。
7.2 中断
与看门狗中断有关的位如下图所示。中断可以由IE(0xA8)和EIE(0xE8)寄存器打开或关闭。由EIP(0xF8)寄存器设置其优先级。IE中的中断总开关EA可打开(1)或关闭(0)所有中断。
7.3 看门狗定时器复位
看门狗定时器复位的操作如下:一旦设定溢出的时间间隔,系统首先通过RWT重新启动看门狗。然后,通过启动看门狗定时器复位(WDCON.1)位,启动复位模式。在定时器到达用户设定的定时值之前,软件可以置复位看门狗定时器(WDCON.0)位为1。如果在定时器时间溢出发生之前设置RWT,定时器将重新启动;如果在RWT置位之前发生了定时器溢出,看门狗将对CPU复位。软件对RWT设置以后,硬件将自动清除RWT。当产生一次复位,WTRF(看门狗定时的复位标志WDCON.2)将自动设置,以指示当前复位的类型。必须由软件手动清零该位。
评论