0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

芯片I2C通信異常無法讀寫寄存器破解

電子工程師 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-09-20 16:14 ? 次閱讀

時鐘芯片PCF2129在批量生產(chǎn)過程中,有客戶反饋PCF2129有0.2%左右芯片I2C通信異常,無法讀寫寄存器,芯片BAT供電比VCC低或者斷開VCC和BAT供電后恢復(fù)正常。經(jīng)過測試發(fā)現(xiàn)0x02地址寄存器值異常為0x88,改為默認值0x00,芯片恢復(fù)正常。

在很多設(shè)計中都會用到時鐘芯片,PCF2129是NXP推出的內(nèi)置晶振高精度時鐘芯片,芯片帶有補償寄存器,精度可達3ppm。該時鐘芯片具有精度高、功耗低、使用方便等特點。

在使用PCF2129,有客戶反饋出現(xiàn)0.2%的芯片在電池上電后,I2C讀寫寄存器異常如圖 1,通信失敗,在將電池斷開又接上后,芯片恢復(fù)正常工作。如果設(shè)置BAT供電電壓比VCC低,芯片也能通信上,但將BAT電壓調(diào)到比VCC高,通信又異常了??蛻鬡CC使用3.3V.電池也是3.3V的。

1 PCF2129沒有ACK應(yīng)答

從客戶反饋的情況分析,芯片從新上電后由于寄存器重新初始化,芯片恢復(fù)正常。在調(diào)試BAT電壓比VCC電壓低后,通信也能正常如圖 2,可以看出,芯片異常應(yīng)該是某個寄存器值偏離默認值,而且這個寄存器值和BAT的供電電壓有關(guān)。在PCF2129中,只有地址0x02寄存器和BAT供電電壓有關(guān)如圖 3。

2 PCF2129 IIC通信正常

3 PCF2129 0x02寄存器

0x02寄存器默認情況下為0x00,在BAT不斷電情況下外接電源,VCC電壓調(diào)到比BAT高后,IIC通信正常,讀取0x02寄存器值如圖 4所示,為0x88。

4 0x02寄存器異常值

PCF2129斷電后,或者直接將0x02寄存器值改為0x00后,PCF2129 I2C通常正常,芯片正常工作。

圖 5 0x02寄存器默認值

從測試結(jié)果可以得出,PCF2129 I2C通信異常是由于0x02寄存器值異常導(dǎo)致的,修改為默認值后,PCF2129就能正常工作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5304

    瀏覽量

    119876
  • 時鐘芯片
    +關(guān)注

    關(guān)注

    2

    文章

    243

    瀏覽量

    39822
  • PCF2129
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    8987

原文標題:如何解決時鐘芯片PCF2129 I2C通信異常

文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    I2C讀寫時序分析和實現(xiàn)思路

    上篇推文對I2C總線的特性進行了介紹和描述。對于開發(fā)者而言,最重要的是編碼I2C讀寫時序驅(qū)動。本篇推文主要總結(jié)和分享I2C總線主機端通信
    發(fā)表于 10-01 16:54 ?1592次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>讀寫</b>時序分析和實現(xiàn)思路

    PCM1863為什么通過I2C無法讀取到寄存器值?

    PCM1863為何通過I2C無法讀取到寄存器值?返回值總是00 但是寫成功,聲音正常。 不知道有沒有遇到同樣的問題的朋友? 請不要懷疑I2C驅(qū)動寫的是否正確。掛在同一總線上的EEPR
    發(fā)表于 10-23 07:59

    TLV320AIC3263 i2c無法進行通信,通過i2c讀寫函數(shù),讀寫寄存器失敗怎么解決?

    麻煩幫忙分析下以下問題的原因 1、i2c無法進行通信,通過i2c讀寫函數(shù)(系統(tǒng)提供),讀寫
    發(fā)表于 10-28 07:32

    怎么樣通過I2C或SPI讀寫AIC3254的寄存器

    我看了AIC3254的數(shù)據(jù)手冊,沒有看沒明白怎么樣通過I2C或SPI讀寫AIC3254的寄存器,求大俠指點
    發(fā)表于 11-05 08:22

    STM8L15x I2C無法寫入I2C寄存器

    STM8L15x I2C無法寫入I2C寄存器以上來自于谷歌翻譯以下為原文 STM8L15x I2C : Cannot write
    發(fā)表于 04-02 13:49

    I2c通信怎么設(shè)置寄存器地址?

    tm4c123 launchpad作為master時i2c寫操作要先輸出device address,再給一個RegisterAddress,然后才能寫i2c讀操作也要給定這兩個地址才能讀,可是tivaware中
    發(fā)表于 04-07 13:17

    i2c總線往攝像頭寄存器中寫寄存器

    1攝像頭配置 用i2c總線往攝像頭寄存器中寫寄存器;i2c總線為:一條時鐘線,一條數(shù)據(jù)線,遵循i2c協(xié)議來寫;攝像頭的sccb接口對應(yīng)
    發(fā)表于 08-06 06:51

    如何對基于RK3328的I2C讀寫芯片寄存器進行測試呢

    如何對基于RK3328的I2C讀寫芯片寄存器進行測試呢?有哪些步驟?
    發(fā)表于 03-09 06:13

    I2C總線規(guī)范與I2C器件C51讀寫程序

    I2C總線規(guī)范與I2C器件C51讀寫程序:本文簡要介紹了I2C總線,并給出了I2C器件的
    發(fā)表于 08-22 17:51 ?93次下載

    ARM I2C 總線接口的寄存器設(shè)置

    ARM I2C 總線接口的寄存器設(shè)置 控制ARM 12C總線接口需要配置總線控制寄存器(rIICCON)、總線狀態(tài)寄存器(rIICSTA
    發(fā)表于 03-14 18:00 ?1712次閱讀

    Atmel SAMC21的I2C驅(qū)動寄存器操作和寄存器代碼免費下載

    本文檔的主要內(nèi)容詳細介紹的是Atmel SAMC21的I2C驅(qū)動寄存器操作和寄存器代碼免費下載。
    發(fā)表于 06-20 08:00 ?19次下載

    STM32 I2C硬件的結(jié)構(gòu)

    我們可以看見STM32的硬件I2C有兩個和數(shù)據(jù)有關(guān)的寄存器“數(shù)據(jù)寄存器(Data register)”(DR)和“數(shù)據(jù)移位寄存器(Data shift register)”(DSR),
    的頭像 發(fā)表于 04-30 15:00 ?7192次閱讀
    STM32 <b class='flag-5'>I2C</b>硬件的結(jié)構(gòu)

    判斷I2C總線通信異常及及解決方法

    此問題由某客戶提出,應(yīng)用處理AP 與MCU 進行I2C 通信,通信會經(jīng)常發(fā)生異常,需要定位原因.
    發(fā)表于 05-14 10:00 ?40次下載

    硬件I2C與模擬I2C

    硬件I2C對應(yīng)芯片上的I2C外設(shè),有相應(yīng)I2C驅(qū)動電路,其所使用的I2C管腳也是專用的,因而效率要遠高于軟件模擬的
    發(fā)表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    ONA10IV I2C 寄存器定義

    ONA10IV I2C 寄存器定義
    發(fā)表于 11-15 20:15 ?0次下載
    ONA10IV <b class='flag-5'>I2C</b> <b class='flag-5'>寄存器</b>定義