⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysreg.h

📁 DEC5502_USB程序主要实现了与PC机应用程序之间的USB通讯
💻 H
字号:
/********************************************************************************/
/* SYSREG.H	v1.00																*/
/* 版权(c)	2003-   	北京合众达电子技术有限责任公司							*/
/* 设计者:	段立锋																*/
/********************************************************************************/
#ifndef _SYSREG
#define _SYSREG

#include "type.h"

/* 定义系统控制和状态寄存器 */

#define SYSSTAT1 *(volatile  int *)(0x280003)
#define SYSSTAT0 (*(volatile int *)(0x280002))
#define SYSCNTL2 (*(volatile int *)(0x280001))
#define SYSCNTL1 (*(volatile int *)(0x280000))
#define WDOG     (*(volatile int *)(0x280010))

unsigned int sysreg_read(unsigned long int port);
void SysInt_Enable();
void sysint_disable(unsigned int setdata);

/***********************************************************************/
/* USB 访问空间地址定义															*/
/***********************************************************************/

#define usbfifo2  0x280018
#define usbfifo4  0x280019
#define usbfifo6  0x28001A
#define usbfifo8  0x28001B
#define usbcommand  0x28001C

/************************************************************************/
/* 常量定义																		*/
/************************************************************************/
/* CPU Clock*/
#define CLK80  0x4007
#define CLK160 0x9007

/************************************************************************/
/* 外部寄存器内容及地址                                                          */
/************************************************************************/
  
/*System Control Register 1 */
#define syscntl    0x280000  /*系统设置寄存器在IO空间的地址。只写*/
/*D07	D06	   D05	   D04	  	D03	 		 D02	  D01	       D00
* X	  keyen	   keydir  uartsel  rs232rs485b	 hdplxb	  rs232rs485a  hdplxa
*各控制位说明:
*	keyen:选择VC5502的串口是否连接到ESAM
*				其值为0时:选择'VC5502的片上UART连接到UARTB
*				其值为1时:选择'VC5502的片上UART连接到ESAM卡上。
*	Keydir:选择对ESAM的读或写操作
*				其值为0时:写ESAM卡
*				其值为1时:读ESAM卡。
*   uartsel:选择外扩的UARTB还是'VC5502的片上UART
*				其值为0时:选择'VC5502的片上UART(默认值)
*				其值为1时:选择UARTB。
*	rs232rs485b:设置UARTB工作在RS232方式还是RS485方式;
*					其值为0时:选择RS232方式(默认值)
*				    其值为1时:选择RS485方式。
*	hdplxb     :设置UARTB工作在全双工,还是半双工模式;
*					其值为0时:选择全双工模式(默认值)
*				    其值为1时:选择半双工模式。
*	rs232rs485a:设置UARTA工作在RS232方式还是RS485方式;
*					其值为0时:选择RS232方式(默认值)
*				    其值为1时:选择RS485方式。
*	hdplxa     :设置UARTA工作在全双工,还是半双工模式;
*					其值为0时:选择全双工模式(默认值)
*				    其值为1时:选择半双工模式。
************************************************************************/

/*Watch Dog Register*/
#define wdog  0x280010  /*看门狗刷新寄存器在IO空间的地址。只写*/

/*D07 D06 D05 D04 D03 D02 D01 D00
* X	  X	  X	  X	  X	  X	  X	  X
*		说明:
*			当WCEN为高时,向这个寄存器写入任何值的操作,均刷新看门狗。

*System Status Register*/
#define sysstat0 0x280002  /*系统外设状态寄存器在IO空间的地址。只读*/

/*D07  D06	    D05	      D04	    D03	       D02	   D01	    D00
* X	  USBVBUS	USBFLAGC  USBFLAGB	USBFLAGA   USBRDY  DBSTAT1	DBSTAT0
*各控制位说明:
*			USBFLAGC:USB的FLAGC的状态;
*		    USBFLAGB:USB的FLAGB的状态;
*           USBFLAGA:USB的FLAGA的状态;
*           USBRDY  :  USB的READY的状态;
*           DBSTAT1  :扩展板的STAT1的状态;
*           DBSTAT0  :扩展板的STAT1的状态;
************************************************************************/
	#define USBFLAGC    0x20
	#define USBFLAGB    0x10
	#define USBFLAGA    0x08
	#define USBRDY      0x04
	#define DBSTAT1     0x02
	#define DBSTST0     0x01

/*System interruption Register*/
#define sysstat1   0x280003  /*系统中断状态寄存器在IO空间的地址。只读*/

/*D07  D06	D05	  D04	 D03	 D02	   D01	       D00
* X	   X	 X	USBINT	DBINT2	DBINT1	UARTINTA	UARTINTB
*		各控制位说明:
*			USBINT:USB的中断的状态;
*		    DBINT2:扩展板的中断1的状态;
*			DBINT1:扩搌板的中断2的状态;
*           UARTINTA  :  UART的A路的中断的状态;
*			UARTINTB  :UART的B路的中断的状态;
************************************************************************/
/*System Control Register 2 */
#define syscnt2    0x280001  /*系统设置寄存器在IO空间的地址。只写*/

/*D07	D06	    D05	    D04	  	 D03	  D02	   D01	     D00
* WCEN	CE3SEL  ZBTRAM  USBWAKE  KEY_RST  USRLED   DBCNTL1   DBCNTL0
*各控制位说明:
*		WCEN:看门狗使能位
*				其值为0时:看门狗禁止(默认状态)
*				其值为1时: 看门狗使能。
*		CE3SEL: 确定系的的CE3片选所对应的资源。
*				其值为0时:系统中存在SDRAM(默认值)
*				其值为1时:系统中不存在ZBTRAM。CE3整个空间外扩给用户使用。
*		zbtram:确定系统中是否存在ZBTRAM
*				其值为0时:系统中不存在ZBTRAM(默认值)CE0整个空间外扩给用户使用
*				其值为1时:系统中存在ZBTRAM。
*		USBWAKE: USB唤醒信号
*				其值为0时:不唤醒USB
*				其值为1时: 唤醒USB(默认值)。
*		KEY_RST:  ESAM复位信号
*				其值为0时: 复位状态(默认值)
*				其值为1 时: 脱离复位状态
*		USRLED:  用户指示灯
*				其值为0时: 用户指示灯灭(默认值)
*				其值为1 时: 用户指示灯亮
*		DBCNTL1,0:扩展板控制位
*				其值为0时: 扩展总线的DB_CNTL1,0线为0(默认状态)
*				其值为1时: 扩展总线的DB_CNTL1,0线为0(默认状态)*/
#endif

/***********************************************************************/
/* No 	more																  */
/***********************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -