新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机以太网控制芯片W7100A数据手册(三)

单片机以太网控制芯片W7100A数据手册(三)

作者: 时间:2016-11-26 来源:网络 收藏

昨天给大家介绍了有关中断、I/O端口及定时器的部分,今天继续讲解W7100A如何通过异步收发以及看门狗定时器&TCP/IP内核相关内容。

本文引用地址:https://www.eepw.com.cn/article/201611/322035.htm

6.通过异步收发(UART)

W7100A的UART工作在全双工状态,允许同时接受和发送操作。因为W7100A是双数据缓冲区,接收器在第一个字节没有被读取时,仍然可以接收数据。在读操作时,从接受缓冲区SBUF读取数据。另一方面,在发送过程中,SBUF将数据装载到发送缓冲区。UART有4中不同的工作模式,一种是同步模式,3种异步模式。模式2和模式3的一些特殊的特性主要用于多机通信。通过设置SCON寄存器的SM2位可以使用该特性。主处理器首先发送地址字节以确定目标从属机。地址字节与数据字节在第9位进行区分,第9位为1则表示是地址字节,为0则标志数据字节。当SM2=1,数据字节不会使从属机产生中断,而地址字节则将使所有从属机产生中断。选中的从属机将SM2清零,准备接受即将到来的数据。而没有被选中的从属机SM2仍然为1,忽略所有接受的数据。

引脚的功能描述如下:

表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)将自动设置,以指示当前复位的类型。必须由软件手动清零该位。


上一页 1 2 3 下一页

评论


技术专区

关闭