基于一种完整的USB芯片方案设计

出处:电子工程网 发布于:2020-03-20 15:17:34

  陆陆续续有读者问一些关于RTOS的问题,比如:我现在要不要学习RTOS? 学习RTOS有什么好处? 我的项目要不要跑RTOS?

  ······等等一些关于RTOS的问题,其实归根结底还是你对RTOS了解的不够,项目开发的经验还不足等。

  针对这部分朋友,今天分享几点相关内容:

  嵌入式系统中,有很多方式实现任务调度。功能有限的小系统中,无限循环足够实现系统功能。当软件设计变得庞大且复杂时,设计师应该考虑使用实时操作系统。

  下面给大家分享使用RTOS的8个理由:

  1.硬实时响应

  基于优先级抢占的RTOS,根据任务的实时需求,执行优先调度。有严格时序限制的任务可以优先执行,提高应用程序对时间关键事件的响应。

  2.系统性能最大化

  针对大型的、复杂的嵌入式应用,使用一个事件驱动的RTOS,来替代基于轮询的超循环结构,可以生成一个更有效的设计,更小的存储占用,应用可以获得更多的处理器时间。

  3.降低复杂度

  RTOS允许应用划分为一个个小的自主运行的任务。任务执行自己的上下文中,不依赖其它任务或调度器。

  4.高峰负载管理aUSB技术的应用已经从最初应用为一种连接外设和PC的方法经过了长足的发展。USB标准的灵活性和适应性,加上目前流行的基于USB的存储设备和音乐播放器,激发了许多不是基于PC的嵌入式系统纷纷采用USB。现在,从电视机和机顶盒等家庭娱乐设备,到智能仪器、机器控制器、数码标识系统和手持终端等工业应用,各种嵌入式应用都正在引入USB主机接口以提供数据存储/传输,媒体录音重放以及其他接口能力。

  当把USB连接引入到一个现有的嵌入式应用的时候,对于如何升级设计者现有的设计以支持USB,有多种选择。一个选择就是用一个具有内部USB协议处理能力的设备替代它们现有的处理设备(CPU或微控制器)。这时用户通常需要重新设计他们的硬件和软件的核心部分以支持新的处理器。尤其是如果需要USB主机能力,则需要新的软件设备驱动和服务来处理设备枚举之类的功能,支持不同的USB设备类和传输模式。对现有产品作这样的重要变化,经常是非常耗时并且代价不菲的。

 

  FTDI Vinculum-II (VNC2)模块图。

  另一种方法是使用一种现成的USB芯片方案,如Vinculum-II(VNC2)。Vinculum 是FTDI的嵌入式USB主/从控制器系列的名称。最新发布的第二代芯片 VNC2是针对在嵌入式应用中实现USB功能时的许多关键问题而设计,并提供完整的单芯片USB解决方案。这款芯片的特点是有两个独立的可配置的USB主/从接口,一个用户可编程处理器核,具有多种灵活的接口以支持轻松集成到一个现有的嵌入式设计中。使用这种方案的好处在于设计者能够重用其现有设计的核心部分,用最小的开发成本和最快的上市时间支持增强的产品特征。

  进一步观察VNC2的性能,该芯片有2个独立的USB 2.0接口,提供USB主控端或从控端的连接,具有一个16位哈弗结构CPU核,16K字节的SRAM存储器和258K字节的FLASH用于编程和固件存储。由两个嵌入式的USB主/从控制器以最小的内部CPU负荷实现完整的USB协议处理。这样解放了CPU核,使它可用于用户处理功能。控制器支持4个主要的USB传输类型(控制、批处理、中断和同步),因此可以支持广泛的USB应用。

  除了USB接口,VNC2还支持一系列灵活的接口,使之能够轻松的连接到其他的处理设备和外设。所支持的接口包括一个串行UART接口,用来连接到其它CPU或微控制器,一个高速FIFO接口,可用于比如一个ASIC或PLD(可编程逻辑器件)、SPI(串行外设接口)主从端口、以及8个PWM(脉冲宽度调制)通道之间传输数据以支持相关电路的控制。图2为一个VNC2所提供的灵活连接的例子的细节设计。

  

  图2:带有通讯功能的MP3/媒体播放器接口设计。

  图2描述的应用是使用FTDI VNC2设备以对现有处理单元的最小的负荷提供MP3和视频播放以及与现有应用的通讯功能。

  MP3/音频重放:运行在VNC2上的固件代码用于从USB存储棒上读取文件。音频数据传送个MP3解码器用于音频输出,同时显示屏用于图像或视频重放。Vinculum II软件工具链具有与USB闪存接口和与显示控制器和音频编解码SPI接口的设备驱动。通信:通过第二个可用的USB接口可以对应用增加进一步的功能。这里,通过适当的USB KEY可以增加通讯设备类(CDC)来支持蓝牙,3G/GPRS通讯。

  对于所有的嵌入式应用,无论是采用电池供电还是市电供电的,电源消耗和管理都是关键问题。为了实现低耗电工作,VNC2支持各种低功耗模式。在典型的工作模式,CPU运行在48MHz,VNC2芯片在1.8V核电压仅消耗25mA(1.8V是从3.3V供电的芯片内部产生的)。要进一步降低功耗,可以首先通过降低CPU的工作频率至24MHz或12MHz的方式,其次可采用通过软件关闭芯片上不使用的接口的方式。另外还可使用设备挂起模式。在挂起模式下,VNC2仅消耗128uA电流。这些不同的功耗模式为用户提供了设备功耗管理的优良的增益控制,帮助嵌入式应用获取优化的功耗性能。

  软件接口

  在考虑USB应用的软件开发时,很重要的一点是首先要了解USB软件的功能。在许多USB连接方案中,有一个USB主机(比如PC)和一个USB从设备(比如打印机或USB键盘)。在USB从设备最初连接时,USB主机(PC)的作用是识别/枚举这个设备。枚举涉及到从从设备中读取USB的参数和功能信息。从设备读来的信息包含厂商/产品ID,支持的传输和设备类型。这个设备类型表示了从设备的功能和数据传输要求。比方说USB键盘(人机接口设备)设备按照他们不同的用法会有不同的功能,对USB存储器(大容量存储器类设备)支持不同的数据传输。每个设备类型会要求不同的软件设备驱动。在PC应用中,操作系统比如Windows执行设备枚举功能,具有各种驱动支持不同的USB类型。

  在嵌入式应用中实现USB主控功能需要采用类似的方法。集成了USB功能的嵌入式处理设备需要驱动以支持枚举和各种USB设备类型。有些情况下没有完整的USB驱动,需要用户用尽开发资源。还有一些特定的设备结构,USB协议处理是由软件实现的,要求设计者要么自己开发要么购买USB协议栈。这种方式除了开发和版权的开销,USB接口性能也可能被运行在设备CPU上的其他软件进程所限制。

  使用VNC2 USB主/从控制器,用户可受益于一个优化的结构,它具有基于USB处理的硬件和软件驱动综合套件,以及在单个设备中提供完整USB功能的资源。用户可以使用Vinculum II软件工具套件在VNC2上作应用开发。这个工具有一个嵌入式RTOS(实时操作系统)管理下层接口函数,一套设备驱动支持不同的硬件接口以及各种应用层驱动。这个应用层驱动对不同的USB类型设备提供支持,比如USB HID,USB主机和USB设备。还有其他的应用驱动可用于管理FAT文件系统和执行磁盘存储功能。Vinculum II软件工具套件帮助开发人员使用这些资源来实现他们自己的应用代码,允许在VNC2上直接处理用户数据,从而不需要在外部MCU或处理器上的主机处理功能。VNC2的软件结构图如图3所示。

  

  图3:Vinculum-II软件结构。

  Vinculum II软件开发工具套件允许用户针对VNC2上的CPU处理器创建基于C的应用程序。这个工具套件是封装为一个集成开发环境(IDE),具有标准的代码编译,创建,调试和编辑功能。这个IDE可从FTDI免费获取,不需要许可证或版权费用。

  开发资源

  除了开发工具,FTDI还开发了一系列的预编译固件镜像文件。固件镜像文件能包含通常的USB应用相关的功能,比如对USB存储设备的管理和接口,音乐重放,与USB打印机,HUB和HID类型设备的接口。这些固件镜像文件已经可用于第一代Vinculum芯片VNC1L。预编译固件镜像文件提供一个备用的应用程序,嵌入式系统设计者可以展开它或直接用作一个引用来添加到他们自己的专用程序中。当结合多种特征和前面提到的免费的软件开发资源,VNC2为嵌入式应用提供了一种有成本效益的完整的USB功能,同时通过把重新设计用户现有设计的核心部分的工作量最小化,从而减少了开发风险。

  RTOS提供了为管理系统高峰活动提供了一个有效的方法。更高的优先级分配给执行峰值负载活动的任务,确保他们在临界时间内访问处理器,在此期间,较低优先级的任务被延迟。

  5.紧密集成的中间件

  RTOS的模块化设计使得它可以很容易的增加中间件。中间件组件以任务和驱动的方式增加。他们使用RTOS提供的资源与其它任务通信。基于相应的事件被RTOS调度。

  6.更大的开发团队

  每个任务可以被认为是一个项目。通过RTOS提供的资源(队列、信号量等)来定义输入输出。将系统定义为一个个的任务,可以更容易的部署更多开发人员到一个项目。

  7.易于调试和验证

  系统划分为功能明确的任务,不依赖其它任务。在整个系统集成之前,可以很容易的调试和验证每个任务。

  8.代码重用

  RTOS系统中的模块化设计,鼓励将软件功能创建为独立的、验证过的任务。其独立性使得在其它设计中重用这些模块变得很简单。

  当然,以上理由针对的大众需求,如你项目有特殊需求另当别论。


版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,http://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

非常感谢您使用维库电子市场网,欢迎向阿库提出宝贵的意见。您的参与是维库提升服务的动力!意见一经采纳,就有感恩红包奉上哦!

联系人:

联系方式:

建议或问题:

按住滑块,拖拽到最右边
>>