发明名称 一种I2C串行总线信号的分析与触发方法
摘要 本发明提出了一种测量仪器中I2C串行总线信号分析与触发的方法。首先利用高速时钟判别I2C串行总线两根信号线(串行时钟SCL,串行数据SDA)的电平变化事件,采用同步状态机分析并提取出总线的控制信息、地址信息和数据信息。然后将上述提取的信息与用户设定的触发条件相比较,如果条件符合则产生触发信号,并以此信号控制测量仪器的采集存储。信息提取的输出还可以做进一步分析处理,使用户查找感兴趣的事件变得简单,提高调试效率。
申请公布号 CN101630299B 申请公布日期 2011.08.10
申请号 CN200910026882.8 申请日期 2009.05.27
申请人 东南大学 发明人 高礼忠;任钊;张岩;杨明
分类号 G06F13/42(2006.01)I;G06F13/18(2006.01)I 主分类号 G06F13/42(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 叶连生
主权项 一种I2C串行总线信号的分析与触发方法,其特征在于:a.利用高速时钟判别I2C串行总线中串行时钟SCL、串行数据SDA两根信号线的电平变化事件,采用同步状态机分析并提取出总线的控制信息和串行位信息,b.根据上述控制信息,参照I2C总线协议,将串行位信息转换成并行的地址信息和数据信息,c.将上述的控制信息、地址信息、数据信息与用户设定的触发条件相比较,如果条件符合则产生触发信号,并以此信号控制测量仪器的采集存储;参照I2C总线协议,由两根输入信号线串行时钟SCL、串行数据SDA的电平变化事件,采用同步状态机分析出总线所包含的控制信息和串行位信息,具体规则如下:1)状态机共有四个状态,上电复位后进入状态1;2)在当前状态为状态1时:若输入的SCL为高电平,SDA为低电平,则进入状态2,输出帧开始信号;若输入的SCL为低电平,SDA为高电平,则进入状态3,无有效信号输出;若输入的SCL为低电平,SDA为低电平,则进入状态4,无有效信号输出;若输入的SCL为高电平,SDA为高电平,则保持状态1,无有效信号输出;3)在当前状态为状态2时:若输入的SCL为高电平,SDA为高电平,则进入状态1,输出帧结束信号;若输入的SCL为低电平,SDA为高电平,则进入状态3,无有效信号输出;若输入的SCL为低电平,SDA为低电平,则进入状态4,无有效信号输出;若输入的SCL为高电平,SDA为低电平,则保持状态2,无有效信号输出;4)在当前状态为状态3时:若输入的SCL为高电平,SDA为高电平,则进入状态1,输出一位高电平信号;若输入的SCL为高电平,SDA为低电平,则进入状态2,输出一位高电平信号;若输入的SCL为低电平,SDA为低电平,则进入状态4,无有效信号输出;若输入的SCL为低电平,SDA为高电平,则保持状态3,无有效信号输出;5)在当前状态为状态4时:若输入的SCL为高电平,SDA为高电平,则进入状态1,输出一位低电平信号;若输入的SCL为高电平,SDA为低电平,则进入状态2,输出一位低电平信号;若输入的SCL为低电平,SDA为高电平,则进入状态3,无有效信号输出;若输入的SCL为低电平,SDA为低电平,则保持状态4,无有效信号输出;根据总线控制信息,将串行位信息转换成并行地址信息和数据信息的方法如下:根据I2C总线协议,计数器在检测到帧开始信号后从0开始计数,若当前总线寻址方式为七位寻址,并且计数器值为7,则前8位转换成七位地址和读/写位,之后每8位转换成一个数据字节;若当前总线寻址方式为十位寻址,并且计数器值为15,则前两个字节低11位转换成十位地址和读/写位,之后的每8位转换成一个数据字节。
地址 211109 江苏省南京市江宁开发区东南大学路2号