目前嵌入式计算机系统应用呈现多样化、小型化、多层次的趋势,在工业现场和军事用途中扮演着越来越重要的角色。随着各种应用对操作系统和软件要求的日益提高,使得具有广泛适应性的PC构架的嵌入式计算机系统倍受青睐。尤其是Compact PCI总线在工业和军用领域的广泛应用,为PC构架的嵌入式计算机系统提供了更多的应用环境。然而,对于一个计算机系统来说,主机的开发周期一般都较长,也较为复杂。Compulab公司开发的系列嵌入式PC模块为开发PC构架的嵌入式计算机系统提供了新思路。即以嵌入式PC为核心,通过各种总线桥接电路开发出适应各种总线要求的嵌入式计算机;同时也为迅速提高各种嵌入式计算机系统的性能提供一条行之有效的途径。 本文介绍以Compulab公司的系列嵌入式PC模块为核心的嵌入式计算机系统的一个设计实例。
1. Compulab 786Core
以色列Compulab生产的786Core是一种小型的、功能很强的高性价比单板嵌入式PC模块
它适用于各种以PC构架为基础的嵌入式应用中。786Core配置了运行Windows、Linux、VxWorks和DOS等操作系统所需的各种芯片组,并配备了相应的BIOS。嵌入式PC模块786Core具有体积小、功能强等特点。整个模块面积仅99mm×69mm,却集成了PentiumIII/Celeron400~700MHz CPU、32~256M SDRAM、LPC、5V兼容的PCI及AC97总线控制,同时还提供VGA/SXGA、两个USB接口、两个PS/2接口、两个10Mbps/100Mbps以太网接口、ATA IDE接口、软驱接口、一个RS 232和一个RS 422串口。为了适应嵌入式应用,786Core还内置了嵌入式BIOS。786Core的体系结构框图见
1. Compulab 786Core
以色列Compulab生产的786Core是一种小型的、功能很强的高性价比单板嵌入式PC模块
它适用于各种以PC构架为基础的嵌入式应用中。786Core配置了运行Windows、Linux、VxWorks和DOS等操作系统所需的各种芯片组,并配备了相应的BIOS。嵌入式PC模块786Core具有体积小、功能强等特点。整个模块面积仅99mm×69mm,却集成了PentiumIII/Celeron400~700MHz CPU、32~256M SDRAM、LPC、5V兼容的PCI及AC97总线控制,同时还提供VGA/SXGA、两个USB接口、两个PS/2接口、两个10Mbps/100Mbps以太网接口、ATA IDE接口、软驱接口、一个RS 232和一个RS 422串口。为了适应嵌入式应用,786Core还内置了嵌入式BIOS。786Core的体系结构框图见
786Core强大和灵活的功能为嵌入式计算机系统设计者提供了较为广阔的设计空间。尤其是通过PCI总线开发出的Compact PCI总线体系结构,更加扩展了该嵌入式系统的功能和应用领域。然而,由于Compact PCI总线的电气性能和协议的特殊性,基于该总线的设备开发难度可想而知。通常采用多种PCI桥接逻辑,将Compact PCI总线上的操作转换成其他较为简单的总线操作。
2. 基于786Core的嵌入式计算机系统设计与实现嵌入式PC模块的出现和发展,以及基于PCI总线的各种桥接电路的广泛应用,使得嵌入式计算机系统的开发周期大大缩短,并直接提高了系统的实用性和软件应用的灵活性。
2.1 系统组织与结构图2描述一个以PIII CPU为核心的高性能嵌入式计算机系统。它包括16路差分输入A/D、4路RS-232/422串口和双8139以太网控制器,以及与机箱相应的抗恶劣环境电源。该系统的所有模块均为标准的3U尺寸,机箱为加固的4槽3U机箱。由于嵌入式PC模块提供的PCI总线不能提供足够的负载能力,因此主机模块必须为其增加一个PCI-PCI的桥接芯片--Intel S21152BB。该芯片提供的PCI总线可支持四个PCI设备。而总线上的设备对于Compact PCI总线来说必须且只能是唯一的负载。如果要增加负载,则必须有一个桥接芯片扩展总线的负载能力。如图2中的双网模块。由于该模块中的两个以太网控制器RTL8139D为PCI总线的负载,首先通过PCI-PCI桥接芯片--Intel S21152BB将总线扩展,再完成两个以太网卡的功能。另外,作为Compact PCI总线系统,所有模块包括系统底板(BACKPLANE)均按照Compact PCI规范PCIMG2.0 R2.1设计,包括终端匹配电阻的设计(如图2)、底板时钟和中断设计以及其他电气性能的设计。
2.2 扩展模块的设计与实现本系统中,除主机模块外还有三个扩展模块,它们分别完成系统对模拟信号的采样及处理(AD模块)、系统与其他设备的通信(4串口模块)以及系统与Internet的连接(双网模块)。本系统中除了上文指出的双网模块需要PCI-PCI的桥接芯片外,AD模块和串口模块与CPCI总线连接同样需要桥接芯片AMCC S5920的支持(如图2所示)。AMCC S5920是单一芯片的多功能设备,它为设计者提供了一条灵活而简便的通往PCI总线的道路。通过使用S5920,模块设计者无须考虑PCI总线的各种电气性能和时序的特殊要求,只需根据S5920转换后的类似ISA的TTL电平的ADD-ON总线进行设计即可。作为PCI上的目标设备,S5920可提供132Mbps的数据传输率,兼容33MHx的PCI总线和高达40MHz的ADD-ON总线,由它转换出的ADD-ON总线可支持8、16和32位的数据宽度。
(1)AD模块支持16路模拟差分输入,信号的采样及AD转换由AD976完成,采样结果由单片机89C52平滑处理后通过光电隔离器件发送到CPLD,再由CPLD存放于静态RAM中供上位机读取。该模块占用32字节8位宽I/O空间,用于存放16路16位精度的AD采样结果。(2)串口模块通过CD1865支持4路RS-232/422串口,占用512字节8位宽I/O空间、1路中断。
2.3 软件设计本系统采用VxWorks嵌入式操作系统。它是目前所有独立于处理器的实时系统中最具特色的操作系统之一。VxWorks的微内核Wind是一个具有较高性能的、标准的嵌入式实时操作系统内核。其主要特点包括:快速多任务切换、抢占式任务调度、任务间通信手段多样化等。该内核具有任务切换时间短、中断延迟小、网络流量大等特点,与其他嵌入式实时操作系统相比具有一定的优势。 所有模块的驱动程序均在VxWorks下开发,开发环境为Tornado II。它是嵌入式实时领域里最新一代的开发调试环境,是实现嵌入式实时应用程序的完整的软件开发平台。本系统各个模块的驱动程序均用C语言编写,并在Tornado II下编译成".O"文件用以提供给用户作为二次开发的中间件。操作系统及应用程序均存放于主机模块的192MB电子盘上,使得软件的运行速度大大提高,也使系统可以工作在温度和稳定性条件都非常恶劣的环境里。
2.4 该系统的特点及技术指标
(1)高性能PIII 700MHz CPU核心,128M SDRAM,192MB电子盘;
(2)支持多种操作系统:DOS、VxWorks、Windows XP/2000、Linux等
(3)串口模块:4路全双工异步串口,传输速率可达115.2kbps,通过软件设置可选择不同的串口通信方式,RS-232(V.28) 或RS-422(V.11,X.21)
(4)AD模块:16路模拟差分输入,支持AD数据智能调理,AD转换时间最短可达5μs/Sample,有效输入信号范围:-15V~+15V,模拟采样部分与CPCI总线数字部分光电隔离
(5)双网卡:10Mbps/100Mbps自适应以太网,支持自动故障诊断、切换和恢复;
(6)先天加固抗震设计;
(7)热传导散热设计;
(8电磁兼容性设计;
(9)3U标准尺寸。
本文描述的嵌入式计算机系统具有广泛的适用性,由于采用了先天的加固、抗震和热传导设计,在环境特别恶劣的工业现场和军事领域适应性极强。此外,该系统的设计过程是一条行之有效的快速开发嵌入式计算机系统的道路,并较易形成产品的系列化,提高产品的市场竞争力。
2. 基于786Core的嵌入式计算机系统设计与实现嵌入式PC模块的出现和发展,以及基于PCI总线的各种桥接电路的广泛应用,使得嵌入式计算机系统的开发周期大大缩短,并直接提高了系统的实用性和软件应用的灵活性。
2.1 系统组织与结构图2描述一个以PIII CPU为核心的高性能嵌入式计算机系统。它包括16路差分输入A/D、4路RS-232/422串口和双8139以太网控制器,以及与机箱相应的抗恶劣环境电源。该系统的所有模块均为标准的3U尺寸,机箱为加固的4槽3U机箱。由于嵌入式PC模块提供的PCI总线不能提供足够的负载能力,因此主机模块必须为其增加一个PCI-PCI的桥接芯片--Intel S21152BB。该芯片提供的PCI总线可支持四个PCI设备。而总线上的设备对于Compact PCI总线来说必须且只能是唯一的负载。如果要增加负载,则必须有一个桥接芯片扩展总线的负载能力。如图2中的双网模块。由于该模块中的两个以太网控制器RTL8139D为PCI总线的负载,首先通过PCI-PCI桥接芯片--Intel S21152BB将总线扩展,再完成两个以太网卡的功能。另外,作为Compact PCI总线系统,所有模块包括系统底板(BACKPLANE)均按照Compact PCI规范PCIMG2.0 R2.1设计,包括终端匹配电阻的设计(如图2)、底板时钟和中断设计以及其他电气性能的设计。
2.2 扩展模块的设计与实现本系统中,除主机模块外还有三个扩展模块,它们分别完成系统对模拟信号的采样及处理(AD模块)、系统与其他设备的通信(4串口模块)以及系统与Internet的连接(双网模块)。本系统中除了上文指出的双网模块需要PCI-PCI的桥接芯片外,AD模块和串口模块与CPCI总线连接同样需要桥接芯片AMCC S5920的支持(如图2所示)。AMCC S5920是单一芯片的多功能设备,它为设计者提供了一条灵活而简便的通往PCI总线的道路。通过使用S5920,模块设计者无须考虑PCI总线的各种电气性能和时序的特殊要求,只需根据S5920转换后的类似ISA的TTL电平的ADD-ON总线进行设计即可。作为PCI上的目标设备,S5920可提供132Mbps的数据传输率,兼容33MHx的PCI总线和高达40MHz的ADD-ON总线,由它转换出的ADD-ON总线可支持8、16和32位的数据宽度。
(1)AD模块支持16路模拟差分输入,信号的采样及AD转换由AD976完成,采样结果由单片机89C52平滑处理后通过光电隔离器件发送到CPLD,再由CPLD存放于静态RAM中供上位机读取。该模块占用32字节8位宽I/O空间,用于存放16路16位精度的AD采样结果。(2)串口模块通过CD1865支持4路RS-232/422串口,占用512字节8位宽I/O空间、1路中断。
2.3 软件设计本系统采用VxWorks嵌入式操作系统。它是目前所有独立于处理器的实时系统中最具特色的操作系统之一。VxWorks的微内核Wind是一个具有较高性能的、标准的嵌入式实时操作系统内核。其主要特点包括:快速多任务切换、抢占式任务调度、任务间通信手段多样化等。该内核具有任务切换时间短、中断延迟小、网络流量大等特点,与其他嵌入式实时操作系统相比具有一定的优势。 所有模块的驱动程序均在VxWorks下开发,开发环境为Tornado II。它是嵌入式实时领域里最新一代的开发调试环境,是实现嵌入式实时应用程序的完整的软件开发平台。本系统各个模块的驱动程序均用C语言编写,并在Tornado II下编译成".O"文件用以提供给用户作为二次开发的中间件。操作系统及应用程序均存放于主机模块的192MB电子盘上,使得软件的运行速度大大提高,也使系统可以工作在温度和稳定性条件都非常恶劣的环境里。
2.4 该系统的特点及技术指标
(1)高性能PIII 700MHz CPU核心,128M SDRAM,192MB电子盘;
(2)支持多种操作系统:DOS、VxWorks、Windows XP/2000、Linux等
(3)串口模块:4路全双工异步串口,传输速率可达115.2kbps,通过软件设置可选择不同的串口通信方式,RS-232(V.28) 或RS-422(V.11,X.21)
(4)AD模块:16路模拟差分输入,支持AD数据智能调理,AD转换时间最短可达5μs/Sample,有效输入信号范围:-15V~+15V,模拟采样部分与CPCI总线数字部分光电隔离
(5)双网卡:10Mbps/100Mbps自适应以太网,支持自动故障诊断、切换和恢复;
(6)先天加固抗震设计;
(7)热传导散热设计;
(8电磁兼容性设计;
(9)3U标准尺寸。
本文描述的嵌入式计算机系统具有广泛的适用性,由于采用了先天的加固、抗震和热传导设计,在环境特别恶劣的工业现场和军事领域适应性极强。此外,该系统的设计过程是一条行之有效的快速开发嵌入式计算机系统的道路,并较易形成产品的系列化,提高产品的市场竞争力。