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