設(shè)計(jì)一個(gè)屬于您自己的簡(jiǎn)易I2C隔離器
通常產(chǎn)品設(shè)計(jì)時(shí)間非常緊張,用于新產(chǎn)品設(shè)計(jì)的資金也并不寬余。但不管怎樣,我們都必須要在不增加成本的前提下設(shè)計(jì)出能夠運(yùn)行于惡劣環(huán)境下的穩(wěn)健系統(tǒng)。一般而言,這會(huì)要求使用電流隔離,用于保護(hù)敏感控制電子組件免受外部突入和瞬態(tài)浪涌電流的損害。
如果您的設(shè)計(jì)涉及許多工業(yè)接口,那么當(dāng)您在各大半導(dǎo)體廠商的官方網(wǎng)站上看到琳瑯滿目的RS-485、RS-232、CAN和I2C信號(hào)隔離器時(shí),您會(huì)發(fā)現(xiàn)自己像一個(gè)進(jìn)到糖果店里的小孩一樣興奮不已。但是,當(dāng)您想要采購經(jīng)理批準(zhǔn)購買這些產(chǎn)品時(shí),他會(huì)立馬給您潑上一盆冷水:“不能利用一些已有的標(biāo)準(zhǔn)組件嗎?不管用什么方法,把它們都利用起來?”
今后碰到這種情況,您可以熱情洋溢的回答“沒問題”了,因?yàn)楸疚膶槟榻B一小部分工業(yè)接口電路,它們幾乎都只使用一個(gè)標(biāo)準(zhǔn)隔離器。圖 1-4 顯示了工業(yè)應(yīng)用中最為常見的數(shù)字接口的簡(jiǎn)化示意圖。
請(qǐng)注意,為了便于說明,我們省略了旁路電容器和上拉/下拉電阻器。首批三個(gè)電路都有一個(gè)異步數(shù)據(jù)傳輸模式,其使用兩條數(shù)據(jù)線路和一條控制線路,用于驅(qū)動(dòng)器/接收器激活。這樣,在節(jié)點(diǎn)控制器和標(biāo)準(zhǔn)兼容收發(fā)器芯片之間便只需一個(gè)三重隔離器了。
圖 4 所示隔離式 I2C(inter-integrated circuit,IIC)表示一種特殊情況,因?yàn)樗С謨H有幾英寸長的短通信鏈路,因此不需要線路收發(fā)器。在一些多主機(jī)應(yīng)用中,兩個(gè)節(jié)點(diǎn)會(huì)同時(shí)訪問總線。為了防止信號(hào)轉(zhuǎn)回其源,我們使用一個(gè)雙向緩沖器來支持從R(x,y) 到 S(x,y) 的接收傳輸以及 S(x,y) 到 T(x,y) 的發(fā)送傳輸,而非R(x,y) 到 T(x,y) 的直接回環(huán)。
幸運(yùn)的是,多主機(jī)設(shè)計(jì)只是少數(shù)情況,大多數(shù)都是單主機(jī)應(yīng)用。因此,我們可以極大地簡(jiǎn)化圖 4 所示電路。
由于是單主機(jī),時(shí)鐘信號(hào) (SCL) 僅需單向傳輸,從而將時(shí)鐘隔離減少至一條通道。然后,用一個(gè)晶體二極管開關(guān)代替雙向緩沖器,這樣隔離層(圖 5)每端將電路簡(jiǎn)化至我們的標(biāo)準(zhǔn)三重隔離器(圖 6)。
圖 5 利用晶體管開關(guān)隔離發(fā)送和接收路徑
在待機(jī)模式下,隔離器輸入 A 和 C 通過 R2 和 R4 被拉至高電平,推高輸出 B 和 D。另外,主和從數(shù)據(jù)線路(SDA1 和 SDA2)通過 RPU1 和 RPU2 被拉至高電平。當(dāng)主機(jī)通過拉低 SDA1 開始通信時(shí),Q1 發(fā)射極結(jié)點(diǎn)被正向偏置,而 Q1 將輸入 A 拉至低電平。輸出B 跟著變?yōu)榈碗娖剑⒄蚱?D2。D2 拉低 SDA2。與此同時(shí),Q2 發(fā)射極結(jié)點(diǎn)被反向偏置,并且 Q2 保持高阻抗。開關(guān)順序相同,僅在從數(shù)據(jù)線路響應(yīng)時(shí)反向。
圖 6 單主機(jī)應(yīng)用隔離式I2C總線接口
評(píng)論