ZHCAE64 July 2024 TCA4307
一種產(chǎn)生錯(cuò)誤邊沿的常見(jiàn)原因是串?dāng)_。通常情況下,就 I2C 而言,串?dāng)_是由兩條線路(想象一下 PCB 上兩條平行且間距很小的長(zhǎng)布線)之間的共享電容和快速邊沿速率產(chǎn)生的。正常情況下,如果 I2C 線路出現(xiàn)串?dāng)_,則在 SDA 或 SCL 線路處于邏輯高電平狀態(tài)時(shí)便會(huì)發(fā)生串?dāng)_事件。這是因?yàn)樵隍?qū)動(dòng)低電平邏輯時(shí),由于 I2C 的開(kāi)漏架構(gòu),信號(hào)的偏置程度更強(qiáng)。邏輯高電平狀態(tài)由上拉電阻器設(shè)置,但這與開(kāi)漏驅(qū)動(dòng)器相比弱得多。這些開(kāi)漏驅(qū)動(dòng)器的 Ron 比用于建立邏輯高電平信號(hào)的外部上拉電阻器強(qiáng)得多(具有低 Ron 值)。這意味著在大多數(shù) I2C 事務(wù)中,SDA 線路上的信號(hào)可能出現(xiàn)串?dāng)_,因?yàn)槌?SCL 為低電平,否則 SDA 不會(huì)改變狀態(tài)。這種情況的唯一例外是在啟動(dòng)條件期間,因此,如果足夠嚴(yán)重,可能會(huì)出現(xiàn)錯(cuò)誤時(shí)鐘邊沿。如果發(fā)生總線阻塞問(wèn)題,并且 SDA 線路上似乎存在串?dāng)_,則建議在啟動(dòng)條件下檢查 I2C 事務(wù)的開(kāi)頭,以排除串?dāng)_是問(wèn)題根源的可能性。
圖 3-1 串?dāng)_示例這并不意味著發(fā)出干凈的啟動(dòng)條件后時(shí)鐘線路就不會(huì)受到威脅,SCL 布線附近其他更快的邊沿在高電平期間仍會(huì)在 SCL 總線上引起串?dāng)_。此處的一個(gè)要點(diǎn)是需要對(duì) I2C 布線進(jìn)行正確布局,避免 SCL 與其他具有快速邊沿速率的布線(包括 SDA)靠得太近(平行)。平行也可能意味著在 SCL 布線正下方布放高頻或大電流驅(qū)動(dòng)的布線。