;
文章:行业新闻EDA文摘电源技术无线通信测量仪表嵌入式类电子技术制造技术半导体网络/协议展会实验家电维修  
  下载:EDA教程电源技术电子书籍电子元件无线通信通信网络电路图纸嵌入式类单片机传感/控制电子教材模拟数字
.... 音视频类
消费电子机械电子行业软件C/C++FPGA/ASIC规则标准家电维修DSPIC资料ARM软件电路图电子技术论坛
 
位置:电子发烧友 > 行业新闻 > 无线通信 > 设计应用 >采用P89C61x2和ISP1581的USB接口电路的设计 退出登录 用户管理
栏目导航


· 设计应用 · RF/无线
· 有线通信 · 广播电台
热门文章
· [组图] 电子元器件基础知识...
· [图文] USB接口定义
· [图文] 三极管开关电路图
· [组图] RS232 RS485接口原理...
· [组图] [组图]电动车充电器...
· [组图] 电子捕鱼器电路图
· [组图] 高品质音调电路的制...
· [组图] JRC4558电路
· [图文] M51134P低音炮电路图...
· [图文] TL494脉宽调制控制电...
相关文章

· [组图] IPM的接口电路
· [图文] GXT系列UPS的输出控...
· [图文] RS232接口电路
· [组图] 湿度传感器接口电路...
· [图文] RS232 TTl RS485转换...
· [图文] RS232C串行通讯接口...
· [图文] 自动录音电话接口电...
· [图文] LCD扫描式接口转换V...
· [图文] CAN接口电路图
· [图文] ADS7824并行接口电路...

采用P89C61x2和ISP1581的USB接口电路的设计
作者:佚名  来源:电子设计应用  发布时间:2008-10-13 14:25:17 减小字体 增大字体

采用P89C61x2和ISP1581的USB接口电路的设计

摘 要:本文主要介绍了采用P89C61x2、ISP1581芯片设计测试系统USB接口的方法,阐述了硬件、软件、应用程序等的设计流程,在试验过程中实现了主机与设备之间简单、可靠的连接和通信。

关键词:USB;接口芯片;固件,P89C61

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

主要芯片介绍
本设计采用控制芯片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

[] [返回上一页] [打 印] [收 藏]
 

上一篇文章:以太网接口电路
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
 
关于本站- 意见反馈 - 网站导航 - 帮助 - 隐私政策 - 联系我们 - 使用条款 - 安全承诺 - 友情连接
站长QQ:39550527 Powered by: 飓风网络(电路图
Copyright 2006-2008 Elecfans.Com.电子发烧友: 粤ICP备07065979号All Rights Reserved