基于P89C61x2和ISP1581的USB接口电路的设计与实现

发布者:BlissfulSunrise最新更新时间:2007-02-13 来源: 电子设计应用关键字:存储  中断  振荡  频率 手机看文章 扫描二维码
随时随地手机看文章

本文主要针对传统仪器的并行接口设计了一种基于单片机的接口电路。

主要芯片介绍

本设计采用控制芯片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所示。



图1系统的连接框图

ISP1581有两种工作模式:通用处理器工作模式和断开总线工作模式。本文的硬件设计中通过设置BUS-CONF=0实现断开总线的工作模式。AD[7:0]为8位的多路复用地址/数据,与单片机的P0口连接;DATA[15:0]为16位的数据总线。MODE0接高电平,表示读或写信号工作在8051类型;ALE与单片机的ALE相连,实现地址锁存; RPU为USB D+线的外部上拉电阻连接端,通过一个1.5kW电阻与Vcc(3.3V)相连;RREF连接外部偏置电阻,通过一个12.0kW电阻同地端相连,使高速收发器得到一个精确的镜电源。为了实现良好的EMC特性,所有的电源引脚均连接到由0.01mF和0.1mF电容并联后的网络中。

系统的固件设计

单片机的固件是USB设备运行的核心。主要包括以下几个部分:

Kernel.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。

图2 固件程序流程图

设备驱动程序和应用程序的设计

USB设备驱动程序的开发,可采用Driver Works和Microsoft公司的2000DDK,并以VC++6.0作为开发环境。为了方便用户开发USB接口,在DP-1581的开发包中提供了一个通用驱动程序,该程序可不加修改,直接使用。在本电路设计中,采用的是开发版自带的驱动程序。

结语

本系统将原有的并口改进为USB接口,支持即插即用和热插拔。经实际试验验证,本系统性能稳定可靠,具有一定的实际应用价值。

参考文献

1 周立功.USB2.0与OTG规范及开发指南.北京: 北京航空航天大学出版社,2004
2 萧世文.USB2.0硬件设计.北京:清华大学出版社,2002

关键字:存储  中断  振荡  频率 引用地址:基于P89C61x2和ISP1581的USB接口电路的设计与实现

上一篇:基于μC/OS-II的VG2以太网和USB接口设计
下一篇:DS26303短程线路接口单元与IDT82V2048的比较

推荐阅读最新更新时间:2024-05-13 18:17

ARM指令集中经常使用的存储和载入指令
ARM微处理器支持载入/存储指令用于在寄存器和存储器之间传送数据,载入指令用于将存储器中的数据传送到寄存器,存储指令则完毕相反的操作。经常使用的载入存储指令例如以下: LDR 字数据载入指令 LDRB 字节数据载入指令 LDRH 半字数据载入指令 STR 字数据存储指令 STRB 字节数据存储指令 STRH 半字数据存储指令 1、LDR指令 LDR指令的格式为: LDR{条件} 目的寄存器, 存储器地址 LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通经常使用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器
[单片机]
ARM Linux中断机制之中断的初始化
一,认识几个重要结构体: 1.中断描述符 对于每一条中断线都由一个irq_desc结构来描述。 //在include/linux/irq.h中 struct irq_desc { unsigned int irq;//中断号 struct timer_rand_state *timer_rand_state; unsigned int *kstat_irqs; #ifdef CONFIG_INTR_REMAP struct irq_2_iommu *irq_2_iommu; #endif /* 在kernel/irq/chip.c中实现了5个函数:handle_simple_irq(),handle_
[单片机]
ARM Linux<font color='red'>中断</font>机制之<font color='red'>中断</font>的初始化
单片机数字频率计仿真设计0~9000hz 数码管显示
/************************************************************************* *实例名称:频率计 *实例说明:实现0~9000hz频率计的统计 *作者:yd *时间:09.06.20 *************************************************************************/ #include target.h #include led.h uchar displayBuff ={'0','0','0','0'}; //数码管显示缓冲区
[单片机]
单片机数字<font color='red'>频率</font>计仿真设计0~9000hz 数码管显示
STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比
概述 本章STM32CUBEMX配置STM32F103输出PWM,并在示波器中查看效果。 需要样片的可以加Qun申请:615061293。 生成例程 使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板 查看原理图,PA8设置为PWM输出管脚。 生成独立的文件。 工作过程 查看下面工作原理图可以得知,时钟可以由内部Internal clock产生或者外部ETR。 同时可以设置复位,使能,向上/向下,计数。 查看下列文档可以得知,定时器主要有TIMx_CNT、TIMx_PSC、TIMx_ARR、TIMx_RCR控制。 同时预分频器(TIMx_PSC)范围位1-65535。 查看TIMx
[单片机]
STM32CUBEIDE(11)----输出PWM及修改PWM<font color='red'>频率</font>与占空比
美光高级副总裁:5G将带来存储需求的显著上涨
近日,在2019中国国际半导体博览会5G与集成电路产业机遇分论坛上,美光科技高级副总裁兼移动产品事业部总经理拉杰·塔鲁里做了题为《5G对新一代半导体技术的影响力》的主题演讲。 拉杰·塔鲁里表示,5G技术和其他几代技术不同,5G的应用不仅仅局限在手机领域,其低延迟、海量终端支持将万物互联成为可能,让机器与机器之间可以进行沟通与交流,让远程医疗、超高清直播、智慧城市、无人驾驶等都成为可能。拉杰·塔鲁里表示,5G技术未来可以影响4.6%的全球总产值,直接带来2200万个就业岗位。 5G最需要哪类技术 拉杰·塔鲁里说,首先5G需要延迟更低,处理速度更高的调制解调器。其次是更高吞吐量,更低功耗的射频技术。第三则是内存和存储技术。 拉杰·塔鲁
[网络通信]
STM32ADC采样时间、采样周期、采样频率计算方法
ADC转换就是输入模拟的信号量,单片机转换成数字量。读取数字量必须等转换完成后,完成一个通道的读取叫做采样周期。采样周期一般来说=转换时间+读取时间 。而转换时间=采样时间+12.5个时钟周期。采样时间是你通过寄存器告诉 STM32 采样模拟量的时间,设置越长越精确 一 STM32 ADC采样频率的确定 1. :先看一些资料,确定一下ADC的时钟: (1),由时钟控制器提供的ADCCLK时钟和PCLK2(APB2时钟)同步。CLK控制器为ADC时钟提供一个专用的可编程预分频器。 (2) 一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同 RCC_HCLKConfig(RCC_SYSCLK_Div1); RC
[单片机]
连接器技术进步推动固态存储器件的发展
随着计算能力和速度的增长,固态盘(solid-state storage device, SSD)越来越有能力与传统硬盘(hard disk drives, HDD)在市场上抗衡。包括连接器在内的技术进步已缓解了SSD早期在成本和存储容量方面的许多劣势,随着越来越多的设计工程师为要获得更高性能而转向SSD,连接器技术也必须跟上步伐。 连接器是电路间的桥梁,让电流无缝地流过电路,从而完成预定的功能。连接器的设计需要有高水平的概念化和设计战略,以便满足SSD和数据通信行业的机械及电气性能要求。连接器的创新及其合理的工程技术原理不仅能够推动智能水平更高的设计,而且有助于确保设计所规定的SSD互连方案具有最佳性能,确保电子线路
[嵌入式]
用8031单片机控制的数字钟
数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点。 所设计的电子钟有以下功能: 1. 24小时制时间显示。 2. 可随时进行时间校对。 3. 整点报时。 4. 闹钟功能。 为了节约制作硬件的开支,我们利用单片机开发机上的硬件资源,开发了电脑数字钟的软件。该数字钟由8031单片机控制,采用24小时制计时,利用开发机上的六个LED显示器来显示时、分和秒,使用P1端口中的P1.0端口线
[单片机]
用8031单片机控制的数字钟
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved