EDN China > 技术文章 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

USB端口找到新居,落户嵌入式系统

来源:电子产品世界 / 作者:ECN资深技术编辑 Jon Titus?? 2005年09月21日 ?? 收藏0


?????? 在物理层,芯片和IP厂商已经采用了标准的软件-接口连接,它们可以简化嵌入式设计中主控器的运用。这样,堆栈往往遵循如下标准:开放式主控制器接口(OHCI)、通用主控制器接口(UHCI),或者更新的为USB2.0规范开发的增强型主控制器接口EHCI。这些规范描述了主控制器所用的寄存器级操作。通过这些标准的采用,芯片制造商提供了驱动器软件的通用接口。OHCI、UHCI和EHCI规范明确了主控制器寄存器和驱动器软件之间的互操作。

?????? 通常,硬件抽象层,或者包装层将堆栈和驱动器与

特定微处理器的具体实现细节屏蔽开来。设计者可以获得包装层的源代码,因此能对它进行修改,以便适应所选定的具体微处理器和RTOS。如果你不想深入了解这一层的软件细节,可以由供应商对包装层进行定制开发。你可能会发现,启动项目时即采用兼容的微处理器、堆栈、RTOS和USB主控制器将使开发变得更为容易。

?????? 除了堆栈,开发者还将需要控制外设的驱动器。虽然Windows、Windows CE和Linux可以调用用于多种外设的、种类极为丰富的驱动程序,但你还是会发现其他操作系统没有提供同样的多种选择。IC厂商们提供了USB级驱动器,它们可以提供控制同类器件所需的一组最小的函数集。各类器件包括打印机、照相机、人机接口、海量存储设备、通信器件等等。例如,打印机类的驱动可以获知打印机的状态、打印机初始化、发出并接收打印机数据、以及打印机复位。

?????? 这样一来,你就很可能找出一种与特定RTOS和处理器一起工作的打印机类驱动器。不过,打印机制造商可以在该类驱动器的基础上获得功能更强的驱动器,这些驱动器通常称为同类软件库。但是,如果你计划控制一个定制的I/O设备,还要准备编写自己的驱动器。

?????? 虽然,一台PC无论用户需要与否都可以存储成百上千的USB设备驱动器,但嵌入式系统却不具备此般灵活性。所以,你可能只采用那些能确保与你的系统一起工作的外设。由于很多嵌入式应用的磁盘空间有限,而只配备几种常用器件的驱动器。记住,如果你不能确定与嵌入式系统相连的器件的话,得到的就不是一个好设计。在你考虑软件和驱动器时,请详细规定与USB端口通信的设备的具体情况。

?????? 在某些情况下,对小尺寸、高可靠性或者大批量生产的器件的需求会将一个嵌入式系统从电路板 “挤压”成为一块芯片。因此,工程师们必须获得知识产权的许可证,将其集成到ASIC或者FPGA中。若干公司以IP形式提供USB主控控制器。Mentor Graphics公司提供一种全速USB控制器Inventra,它可以用作一个主控或者外设。Synopsys公司提供DesignWare核,它有多种类型的USB端口。最后,ARC公司提供若干种USB设计的许可证。各家公司以VHDL或Verilog代码的形式提供其USB核。

?????? 幸运的是,USB核带有标准的硬件接口,如ARC公司为其微处理器开发先进高速总线(AHB),它可以用于多种其它的处理器核。IP厂商还可以支持由虚拟插座接口联盟(Virtual Socket Interface Alliance)制定的外围虚拟部件接口(PVCI)标准。如果你决定去获取USB IP的许可证,务必确保它适合所选定的RTOS。IP许可证厂商可提供一系列兼容的软件产品和开发工具。另外,IP厂商自己可在软件方面提供帮助。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

USB? 嵌入式? 系统?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈