|
|
| | -文章搜索 - 最新文章 - | |
基于P89C61x2和ISP1581的USB接口电路的设计与实现 |
| 发布时间:2007年3月15日 点击次数:530 |
| 来源: 作者: |
中北大学仪器科学与动态测试教育部重点实验室 刘吉名 裴东兴 张晋业 本文主要针对传统仪器的并行接口设计了一种基于单片机的接口电路。 主要芯片介绍 本设计采用控制芯片P89C61x2和接口芯片ISP1581实现USB接口电路的设计。 P89C61x2包含1024B RAM、64KB Flash存储器、32个I/O口、3个16位定位/计数器、6个中断源-4个中断优先级-嵌套的中断结构、1个增强型UART、片内振荡器和时钟电路。此外,器件的静态设计使其具有非常宽的频率范围,可选择1MHz~12MHz的晶体振荡器。具有两个软件可选的节电模式-空闲模式和掉电模式。 USB接口芯片ISP1581是一种价格低、功能强的USB接口器件,符合USB2.0规范,并为基于微控制器或微处理器的系统提供了高速USB通信能力;具有7个IN端点,7个OUT端点和1个固定的控制IN/OUT端点;可以通过软件控制与USB总线的连接;内部集成了带PLL的12MHz晶体振荡器;可通过内部上电复位、低电压复位电路和软件复位。 系统硬件设计 系统的连接框图如图1所示。 系统的固件设计 单片机的固件是USB设备运行的核心。主要包括以下几个部分: Kerne1.c:循环扫描USB事件;启动设备和系统的工作; Isr.c:中断服务程序; Chap9.c.包含标准USB命令,用于在设备和主机之间建立一个基本连接; Vendor.c:包含厂商定义命令,处理厂商请求; Init.c:初始化单片机和ISP1581芯片。 初始化程序主要初始化各种状态变量,包括单片机的初始化以及设置ISP1581寄存器。主要包括地址寄存器、模式寄存器、中断配置寄存器,中断使能寄存器以及端点寄存器等。USB设备采用控制传输完成枚举,从而判断出设备的状况。 数据传输过程采用中断方式,单片机通过读取中断寄存器的状态判断中断源,并进入相应的中断处理程序。ISP1581主要有SETUP中断、总线挂起中断以及端点输入/输出中断等,控制端点设置64B的缓冲区,每次只能传输64B,传输的数据量由单片机控制。若传输的字节数大于64B,将先传输64B,然后判断剩下的字节数,同时确定是否为空包或短包。如果没有数据传送到单片机,将发送一个空包表明数据发送完毕。 固件主要完成设备初始化、USB协议标准请求处理以及其它应用程序如数据交换功能。程序采用C51语言编写,使用Keil公司的uVision2编译器进行编译。 固件的主循环流程见图2。 设备驱动程序和应用程序的设计 USB设备驱动程序的开发,可采用Drivel Works和Microsoft公司的2000DDK,并以VC++6.0作为开发环境。为了方便用户开发USB接口,在DP-1581的开发包中提供了一个通用驱动程序,该程序可不加修改,直接使用。在本电路设计中,采用的是开发版自带的驱动程序。 结语 本系统将原有的并口改进为USB接口,支持即插即用和热插拔.经实际试验验证,本系统性能稳定可靠,具有一定的实际应用价值。 |
|
|
|
|
[综合电子] 相关文章: SEP3203处理器的FPGA数据通信接口设计简介: 东南大学 张艳丽 刘新宁 钱文明 SEP3203处理器是由东南大学国家专用集成电路系统工程技术研究中心设计的16/32位RISC微控制器,面向低成本手持设备和其他通用嵌入式设备。该处理器内嵌ARM7TDMI处理器内核,为用户提供了面向移动终端应用的丰富外设、低功耗管理和低成本的外存配置,整个芯片可以运行在75 MHz。数据通信系统使用的主要功能模块如下:20 KB片上零等待静态存储器(eSRAM);外部存储器接口控制器(EMI);中断控制器(INT...... 基于FM1702的非接触式读写模块设计 OLED显示模块与AT91RM9200的接口设计 新型TOPSwitch-GX系列电源的PI设计 基于32位低端嵌入式系统的图像采集模块的设计 |
|
|
|