位置:51电子网 » 电子资讯 » 电子新品

ISP1362OTG

发布时间:2010/9/1 10:48:48 访问次数:1664

 1 isp1362芯片的内部结构
51电子网公益库存:
A2C00022356B
G65SC102P-2
D30700RS-200
C30112AE
C8395-90
B5011SA2KQM
EBS3-GM
FCT2244C
K4S151611D-TL60
R6501-1AQ

  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主从机间的数据交换,性能可以满足设备间的数据传输要求,同时又能很好地控制成本,具有一定的实用价值。

 1 isp1362芯片的内部结构
51电子网公益库存:
A2C00022356B
G65SC102P-2
D30700RS-200
C30112AE
C8395-90
B5011SA2KQM
EBS3-GM
FCT2244C
K4S151611D-TL60
R6501-1AQ

  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主从机间的数据交换,性能可以满足设备间的数据传输要求,同时又能很好地控制成本,具有一定的实用价值。

上一篇:Maxim:MAX2063

下一篇:NXP半桥谐振转换器

热门点击

推荐电子资讯

高通智能手表
Toq的独特之处在于采用了高通独有的低功耗屏幕技术Mi... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!