首页 > 技术文章 > 读SCCB官方英文手册

cnlntr 2021-01-05 01:08 原文

两线传输

两线传输只(only)允许主机连接一个从机

 

 

 

SCCB_E信号

SCCB_E信号是必须由主机驱动的单向的,低有效的控制信号

它表示数据传输开始和停止

由高电平到低电平的过渡表示数据传输的开始

由低电平到高电平的过渡表示数据传输的结束

在数据传输过程中,SCCB_E必须保持在逻辑0状态

SCCB_E的逻辑1表示总线处于空闲状态

 

SIO_C

SIO_C信号是必须由主机驱动的单向的,高有效的控制信号

他表示每一个传输位

当总线处于空闲状态时,主机必须驱动SIO_C为逻辑1

当SIO_C在开始传输以后被驱动为逻辑0时,数据传输开始

在数据传输过程中,SIO_C的逻辑1表示一个单独的传输位(SIO_C在逻辑1时传输的数据才有效)

因此,SIO_D只有在SIO_C被驱动为0时发生变化

(SIO_D的数据变化必须在SIO_C高电平到来之前,在SIO_C为1时数据保持稳定)

单个传输位的传输周期最小是10us(Tcyc)

 

 

SIO_D

SIO_D信号可被从机或者主机驱动的双向的数据信号

当总线处于空闲状态时,他会保持悬空或者三态状态

主机和从机都有责任维护信号以避免未知的总线状态传播

 

在无关项或者NA位的传输过程中,总线悬空或者竞争是被允许的

当总线冲突的时候,冲突保护电阻(conflict-protection resistor)被规定用于抑制静态电流

 

 

在传输开始或结束的时候,是允许有异常的

在SCCB_E有效时且在SIO_C趋于0之前,SIO_D可以置0

在SCCB_E无效时且在SIO_C趋于1之前,SIO_D也可以置0

 

传输开始(起始位)

3线方案是通过SCCB_E由高电平到低电平过渡(下降沿)来表明数据传输开始

在SCCB_E有效之前,SIO_D必须置为逻辑1 至少15ns(Tprc)

在SIO_D置为0之前,SCCB_E必须有效至少1.25us(Tpra)

 

 

 

传输结束(停止位)

SCCB_E由低电平到高电平(上升沿)表明数据传输结束

 

在SCCB_E无效之后,SIO_D必须保持逻辑1至少15ns(Tpsc)

在SIO_D无效(无有效数据传输)之后,SCCB_E必须保持逻辑0至少0ns(Tpsa)

传输阶段

数据传输的基本元素称之为“阶段”,有三个传输阶段

一个阶段一共包含9个比特位,其中包括8个序列数据和第九位无关项或NA比特位

每个阶段,总是从最高有效位开始传输

 

3阶段——写传输周期

ID address标明主机打算访问的从机

sub address标明从机寄存器位置

write Data包主机打算覆盖指定地址的8比特内容以及第九位无关项

 

 

2阶段——写传输周期

发布 二阶段写传输 的目的是为了标明子地址(sub-address)以便于主机读取下面的 二阶段读传输周期的数据(二阶段写周期 是为了 二阶段读周期)

第九位二阶段写传输将是无关项

 

 2阶段——读传输周期

在二阶段读传输周期之前,必须(must)有一个三阶段写传输周期或者二阶段写传输周期生效

二阶段读传输周期包含8比特读数据UI及第九位无关项或者NA比特位

 

 

阶段描述

阶段1——ID Adress

ID地址包含7个比特位(由第7位到第1位),可以标识2^7=128个从机

第八位是读写标志位,0代表写周期,1代表读周期

第九位是无关项

SIO_D_OE_S(从机)以及SIO_D_OE_M(主机)是低有效的,输入/输出使能信号

在(传输)无关项期间,主机必须屏蔽SIO_D的输入并且强制使输入为0

 

 

阶段2——sub-address/read data

第九位为无关项

 

 

 

 

阶段3——写数据

 

 第九位为无关项

 

无关项比特位

设置无关项的目的是为了证明传输的完整性

在无关项传输期间,只有当SIO_C为0的时候,SIO_D_OE_M才可以失效或生效

在无关项传输期间,SIO_D_OE_M要在SIO_C由低电平到高电平过渡(上升沿过渡)之前至少1.25us Tmack

SIO_D_OE_M要在SIO_C下降沿过渡之后至少1.25us Tmack重新生效

 

在无关项传输期间,只有当SIO_C为0的时候,SIO_D_OE_S才可以失效或生效

在无关项传输开始时,在SIO_C出现下降沿至少370ns后,SIO_D_OE_S生效

在无关项传输结束时,在SIO_C出现下降沿至少370ns后,SIO_D_OE_S失效

 

 

推荐阅读