主机设备控制器基于AVR单片机的ISP1362OTG设计

基于AVR单片机的ISP1362OTG设计

时间:2011年12月01日
0 引言  随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据 美国中国产业VC究竟是强盗资本家还是经济发展的催化剂?三星内存价格逆市跌价 内存能否挑战前期冰点价?CP643E 开机出现remove dump parts 故障求救cP642问题求助 急光纤美国高速化Altera在FPGA上导入光传输 2012年以后产品化批评新闻线索邮箱Zarlink推出新的高密度TDM器件产能产品明尼苏达州赛普拉斯宣布其领先的触摸屏控制器系列的产能将扩充三倍陕西材料微电子天宏计划总投资37亿元 多晶硅项目咸阳开建F4G编程时选用feeder的问题
0 引言

  随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。

  1 ISP1362芯片的内部结构

  Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有3个USB控制器一主机控制器、设备控制器和OTG控制器。其中,主机控制器具备高度优化的USB主机功能;设备控制器则具有多达14个可编程端点,又可以被配置成双缓冲端点进一步提高吞吐量:而OTG控制器主要提供包括监控和转换功能在内的所有OTG控制。ISP1362内部构造如图1所示。

ISP1362内部构造

  2 USB OTG主/从机系统设计

  USB OTG主/从机系统设计包括硬件设计和软件设计两大模块。其中硬件电路主要是USB接口电路板的设计;软件设计包括设备初始化、系统的功能设计、设备驱动程序设计等,下面分别介绍系统软、硬件系统的设计方法。

  2.1 系统硬件电路设计

  USB OTG主/从机设计的硬件电路如图2所示,图中ATmega 32的PD口和IPA口用于控制ISP1362的时序,PB口和PC口则用于与ISP1362的D[0..15]进行数据交换。ISP1362芯片有Port1和IPort2两个USB接口。Port1是个综合接口,可以配置成downstream、upstream或者是OTG;Port2是作为固定的downstream,主要接一般的USB设备。当ISP1362做主机时,主机内部的寄存器通过检测其相应状态寄存器的值就可以判断是Port1还是Port2接了设备,从而进行相应的处理。

USB OTG主/从机设计的硬件电路

  ISP1362的Port1口主/从机功能通过ID、OTGMODE两引脚电平的高低组合来确定。当OTGMODE引脚接低,无论ID电平如何,则芯片的Port1口只能OTG用;如果OTGMODE接高,ID接低,芯片的Port1口作主机使用;OTGMODE接高,ID也接高时,则芯片的Port1口作外设使用。在电路中通过15kΩ的上拉电阻和下拉电阻实现ID、OTGMODE两引脚电平的高低变化。

  2.2 系统软件设计

  本设计的主机系统是一个软件和硬件的集合体,功能的实现不依赖于任何操作系统,而是通过中断来调度各个任务,使之满足USB通信的要求,因此系统是按照协议规范和特定的时序运行的。

  本系统是ISP1362工作于主/从机模式下的应用,按系统硬件电路配置完成接口芯片,然后对其编程,就可以进行USB数据传输。系统工作流程如下:首先进行系统初始化,构建PTD传输描述符,接着总线枚举过程,给外设分配地址,获取外设的基本信息,并判断外设为主机设备或是从机设备,之后驱动相应的主/从机驱动程序运行,数据传送和接收,根据总线的活动情况判断是否挂起。系统流程图如图3所示:

系统流程图

  实现ISP1362芯片的软件编程控制,就是对该芯片的CS、RD、WR、A0、A1引脚的控制。本文中CS代表片选,低电平有效;RD代表读信号,低电平有效;WR代表写信号,低电平有效;A0引脚电平的高低不同,分别表示传输的信号代表的是命令信号还是数据信号;A1引脚电平的高低不同,分别表示控制的是外设还是主机。通过上述几个引脚信号的组合,可以实现读写控制ISP1362的不同功能。除此之外,以下的几个引脚对于控制ISP1362也有重大意义:DREQ1引脚代表DMA请求输出,当它高电平有效时,通知IDMA控制器主机正在请求数据传送;DREQ2引脚高电平有效时,通知DMA控制器外设正在请求数据传送;DACK1引脚代表DMA确认输入,低电平有效时表明来自主机的DMA传输请求已经被DMA控制器确认;DACK2引脚低电平有效时表明来自外设的DMA传输请求已经被DMA控制器确认;INT1和INT2引脚连接到外部微处理器的IRQ引脚,使得ISP1362可以根据请求执行中断服务程序。软件设计具体工作流程如下:

  (1)系统硬件初始化,包括ATmega32和ISP1362的初始化。AVR微处理器是Atmel公司的8位嵌入式RISC处理器,它具有功耗低、速度快、输出高、开发工具开放、性价比高等优点,它的程序存储器和数据存储器是可以独立访问的哈佛结构,因此代码执行效率非常高。ATmega系列单片机的内部模块还很丰富,可用的资源也很多,本文对ATmega32的初始化,就是要对它的I/O口、定时器、时钟、看门狗等进行相应的设置,使之开始工作。而ISP1362的初始化,就是当ISP1362上电后,主机控制器驱动程序(HCD)必须通过一系列的硬件初始化步骤来配置主机控制器,从而进入可操作状态。首先检测主机控制器是否存在,此步由MCU(单片机)实现,本文通过MCL响HcScratch寄存器内写入某个值,再从该寄存器中读取,将读出值与写入数值进行比较,若相等,则可说明主机控制器存在;反之则出错,无主机控制器存在。

  (2)构建PTD描述符。PTD(Phi l ips Transfer Descriptor)为ISP1362主机控制器与外围设备的通信提供了一个传输渠道,要在主机与外设之间进行通讯,首先需要构建一个PTD。PTD具有3种传输类型:控制和批量传输(非周期传输)PTD、中断传输PTD和同步传输PTD。

  (3)主机分配地址给设备,获取设备描述符和设备的功能信息。主机通过不断地向外设发送设备请求来获取设备、端点的功能信息。获取USB设备描述符的过程分为三个步骤:a.主机通过设备的默认端点获取设备描述符,为设备分配一个惟一的地址;b.主机读取配置描述符信息、接口描述符信息和端点描述符信息;c.根据设备的相关信息调用相应的事务处理程序。

  (4)设备枚举成功之后,主机就可以根据已编写的进程与外设进行USB通信,等待、查询数据的发送和接收。

  (5)数据发送或接收完毕之后,根据QueryBus函数查询总线的活动情况,判断设备是否需要挂起。

  2.3 设备驱动程序

  要实现主机对从机的读写,USB主机必须具有相应的驱动,对各种读写指令进行封装、解释和执行。开发驱动有很多种方法,本文采用直接在USB主机接口驱动上层封装一个USB传输API 函数-USBXfer,应用于实现各种USB传输。

  3 结束语

  本文设计的USB 0TG主从机系统性能稳定,数据传输效率高。测试表明,此设计能够正确地实现USB 0TG主从机间的数据交换,性能可以满足设备间的数据传输要求,同时又能很好地控制成本,具有一定的实用价值。

半导体设备节能十二五科技规划亮点:LED设备及MOCVD国产化盛业虹膜银行金融展圆满落幕 虹膜银行脱颖而出Avago为蜂窝基础设施市场推出低噪声放大器电流电机功能安森美半导体推出AMIS-30532/42微型集成驱动IC处理器器件操作莱迪思计划通过SRIO规范2.1互连标准韩国纽约市中国半导体照明的发展布署与国际经验负载电流器件Vishay发布三款高性能单通道和双通道负载开关终端笔记本电脑能力高通将推智能笔记本:称目前上网本低端简版观念健康农村民生视角看LED照明行业发展
Hitachi日立 Sanyo三洋 CT Type 44mm 72mm 56mm Embossed Feeder Accessories 供料器配件 飞达配件 4111413704 WASHER V 2 5X6 5X0 5FUJI 富士 CP8 CP842 CP842E CP842ME 高速贴片机 High Speed Chip Mounter BKT SENSOR DCQK3161FUJI 富士 QP-132E H4472T BELT XA-PB-5T=1 1L=1890JUKI 东京重机 FTF FF Type SMD Component Feeder 供料器配件 飞达配件 Accessories SMT Feeder Part 喂料器配件 送料器配件 E6500706000A LOCK HOLDER BLOCK 32FUJI 富士 CP8 CP842 CP842ME 高速型贴片机 High Speed Chip Mounter BKT SW DGSD0910YAMAHA 雅马哈 YV100 YV100II YV100G YV100X YV100XG KM8-9910 99009-10400 CIRCLIPJUKI Zevatech 东京重机 KE-2050 KE-2050R KE-2055R Chip Shooter 高速贴片机 KE-2060 KE-2060R Flexible Mounter 高速通用贴片机 400-11351 AIR CYLINDERJUKI Zevatech 东京重机 FX-1 FX-1R High Speed Modular Mounter 高速模块化贴片机 40021916 BANK PLATE LFUJI 富士 IP3 IP-III IP-IIIE IP-III-4000 IP-III-5000 QNC0270 PLATE DISPERSIONSONY 索尼 SI-E2000 Compact-Sized Chip Mounter贴片机 PLATE 4-761-959-01Panasonic KME 松下 CM212-M(NM-EJM6A) Modular Placement Machine 高速模块化贴装机 N510001803AA BOLT SRBS-M4X12JUKI Zevatech 东京重机 KE-750 KE-760 FS-750 FM-760 High Speed Flexible Chip Shooter 高速贴片机 SM6061202T BOLTFUJI 富士 CP8 CP842 CP842E CP842ME 高速贴片机 High Speed Chip Mounter BKT DGGZ7020FUJI 富士 NXT SMT贴片机配件 Scalable Placement Platform BKT WIRING PB48620FUJI 富士 IP3 IP-III IP-IIIE IP-III-4000 IP-III-5000 Y3058A UNION HALF KQH10-03S
1.5888230800629 s