关于规划人员而言,依据运用的功用、电源、存储器以及接口要求寻觅特定的嵌入式处理器是一项令人生畏的艰巨使命,因为即便是相似的体系也存在着明显的差异。尽管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 所示。
图 1:EMAC 子体系
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 所示。
图 2:简化型 DDR2 操控器的施行
存储器操控块宣布存储器对专用中心逻辑的拜访,反过来也是如此。读取物理块担任处理在各个读取周期中收集数据的外部信号时序,而写入物理块则运用恰当的外部信号时序办理时钟与数据的宣布。
字节宽度双向数据选通 (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 存储器相同,双倍数据传输速率是经过器材时钟上下沿一起传输数据完成的。
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.
图 3:uPP 的简化方框图
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 速度快得多,并且协议也简略得多。
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 与蓝牙 (Bluetooth)、小键盘、打印机、LED 组以及 RS232 端口。但是,尽管该处理器系列中的最佳挑选只集成了三个 UART,但 PRU 可供给更多的 UART 接口,可充沛满意不断发展的终端设备对处理各种功用的需求。
图 4:选用 PRU 扩展现有设备外设的功用
除了用来代替 IO,PRU 经编程后还可履行各种操控、监控或其它片上没有供给的功用。这种灵敏性关于一些运用而言特别有协助,这些运用包含的操控要求与任何规范处理器装备供给的操控要求不匹配。
ARM子体系与外设集成
在评价 ARM 处理器中的外设接口时,了解外设与 ARM 子体系的集成办法十分重要。
ARM 处理器合适杂乱、多使命的通用操控使命。它不光可为大型程序供给存储器空间,并且还具有杰出的环境切换功用,合适运转实时操作体系 (RTOS) 和精密的高档操作体系。ARM 担任体系装备与操控,其使命包含外设装备及操控、时钟操控、存储器初始化、中止处理以及电源办理等。ARM 子体系包含 ARM 处理器以及作为全体处理器体系主操控器作业一切必要的其它组件。
典型 ARM 子体系包含下列组件组合:
· ARM内核 (例如:ARM926EJ-S或ARM Cortex-A8?)
o 协处理器15 (CP15)
o MMU
o 写入缓冲器
o 指令高速缓存
o 数据高速缓存
o Java加速器
o Neon单指令、多数据 (SIMD) 协处理器
o 矢量浮点协处理器 (VFP)
· ARM内部存储器
o RAM
o ROM (ARM引导加载程序)
· 总线判优器
o 用于拜访内部存储器的总线判优器
o 用于拜访体系及外设操控寄存器的总线判优器
o 用于拜访外部存储器的总线判优器
· 调试、盯梢以及仿真模块
o JTAG
o %&&&&&%ECrusher
o 嵌入式盯梢宏单元 (ETM)
· 体系操控外设
o ARM中止操控模块
o 锁相环 (PLL) 及时钟操控模块
o 电源办理模块
o 体系操控模块
可参阅图 5,了解典型 ARM9 ARM 子体系的方框图。
图 5:ARM 子体系方框图
关于 USB、EMAC、SATA、uPP 以及 PRU 等外设而言,ARM 子体系可拜访外设的操控与装备寄存器、时钟以及电源办理操控。
定论
尽管规范接口在体系规划进程中发挥着重要的效果,可为规划完成互操作性与低本钱,并削减规划所需的时刻,但对需求完成产品差异化的规划团队而言,其实用用性依然很有限。规划人员还应依靠芯片厂商为其供给各种多组合规范接口。对芯片厂商而言,可协助高效施行接口的高质量软件库是完成差异化的其它要素。供给更高档别的灵敏性也十分有协助,可以经过 TI PRU 与 uPP 等可装备接口取得。体系规划人员运用其东西套件中的这些选项,既可发挥创造性,一起又能坚持组件的低本钱。