具有USB OTG功能的eCOG1X微控制器

嵌入式技术

1372人已加入

描述

  赛恩科技(Cyan Technology)的微控制器理念是集成功能于外设模块中,同时充分运用CyanIDE图形配置工具带来的易用性。除了易用和元器件数量少之外,提供给用户的好处是在驱动外设时只需要很少的定制软件控制。这些性能导致的终结果是,采用赛恩科技公司微控制器的设备只需较小容量的存储器,上市时间较快,功耗也较低。

  本文以eCOG1X 16位系列产品的几款新器件为背景,描述了USB 2.0外设的工作原理和性能,包括on the go (OTG)兼容性,并重点介绍其强大性能和易实现性。

  背景

  USB标准是近几年来获得巨大成功的标准之一。高数据率和真正的即插即用功能,使其成为PC外设的一种必然选择,并顺利取代以前的标准串口和并口。无疑,用户使用的方便性的代价是软件和硬件的复杂度增加。在嵌入式微控制器领域中不需要USB兼容性的系统之间,UART基本上还保留着作为串行通信信道使用。

  为了满足USB兼容系统的市场需求,许多微控制器在芯片上集成了USB协议控制器。但是,绝大多数只是将USB作为一个外设,需要依托外部的物理设备进行操作。绝大部分微控制器为USB外设提供软件支持,尽管还不十分成熟,但容易使用,也容易与现有的项目集成。这样,在熟悉软硬件方面需要花费大量的工程时间,然后在系统中进行实现并满足项目的规范要求。

  eCOG1X系列产品上的 USB模块除了满足半智能PC外设的要求外,还能支持主机模式和OTG工作模式。OTG是USB2.0规范的扩展,它允许系统作为主机(“类型 A”),或者作为外设(“类型 B”),并且不需要独立的硬件接口就能区分这两种类型。OTG设备采用小型的A/B插座,允许实现mini-A 和 mini-B插入连接。eCOG1X能够检测并确定其连接处于主机模式还是外设模式,具体取决于插入的是哪个插座。ID引脚低电平表示主机模式,高电平表示外设模式。操作是动态的,重新配置不仅可以通过重新插入相应的连接器类型来初始化,而且当外设请求作为主机时,还可以在软件控制下来回切换。OTG不仅在PDA中普遍使用,而且在一些工业应用也对之抱有兴趣,例如数据记录和仓库控制系统。主要适用于将 手持设备或手机在不同时间连接到某处的主机和外设上,比如打印机,闪盘和遥控数据。。在这些应用场合,单一的标准接口连接可以适用于所有功能,无需使用多种硬件接口。

  赛恩USB外设

  图1所示为eCOG1X USB外设的方框图。

  

微控制器

  图1 eCOG1X USB外设方框图

  一个内置的物理模块被集成在芯片上,它支持低速(1.5Mbps)和全速(12Mbps)两种模式。此外,如果需要高速(480Mbps)操作,可使用ULPI 接口连接外部PHY。这种组合使得低速或全速工作模式的eCOG1X可以用作无需外部元件的外设,而其它工作模式要求的外部元件数量也很少。

  硬件上,eCOG1X USB外设支持USB规范转移方法和控制转移,中断,数据块(bulk)和同步,允许作为普通的USB设备,或者方便地连接到这些设备上,例如键盘、键盘驱动和声卡。

  USB包括4个独立的双向端点,以及默认的控制端点(端点0)。USB内核采用4K的内部SRAM,并通过嵌入式存储器管理单元(MMU)实现映射,可用作控制和状态寄存器和端点缓冲器。另外,还有2个双缓冲和1个单缓冲数据端点可用,容量高达1k字节。双缓冲在外设发送数据时允许缓冲器被填充。该组合使得eCOG1X可以被用作USB复合设备。

  

微控制器

  图2 eCOG1X USB库层次结构。

  端点缓存中的数据存取是通过一个位于eCOG1X USB内核中的从FIFO接口实现的。通过eCOG1X外设寄存器可以直接存取FIFO。同样,双通道的DMA控制器可用于实现出入内部SRAM的高速、全双工数据传输。这一性能是通过将FIFO寄存器连接到端点缓冲器和DMA控制器通道实现的。

  软件支持

  赛恩为USB外设提供的软件支持根本不需要用户深入理解USB协议和协议栈。开始时可以用USB库来创建程序,或者可以将USB功能加入到现有程序中。在一系列不同的层次上提供了对库的支持,可以被分解为如下的一些功能区域:

  建立

  数据传送处理器——用于FIFO和DMA

  中断处理器

  提供只有必要配置的设备功能的插件

  目前,下列USB设备已有相应的插件驱动程序:

  人机接口设备(HID)-键盘(主机和外设)

  海量存储设备(MSD)-具有FAT的闪盘(主机)

  音频-外部声卡/耳机(外设)

  在CyanIDE环境中,USB外设可以被拖放进所选变量的印迹图中。支持所选设备的软件库将被自动加入到项目中,因此留给用户的工作量很少。利用CyanIDE帮助窗口可以很容易找到 USB内核驱动器、所有外设驱动器和库的用户支持文件。文件中还提供用户API的描述,因此可以快速实现固件原型。

  

微控制器

  图3 连接MSD设备所需的USB外设代码。

  图3给出了一些软件实例。这些实例表明,当利用支持FAT16/32 的 CyanIDE MSD主机库来获取插入到eCOG1X中的USB盘的目录内容是如何的简单!CyanIDE增加了USB海量存储主机方面的插件,FAT库则提供了磁盘读写所需的所有必需例程。

  eCOG1X系列产品

  近,赛恩科技又发布了eCOG1X可配置微控制器家族中三位新成员的消息。他们分别是eCOG1X4A5、6B5 和 6Z5,这三款都支持USB,并与已有的产品一起被列入下面的功能表中。

  表1 具有USB功能的eCOG1X器件的多样性。表中列出了器件号、闪存容量、片上外设和封装类型

  

微控制器

  除USB之外,eCOG1X控制器还包括带有10/100MB的以太网MAC、双12位ADC和双12位DAC的其它不同版本。所有器件的外设都包括32x4 LCD、多路USART/SPI/I?C、6通道电机控制PWM和双智能卡接口。至于使用哪些外设,如何配置以及连接哪些引脚都可以在CyanIDE中进行简单和容易地设定。根据所需外设数量的不同,三种不同的封装在成本和空间方面给用户提供了很大的灵活性,同时保持相互兼容。

  总结

  赛恩科技的eCOG1X USB外设提供了覆盖外设、主机和OTG功能的诸多性能。硬件模块具有CPU自治功能,并整合了对内部端点缓冲器的高速和高效DMA存取。该功能大大减少了运行设备所需的代码量。另外,赛恩科技还提供不断扩展的支持软件库,可支持各种USB设备类型和其他通用外设。这些库使得用户可以远离运行所选设备所需的复杂、低层USB协议栈,并使用易于理解和便于集成的语言。除此之外,在提供USB支持时,eCOG1X具有很宽的选择范围,用户可以方便地选择价格、存储器容量和封装尺寸来适合他们的应用。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分