新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > I2C總線學(xué)習(xí)—查缺補漏—應(yīng)答信號ACK

        I2C總線學(xué)習(xí)—查缺補漏—應(yīng)答信號ACK

        作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
        IIC協(xié)議規(guī)定,當(dāng)主機作為接收設(shè)備時,主機對最后一個字節(jié)不應(yīng)答,以向發(fā)送設(shè)備(從設(shè)備)標(biāo)識數(shù)據(jù)傳送結(jié)束。這是因為每次傳輸都應(yīng)得到應(yīng)答信號后再進行下一個字節(jié)傳送。如果此時接收機應(yīng)答了,那它就接收的不是最后一個字節(jié)了。如果是最后一個字節(jié),第9個時鐘周期發(fā)送的是非應(yīng)答信號(此時發(fā)送的不是應(yīng)答信號就是非應(yīng)答信號),最后發(fā)送停止信號。
        并非每傳輸8位數(shù)據(jù)之后,都會有ACK信號,有以下3中例外
        1. 當(dāng)從機不能響應(yīng)從機地址時(例如它正忙于其他事而無法響應(yīng)IIC總線的操作,或者這個地址沒有對應(yīng)的從機),在第9個SCL周期內(nèi)SDA線沒有拉低,即沒有ACK信號。這時,主機發(fā)出一個P信號終止傳輸或者重新發(fā)出一個S信號開始新的傳輸。
        2. 如果從機接收器在傳輸過程中不能接收更多的數(shù)據(jù)時,它不會發(fā)出ACK信號。這樣,主機就可以意識到這點,從而發(fā)出一個P信號終止傳輸或者重新發(fā)出一個S信號開始新的傳輸。
        3. 主機接收器在接收到最后一個字節(jié)后,也不會發(fā)出ACK信號。于是,從機發(fā)送器釋放SDA線,以允許主機發(fā)出P信號結(jié)束傳輸。



        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 塘沽区| 盐亭县| 正宁县| 肥西县| 蒙城县| 肇东市| 会宁县| 华宁县| 宝鸡市| 铁岭县| 团风县| 尉犁县| 长白| 奉新县| 游戏| 赞皇县| 长阳| 绥阳县| 淅川县| 云和县| 泰和县| 杭锦旗| 德惠市| 同德县| 三亚市| 嵊泗县| 香河县| 吉首市| 安新县| 隆回县| 曲周县| 安化县| 鄯善县| 芜湖市| 开阳县| 两当县| 平泉县| 朝阳县| 宝应县| 溧水县| 荥阳市|