飞思卡尔8位单片机mc9s0814程序usb寄存器

上传人:wm****3 文档编号:41822992 上传时间:2018-05-31 格式:DOC 页数:6 大小:71.50KB
返回 下载 相关 举报
飞思卡尔8位单片机mc9s0814程序usb寄存器_第1页
第1页 / 共6页
飞思卡尔8位单片机mc9s0814程序usb寄存器_第2页
第2页 / 共6页
飞思卡尔8位单片机mc9s0814程序usb寄存器_第3页
第3页 / 共6页
飞思卡尔8位单片机mc9s0814程序usb寄存器_第4页
第4页 / 共6页
飞思卡尔8位单片机mc9s0814程序usb寄存器_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《飞思卡尔8位单片机mc9s0814程序usb寄存器》由会员分享,可在线阅读,更多相关《飞思卡尔8位单片机mc9s0814程序usb寄存器(6页珍藏版)》请在金锄头文库上搜索。

1、14.3.5 USB 寄存器USB 寄存器是用来控制和监视 USB 操作的,MC68HC908JB8 中 USB 寄存器有如下几 种:地址寄存器(ADDR) 、控制寄存器 0-4(UCR0-UCR4) 、状态寄存器 0-1(USR0- USR1) 、中断寄存器 0-2(UIR0-UIR2) 、端点 0 数据寄存器 0-7(UE0D0-UE0D7) 、端点 1 数据寄存器 0-7(UE1D0-UE1D7)和端点 2 数据寄存器 0-7(UE2D0-UE2D7) 。下面分别 介绍这些寄存器。1)USB 地址寄存器(UADDR)UADDR 的地址:$0038,定义如下:数据位 D7 D6 D5 D4

2、 D3 D2 D1 D0 定义USBEN UADD6 UADD5 UADD4 UADD3 UADD2 UADD1 UADD0 复位 0 0 0 0 0 0 0 0 D7 USBEN 位:USB 模块允许位。USBEN=1,允许 USB 模块,并且 PTE4 中断不 允许;USBEN=0,不允许 USB 模块,包括 USB 中断、复位以及复位中断都不允许,并且 PTE4/D-和 PTE3/D+用作高电流开漏输入输出口 PTE4 和 PTE3。可读写位。 D6D0 UADD6UADD0:USB 模块的地址。都是可读写位。2)USB 中断寄存器 0(UIR0)UIR0 的地址:$0039,定义如下:

3、数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义EOPIE SUSPND TXD2IE RXD2IE TXD1IE 0 TXD0IE RXD0IE 复位 0 0 0 0 0 0 0 0 D7 EOPIE 位:EOP 检测中断允许位。可读写位,EOPIE=1,如果 EOP 被检测到, 能产生一个 CPU 中断请求;EOPIE=0,如果 EOP 被检测到,不能产生一个 CPU 中断请求。D6 SUSPND 位:USB 挂起位。可读写位,如果 USB 总线上连续 3ms 处于闲置状 态,则该位将会被软件置位。置该位可以将收发器处于节能模式。在置该位之前, RESUMF 标志位必须清零;在

4、 RESUMF 置位后,软件必须清掉该位。D5 TXD2IE 位:端点 2 输出中断允许位。可读写位,TXD2IE=1,输出端点 2 能产 生一个 CUP 中断请求;TXD2IE=0,输出端点 2 不能产生一个 CPU 中断请求。D4 RXD2IE 位:端点 2 接收中断允许位。可读写位,RXD2IE=1,输入端点 2 能产 生一个 CUP 中断请求;RXD2IE =0,接收端点 2 不能产生一个 CPU 中断请求。D3 TXD1IE 位:端点 1 输出中断允许位。可读写位,TXD1IE=1,输出端点 1 能产 生一个 CUP 中断请求;TXD1IE=0,输出端点 1 不能产生一个 CPU 中

5、断请求。D1 TXD0IE 位:端点 0 输出中断允许位。可读写位,TXD0IE=1,输出端点 0 能产 生一个 CUP 中断请求;TXD0IE=0,输出端点 0 不能产生一个 CPU 中断请求。D0 RXD0IE 位:端点 0 接收中断允许位。可读写位,RXD0IE=1,输入端点 0 能产 生一个 CUP 中断请求;RXD0IE =0,接收端点 0 不能产生一个 CPU 中断请求。3)USB 中断寄存器 1(UIR1)UIR1 的地址为$003A,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义EOPF RSTF TXD2F RXD2F TXD1F RESUMF TXD

6、0F RXD0F 复位 0 0 0 0 0 0 0 0 该寄存器所有的位均为只读位。D7 EOPF 位:EOP 检测标志位。EOPF=1,EOP 被检测到;EOPF=0,EOP 没有被 检测到。 D6 RSTF 位:USB 复位标志位。在 D+和 D-上,当一个合法的复位信号状态被检测 到,该位被置 1。当配置寄存器(CONFIG)中的 USRTD 位被清零,如果检测到复位,就 产生一个内部复位信号来复位 CPU 以及其他的包括 USB 模块外围设备;当 USRTD 被置 位,如果检测到复位,就产生一个 USB 中断。向 RSTFR 位写“1”该位将被清零。该位还 可以被 POR 清零。D5

7、TXD2F 位:端点 2 输出标志位。当存放在端点 2 输出缓冲区中的数据被送出, 并且接收到一个从主机发送的 ACK 握手包,该位被置 1。一旦下一组数据已经准备好在输 出缓冲区中,软件必须向 TXD2FR 位写“1”才能将该位清零。为了能让下一个数据包输 送出去,TX2E 也必须被置 1。如果没有被清零 TXD2F 位,下一个 IN 事务将返回一个 NAK 握手包。TXD2F=1,端点 2 上的传输发生过了;TXD2F=0,端点 2 上的传输还没发 生。D4 RXD2F 位:端点 2 数据接收标志位。当 USB 模块接收到了一个数据包,并返 回一个 ACK 握手包后,该位被置 1。一旦读完

8、所有接收到的数据,软件必须要通过写“1”到 RXD2FR 位,将该位清零。为了能接收到下一个数据包,RX2E 也必须置 1。如果 该位没有被清零,在下一个 OUT 事务中将被返回一个 NAK 握手包。RXD2F=1,端点 2 上 的接收数据发生了;RXD2F =0,端点 2 上的接收数据还没有发生。D3 TXD1F 位:端点 1 输出标志位。当存放在端点 1 输出缓冲区中的数据被送出, 并且一个从主机发送的 ACK 握手包被接收到,该位被置 1。一旦下一组数据已经准备好在 输出缓冲区中,软件必须要通过写“1”到 TXD1FR 位,将该位清零。为了能让下一个数 据包输送出去,TX1E 也必须被置

9、位。如果 TXD1F 位没有被清零,在下一个 IN 事务中将 被返回一个 NAK 握手包。TXD1F=1,端点 1 上的传输发生过了;TXD1F=0,端点 1 上的 传输还没发生。D2 RESUMF 位:唤醒标志位。当 SUSPND 位置 1,并且 USB 总线被激活,该位被 置 1。软件必须通过写“1”到 RESUMFR 位,将该位清零。复位也将清除该位。写“0” 到该位不产生任何影响。RESUMF=1,USB 总线被激活;RESUMF=0,USB 总线没被激活。D1 TXD0F 位:端点 0 输出标志位。当存放在端点 0 输出缓冲区中的数据被送出, 并且一个从主机发送的 ACK 握手包被接

10、收到,该位被置 1。一旦下一组数据已经准备好在 输出缓冲区中,软件必须要通过写“1”到 TXD0FR 位,将该位清零。为了能让下一个数 据包输送出去,TX0E 也必须被置 1。如果 TXD0F 位没有被清零,在下一个 IN 事务中将 被返回一个 NAK 握手包。TXD0F=1,端点 0 上的传输发生过了;TXD0F=0,端点 0 上的 传输还没发生。D0 RXD0F 位:端点 0 数据接收标志位。当 USB 模块接收到了一个数据包,并返 回一个 ACK 握手包后,该位被置 1。一旦读完所有的接收到的数据,软件必须要通过写“1”到 RXD0FR 位,将该位清零。为了能接收到下一个数据包,RX0E

11、 也必须置 1。如果 该位没有被清零,在下一个 OUT 事务中将被返回一个 NAK 握手包。RXD0F=1,端点 0 上 的接收数据发生了;RXD0F =0,端点 0 上的接收数据还没有发生。4)USB 中断寄存器 2(UIR2)UIR2 的地址为$001B,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义EOPFR RSTFR TXD2FR RXD2FR TXD1FR RESUMFR TXD0FR RXD0FR 复位 0 0 0 0 0 0 0 0 该寄存器所有的位均为只写位。D7 EOPFR 位:EOP 标志位复位。写“1”到该位将清 EOPF 位,写“0”到该位不产

12、生任何影响。复位将清该位。D6 RSTFR 位:清复位指示器位。写“1”到该位将清 RSTF 位,写“0”到该位不 产生任何影响。复位将清该位。D5 TXD2FR 位:端点 2 输出标志位复位。写“1”到该位将清 TXD2F 位,写“0” 到该位不产生任何影响。复位将清该位。D4 RXD2FR 位:端点 2 数据接收标志位复位。写“1”到该位将清 RXD2F 位,写 “0”到该位不产生任何影响。复位将清该位。 D3 TXD1FR 位:端点 1 输出标志位复位。写“1”到该位将清 TXD1F 位,写“0” 到该位不产生任何影响。复位将清该位。D2 RESUMFR 位:唤醒标志位复位。写“1”到该

13、位将清 RESUMF 位,写“0”到 该位不产生任何影响。复位将清该位。D1 TXD0FR 位:端点 0 输出标志位复位。写“1”到该位将清 TXD0F 位,写“0” 到该位不产生任何影响。复位将清该位。D0 RXD0FR 位:端点 0 数据接收标志位复位。写“1”到该位将清 RXD0F 位,写 “0”到该位不产生任何影响。复位将清该位。5)USB 控制寄存器 0(UCR0)UCR0 的地址为$003B,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义T0SEQ 0 TX0E RX0E TP0SIZ3 TP0SIZ2 TP0SIZ1 TP0SIZ0 复位 0 0 0 0

14、0 0 0 0 D7 T0SEQ 位:端点 0 输出序列位。该位为可读可写位,它决定端点 0 的下一个 IN 事务发何种类型的数据包(DATA0 或者 DATA1) 。TOSEQ1,表示端点 0 下一个发送的 是 DATA1 包,TOSEQ=0,表示端点 0 下一个发送的是 DATA0 包。复位将清除该位。D5 TX0E 位:端点 0 输出允许位。该位为可读可写位,当 USB 主控制器向端点 0 发送一个 IN 事务时,该位可以允许发送。当数据准备好发送后,软件应该将该位置“1” , 当端点 0 没有数据被发送时,该位必须被清“0” 。如果该位是“0” ,或者 TXD0F 位为“1” ,USB 设备将对端点 0 的任何一个 IN 事务返回一个 NAK 握手包。复位将清除该位。 TX0E=1,表示数据准备好,可以发送,TX0E0,表示数据没准备好,以 NAK 包作为回应。D4 RX0E 位:端点 0 接收允许位。该位为可读可写位,当 USB 主控制器向端点 0 发送一个 OUT 事务时,该位可以允许接收。当准备好接收数据后,软件应该将该位置“1” ,当没有数据被接收时,该位必须被清“0” 。如果该位是“0” ,或者 RXD0F 位为 “1” ,USB

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号