📄 reg9604.h
字号:
/*--------------------------------------------------------------------------*/
/*----------------------- USBN9604 寄存器定义 ----------------------*/
/*--------------------------------------------------------------------------*/
#define MCNTRL 0x00 /* 主控寄存器 Main control register */
#define CCONF 0x01 /* 时钟配置寄存器 Clk. config. register */
#define RID 0x03 /* 版本号寄存器 Rev. ID register */
#define FAR 0x04 /* 设备地址寄存器 Func address register */
#define NFSR 0x05 /* 设备状态寄存器 Node func st register */
#define MAEV 0x06 /* 主事件寄存器Main event register */
#define MAMSK 0x07 /* 主事件屏蔽寄存器Main mask register */
#define ALTEV 0x08 /* 候补事件寄存器Alt. event register */
#define ALTMSK 0x09 /* 候补事件屏蔽寄存器ALT mask register */
#define TXEV 0x0A /* 发送事件寄存器TX event register */
#define TXMSK 0x0B /* 发送事件屏蔽寄存器TX mask register */
#define RXEV 0x0C /* 接收事件寄存器 RX event register */
#define RXMSK 0x0D /* 接收事件屏蔽寄存器RX mask register */
#define NAKEV 0x0E /* NAK事件寄存器NAK event register */
#define NAKMSK 0x0F /* NAK事件屏蔽寄存器NAK mask register */
#define FWEV 0x10 /* FIFO报警寄存器FIFO warning register */
#define FWMSK 0x11 /* FIFO报警屏蔽寄存器FIFO warning mask */
#define FNH 0x12 /* 帧号寄存器高字节Frame nbr hi register */
#define FNL 0x13 /* 帧号寄存器低字节Frame nbr lo register */
#define DMACNTRL 0x14 /* DMA控制寄存器 DMA control register */
#define EPC0 0x20 /*Endpoint0 控制寄存器 register */
#define TXD0 0x21 /*Endpoint0 发送数据寄存器TX data register 0 */
#define TXS0 0x22 /*Endpoint0 发送状态寄存器TX status register 0 */
#define TXC0 0x23 /*Endpoint0 发送命令寄存器TX command register 0 */
#define RXD0 0x25 /*Endpoint0 接收数据寄存器RX data register 0 */
#define RXS0 0x26 /*Endpoint0 接收状态寄存器RX status register 0 */
#define RXC0 0x27 /*Endpoint0 接收命令寄存器RX command register 0 */
#define EPC1 0x28 /*Endpoint1 控制寄存器 Endpoint1 register */
#define TXD1 0x29 /*Endpoint1 发送数据寄存器TX data register 1 */
#define TXS1 0x2A /*TX status register 1 */
#define TXC1 0x2B /*TX command register 1 */
#define EPC2 0x2C /*Endpoint2 控制寄存器Endpoint2 register */
#define RXD1 0x2D /*Endpoint2 接收数据寄存器RX data register 1 */
#define RXS1 0x2E /*RX status register 1 */
#define RXC1 0x2F /*RX command register 1 */
#define EPC3 0x30 /*Endpoint3控制寄存器 register */
#define TXD2 0x31 /* 发送数据寄存器TX data register 2 */
#define TXS2 0x32 /*TX status register 2 */
#define TXC2 0x33 /*TX command register 2 */
#define EPC4 0x34 /*Endpoint4 控制寄存器 register */
#define RXD2 0x35 /*接收数据寄存器RX data register 2 */
#define RXS2 0x36 /*RX status register 2 */
#define RXC2 0x37 /*RX command register 2 */
#define EPC5 0x38 /*Endpoint5 控制寄存器 register */
#define TXD3 0x39 /*发送数据寄存器TX data register 3 */
#define TXS3 0x3A /*TX status register 3 */
#define TXC3 0x3B /*TX command register 3 */
#define EPC6 0x3C /*Endpoint6 控制寄存器 register */
#define RXD3 0x3D /*接收数据寄存器RX data register 3 */
#define RXS3 0x3E /*RX status register 3 */
#define RXC3 0x3F /*RX command register 3 */
/*--------------------------------------------------------------------*/
/*------------------- 主控制寄存器定义 -------------*/
/*--------------------------------------------------------------------*/
/*-------------------------------- MCNTRL ------------------------*/
#define SRST 0x01 /*software reset */
#define DBG 0x02 /*debug mode */
#define VGE 0x04 /*voltage regulator enable*/
#define NAT 0x08 /*node attached */
#define INT_DIS 0x00 /*interrupts disabled */
#define INT_L_O 0x40 /*act lo ints, open drain */
#define INT_H_P 0x80 /*act hi in ts, push pull */
#define INT_L_P 0xC0 /*act lo ints, push pull */
/*----------时钟配置寄存器定义----------*/
#define CODIS 0x80 /*禁止时钟输出*/
/*--------------------- 设备地址寄存器定义 -------------------------*/
#define AD_EN 0x80 /*地址使能address enable */
/*--------------------------------- 端点EPCX位定义---------------------*/
#define DEF 0x40 /*设置缺省地址force def. adr (0 only) */
#define STALL 0x80 /*发送stall握手包force stall handshakes */
#define ISO 0x20 /*设为等时端点(1~3)set for isochr. (1-3) */
#define EP_EN 0x10 /*使能端点(1~3)enables endpt. (1-3) */
/*--------------------------------- 设备状态位定义 -------------------------*/
#define RST_ST 0x00 /*reset状态 state */
#define RSM_ST 0x01 /*resume状态 state */
#define OPR_ST 0x02 /*operational状态 state */
#define SUS_ST 0x03 /*suspend状态 state */
/*---------------------------- 主事件寄存器定义 -----------------------*/
#define WARN 0x01 /*FIFO报警warning bit has been set*/
#define ALT 0x02 /*候补事件alternate event */
#define TX_EV 0x04 /*传输事件transmit event */
#define FRAME 0x08 /*收到SOF包SOF packet received */
#define NAK 0x10 /*NAK事件 event */
#define ULD 0x20 /*unlock locked detected */
#define RX_EV 0x40 /*receive event */
#define INTR_E 0x80 /*master interrupt enable */
/*----------------------------候补事件寄存器定义---------------------*/
#define EOP 0x00 /*包阶数*/
#define SD3 0x10 /*3ms挂起*/
#define SD5 0x20 /*5ms挂起*/
#define RESET_A 0x40 /*复位事件*/
#define RESUME_A 0x80 /*恢复事件*/
#define ALT_DMA 0x04 /*DMA event*/
/*---------------------------- 发送事件寄存器位定义 -----------------------*/
#define TXFIFO0 0x01 /*TX_DONE, FIFO 0 */
#define TXFIFO1 0x02 /*TX_DONE, FIFO 1 */
#define TXFIFO2 0x04 /*TX_DONE, FIFO 2 */
#define TXFIFO3 0x08 /*TX_DONE, FIFO 3 */
#define TXUDRN0 0x10 /*TX_URUN, FIFO 0 */
#define TXUDRN1 0x20 /*TX_URUN, FIFO 1 */
#define TXUDRN2 0x40 /*TX_URUN, FIFO 2 */
#define TXUDRN3 0x80 /*TX_URUN, FIFO 3 */
/*----------------------------接收事件寄存器位定义-----------------------*/
#define RXFIFO0 0x01 /*RX_DONE, FIFO 0 */
#define RXFIFO1 0x02 /*RX_DONE, FIFO 1 */
#define RXFIFO2 0x04 /*RX_DONE, FIFO 2 */
#define RXFIFO3 0x08 /*RX_DONE, FIFO 3 */
#define RXOVRN0 0x10 /*RX_OVRN, FIFO 0 */
#define RXOVRN1 0x20 /*RX_OVRN, FIFO 1 */
#define RXOVRN2 0x40 /*RX_OVRN, FIFO 2 */
#define RXOVRN3 0x80 /*RX_OVRN, FIFO 3 */
/*-------------------------- NAK寄存器定义 -----------------------*/
#define NAK_I0 0x01 /*IN NAK, FIFO 0 */
#define NAK_I1 0x02 /*IN NAK, FIFO 1 */
#define NAK_I2 0x04 /*IN NAK, FIFO 2 */
#define NAK_I3 0x08 /*IN NAK, FIFO 3 */
#define NAK_O0 0x10 /*OUT NAK, FIFO 0 */
#define NAK_O1 0x20 /*OUT NAK, FIFO 1 */
#define NAK_O2 0x40 /*OUT NAK, FIFO 2 */
#define NAK_O3 0x80 /*OUT NAK, FIFO 3 */
/*------------------------------- 发送命令寄存器位定义---------------------------*/
#define TX_EN 0x01 /*使能传输transmit enable */
#define TX_LAST 0x02 /*一个完整的数据包已写入FIFO*/
#define TX_TOGL 0x04 /*DATA0/1交替 specifies PID used */
#define FLUSH 0x08 /*清空FIFO flushes all FIFO data */
/*------------------------------- 发送状态寄存器位定义 ---------------------------*/
#define TX_DONE 0x20 /*传输阶数transmit done */
#define ACK_STAT 0x40 /*ACK握手包到达ack status of xmission */
/*-------------------------------接收命令寄存器定义---------------------------*/
#define RX_EN 0x01 /*使能接收receive enable */
#define IGN_OUT 0x02 /*忽略OUT标记包ignore out tokens */
#define IGN_SETUP 0x04 /*忽略SETUP标记包ignore setup tokens */
/*------------------------------- 接收状态寄存器位定义 ---------------------------*/
#define RX_LAST 0x10 /*完成一个ACK数据包接收indicates RCOUNT valid */
#define RX_TOGL 0x20 /*成功的接收DATA0/1数据包last pkt was DATA1 PID */
#define SETUP_R 0x40 /*收到setup包 setup packet received */
#define RX_ERR 0x80 /*接收包中有错 last packet had an error*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -