COM载板设计之三:I2C总线及其他信号

来源:互联网 发布:如何在网络上做推广 编辑:程序博客网 时间:2024/05/16 03:43

2.16 通用目的的I2C总线接口

COM Express定义5个I2C接口到模板连接器上供载板使用,5个接口中的3个用于特殊目的(VGA、LVDS及DVO),第4个接口用于SMBus,用于管理,第5个接口市通用目的的I2C接口,通用目的的I2C接口也可用于支持载板上的ROM,ROM里包含BIOS使用的载板PCIe映像信息。注意,并不是所有的COM Express模块支持这个特征。

对于这个通用的I2C总线接口,可能会由于软件支持上的问题限制了用户的使用,因为这需要驱动!

2.16.1 信号定义

信号

描述

I/O

电源

I2C_CK

B33

I2C时钟

O CMOS

3.3V

I2C_DAT

B34

I2C数据

I/O CMOS

3.3V

I2C的时钟和数据线的上拉电阻在模板上已经有了。载板上不要有上拉电阻。

2.16.2 参考设计

如在载板上扩展一个EEPROM:

 

2.16.3 布线考虑

因为I2C总线是低速信号,所以,布线要求并不严格。

2.17 系统管理总线

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分离:

2.17.1 信号定义

信号

描述

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电源

 

2.17.2 参考设计

2.17.3 布线考虑

SMBus应当要不连接到所有的PCIe/PCI设备和插座上,要不一个也不要连接。通常并不推荐将这些设备连接到SMBus上。

SMBus最多连接3个外部器件。请参考模块的技术资料。

因为是低速信号,所以,布线要求并不严格。

2.18 其他信号

表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

2.18.1 模块类型检测

表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。

2.18.2 喇叭输出

PC-AT结构,提供一个喇叭控制信号,用来产生Beep响声,这个信号是一个数字逻辑信号,可以通过系统定时器来产生,当产生错误的时候,可以产生BEEP以作为报警提示,BIOS通常提供一个BEEP代码,用来指示硬件测试时候出现的故障类型,应用软件通常也使用BEEP声来提示一个错误。

这里的喇叭信号不要与音频CODEC产生的模拟音频信号相混淆,在许多系统中,PC-AT的喇叭信号送到音频CODEC输入中的一个,允许同别的音频信号混合在一起,可以在CODEC驱动下耳机音响里听到。

COM Express模块提供的喇叭输出被称为“SPKR”,由外部的FET或逻辑门驱动连接到一个PC喇叭上。这个喇叭可以是个蜂鸣器。

2.18.3 RTC电池

RTC(实时时钟)用来在COM板没有连接主电源的时候,提供时间和日期时钟电路的正常工作,通常使用+3V锂电池为RTC的时钟。COM Express定义了一个额外的电源脚“VCC_RTC”,用作将外部电池连接到RTC模块的电源上,规定电池的输入电压范围是+2.0V到+3.0V,“VCC_RTC”信号在A47脚上。

RTC电池电路需要有一个反接保护,可以通过一个SCHOTTKY二极管来实现,如下图。

这个电路的一个缺点是,由COM Express模块显示的电池电源监视结果可能会不正确,因为当系统允许的时候,漏电流的负载是电池电路的电容,这会导致在“VCC_RTC”脚上有一个较高的电压,从而引起监视结果的错误。

2.18.3.1 RTC电池寿命

RTC电池寿命决定系统电池替换的间隔时间。RTC电池电路的漏电流对电池的寿命影响是很大的,所以设计的时候,必须仔细考虑。

2.18.4 电源管理信号

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

 

 

2.18.5 看门狗

图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)。

2.18.6 通用目的的GPIO

表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回环原理图

2.18.7 温度检测报警接口

COM Express提供“THRM#”和“THRMTRIP#”信号,用于系统温度管理,当前大部分系统平台,温度管理与系统电源密切相关,更详细的信息见COM模块的温度管理能力,参考厂家的模块用户手册。

表37 温度管理信号描述

信号

描述

I/O

THRM#

B35

超温报警,低有效,由外部硬件产生,这个信号用来激发温度保护。

I 3.3V CMOS

THRMTRIP#

A35

指示处理器超温了,如果这个信号有效,系统应该立刻进入S5状态(软件关闭)。

O 3.3V CMOS


0 0