码迷,mamicode.com
首页 > 其他好文 > 详细

SCCB协议官方文档翻译

时间:2015-08-19 14:59:00      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

三线SCCB是一主机多从机,二线SCCB则是一主机一从机,SCCB_E对于从机输入主机输出SIO_C对于从机输入主机输出,SIO_D是双向口

SCCB_E

SCCB_E信号是一个单向的,低活跃度的,控制信号,必须由主机控制。
它用来指示启动或者停止传送任务。下降沿时开始传送任务,上升沿时
终止传送任务。在传送期间必须为0如果为1表示空闲

SIO_C
SIO_C信号是一个单向的高活跃度的控制信号,必须由主机控制,它用来
指示每一个传送比特。主机必须给该线置1当传送闲置时。
一个数据传送开始于当SIO_C变为0时
当传送期间一个逻辑1表示一个单个的传送比特,因此,SIO_D数据产生于
SIO_C下降沿时。单位传输周期最小10us

SIO_D
SIO_D信号是双向信号,它在总线闲置状态时也会是浮动的。维持信号避免
误读是主机和从几共同的责任。
数据浮动状态只允许存在于不关心比特或者NA比特中。主机必须避免浮动
数据。
一个冲突保护电阻需要连接,以减少静态涡流(static current)当数据冲突时
一个单bit传输出现在SIO_C为1时,所以SIO_D的数据出现于SIO_C下降沿时。
然而一个例外在传送任务开始或者结束时被允许。当SCCB_E被置位周期间,同时
在SIO_C变0前,SIO_D可以被设置为0,在SCCB_E被消位时,同时SIO_C为1时SIO_D

也可以被设置为0


开始传输和结束传输
技术分享

开始传输数据

技术分享

在3线实现中,开始信息诞生于SCCB_E下降沿。在SCCB_E下降沿前,主机必须
将SIO_D置1,这样可以避免读取传送之前产生的未知总线状态

在SCCB_E下降沿之前,SIO_D必须有tPRC时长的高电平,tPRC至少要15ns

tPRA是SCCB_E下降沿之后SIO_D保持高电平的时间,tPRA至少要1.25us

结束数据传输

技术分享

SCCB_E上升沿时表示结束传输,两个时间规定为tPSA和tPSC

tPSC为SCCB_E上升沿之后SIO_D维持高电平的时间,tPSC至少15ns

tPSA为SCCB_E之前SIO_D高电平的时间,tPSA至少0ns


传输规则

一个基本传输单元称作一个相

一个相包含总共9比特,前8比特为数据,第9比特为 Don‘t-Care bit 不关心比特,该第9比特的数据取决于

传输任务是读还是写。一个传输任务的最大相个数是3

技术分享

3相写传输规则

提供些传输,主机能将1byte数据写至指定从机

技术分享

ID Address表示指定从机的地址

Sub-address表示从机的寄存器

后面是数据,1字节数据

3个相为后一位都是Don‘t-Care bits

2相写传输规则

技术分享

2相写传送是在2相读传送前的,它的目的是指明主机要从哪个从机的哪个寄存器读数据。

2相读传输规则

技术分享

在2相读前面必须有2相写或者3相写,二相读没有办法读出哪个寄存器发的数据,主机必须将NA bit置为1


相描述

ID Address

每一个从机有唯一的ID标志

ID号由7比特构成(7~1),能够识别最多128台从机,第8个比特(0)来确定是读还是写,0代表写,1代表读

最后一比特为不关心比特

技术分享

第二相,sub-address/read data


技术分享

技术分享

这两个的8位数据位都是有效数据位,后面紧跟不关心比特

最后两个东西的时序只和硬件有关,是为了减少不稳定


第三相,write data

技术分享

Don‘t care bit不关心比特

该位的存在目的是确保传送数据的完整性

技术分享


(由于本人翻译水平欠佳,有错误请指正)


版权声明:本文为博主原创文章,未经博主允许不得转载。

SCCB协议官方文档翻译

标签:

原文地址:http://blog.csdn.net/calcular/article/details/47778365

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!