4.2.3.6时钟计数子模块 该模块为SCL状态机提供时间基准。当计数使能信号有效且清零信号无效时,计数器 对系统时钟脉冲信号进行计数(或者叫做计时),否则该计数器将被同步清零。计数使能信号 和清零信号均是由SCL状态机控制产生的。 4.2.3.7传送数据位数子模块 该模块在发送或接收完一位数据后,SCL时钟下降沿bit_cnt计数器自动加l,在IDLE 或者响应状态,该计数器清零。 4.2.3.8双向接口子模块 利用三态门电路实现开漏或开集电极输出电路 4.3微处理器接口模块 该接口模块把微处理器的并行数据总线上的数据送到系统内部的寄存器中,并把I℃ 总线控制器配置为主模式或者从模式进行发送或接收数据的操作。 微处理器向℃控制器发送数据的握手过程: 第一步、MCU设置读写控制线,MCU把地址放到地址总线,置地址指示脉冲(AS)为低, MCU把数据放到数据总线上,置数据指示脉冲(DS)为低:I℃控制器在AS为低的时候进行 地址译码,在DS为低时锁存数据,同时置响应信号Dtack为低。 第二步、MCU检测到Dtack为低,DS、AS均被置高,数据线上的数据被清除。 第三步、IC℃控制器Dtack置为高电平。数据传送周期结束。 ℃控制器向微处理器发送数据的握手过程: 第一步、MCU设置读写控制线,MCU把地址放到地址总线,置地址指示脉冲(AS)为低, MCU置数据指示脉冲(DS)为低:I℃控制器在AS为低的时候进行地址译码,在DS为低时将 数据发到数据线上,同时置响应信号Dtack为低。 第二步、MCU将数据线上的数据锁存,DS、AS均被置高。 第三步、I℃控制器清除数据线上的数据,Dtack置为高电平。数据传送周期结束。 4.3.1微处理器接口内部的状态机 该状态机是由系统时钟的上升沿驱动完成状态转化的。 系统上电复位进入到IDLE状态。在这个状态,微处理器可以把地址放到地址总线上, 读写控制线置为正确的状态,置地址指示脉冲信号(AS)和数据指示脉冲信号(DS)为低电 平。地址指示脉冲信号和数据指示脉冲分别指示地址总线上的地址和数据总线上的数据有 效。如果是写周期,微处理器将数据放到数据线上。如果状态机检测到AS的下降沿,状态 机进入到ADDR状态,否则继续保持IDLE状态。 在ADDR状态,如果系统被微处理器寻址(即address_.match有效)且数据线上的数据有 效(即DS为低)时,系统进入到DATA_TRS状态进行数据传送。否则,状态机因为本器件因 为没有微处理器被寻址或者数据线上的数据无效而回到DLE状态。 伊 nLkLoLM B>y z z9 f uvwBlþ%R'Ò¡¢ÄÊEãa¡¢GÊB stB>}~¡¢8dkböBeO Q ¥©ªãa%'Ò¡¢ [ãa¡¢s f uvwWXïî% nLkLoL ¬w«y z zFãwkx®«? f B>ëñ ûüïèõü gOF efH k¸uv ãa% nLkLoLr cy z v@âjkâl %:" MNO9E z×\]^ D8«I«wstÎäÏá *D× WX #$9U k 8ãwkx« I% \]^ WX ãw«^_7ò Áª< P ] $XYWX P ] ×·¨A·¨$·¨P}~de9ì P ] ׫A«I$«P}~dee9ì5 WX F 9ìBc8 ·¨)*F e 9ìBdá«©B$¸¡¢ eüyèú 9ì% Áê< P ] ç eüyèú 9ì e < s$÷«I«ãÏ% Áª< WX eüyèú $9÷-%«¬w?@p% WX \]^ ãw«^_7ò Áª< P ] $XYWX P ] ×·¨A·¨$·¨P}~de9ì P ] $«P}~dee9ì5 WX F 9ìBc8·¨)*F e 9ìB¥ «ã«I©B$¸¡¢ eüyèú 9ì% Áê< P ] ¥«I«dá e < s$÷% Áª< WX ãÏ«I« eüyèú $9÷-%«¬w?@p% nLoLg \]^ Îäuvw uvwstB>IÙñ;®ÙuvØ% stIM efH uv%F uv\]^ )5×·¨A·¨I XYWX$9æuv$·¨P}~¡¢de[«P}~¡¢dee9ì -%·¨P}~¡¢[«P}~åP·¨I·¨[«I«Ä Ê%ÚÛY?@\]^ ¥«A«I%ÚÛuvwç ëñuv wM ee% uv Qµ¶à efH uv% F ee% uvÚÛst\]^ §¨dY yÕÕ{zïOyüè ÄÊeE«I«Ä ÊdY e 9ìe BstM eIïI% uv8«¬w% QuvwÕ9 ¤Õ 9ÓÄ\]^ §¨k«I«GÊÅ efH uv%