强强联合:三款各具特色的嵌入式 Linux SBC
过去一年中,嵌入式 Linux 单板计算机 (SBC) 的世界得到了极大的扩展。我们现在看到了单板上的完整系统,由于更高程度的集成,这导致了新的应用领域,如独立服务器、小型网络设备、网络存储和信息亭终端。
表 1 汇总了其他 Linux SBC 的参考数据。之前的 ELJ 期刊也报道过 SBC。Doug Stead 在 2000 年 11 月/12 月 ELJ 特刊中发表的题为“使用 MZ104 进行嵌入式设计”的文章是对嵌入式系统的完整介绍,重点介绍了 PC/104 硬件外形尺寸和 MachZ 高集成微处理器。
在本文中,我们将了解最近的趋势如何为嵌入式 Linux 带来了新的应用,以及 Linux 的涌入如何为与专有系统的互操作性带来了一些有趣的可能。反过来,现在随着更高集成技术的普及,像 Linux 这样的开源软件也明显地对嵌入式产品的系统工程产生了深刻的变化。更高集成技术与 Linux 一起提供了上市时间优势,这对于减少将新微处理器集成到可部署的嵌入式系统中的固有工程挑战至关重要。我们首先从一家知名的 SBC 供应商开始。
Ampro Computers, Inc. 自 1983 年成立以来,对嵌入式计算机并不陌生。Ampro 总部位于加利福尼亚州圣何塞,是嵌入式 PC 行业的先驱,创建了流行的 PC/104 和 EBX 标准。“Linux 的崛起势不可挡”,Ampro 首席技术官 Paul Rosenfeld 说。“它带来了以前不存在的标准化水平。”
Ampro 有三个名为 EnCore 的新产品。三款新的 SBC 加入了较旧的第四款,在一个引脚兼容的外形尺寸中提供处理器产品。这些 SBC 是相对较小的板卡,大约 3.5 英寸 × 5.0 英寸。每个 EnCore SBC 都提供标准外围设备。包括 PS/2 键盘和鼠标接口、10/100Base-T 以太网、串行、并行、两个 USB UHCI 端口和 AC97 音频。对于程序存储,提供 2MB 闪存,可以容纳 Ultra/DMA 33 IDE 或软盘。根据型号,EnCore 板卡可以容纳 16MB 到 512MB 的 SODIMM DRAM,用于动态存储。
EnCore M2 是 Ampro 的首款基于 RISC 的 SBC。如图 1 所示,正如您所见,它相当小巧。RISC 处理器是 Alchemy Semiconductor, Inc. 的 400MHz Au1000。Au1000 具有高度集成性,将 MIPS32 兼容处理器内核与外部 PCI 总线控制器和标准外围设备捆绑在一起。这款 Au1000 仅需 500mW 的功耗。M2 SBC 的批量价格低于 300 美元。

图 1. Ampro 的 EnCore M2
Ampro 的另外两款新产品是 EnCore 400 和 EnCore 700(EnCore 400 如图 2 所示)。它们与 EnCore M2 引脚兼容,但旨在用于 PC 兼容的二进制文件。EnCore 400 是一款基于 ST Microelectronics STPC ATLAS 微处理器的 133MHz 486 兼容 CPU。EnCore 700 使用 500MHz Mobile Celeron 或 850MHz Pentium III 处理器。这两款 SBC 也都具有用于 CRC 和 TFT 平板显示器接口的图形控制器。EnCore 400 的价格低于 300 美元,EnCore 700 的批量价格低于 500 美元。

图 2. Ampro 的 EnCore 400
供应商。我们向他们提供必要的板级支持包 (BSP) 数据,以便他们可以帮助我们的客户快速启动并运行。” Rosenfeld 表示,Ampro 的主要客户是医疗电子、工业自动化和测试仪器领域经验丰富的 OEM 开发商
他们通常已经有了明确的技术应用,并希望利用基于 PC 的开发工具来加快上市时间。通过将自己定位为一家恰好使用玻璃纤维基板的片上系统公司,我们能够满足低于半导体公司产量的需求,但能以低于内部开发的成本和开发时间向 OEM 提供 SBC。
可以看到集成对这些新产品的影响。EnCore 模块可以放置在参考设计板上(见图 3)。这种连接形式是 OEM 应用板的典型特征,它将包含其系统的独特硬件。这种集成水平正在印证 Rosenfeld 的观点,即今天的 SBC 已经成为系统组件。这种方法与像更大的 PC/104 系统这样的夹层板解决方案形成鲜明对比。涉及的连接器接口更少,从而降低了成本和尺寸。
Equipment Monitor and Control, or EMAC, Inc. 自 1985 年以来一直存在,总部位于伊利诺伊州卡本代尔。自 1998 年以来,他们一直为嵌入式系统市场提供 Linux 发行版,并为构建自己系统的 OEM 提供交钥匙工程解决方案以及 SBC 硬件。
EMAC SBC 用于需要无风扇运行和极高可靠性的过程控制应用。首席工程师 Eric Rossi 描述了一个项目,其中嵌入式 Linux 为 GSI/Cumberland Hatcheries 孵化约 50,000 只鸡或火鸡提供了 0.1 度的温度控制和 24/7 的可靠性,时间窗口为十分钟。“GSI/Cumberland 的旧孵化系统需要他们飞遍全球最偏远的地区来排除孵化系统的故障”,Rossi 说。“EMAC 开发的新系统允许 GSI 通过 Web 排除系统故障,或者在无法访问互联网的情况下,直接拨号连接到系统,类似于拨号连接到互联网提供商。”
图 4 显示了 EMAC PCM-53E30,这是一款紧凑型 EBX 板卡,具有单或双 10/100Base-T 以太网。它基于 133MHz ZFx86 处理器。这款 SBC 的尺寸为 5.75 英寸 × 4.00 英寸,重量为 0.38 磅。提供了一个 144 针 SODIMM 插槽,用于高达 256MB 的 SDRAM。提供 16MB 的 RFA StrataFlash,并且有一个板载插槽,支持高达 256MB 的 CompactFlash 磁盘。

图 4. EMAC 的 PCM-53E30
PCM-53E30 提供两个 RS-232 串行端口,其中一个可以选配 RS-422/485。这在监控或控制应用中非常重要,这些应用通常在电气噪声环境中工作(想想巨大的三相交流加热器)。它有一个 FDD 端口,最多可连接两个软盘驱动器、键盘/鼠标连接器和一个锂电池备份的实时时钟。为了提供更大的扩展性,PCM-53E30 还提供了一个板载 PC/104-Plus 连接器。PCM-53E30 的单价为 285 美元。
为了为嵌入式 Linux 应用提供可编程的 Web 启用控制面板,EMAC, Inc. 提供了 PPC-E5 紧凑型面板 PC,如图 5 所示。这是一款 6.18 英寸 × 4.4 英寸 × 2.0 英寸的 SBC,与带有电阻式触摸屏的 5.5 英寸 STN 彩色 LCD 配对。它无需风扇。该显示器具有 QVGA 分辨率,320 × 240,256K 色彩,显示控制器可以同时支持 CRT 和 LCD。处理器是 133MHz AMD 486DX5,带有 RadiSys R400EX 芯片组。10Base-T 以太网控制器使用 SMC 91C96,最多可提供 64MB 的 72 针 SIMM EDO DRAM。Linux 已准备好在高达 288MB 的闪存上运行。同样,体现工业自动化用途的是,有两个 RS-232 串行端口,其中一个可转换为 RS-422/485。提供了最多两个 FDD 的端口和一个 PC/104 连接器用于扩展。PPC-E5 的单价为 995 美元。

图 5. EMAC 的 PPC-E5 紧凑型面板 PC
EMAC 为 PC 兼容的 SBC 提供针对闪存、USB 和增强型网络优化的 Linux 2.4 内核。EMAC 营销总监 Bill Hummel 解释说,“闪存占用空间仅为 6.5MB,为使用 8MB 闪存的应用留出了 1MB 以上的可用空间。” 这个发行版使用 glibc 2.3,提供与 Red Hat 7.1 和其他发行版的二进制兼容性。它还具有“符合 GPL 规范的磁盘芯片驱动程序”,Hummel 说。
EMAC 硬件代表了嵌入式 Linux 应用的另一种极端情况。提供了更大的本地闪存存储,Linux 实际上从那里运行,因此闪存不一定仅为使用网络或移动磁盘的 Linux 提供引导加载程序。这是因为应用程序必须极其可靠地运行,并且没有移动部件。本地软件提供容错能力,可能在网络服务中断的情况下也能运行。Rossi 解释说,“我们对 Debian 进行了修改,以提供来自闪存的自启动 Linux 应用程序,其中闪存的只读部分与读/写部分共存,具有安全性。”
现在来谈谈一些原始的嵌入式 Linux 性能。与其他两家供应商一样,位于加利福尼亚州圣地亚哥的 Team ASA, Inc. 自 20 世纪 80 年代以来一直存在。他们是面向印前和数字多媒体的高性能网络产品的制造商。他们构建产品以支持那些整天在生产工作流程中使用超大文件的人们。
Team ASA 总裁 Mark Murray 解释了他们的创业历程
我们最初是一家著名动画公司的承包商,该公司确实需要完成一个硬件项目,此前该项目已被放弃。我们做了很多高端图像处理卡,并与很多高端 Macintosh 应用程序合作。随着时间的推移,我们开始注意到我们的客户需要真正的高性能网络,因为他们的文件很大,所以我们进入了这个领域。
Murray 解释说,他们是第一家为 Mac 提供 FDDI 板卡的公司。后来,他们开始提供 1000Base-T 以太网外围卡。“我们决定做一些具有高性能和更广泛吸引力的东西。那时我们选择了 Linux 用于网络附加存储、RAID 和个人服务器”,Murray 说。
Npwr Linux 引擎如图 6 所示,具有令人惊叹的 Linux SBC 功能。它使用 Intel XScale 基于 RISC 的 I/O 处理器,也称为 Intel 80310。该设备是超流水线的;它具有乘法累加协处理器和一个 100MHz I/O 总线,支持高达 64 位,带有 ECC。该处理器具有时钟频率控制的软件支持——令人难以置信的是,在 333MHz 时它仅需 750mW 的功耗。Npwr 支持三个处理器版本:400MHz、600MHz 和 733MHz。XScale 处理器与 StrongARM SA-110 的应用程序代码兼容,并且符合 ARM 版本 5TE 标准。

图 6. Team ASA 的 Npwr Linux 引擎
Npwr 附带在 4-32 MB 闪存上即可运行的 Linux,以及一个工具包光盘 CD-ROM。它标配 128MB PC1000 SDRAM,可选配高达 512MB。除了强大的处理器外,这款板卡还支持极速 I/O。它配备千兆以太网,通过铜缆提供 1000Base-T。它还具有 320/160MB/s 宽 SCSI。Murray 表示,很快将提供第二个千兆以太网端口的选项。Npwr 板卡的设计尺寸小于半高 5.25 英寸磁盘驱动器托架,略小于 5 英寸 × 8 英寸的外形尺寸。“空间不大”,Murray 说。该板卡可用作独立的 Linux 服务器、嵌入式 RAID 控制器或多单元集群。Npwr 的 466MHz 处理器版本价格为 1,195 美元,600MHz 处理器版本价格为 1,295 美元,733MHz 处理器版本价格为 1,395 美元。
Team ASA 还销售基于 Npwr 的网络附加服务器设备,称为 Npwr Server,如图 7 所示。这些高性能独立服务器专为印前和数字多媒体而设计。它们分为两个版本:30GB/600MHz 版本价格为 1,495 美元,而 60GB/733MHz 版本价格为 1,995 美元。

图 7. Team ASA 的 Npwr Server
Team ASA 使用带有内核 2.4.9 的 Debian Linux 发行版。Murray 就处理器中的小细节如何产生巨大影响提供了一些见解
XScale 处理器有很多优点,但它没有像 Linux 内核支持的高端处理器那样的窥探缓存。这意味着必须修改内核例程以允许并发 I/O。这会产生一系列小的后续影响,一直到驱动程序级别。
最终,Linux 证明了自己很容易适应这种性质的更改。

Michael Baxter 自九岁起就从事计算机技术工作,1969 年观看《2001:太空漫游》后深受影响。他是一位经验丰富的计算机架构师、系统、板卡和 FPGA 逻辑设计师。Michael 拥有十项美国计算机架构和逻辑专利,以及四项作为共同发明人的专利。他与 Linux 相关的兴趣包括开源 Verilog 和 EDA 工具、Python、自动化源代码生成、并发性和硬件问题。