主要芯片介绍
本设计采用控制芯片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所示。
ISP1581有两种工作模式:通用处理器工作模式和断开总线工作模式。本文的硬件设计中通过设置BUS-CONF=0实现断开总线的工作模式。AD[7:0]为8位的多路复用地址/数据,与单片机的P0口连接;DATA[15:0]为16位的数据总线。MODE0接高电平,表示读或写信号工作在8051类型;ALE与单片机的ALE相连,实现地址锁存;RPU为USB D+线的外部上拉电阻连接端,通过一个1.5kΩ电阻与Vcc(3.3v)相连;RREF连接外部偏置电阻,通过一个12.0kΩ电阻同地端相连,使高速收发器得到一个精确的镜电源。为了实现良好的EMC特性,所有的电源引脚均连接到由0.01μF和0.1μF电容并联后的网络中。
系统的固件设计
单片机的固件是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接口,支持即插即用和热插拔.经实际试验验证,本系统性能稳定可靠,具有一定的实际应用价值。
关键字:USB 接口电路
引用地址:
基于单片机设计的的USB接口电路
推荐阅读最新更新时间:2024-03-16 13:40
USB供电的充电电路图及原理介绍
除直接供电USB器件外,USB更有用的一个功能是用USB电源进行电池充电。由于很多便携装置(如MP3播放机,PDA)与PC交换信息,所以,电池充电和数据交换同时在一条缆线上进行将会使装置方便性大大增强。把USB和电池供电功能结合起来,扩大了“非受限”装置(如移动web相机连接PC或不连接PC工作)的工作范围。在很多情况下,不必携带不方便的AC适配器。
从USB对电池充电可以复杂也可以简单,这取决于USB设备要求。对设计有影响的因素通常是“成本”、“大小”和“重量”。其它重要的考虑包括:1)当设备插入到USB端口时,带放电电池的设备能够以多快的速度进入完全工作状态;2)所允许的电池充电时间;3)受USB限制的电源预算;4)包含
[嵌入式]
赛普拉斯:USB-C 控制器获得英特尔和 AMD 参考设计认证
赛普拉斯日前宣布支持 PD 协议的 EZ-PD CCG5双端口可编程 USB-C 控制器获得英特尔 Thunderbolt 3 主机和外设设计认证;同时,支持 PD 协议的EZ-PD CCG4 双端口 USB-C 控制器则通过了 AMD 用于笔记本和台式机的 “Raven Ridge” 处理器的认证。这两款产品都具备了 EZ-PD 系列所独有的可编程特性,能够紧跟不断发展的行业标准进行更新,并为英特尔和 AMD 的参考设计提供强大的 USB 连接和快速充电功能,从而缩短个人电脑、扩展坞、硬盘驱动器和其他外设产品的上市时间。 据悉,赛普拉斯 EZ-PD CCG5 控制器是业界首款支持 Thunderbolt 3 的双端口 USB
[半导体设计/制造]
玩转USB HID系列:Linux下使用C语言和libusb开发USB HID
实验环境 ubuntu 16.04 LTS 64-bit gcc,vim STM32做下位机 开发步骤 安装libusb sudo apt-get install libusb-1.0-0 注意:我在网上找到了多个安装教程写的安装命令和我的不一样: sudo apt-get install libusb-dev sudo apt-get install libusb-1.0-0-dev 这些命令安装的libusb我没有探索过,但有一点我知道,也是特容易踩坑的地方: 不同的libusb引用的头文件和函数还有编译时加的库名有细微的区别!!坑死我了 而好多教程都是上来就列代码,这就导致我们在看文章的时候觉得挺好,但是在自己机器上
[单片机]
基于USB的无线传输系统设计
引言 距离产生了通信的需求,距离的增加对通信提出了更高的要求。和有线通信相比,无线通信技术由于其更为方便实用而越来越得到更多的应用,实现无线传输的方案也是多种多样。本文中设计并实现了一种应用无线传输技术的单片机系统,该系统中使用USB2.0 接口与上位机相连,将数据传输到下位机,数据经无线传输后控制手持式便携设备。应用该系统的教学仿真器已经在实际中进行了应用,且得到了很好的效果。 1 系统的设计 为了实现计算机对某些系统的控制,常常使用单片机对下位机进行控制,而上位机和下位机之间可以通过串行接口、并行接口等接口实现通信。本文中通过USB2.0 接口实现了一个无线通信系统,系统的连接如图1 所示。 图1 无
[模拟电子]
USB3.0过电流保护PPTC组件应用解决方案
随着高新技术的不断提升,外围设备也在不断更新换代,在USB应用方面,USB3.0除了提升速度外,同时对电力的供应也有所提高。针对业界常用的过电流保护组件高分子正温度系数热敏电阻(PPTC)做介绍,并于在USB 3.0的应用下比较与低电压半导体开关的差别。 此外,我们将对USB 3.0与USB 2.0的差异,提出USB 3.0过电流保护 PPTC 组件应用建议,并以新一代薄型低电阻表面粘着PPTC组件为例说明新的导体材料开发进程,透过运用新材料,可为当前的超薄型电子产品提供良好过电流保护。
由于电子产品对速度、功率的要求不断提高,自去年11月USB 3.0规格底定后,除了速度提升至5Gbps外,对电力供
[嵌入式]
遭遇USB接口动力不足的常见解决办法
现在USB接口的设备使用频率越来越高,尽管这种设备使用起来非常简单,但如果要想用好它,还必须要掌握一些使用技巧,否则的话将会遇到许多稀奇古怪的故障,从而影响USB设备的使用效率。这不,使用USB设备最常碰到的问题,就是它的动力之源——供电不足的问题;为了有效解决USB接口动力不足的故障,本文下面特意总结了一些应对措施,希望能对各位带来用处!
如何识别USB动力不足
一般来说,USB设备插入到Windows 2000以上系统中时,它就能被系统自动识别出来,并且能够正常工作;可许多动力不足的USB设备插入到计算机系统后,常常会表现出如下故障现象:
1、计算机系统可以自动识别出USB设备,而且在安装该设备的驱动程序时也很正
[嵌入式]
MAX121芯片在高速串行接口电路中的应用
1 MAX121 芯片的性能与特点 MAX121芯片是一个带串行接口的14位模数转换集成电路(ADC),它包含有跟踪/保持电路 的一个底飘溢、底噪声、掩埋式齐纳电压基准电源。它的转换速度快、功率消耗底、采样速率高达308 ks/s点,满量程输入电压范围为±5V,功耗为210 mW。可与大多数流行的数字信号处理器的串行接口直接接口,该输入可以接收TTL或CMOS的信号电平,时钟频率为0.1-5.5MHz。 MAX121芯片的功能方框图如图1所示。它有16脚和20脚模式,16脚有DIP和SO封装,20脚有 SSOP封装。特点如下: 14位分辨率;2.
[模拟电子]
初创公司致力技术创新,以USB连接电脑与显示器
英国半导体设计公司Newnham Research Ltd.日前表示,它已开发出一种通过USB连接使电脑与显示器相连的方法。该公司还表示,Kensington Computer Products Group将在用于笔记本电脑的接驳站中采用这种技术。 这种名为“NIVO”的解决方案将用于把任何数量的显示器连接到一台电脑上,而且根据需要使各台显示器显示不同的内容。它由主机电脑中运行在Windows XP下面的软件,以及包括基于硅的HRE在内的硬件模块组成。HRE连到显示器,或者嵌入在显示器之中。两者通过电脑上的USB端口连接在一起。该软件把显示器信息流加工成为紧凑的形式,然后通过USB 2.0连接传送到HRE器件。再由HRE把数据转
[焦点新闻]