飞思卡尔8位单片机MC9S0814程序USB寄存器.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卡尔 单片机 MC9S0814 程序 USB 寄存器
- 资源描述:
-
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 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,定义如下:数据位 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标志位必须清零;在 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 中断请求。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 TXD0F 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 TXD2F 位:端点 2 输出标志位。当存放在端点 2 输出缓冲区中的数据被送出,并且接收到一个从主机发送的 ACK 握手包,该位被置 1。一旦下一组数据已经准备好在输出缓冲区中,软件必须向 TXD2FR 位写“1”才能将该位清零。为了能让下一个数据包输送出去,TX2E 也必须被置 1。如果没有被清零 TXD2F 位,下一个 IN 事务将返回一个 NAK握手包。TXD2F=1,端点 2 上的传输发生过了;TXD2F=0,端点 2 上的传输还没发生。D4 RXD2F 位:端点 2 数据接收标志位。当 USB 模块接收到了一个数据包,并返回一个 ACK 握手包后,该位被置 1。一旦读完所有接收到的数据,软件必须要通过写“1”到 RXD2FR 位,将该位清零。为了能接收到下一个数据包,RX2E 也必须置 1。如果该位没有被清零,在下一个 OUT 事务中将被返回一个 NAK 握手包。RXD2F=1,端点 2 上的接收数据发生了;RXD2F=0,端点 2 上的接收数据还没有发生。D3 TXD1F 位:端点 1 输出标志位。当存放在端点 1 输出缓冲区中的数据被送出,并且一个从主机发送的 ACK 握手包被接收到,该位被置 1。一旦下一组数据已经准备好在输出缓冲区中,软件必须要通过写“1”到 TXD1FR 位,将该位清零。为了能让下一个数据包输送出去,TX1E 也必须被置位。如果 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 握手包被接收到,该位被置 1。一旦下一组数据已经准备好在输出缓冲区中,软件必须要通过写“1”到 TXD0FR 位,将该位清零。为了能让下一个数据包输送出去,TX0E 也必须被置 1。如果 TXD0F 位没有被清零,在下一个 IN 事务中将被返回一个 NAK 握手包。TXD0F=1,端点 0 上的传输发生过了;TXD0F=0,端点 0 上的传输还没发生。D0 RXD0F 位:端点 0 数据接收标志位。当 USB 模块接收到了一个数据包,并返回一个 ACK 握手包后,该位被置 1。一旦读完所有的接收到的数据,软件必须要通过写“1”到 RXD0FR 位,将该位清零。为了能接收到下一个数据包,RX0E 也必须置 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”到该位不产生任何影响。复位将清该位。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”到该位将清 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 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设备将对端点 0 的任何一个 OUT 事务返回一个 NAK 握手包,但是对 SETUP 事务将不作反应。复位将清除该位。RX0E=1,表示可以接收数据,RX0E0,表示不可以接收数据,以NAK 包作为回应。D3D0 TP0SIZ3TP0SIZ0 位:端点 0 输出数据包大小。这些位为可读可写位,这几位存储的是端点 0 下一个 IN 事务发送数据的个数。复位将清除这几位。6)USB 控制寄存器 1(UCR1)UCR1 的地址为$003C,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义 T1SEQ STALL1 TX1E FRESUM TP1SIZ3 TP1SIZ2 TP1SIZ1 TP1SIZ0 复位 0 0 0 0 0 0 0 0 D7 T1SEQ 位:端点 1 输出序列位。该位为可读可写位,它决定端点 1 的下一个 IN事务发何种类型的数据包(DATA0 或者 DATA1)。T1SEQ1,表示端点 1 下一个发送的是DATA1 包,T1SEQ=0,表示端点 1 下一个发送的是 DATA0 包。复位将清除该位。D6 STALL1 位:端点 1 强制发 STALL 位。该位为可读可写位,当 USB 主控制器发送一个 IN 事务或 OUT 事务时,该位将使端点 1 发送一个 STALL 握手包。复位将清除该位。STALL11,表示发送 STALL 握手包。STALL=0,默认状态。D5 TX1E 位:端点 1 输出允许位。该位为可读可写位,如果 UCR3 寄存器中的ENABLE1 位(端点 1 使能位)被置 1,当 USB 主控制器向端点 1 发送一个 IN 事务时,该位可以允许发送。当数据准备好发送后,软件应该将该位置“1”,当端点 1 没有数据被发送时,该位必须被清“0”。如果该位是“0”,或者 TXD1F 位为“1”,USB 设备将对端点 1 的任何一个 IN 事务返回一个 NAK 握手包。复位将清除该位。TX1E=1,表示数据准备好,可以发送,TX1E0,表示数据没准备好,以 NAK 包作为回应。D4 FRESUM 位:强制唤醒位。D3D0 TP1SIZ3TP1SIZ0 位:端点 1 输出数据包大小。这些位为可读可写位,这几位存储的是端点 1 下一个 IN 事务发送数据的个数。复位将清除这几位。7)USB 控制寄存器 2(UCR2)UCR2 的地址为$0019,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义 T2SEQ STALL2 TX2E RX2E TP2SIZ3 TP2SIZ2 TP2SIZ1 TP2SIZ0 复位 0 0 0 0 0 0 0 0 D7 T2SEQ 位:端点 2 输出序列位。该位为可读可写位,它决定端点 2 的下一个 IN事务发何种类型的数据包(DATA0 或者 DATA1)。T2SEQ1,表示端点 2 下一个发送的是DATA1 包,T2SEQ=0,表示端点 2 下一个发送的是 DATA0 包。复位将清除该位。D6 STALL2 位:端点 2 强制发 STALL 位。该位为可读可写位,当 USB 主控制器发送一个 IN 事务或 OUT 事务时,该位将使端点 2 发送一个 STALL 握手包。复位将清除该位。STALL11,表示发送 STALL 握手包。STALL=0,默认状态。D5 TX2E 位:端点 2 输出允许位。该位为可读可写位,如果 UCR3 寄存器中的ENABLE2 位(端点 2 使能位)被置位,当 USB 主控制器向端点 2 发送一个 IN 事务时,该位可以允许发送。当数据准备好发送后,软件应该将该位置“1”,当端点 2 没有数据被发送时,该位必须被清“0”。如果该位是“0”,或者 TXD2F 位为“1”,USB 设备将对端点 2 的任何一个 IN 事务返回一个 NAK 握手包。复位将清除该位。TX2E=1,表示数据准备好,可以发送,TX2E0,表示数据没准备好,以 NAK 包作为回应。D4 RX2E 位:端点 2 接收允许位。端点 2 接收允许位。该位为可读可写位,当 USB主控制器向端点 2 发送一个 OUT 事务时,该位可以允许接收。当准备好接收数据后,软件应该将该位置“1”,当没有数据被接收时,该位必须被清“0”。如果该位是“0”,或者 RXD2F位为“1”,USB 设备将对端点 2 的任何一个 OUT 事务返回一个 NAK 握手包。复位将清除该位。RX2E=1,表示可以接收数据,RX2E0,表示不接收数据,以 NAK 包作为回应。D3:0 TP2SIZ3:0位:端点 2 输出数据包大小。这些位为可读可写位,这几位存储的是端点 2 下一个 IN 事务发送数据的个数。复位将清除这几位。8)USB 控制寄存器 3(UCR3)UCR3 的地址为$001A,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义 TX1ST TX1STR OSTALL0 ISTALL0 0 PULLEN ENABLE2 ENABLE1 复位 0 0 0 0 0 0 0 0 D7 TX1ST 位:端点 0 传输起始标志。该位为 1,表示 IN 传输包发生在 SETUP/OUT包之前;为 0,表示 IN 传输包发生在 SETUP/OUT 包之后。该位为只读位。D6 TX1STR 位:写 1 到该位将清除 TX1ST 位,写 0 不产生影响。D5 OSTALL0 位:端点 0 的 OUT 包 STALL 位。该位为 1,表示发送 STALL 握手信号,0 为默认值。D4 ISTALL0 位:端点 0 的 IN 包 STALL 位。该位为 1,表示发送 STALL 握手信号,0 为默认值。D2 PULLEN 位:上拉允许位。该位为 1,表示 D-脚有内部上拉,0 表示 D-脚没接内部上拉。D1 ENABLE2 位:端点 2 允许位。1 为允许,0 为不允许。D0 ENABLE1 位:端点 1 允许位。1 为允许,0 为不允许。9)USB 控制寄存器 4(UCR4)UCR4 的地址为$001B,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义 0 0 0 0 0 FUSBO FDP FDM 复位 0 0 0 0 0 0 0 0 D2 FUSBO 位:该位若为 1,表示使能 USB 输出缓冲;该位若为 0,表示 USB 模块处于默认操作状态。D1 FDP 位:该位若为 1,表示 D+处于输出高电平状态;该位若为 0,表示 D+处于输出低电平状态。D0 FDM 位:该位若为 1,表示 D-处于输出高电平状态;该位若为 0,表示 D-处于输出低电平状态。10)USB 状态寄存器 0(USR0)USR0 的地址为$001A,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义 ROSEQ SETUP 0 0 RP0SIZ3 RP0SIZ2 RP0SIZ1 RP0SIZ0 复位 0 0 0 0 0 0 0 0 D7 R0SEQ 位:端点 0 接收序列位。为 1,表示上一次端点 2 接收的是 DATA1;为0,表示上一次端点 2 接收的是 DATA0。D6 SETUP 位:SETUP 包检测位。为 1,表示上一次端点 0 接收的是一个 SETUP包;为 0,表示上一次端点 0 接收的不是 SETUP 包。D3D0 RP0SIZ3RP0SIZ 0 位:端点 0 接收数据包大小。11)USB 状态寄存器 1(USR1)USR1 的地址为$003E,定义如下:数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义 R2SEQ TXACK TXANK TXSTL RP2SIZ3 RP2SIZ2 RP2SIZ1 RP2SIZ0 复位 0 0 0 0 0 0 0 0 D7 R2SEQ 位:端点 2 接收序列位。为 1,表示上一次端点 2 接收的是 DATA1;为0,表示上一次端点 2 接收的是 DATA0。D6 TXACK 位:ACK 包传输位。为 1,表示上一次端点 0 发送的是一个 ACK 包;为 0,表示上一次端点 0 发送的不是 ACK 包。D5 TXANK 位:NAK 包传输位。为 1,表示上一次端点 0 发送的是一个 NAK 包;为 0,表示上一次端点 0 发送的不是 NAK 包。D4 TXSTL 位:STALL 包传输位。为 1,表示上一次端点 0 发送的是一个 STALL包;为 0,表示上一次端点 0 发送的不是 STALL 包。D3D0 RP2SIZ3RP2SIZ 0 位:端点 2 接收数据包大小。12)USB 端点 0 数据寄存器(UE0D0-UE0D7)UE1D0-UE1D7 的地址是从$0020-$0027。可读可写。13)USB 端点 1 数据寄存器(UE1D0-UE1D7)UE1D0-UE1D7 的地址是从$0028-$002F。只写。14)USB 端点 2 数据寄存器(UE2D0-UE2D7)UE1D0-UE1D7 的地址是从$0030-$0037。可读可写。另外与 USB 程序相关的位还有配置寄存器中的 URSTD 位,该位可以阻止 USB 复位信号向 CPU 产生内部复位,它可以向 CPU 产生一个中断请求,该位为 1 表示 USB 复位信号将向 CPU 产生一个 USB 中断请求,为 0 表示 USB 复位将产生一个芯片复位。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




飞思卡尔8位单片机MC9S0814程序USB寄存器.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/7662854.html