复杂世界中的USB连结
复杂世界中的USB连结
Pedro Pachuca / Silicon Labs
由于通用串行总线(USB)具备使用简单和即插即用的功能,并且相当耐用,因此被工业和消费设备设计者陆续采用来链接其他应用接口。虽然USB连结已成为大部分嵌入式应用的重要需求,但在大多数情况下,它只是一般应用的众多设计需求之一。例如血压监测器就要靠USB连结将终端用户的监测数据下载到计算机中,同时也必须执行主要的血压测量功能。这就依赖于压力传感器和模拟数字转换器之间一系列复杂的互动来迅速采集数据并计算血压,用户界面设计则以可读取的形式正确显示结果。
大多数的应用都会要求特定范围的生产成本。对于原已具挑战性的设计来说,这又增添了复杂度。高集成度的USB解决方案不仅能以最简易的方式建立USB连结,还能提供必要的性能与模拟能力,使开发人员以符合成本效益的方式达成设计目标。
新一代USB微控制器
USB在工业和消费应用中迅速获得采用,这为嵌入式解决方案的设计人员带来了挑战,因为他们需要把USB连接融入产品中,且要维持或者还需降低整体的成本。早期版本的USB微控制器(MCU)是为了增设USB接口所开发,但它没有能力支持其他的功能或接口设备。USB刚推出时,这些元器件在推动USB接口的全面普及上扮演了重要的角色。即使到了今天,这些桥接元器件也可以当作有效的解决方案。只要通过辅助芯片,它们就能迅速增添全速型USB,而不必重新设计整个系统。不过,对于成本敏感的应用,这种做法或许就不尽理想。
为了克服这个成本上的难题,新一代的USB微控制器加入了更多的功能与外围装置。不过,具备不同外围功能的USB微控制器虽然在市场上大幅成长,但还是不及高度集成的解决方案;它不仅能加入适当组合的外围装置,还能确保这些功能强大到足以支持重要的应用需求。虽然应用需求深受终端产品的特性与功能所影响,但大部分的应用主要需涵盖三个领域。
第一个领域是CPU的性能以及把USB并入外围装置的影响。第二需考虑的领域是,在模拟功能或外围装置上扮演真实世界信号链接的重要角色。最后,由于各种应用对成本几乎都很敏感,因此靠消除外部元器件需求来降低成本的USB部署便十分理想。
CPU主要的功能为执行用户码,所以它能不能及时执行指令并处理数据便至关重要。一般符合成本效益的USB控制器都会采用先进先出(FIFO)的方式来管理进出的封包,而CPU可将数据存取于缓冲器内,并同时执行其他的作业。
CPU和USB功能的交互作用
我们来看一个USB对串行的桥接应用,以说明它会如何影响CPU的性能。在这个桥接应用的例子中,假设需求是要把串行式的UART桥接到USB的系统上。最简单的方法,CPU要从UART接口(UART FIFO)获取数据,并把它存入USB FIFO中,反之亦然。不过,要是同样这个应用需执行其他简单的功能,像是反转字节排序,或者执行复杂的功能,像是套用软件过滤程序,那该怎么办?一开始的简单作业突然变成了极为复杂的运算,而这需要经过特别的处理才能妥善管理,于是对CPU所造成的负担便愈来愈大。
一般的协议桥接都是把一个外围装置的数据传到另一个,并且几乎为实时传送。所以CPU必须具备必要的性能来读写及运作数据,延迟时间也要能让人接受。Silicon Labs的C8051F38x和C8051T62x USB微控制器系列则为低价USB解决方案中最好的范例,它具备强化的高速8051 CPU在一或二个系统时钟周期就能执行七成的指令。这种性能不仅足以满足协议桥接应用的需求,还能支持其他大部分的高速USB应用。另一个优点是,高速CPU能在较短的时间内执行较多的工作,所以能降低整体的耗电量,并使系统在低功耗模式中维持较长时间的运作。

<运行时间短 / 唤醒时间 / 低功耗模式>
图1:高性能微控制器可使系统在低功耗模式下延长作业时间
将模拟功能集成在USB解决方案中
有很多应用都有采用模拟式的功能或外围装置,像是模拟数字转换器(ADC)和比较器。例如由基础的电池管理,到高速感测界面中极为复杂的数据撷取系统,每个应用都需使用ADC和比较器来支持广泛的应用,ADC和比较器必须具备强大的性能,以满足各种不同的需求,同时还必须价格低廉以集成到USB微控制器中。
例如Silicon Labs大部份的USB微控制器就具备内置高性能优化的ADC。这些ADC的转换时间是追踪一次500 ksps,并具有能在ADC每次转换后插入时钟循环的能力。
具体来说,当转换的信号出现后,每次转换前都会有一段三个ADC时钟循环的追踪期。当有好几个ADC频道在运作时,这种模式非常有用,因为它能建立正确转换时所不可或缺的适当沉降时间。此外,侦测可编程窗口的性能也可用来比对ADC的输出缓存器和用户所编程的限制。这种性能尤其适用于电池管理的应用,因为使用者可限制电池存量要到多低时才发出警示。另外,由于不需动用到CPU的任何性能,因此延迟期间非常短,可进一步提高电池应用的安全性。

<开始转换触发 / ADC时钟 /追踪模式_转换/追踪>
图2:ADC追踪模式
比较器提供了另一种非常有用的模拟功能,并广泛运用在许多应用中。在很多的应用中都可以看得到,如血糖机中的比较器是用来检测试纸的置入,或者像胰岛素泵则需要快速关机机制来防止电泵死机。在这两个例子中,比较器的反应时间与耗电量格外重要。在传统的USB装置中比较器的规格都很宽松,而C8051F38x和C8051T62x/32x系列中的某些成员的比较器可提供可编程反应时间短至100 ns。耗电量也可由使用者来选定,以低到1 µA这点来看,微控制器的装置所达到的模拟性能数值跟一般的分立式模拟IC可说是不相上下。当USB的微控制器集成了高性能模拟性能时,它就能提供符合成本效益的单芯片解决方案,并替代外部模拟元器件。
集成式USB微控制器解决方案的优点
如果要把USB集成到单芯片微控制器解决方案里,要如何才能优化系统的设计成本,我们可能需要不同的想法。比方说,在设计中加入USB可能会对时钟树系统的设计造成不小的影响。如果要确保USB连结的可靠性,维持USB时钟的准确性就很重要。一般USB微控制器都需要设计人员加入外部晶体和相关元器件,才能让USB时钟达到准确度的要求。这种做法不仅会提高解决方案的成本,也会扩大印制电路板在设计上的复杂度与总体尺寸。此外,USB的速度多半要靠外部的终端电阻来确认,这也进一步提高了USB的建置成本。
将时钟的恢复能力集成到C8051F38x和C8051T63x/32x USB全速元器件中,这是创新性能的最佳典范。它剔除了其他USB微控制器常用的外部晶体,并靠内部振荡器针对加载的USB数据串行自行调节。如此一来,通过内部振荡器就能满足USB时钟的需求。除了移除外部元器件来降低成本外,还有另一个主要好处:把跟时钟相关的噪音排放消除后,电磁干扰(EMI)就会大幅减少。此外,这些解决方案所集成的终端电阻完全是靠软件来控制;剔除外部晶体和相关元器件以及把终端电阻集成进来是很大里程碑,因为当设计人员把USB加入设计中时,这有助于降低成本与复杂性。
USB的设计还有一个常见的挑战在于,所需要的软件开发既复杂又费时。随手可得的USB驱动程序和程序代码范例则可克服这个难题,并大幅缩短开发时间。比方说,Silicon Labs的USB微控制器开发工具就包含了生产所需的主机和USB装置的驱动程序。使用这些工具并不需要USB协议或主机设备驱动程序的专门技术,使USB连结能以迅速简单的方式来配置。
小结
USB连结是许多嵌入式应用的重要需求。高度集成的USB微控制器解决方案不仅能以最简易的方式建立USB连结,还能提供高性能的CPU功能,附带的集成式模拟性能则有助于降低元器件数量和材料列表成本。USB微控制器解决方案能为嵌入式系统的开发人员大幅简化设计,同时降低成本。
更多C8051F38x and C8051T62x USB 微控制器资讯请联系: sales@edom-tech.com
<本文曾刊登於便携产品设计>
|
| |