kaiyun官方注册
您所在的位置: 首页> 模拟设计> 解决方案> 德州仪器系统设计中的标准及可配置接口

德州仪器系统设计中的标准及可配置接口

2011-04-15
作者:德州仪器

  对于设计人员而言,根据应用的性能、电源、存储器以及接口要求寻找特定的嵌入式处理器是一项令人生畏的艰巨任务,因为即便是相似的系统也存在着显著的差异。尽管ARM处理器提供十几种选择,但系统设计人员却很难找到“完美的搭配”。

  本文将重点介绍各种标准接口,并揭示它们对不同嵌入式芯片厂商的区别所在。了解基本接口可帮助设计人员优先考虑哪些接口应为片上(on-chip)。不过,虽然标准接口具有很高的使用价值,但为了提供额外的片上资源,也需要可定制的片上接口。本文将介绍两种这样的外设模块。

  USB

  通用串行总线(USB)接口最初的开发目的是用来连接个人计算机与外设。随着时间的推移,它已经成为工业与基础设施应用的常用接口。诸如键盘、鼠标以及示波器等人机接口设备(HID)通常都采用USB接口,这就意味着它必须得到系统嵌入式处理器的支持。实现这一目标的最有效方法是采用片上外设。

  除了HID之外,工业与基础设施应用还可以使用另外两种设备。USB通信设备类(CDC)不但适用于调制解调器与传真机,而且还可通过提供用于以太网数据包传输的接口来支持简单的联网。同样,USB大容量存储设备(MSD)主要针对硬盘驱动器及其它存储介质。

  USB 2.0规范要求主机初始化所有向内及向外的传输。此外,该规范还定义了三种基本设备:主机控制器、集线器以及外设。

  USB 2.0的物理互连是一种在每个星型中心使用一个集线器的分层星型拓扑结构。每条线段都是一个主机与集线器或功能之间的点对点连接,或者是一个连接至另一个集线器或功能的集线器。

  USB 2.0系统中用于设备的寻址方案可实现单个主机连接多达127个设备。这127个设备可以是集线器或外设的任何组合。复合或组合设备可以是这127个设备中两个或两个以上的设备。

  虽然USB 2.0很可能是工业和许多基础设施应用的首选,但外设设备需要在没有主机参与的情况下彼此通信时,还需要部署移动USB(USB OTG)。为了实现点对点通信,USB OTG引入了一种新的设备,这类设备包含可为两个外设实现数据共享的限制主机功能。

  OTG补充方案定义了一套新的、称之为主机协商协议(HNP)的握手方式。使用HNP,能够作为默认外设连接的设备可请求成为主机。这有助于现有USB 2.0主机设备范例提供点对点通信。另外还定义了会话请求协议(SRP)。

  USB具有可靠标准的普及性与极高地位,可向嵌入式处理器厂商提供专门针对USB功能的软件库,从而可大幅缩短开发时间。系统设计人员不必编写自己的代码,只需进行功能调用,便可实施接口。

  这些库应通过认证,证明已通过了USB实施人员论坛实施的USB设备及嵌入式主机合规性测试。德州仪器(TI)等一些厂商可为其嵌入式处理器提供广泛的USB库。

  2007年,旨在创建一种更快USB类型的USB 3.0推广团队(the USB 3.0 Promoter Group)得以成立,这种USB类型不但向后兼容以前的USB标准,而且还可提供比USB 2.0快10倍的数据速率。USB 3.0采用新的信号发送方案,并通过保留USB 2.0双线接口实现了向后兼容性。然而这种更快的版本还处于部署初期,USB 2.0今后数年仍将是最常用的USB类型,其具有高速(480Mbps)、低速(1.5Mbps)以及全速(12Mbps)三种速度选项。

 EMAC

  虽然符合IEEE 802.3以太网标准的接口一般会被误称为以太网介质访问控制器(EMAC),但完整的EMAC子系统接口实际上包括三个模块,这三个模块可能会集成在片上,也可能不会:物理层接口(PHY);以太网MAC,其可实施协议的EMAC层;定制接口一般称为MAC控制模块。

  EMAC模块可控制系统到PHY的包数据流。MDIO模块可执行PHY的配置以及状态监控。两个模块都可通过MAC控制模块访问系统核心,从而还可优化数据流。在TI嵌入式处理器等完全集成型解决方案中,定制接口被视为EMAC/MDIO外设不可或缺的组成部分。

  完整的EMAC子系统如图1所示。

  EMAC控制模块不但可控制设备中断,而且还整合了一个用于保持EMAC缓存器描述符的8K字节内部随机访问存储器(RAM)。该MDIO模块采用802.3串行管理接口来询问和控制多达32个采用共享双线总线连接至设备的以太网PHY。

  主机软件使用MDIO模块来配置连接至EMAC的每个PHY的自动协商参数,恢复协商结果,并在EMAC模块中配置所需的参数,以实现正确的操作。该模块可为MDIO接口实现近乎透明的操作,基本不需要核心处理器的维护。

  EMAC模块可在网络与处理器之间提供一个高效率的接口。EMAC模块通常可提供10Base-T(10Mbit/秒)与100Base TX(100Mbit/秒)、半双工与全双工模式,以及硬件流控制与服务质量(QoS)支持。此外,部分处理器现在还支持可实现1000Mbit/秒数据速率的千兆位EMAC容量。

  由于以太网的广泛使用,嵌入式处理器一般都在芯片上集成了一个或多个EMAC接口。不同的厂商在实施上述完整的EMAC子系统时采用的方法也稍有不同。实施以太网接口所需的软件支持与库的质量和范围是选择嵌入式处理器厂商时需要考虑的另一个问题。

  路由器或交换机等应用所需的EMAC有时不止一个。这些应用通过使用多个EMAC,能够在创建同步过程通信的同时,与众多设备通信。

  SATA

  串行ATA(SATA)可将主机总线适配器与诸如硬盘驱动器与光盘驱动器等大容量存储设备相连。它已基本取代了之前的并行ATA(PATA)。PATA要求40/80线并行线缆,长度不超过18英寸。PATA的最大数据传输速率为133Mbit/秒,而SATA串行数据格式则使用两个差分对来支持连接数据存储设备的接口,线路速率为1.5Gbit/秒(SATA版本1)、3.0Gbit/秒(SATA版本2)与6.0Gbit/秒(SATA版本3)。SATA 1和SATA 2现已面市,SATA 3将在近期推出。

  此外,SATA控制器需要的线缆较细,而且可以长达3英尺。较细的线缆更加灵活,一方面可实现更便捷的布线,另一方面更有利于大容量存储设备外壳内的空气流通。

  串行链路可获得高性能的部分原因是采用高级系统存储器结构来容纳高速串行数据。这种高级主机控制器接口(AHCI)存储器结构可为控制、状态以及命令列表数据表提供一个通用域。命令列表的每条记录都包含用于编程SATA设备的信息以及一个用于在系统存储器与设备之间传输数据、指向描述符表的指针。

  大多数SATA控制器不但支持热插拔,而且还采用端口多路器来增加可连接至单个HBA端口的设备数量。SATA标准有一个很长的特性列表,但几乎没有SATA控制器可支持所有这些特性。常见特性包括:支持AHCI控制器规范1.1版;集成SERDES PHY;集成Rx与Tx数据缓存器;支持SATA电源管理特性;每端口配备内部DMA引擎;多达32条记录的硬件辅助原生命令排序(NCQ);32位寻址;支持端口乘法器;支持LED工作;机械控制开关(mechanical presence switch)。

  由于SATA能够存储可延伸至太字节范围的大量数据,因此应用非常广泛,其中包括上网本、膝上型电脑、台式机、多媒体设备以及便携式数据终端等。此外,SATA还可用于可能需要传感器或系统监控器存储大量数据以待后续分析的工业应用。

  DDR2/移动DDR

  DDR2是双倍数据速率(DDR)SDRAM规范的后继标准,这两个标准互不兼容。DDR2在总线时钟信号的上升沿与下降沿传输数据,并能够以更高的总线速度运行,从而可实现每个内部时钟周期四次的数据传输。

  简化型DDR2控制器包括以下设计块:存储器控制、读取接口、写入接口以及I/O块。

  这些块以及它们与DDR2存储器芯片及核心逻辑的关系见图2所示。

  存储器控制块发出存储器对专用核心逻辑的访问,反之也是如此。读取物理块负责处理在各个读取周期中采集数据的外部信号时序,而写入物理块则使用适当的外部信号时序管理时钟与数据的发出。

  字节宽度双向数据选通(DQS)随数据(DQ)通过外部方式传输,用于采集目的。DQS在读取存储器时由控制器通过边缘对齐的方式传输,而在写入存储器时则采用中心对齐的方式。片上延迟锁相环(DLL)用于锁住DQS及相应的DQ。这可在电压及温度发生变化时确保它们能够彼此跟踪。

  DDR2 SRAM具有差分时钟输入,可降低时钟输入占空比变化时的影响。此外,DDR2 SRAM还支持数据掩码信号,可在各个写入周期中为数据位添加掩码。

  移动DDR(MDDR)也称低功耗双倍数据传输速率存储器(LPDDR),因为其工作电压为1.8V,而传统存储器工作电压为2.5V或3.3V,通常用于便携式电子产品。此外,移动DDR存储器还支持传统DDR2存储器不具备的低功耗状态。与所有DDR存储器一样,双倍数据传输速率是通过器件时钟上下沿同时传输数据实现的。

  uPP

  由于片上外设的数量受成本或其它限制条件的约束,系统设计人员往往想找出数据片上与片外传输的新方法。一种策略是利用未使用视频端口的资源,实际上是利用它来高速发送和接收非视频数据。这种方法的缺点之一就是数据必须被格式化成视频帧,这在工作中需要部分处理器MIPS的支持,而在设计周期中则需要宝贵的编程时间。

  其它的方法存在类似的困难,而且大多数标准片上数据接口是串行端口,不能执行高速数据传输。

  最终许多系统设计人员认识到将某种不符合特定接口标准,但能够以多种方式配置的高灵活高速外设专门用于数据传输会带来显著的优势。如果系统处理器必须与高速DAC、ADC、DSP乃至FPGA连接,实现250MB/秒的高速数据传输,则这种思路就非常有价值了。

  这种外设的基本架构很容易描述。它要有多个具有单独并行总线的通道,经配置后可以容纳超过一个字的长度。此外,它还要有内部DMA块,这样其工作就无需占用内核的MIPS预算。单、双倍数据速率以及多种数据打包格式也是可以使用的。

  TI各种嵌入式处理器都提供通用并行端口(uPP),包括Sitara ARM9 AM1808与AM1806微处理器(MPU)以及集成TMS320C674x内核与ARM9内核的OMAP-L138处理器。与SPI及UART等串行外设不同,uPP可为设计人员提供并行数据总线优势,每通道数据宽度为8位和16位。

  uPP在以75MHz的最高时钟速率运行时,能够以远超串行端口外设的速度传输数据。例如,单个运行在75MHz速率下的16位uPP通道能够比运行在50MHz速率下的SPI外设快24倍。简化的方框图见图3。

  uPP最重要的特性包括:

  具有单独数据总线的两个独立通道;两个通道可同时以相同或相反方向运行。

  I/O速度高达75MHz,每通道数据位宽为8~16位。

  内部DMA—可释放CPU EDMA。

  具有极少控制引脚的简单协议(可配置:每通道2~4个)。

  单倍及双倍数据速率(使用时钟信号的单沿或双沿);双倍数据速率要求37.5MHz的最高时钟速率。

  支持9~15位数据位宽的多种数据打包格式。

  数据交错模式(限单通道)。

  uPP与另一种专用于可配置数据处理的TI外设—主机端口接口(HPI)有某种相似之处。HPI是一种可帮助外部主机直接访问处理器内部存储器的并行接口。然而与HPI不同,uPP不允许外部设备直接访问存储器,它需要设备软件对I/O传输进行排队。其最大差异可能在于uPP比HPI速度快得多,而且协议也简单得多。

  uPP主要用于如FPGA或DSP等需要片外实时处理的应用,可为医疗领域等需要即时数据的市场带来极大的优势。通过使用uPP,决策处理器能够凭借最新信息做出结论。

  PRU

  可编程实时单元(PRU)是一种小型32位处理引擎,可为片上实时处理提供更多的资源。PRU专门用于AM1x MPU与OMPAP-L138解决方案中的TI嵌入式处理器,可为系统设计人员提供具有高灵活性的额外措施,通常可降低组件成本。

  PRU的四总线架构有助于指令随数据传输同步传输和执行。此外,还可提供一个输入寄存器,让外部状态信息反映在内部处理器的状态寄存器内。

  PRU设计的一个重要目的就是尽可能地创建灵活性,以便执行各种功能。PRU的高灵活性可帮助开发人员在其终端产品(不管是触摸屏、集成型显示屏还是存储功能)中整合更多的接口,以进一步扩展产品功能或者其自己的专有接口功能。该目标主要是通过提供包括所有系统存储器、I/O以及中断在内的PRU全面系统可视性实现的。

  虽然PRU能够全面访问系统资源,但其内部资源相对来说比较普通。它具有4K字节的指令存储器和512字节的数据存储器。此外,PRU还具有自己的GPIO,时延仅为数纳秒。

  PRU可通过使用简单的汇编语言代码编程来实施定制逻辑。该指令集可分为四大类:将数据移入或移出处理器内部寄存器;执行算术运算;执行逻辑运算;控制程序流。

  在工业应用中,通常将PRU配置为IO块,用来顶替处理器未能提供的IO。例如,它可以用在需要UART块组合的便携式数据终端中,用来连接GSM、GPS与蓝牙、小键盘、打印机、LED组以及RS232端口。然而,虽然该处理器系列中的最佳选择只集成了三个UART,但PRU可提供更多的UART接口,可充分满足不断发展的终端设备对处理各种功能的需求。

  除了用来顶替IO,PRU经编程后还可执行各种控制、监控或其它片上没有提供的功能。这种灵活性对于一些应用而言特别有帮助,这些应用包含的控制要求与任何标准处理器配置提供的控制要求不匹配。

ARM子系统与外设集成

  在评估ARM处理器中的外设接口时,理解外设与ARM子系统的集成方式非常重要。

  ARM处理器适合复杂、多任务的通用控制任务。它不但可为大型程序提供存储器空间,而且还具有良好的环境切换功能,适合运行实时操作系统(RTOS)和精细的高级操作系统。ARM负责系统配置与控制,其任务包括外设配置及控制、时钟控制、存储器初始化、中断处理以及电源管理等。ARM子系统包含ARM处理器以及作为整体处理器系统主控制器工作所必须的其它组件。

  典型ARM子系统包括下列组件组合:

  ARM内核(例如:ARM926EJ-S或ARM Cortex-A8):

  协处理器15(CP15)

  MMU

  写入缓冲器

  指令高速缓存

  数据高速缓存

  Java加速器

  Neon单指令、多数据(SIMD)协处理器

  矢量浮点协处理器(VFP)

  ARM内部存储器:

  RAM

  ROM(ARM引导加载程序)

  总线判优器:

  用于访问内部存储器的总线判优器

  用于访问系统及外设控制寄存器的总线判优器

  用于访问外部存储器的总线判优器

  调试、跟踪以及仿真模块:

  JTAG

  ICECrusher

  嵌入式跟踪宏单元(ETM)

  系统控制外设:

  ARM中断控制模块

  锁相环(PLL)及时钟控制模块

  电源管理模块

  系统控制模块

  可参考图5,了解典型ARM9 ARM子系统的方框图。

  对于USB、EMAC、SATA、uPP以及PRU等外设而言,ARM子系统可访问外设的控制与配置寄存器、时钟以及电源管理控制。

  本文小结

  虽然标准接口在设计系统的过程中发挥着重要作用,可帮助实现互操作性与低成本,并减少设计时间,但对需要实现产品差异化的设计团队而言,其实用性仍然很有限。设计人员还应依赖芯片厂商为其提供各种多组合标准接口。对芯片厂商而言,有助于高效实现接口的高质量软件库是实现差异化的另外因素。提供更高级别的灵活性也非常有帮助,这可以通过TI PRU与uPP等可配置接口获得。系统设计人员利用其工具套件中的这些选项,既可发挥创造性,同时又能保持组件的低成本。

  作者:Clay Turner

  James Doublesin

  Lawrence Ronk

  Steve Kipisz

  德州仪器

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map