COM Express定义5个I2C接口到模板连接器上供载板使用,5个接口中的3个用于特殊目的(VGA、LVDS及DVO),第4个接口用于SMBus,用于管理,第5个接口市通用目的的I2C接口,通用目的的I2C接口也可用于支持载板上的ROM,ROM里包含BIOS使用的载板PCIe映像信息。注意,并不是所有的COM Express模块支持这个特征。
对于这个通用的I2C总线接口,可能会由于软件支持上的问题限制了用户的使用,因为这需要驱动!
信号 |
脚 |
描述 |
I/O |
电源 |
I2C_CK |
B33 |
I2C时钟 |
O CMOS |
3.3V |
I2C_DAT |
B34 |
I2C数据 |
I/O CMOS |
3.3V |
I2C的时钟和数据线的上拉电阻在模板上已经有了。载板上不要有上拉电阻。
如在载板上扩展一个EEPROM:
因为I2C总线是低速信号,所以,布线要求并不严格。
SMBus主要用作管理外设,比如对RAM的串行存在检测(SPD)、温度传感器、PCI/PCIe设备、智能电池等。这些载板上的设备可以通过SMBus连接到模板上。设计者需要考虑一些因素以确保SMBus的操作。SMBus其实就是I2C总线,所以在传输信息时有可能会出现数据线死锁,这要求一个上电周期来清除这个错误条件。SMB器件包含一个超时电路,以监视和纠正这个错误。为了在系统S0-S5状态期间能够进行控制,模板上要求给SMBus总线设备提供Suspend电源,而载板上通常使用3.3V主电源供电。为避免载板上的主电源和模块Suspend电源间的漏电流,载板上的SMBus必须通过一个总线开关将模块的SMBus总线分离开。图43显示了这个电路。然而,如果载板也使用Suspend电源给SMBus器件供电,那么这些器件必须连接到SMBus侧的Suspend电源,也就是说,在COM Express模块和总线开关之间。
因为SMBus由模块和载板使用,所以必须注意确保载板上的器件地址不要覆盖模板上的地址空间。一般模块定义SMBus器件和它们的地址包括存储器SPD(串行存在检测:1010 000x,1010 001x),可编程时钟综合(1101 001x)、时钟缓冲(1101 110x)、温度传感器(1001 000x),管理控制器(厂家定义的地址)。请参考模块手册。
图43 SMBus分离:
信号 |
脚 |
描述 |
I/O |
电源 |
SMB_CK |
B13 |
SMBus时钟线 |
I/O OD CMOS |
3.3VSuspend电源 |
SMB_DAT |
B14 |
SMBus数据线 |
I/O OD CMOS |
3.3VSuspend电源 |
SMB_ALERT# |
B15 |
SMBus报警 |
I CMOS |
3.3VSuspend电源 |
SMBus应当要不连接到所有的PCIe/PCI设备和插座上,要不一个也不要连接。通常并不推荐将这些设备连接到SMBus上。
SMBus最多连接3个外部器件。请参考模块的技术资料。
因为是低速信号,所以,布线要求并不严格。
表32 其他类型的信号
信号 |
脚 |
描述 |
I/O |
注释 |
Type0# |
C54 |
指示COM板管脚的类型,为了指示模块的脚类型,这些脚在模块上悬空或者拉到地上。载板必须有附加的逻辑,在管脚不兼容的时候,防止系统打开电源。 |
O 5V PDS |
|
Type1# |
C57 |
|||
Type2# |
D57 |
|||
SPKR |
B32 |
输出,用来控制外部FET或一个逻辑门,用来驱动一个外部喇叭 |
O 3.3V CMOS |
|
BIOS_DISABLE# |
A34 |
输入,禁止模块BIOS Flash内存芯片,这个信号提供实现:安装在外部载板上的BIOS FLASH内存芯片的可能。 |
I 3.3V CMOS |
参考2.15.2.3 LPC固件HUB |
WDT |
B27 |
输出,指示看门狗超时事件发生。 |
O 3.3V CMOS |
|
KBD_RST# |
A86 |
模块的输入信号,来自外部键盘控制器,强制系统复位 |
I 3.3V CMOS |
|
KBD_A20GATE |
A87 |
输入,外部键盘控制器控制CPU A20地址线的使用。A20地址线限制对系统最低1兆字节内存的存取。在模块内部上拉。 |
I 3.3V CMOS |
|
GPO0 |
A93 |
通用目的的输出脚,用于系统特定的用处 |
O 3.3V CMOS |
参考模块的用户手册 |
GPO1 |
B54 |
|||
GPO2 |
B57 |
|||
GPO3 |
B63 |
|||
GPI0 |
A54 |
通用目的的输入脚,用于系统特定的用处。这些信号,模块内部都上拉 |
I 3.3V CMOS |
参考模块的用户手册 |
GPI1 |
A63 |
|||
GPI2 |
A67 |
|||
GPI3 |
A85 |
表33:模块类型的检测
模块类型 |
TYPE0# |
TYPE1# |
TYPE2# |
|
模块Type1 |
X(无关) |
X(无关) |
X(无关) |
|
模块Type2 |
NC |
NC |
NC |
|
模块Type3 |
NC |
NC |
GND |
无IDE接口 |
模块Type4 |
NC |
GND |
NC |
无PCI接口 |
模块Type5 |
NC |
GND |
GND |
无IDE、PCI接口 |
图45 模块类型2检测电路
如果模块不是类型2,那么PS_ON#信号不会变低,电源不会打开。注意,检测逻辑使用的电源是VCC_5V_SBY。
PC-AT结构,提供一个喇叭控制信号,用来产生Beep响声,这个信号是一个数字逻辑信号,可以通过系统定时器来产生,当产生错误的时候,可以产生BEEP以作为报警提示,BIOS通常提供一个BEEP代码,用来指示硬件测试时候出现的故障类型,应用软件通常也使用BEEP声来提示一个错误。
这里的喇叭信号不要与音频CODEC产生的模拟音频信号相混淆,在许多系统中,PC-AT的喇叭信号送到音频CODEC输入中的一个,允许同别的音频信号混合在一起,可以在CODEC驱动下耳机音响里听到。
COM Express模块提供的喇叭输出被称为“SPKR”,由外部的FET或逻辑门驱动连接到一个PC喇叭上。这个喇叭可以是个蜂鸣器。
RTC(实时时钟)用来在COM板没有连接主电源的时候,提供时间和日期时钟电路的正常工作,通常使用+3V锂电池为RTC的时钟。COM Express定义了一个额外的电源脚“VCC_RTC”,用作将外部电池连接到RTC模块的电源上,规定电池的输入电压范围是+2.0V到+3.0V,“VCC_RTC”信号在A47脚上。
RTC电池电路需要有一个反接保护,可以通过一个SCHOTTKY二极管来实现,如下图。
这个电路的一个缺点是,由COM Express模块显示的电池电源监视结果可能会不正确,因为当系统允许的时候,漏电流的负载是电池电路的电容,这会导致在“VCC_RTC”脚上有一个较高的电压,从而引起监视结果的错误。
RTC电池寿命决定系统电池替换的间隔时间。RTC电池电路的漏电流对电池的寿命影响是很大的,所以设计的时候,必须仔细考虑。
COM Express定义了一些控制信号,用来控制系统的状态,比如上电和复位条件,这使得系统设计者能够实现ACPI全兼容系统。支持系统状态从S0到S5。一个ACPI兼容系统的最小硬件要求是一个ATX电源和电源按钮。
下面的表提供一个简洁的描述。
表34 系统状态S0-S5定义
系统状态 |
描述 |
电源状态 |
S0全部上电 |
系统全部工作,所以单元均供电 |
所有电源均上电 |
S1待机(PSO) |
休眠状态,系统上下文不丢失,硬件维持所有系统上下文,在S1器件,系统地一些元器件处于低功耗状态 |
所有电源均上电 |
S2 |
不支持 |
|
S3 RAM待机(STR) |
当前的系统状态和上下文存于主内存中,所有不必要的系统逻辑断电 |
仅主存和唤醒系统需要的逻辑由Suspend电源供电,所有其它电源均关闭。 |
S4磁盘待机(STD) |
当前的系统状态和上下文存于磁盘中,所有不必要的系统逻辑断电。S4类似于S5,仅由OS支持 |
类似S5,所有其它电源均关闭 |
S5软件关机 |
在S5状态,系统切断电源,仅可能通过电源按钮或一个系统唤醒事件(比如WAKE ON LAN或者RTC报警)来重新启动, |
Suspend电源供电,所有其它电源均关闭。 |
表35 电源管理信号描述
信号 |
脚 |
描述 |
I/O |
注释 |
PWRBTN# |
B12 |
电源按钮,低有效信号,用来将系统从S5状态唤醒,这个信号的下降沿触发。 |
I 3.3V Suspend CMOS |
驱动>=10mA |
SYS_RESET# |
B49 |
复位输入信号,由外部电路驱动,比如一个复位按钮,用来作为硬件复位 |
I 3.3V Suspend CMOS |
驱动>=10mA |
CB_RESET# |
B50 |
复位输出信号,由模块到载板,这个信号可以由模块驱动为低,用来复位载板上的元件 |
O 3.3V Suspend CMOS |
|
PWR_OK |
B24 |
由ATX电源产生,通知模块DC操作电压已经达到规定的值。 |
I 3.3V CMOS |
|
SUS_STAT# |
B18 |
休眠状态信号,表示系统很快就会进入一个低功耗模式,它能被载板上其它外设用作指示应该进入节电模式 |
O 3.3V Suspend CMOS |
|
SUS_S3# |
A15 |
S3休眠控制信号,表示系统停留在S3状态(RAM待机) |
O 3.3V Suspend CMOS |
这个信号能用作控制ATX电源的PS_ON#信号 |
SUS_S4# |
A18 |
S4休眠控制信号,表示系统停留在S4状态(磁盘待机) |
O 3.3V Suspend CMOS |
|
SUS_S5# |
A24 |
S5休眠控制信号,表示系统停留在S5状态(Soft Off) |
O 3.3V Suspend CMOS |
|
WAKE0# |
B66 |
PCIe唤醒事件信号 |
I 3.3V Suspend CMOS |
|
WAKE1# |
B67 |
通用目的唤醒信号 |
I 3.3V Suspend CMOS |
|
BATLOW# |
A27 |
电池低输入,这个信号可以由外部电路来驱动为低,表示系统电池低,它也可以用作表示某些其它外部电源管理事件 |
I 3.3V Suspend CMOS |
|
图48 看门狗定时器事件锁存原理图
看门狗事件信号由COM Express模块提供,WDT输出是高有效,它源自COM Express模块的B27脚。
WDT事件可以通过载板上的适当连接来产生系统的复位。也可能配置模块复位WDT事件,详见厂家的模块用户手册。
如果WDT输出引起系统复位,WDT输出会被系统复位清楚。
WDFT能被锁存以驱动LED显示,如上图,注意锁存器由一个在所有电源状态下(包括软件关机状态)都有效的电源来供电,锁存器仅由上电复位来清除,冷开机由RSMRST#来产生,载板复位监视器(没有显示在这个图上)需要产生RSMRST#信号,复位监视器电路监视5V或3.3V Suspend电源(V5.0_S5或V3.3V_S5)。
表36 GPIO信号定义
信号 |
脚 |
描述 |
I/O |
GPI0 |
A54 |
通用目的输入脚,在COM Express模块内部上拉 |
I 3.3V COMS |
GPI1 |
A63 |
通用目的输入脚,在COM Express模块内部上拉 |
I 3.3V COMS |
GPI2 |
A67 |
通用目的输入脚,在COM Express模块内部上拉 |
I 3.3V COMS |
GPI3 |
A85 |
通用目的输入脚,在COM Express模块内部上拉 |
I 3.3V COMS |
GPI0 |
A93 |
通用目的输出脚,复位后应该为低电平输出 |
O 3.3V COMS |
GPO1 |
B54 |
通用目的输出脚,复位后应该为低电平输出 |
O 3.3V COMS |
GPO2 |
B57 |
通用目的输出脚,复位后应该为低电平输出 |
O 3.3V COMS |
GPO3 |
B63 |
通用目的输出脚,复位后应该为低电平输出 |
O 3.3V COMS |
图49 通用目的I/O回环原理图
COM Express提供“THRM#”和“THRMTRIP#”信号,用于系统温度管理,当前大部分系统平台,温度管理与系统电源密切相关,更详细的信息见COM模块的温度管理能力,参考厂家的模块用户手册。
表37 温度管理信号描述
信号 |
脚 |
描述 |
I/O |
THRM# |
B35 |
超温报警,低有效,由外部硬件产生,这个信号用来激发温度保护。 |
I 3.3V CMOS |
THRMTRIP# |
A35 |
指示处理器超温了,如果这个信号有效,系统应该立刻进入S5状态(软件关闭)。 |
O 3.3V CMOS |