对于设计人员而言,根据应用的性能、电源、存储器以及接口要求寻找特定的嵌入式处理器是一项令人生畏的艰巨任务,因为即便是相似的系统也存在着显着的差异。尽管ARM?处理器提供十几种选择,系统设计人员却很难找到“完美的搭配”.
本文将重点介绍各种标准接口,并揭示它们对不同嵌入式芯片厂商的区别所在。了解基本接口可帮助设计人员优先考虑哪些接口应为片上。另外,虽然标准接口具有很高的使用价值,但为了提供额外的片上资源,也需要可定制化的片上接口。本文将介绍两种这样的外设块。
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 类型的 USB3.0 推广团队 (the USB 3.0 Promoter Group)得以成立,这种 USB 类型不但向后兼容以前的 USB 标准,而且还可提供比 USB2.0 快 10 倍的数据速率。USB 3.0 采用新的信号发送方案,并通过保留 USB 2.0 双线接口实现了向后兼容性。然而这种更快的版本还处于部署初期,USB 2.0 今后数年仍将是最常用的 USB 类型,其具有高速 (480Mbps)、低速 (1.5Mbps) 以及全速 (12Mbps) 三种速度选项。
EMAC
虽然符合IEEE 802.3以太网标准的接口一般会被误称为以太网介质访问控制器 (EMAC),但完整的 EMAC 子系统接口实际上包括三个模块,这三个模块可能会集成在片上,也可能不会:
1.物理层接口 (PHY);
2.以太网 MAC,其可实施协议的 EMAC 层;
3.定制接口一般称为 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) 支持。此外,部分处理器现在还支持可实现 1000 Mbit/秒数据速率的千兆位 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 控制器包括以下设计块:
· 存储器控制;
· 读取接口;
· 写入接口;
· 以及 IO 块。
这些块以及它们与 DDR2 存储器芯片及核心逻辑的关系见图 2 所示。
存储器控制块发出存储器对专用核心逻辑的访问,反过来也是如此。读取物理块负责处理在各个读取周期中采集数据的外部信号时序,而写入物理块则使用适当的外部信号时序管理时钟与数据的发出。
字节宽度双向数据选通 (DQS) 随数据 (DQ) 通过外部方式传输,用于采集目的。DQS 在读取存储器时由控制器通过边缘对齐的方式传输,而在写入存储器时则采用中心对齐的方式。片上延迟锁相环 (DLL) 用于锁住 DQS 及相应的 DQ.这可在电压及温度发生变化时确保它们能够彼此跟踪。
DDR2 SRAM具有差分时钟输入,可降低时钟输入占空比变化时的影响。此外,DDR2 SRAM 还支持数据掩码信号,可在各个写入周期中为数据位添加掩码。
移动 DDR (MDDR) 也称低功耗双倍数据传输速率存储器 (LPDDR),因为其工作电压为 1.8 V,而传统存储器工作电压为 2.5 V 或 3.3 V,通常用于便携式电子产品。此外,移动 DDR 存储器还支持传统 DDR2 存储器不具备的低功耗状态。与所有 DDR 存储器一样,双倍数据传输速率是通过器件时钟上下沿同时传输数据实现的。
由于片上外设的数量受成本或其它限制条件的约束,系统设计人员往往想找出数据片上与片外传输的新方法。一种策略是利用未使用视频端口的资源,实际上是利用它来高速发送和接收非视频数据。这种方法的缺点之一就是数据必须被格式化成视频帧,这在工作中需要部分处理器 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 最重要的特性包括:
· 具有单独数据总线的两个独立通道;
o 两个通道可同时以相同或相反方向运行
· I/O 速度高达 75MHz,每通道数据位宽为 8 ~ 16 位;
· 内部DMA -可释放CPU EDMA;
· 具有极少控制引脚的简单协议(可配置:每通道 2 ~ 4 个);
· 单倍及双倍数据速率(使用时钟信号的单沿或双沿);
o 双倍数据速率要求 37.5MHz 的最高时钟速率;
· 支持 9 ~ 15 位数据位宽的多种数据打包格式;
· 数据交错模式(限单通道)。
uPP 与另一种专用于可配置数据处理的 TI 外设-主机端口接口 (HPI) 有某种相似之处。HPI 是一种可帮助外部主机直接访问处理器内部存储器的并行接口。然而与 HPI 不同,uPP 不允许外部设备直接访问存储器,它需要设备软件对 I/O 传输进行排队。其最大差异可能在于 uPP 比 HPI 速度快得多,而且协议也简单得多。
文章评论(0条评论)
登录后参与讨论