使用(yòng)邏輯分(fēn)析儀 为I2C 訊号(hào)量测提(tí)供完整解(jiě)決方(fāng)案(àn)
来源:demo.vm88.top 浏覽量: 發(fà)布(bù)时(shí)間(jiān): 2018-10-15 16:29
I2C總(zǒng)線(xiàn)在(zài)電(diàn)子産品中(zhōng),很常見(jiàn)的(de)一(yī)種(zhǒng)總(zǒng)線(xiàn),它(tā)的(de)好(hǎo)處(chù)就(jiù)是(shì)只(zhī)需要(yào)两(liǎng)条(tiáo)線(xiàn),就(jiù)可(kě)以(yǐ)並(bìng)聯很多(duō) IC進(jìn)行控制。但因(yīn)为多(duō)裝(zhuāng)置(Device)及(jí)開(kāi)路(lù)集极(jí) (Open drain)的(de)架構,常使I2C總(zǒng)線(xiàn)除錯工作(zuò)變(biàn)得困難.本(běn)文(wén)将提(tí)出(chū)一(yī)些(xiē)實(shí)際的(de)應(yìng)用(yòng)案(àn)例,並(bìng)使用(yòng)邏輯分(fēn)析儀(Logic Analyzer)之(zhī)各(gè)项功能(néng),来協助排除問(wèn)題(tí)。
使用(yòng)轉(zhuǎn)态儲存進(jìn)行长(cháng)时(shí)間(jiān)數據(jù)紀录
在(zài)I2C總(zǒng)線(xiàn)訊号(hào)發(fà)生(shēng)异常时(shí),常無法(fǎ)明(míng)确的(de)知道(dào)是(shì)哪个(gè)裝(zhuāng)置出(chū)錯。因(yīn)此(cǐ),無法(fǎ)用(yòng)设定(dìng)觸發(fà)的(de)方(fāng)式来做問(wèn)題(tí)點(diǎn)的(de)定(dìng)位(wèi)。使用(yòng)者(zhě)多(duō)半会(huì)考慮先把波(bō)形都撷取回(huí)来再慢(màn)慢(màn)分(fēn)析。但邏輯分(fēn)析儀基本(běn)是(shì)以(yǐ)采樣(yàng)的(de)方(fāng)式撷取訊号(hào),不(bù)管(guǎn)訊号(hào)有(yǒu)沒(méi)有(yǒu)改變(biàn),都会(huì)随着采樣(yàng)撷取動(dòng)作(zuò)的(de)進(jìn)行,而(ér)不(bù)斷地(dì)消耗內(nèi)存。而(ér)轉(zhuǎn)态儲存(Transitional Storage)功能(néng)是(shì)一(yī)種(zhǒng)波(bō)形數據(jù)的(de)儲存模式,只(zhī)在(zài)波(bō)形轉(zhuǎn)态(Transition)的(de)时(shí)候才将波(bō)形數據(jù)儲存起(qǐ)来,这(zhè)樣(yàng)當資料不(bù)轉(zhuǎn)态时(shí),邏輯分(fēn)析儀就(jiù)可(kě)以(yǐ)持(chí)續的(de)等候且(qiě)不(bù)存任何數據(jù)到(dào)內(nèi)存內(nèi)。相对(duì)于(yú)每个(gè)采樣(yàng)點(diǎn)都存一(yī)次(cì)資料的(de)作(zuò)法(fǎ),轉(zhuǎn)态儲存将可(kě)以(yǐ)記(jì)下(xià)更(gèng)多(duō)的(de)數據(jù)。由(yóu)于(yú)I2C的(de)传輸速度(dù)如(rú)下(xià)表(biǎo)一(yī),整体来看(kàn)速度(dù)都不(bù)会(huì)很快(kuài)。 因(yīn)此(cǐ)会(huì)非(fēi)常地(dì)适合使用(yòng)轉(zhuǎn)态儲存,来拉长(cháng)可(kě)儲存的(de)时(shí)間(jiān)。
模式(mode)
传輸速度(dù)
Standard
400kbit/s
Fast/Fast plus
1Mbit/s
High speed
3.4Mbit/s
表(biǎo)一(yī)I2C个(gè)模式传輸速度(dù)
利用(yòng)I2C觸發(fà)来定(dìng)位(wèi)問(wèn)題(tí)點(diǎn)
舉例来说(shuō),電(diàn)路(lù)闆上(shàng)I2C 總(zǒng)線(xiàn)連(lián)接了(le)裝(zhuāng)置 A與(yǔ)裝(zhuāng)置 B,但在(zài)长(cháng)时(shí)間(jiān)燒機(jī)测試(Burn-In Test)的(de)过(guò)程中(zhōng),I2C總(zǒng)線(xiàn)發(fà)生(shēng)錯誤的(de)問(wèn)題(tí)。已知的(de)現(xiàn)象(xiàng)是(shì)當發(fà)生(shēng)錯誤时(shí),I2C總(zǒng)線(xiàn)上(shàng)会(huì)出(chū)現(xiàn)無效的(de)地(dì)址(Address),並(bìng)且(qiě)燒機(jī)的(de)过(guò)程中(zhōng)会(huì)出(chū)現(xiàn)數次(cì)。如(rú)何能(néng)利用(yòng)邏輯分(fēn)析儀来做做問(wèn)題(tí)厘(lí)清(qīng)?这(zhè)樣(yàng)的(de)問(wèn)題(tí),若想(xiǎng)把波(bō)形數據(jù)都抓下(xià)来,其(qí)實(shí)是(shì)有(yǒu)困難的(de)。 因(yīn)为出(chū)現(xiàn)問(wèn)題(tí)的(de)时(shí)間(jiān)點(diǎn)及(jí)次(cì)數都很不(bù)一(yī)定(dìng),且(qiě)长(cháng)达好(hǎo)几天(tiān)的(de)燒機(jī)测試也(yě)使得把數據(jù)都 Log下(xià)来顯得不(bù)切(qiè)實(shí)際,又必须在(zài)大(dà)量的(de)數據(jù)中(zhōng)尋找(zhǎo)問(wèn)題(tí)點(diǎn)。也(yě)是(shì)相當費时(shí)費力的(de)工作(zuò)。
因(yīn)此(cǐ),可(kě)采用(yòng)邏輯分(fēn)析儀中(zhōng)的(de)I2C觸發(fà)功能(néng)来進(jìn)行定(dìng)位(wèi)。首先,先把裝(zhuāng)置 A(Addr:12h)與(yǔ)裝(zhuāng)置 B(Addr:34h)的(de)有(yǒu)效地(dì)址輸入(rù)。然後(hòu)讓邏輯分(fēn)析儀找(zhǎo)出(chū)不(bù)符合上(shàng)述两(liǎng)个(gè)条(tiáo)件(jiàn)的(de)地(dì)址。實(shí)際设定(dìng)如(rú)图(tú)一(yī)所(suǒ)示。
图(tú)一(yī)利用(yòng)I2C觸發(fà)功能(néng)進(jìn)行無效地(dì)址定(dìng)位(wèi)
然後(hòu)再搭配邏輯分(fēn)析儀撷取波(bō)形後(hòu)自(zì)動(dòng)儲存功能(néng),就(jiù)很在(zài)燒機(jī)的(de)过(guò)程中(zhōng),每次(cì)觸發(fà)成(chéng)功就(jiù)存盤,之(zhī)後(hòu)再檢視存檔波(bō)形之(zhī)觸發(fà)點(diǎn)即可(kě)。善用(yòng)I2C觸發(fà)功能(néng)可(kě)以(yǐ)快(kuài)速的(de)協助波(bō)形定(dìng)位(wèi),会(huì)比數據(jù)抓得多(duō)来的(de)有(yǒu)意(yì)義很多(duō)。同(tóng)樣(yàng)的(de),善用(yòng)整个(gè)使用(yòng)I2C參數来做为觸發(fà)条(tiáo)件(jiàn),例如(rú)地(dì)址符合或(huò)數據(jù)符合或(huò)多(duō)階(jiē)式的(de)觸發(fà)来指定(dìng)更(gèng)觸發(fà),这(zhè)些(xiē)都是(shì)單純使用(yòng)邊(biān)緣觸發(fà)(Edge Trigger)所(suǒ)無法(fǎ)做到(dào)的(de)功能(néng)。
I2C觸發(fà)檢查时(shí)間(jiān)違反(fǎn)(Timing violation)的(de)問(wèn)題(tí)點(diǎn)
I2C總(zǒng)線(xiàn)会(huì)規範 SCL與(yǔ)SDA必须按規定(dìng)时(shí)間(jiān)送出(chū),不(bù)然整个(gè)總(zǒng)線(xiàn)的(de)行为将会(huì)發(fà)生(shēng)錯誤,導致(zhì)通訊失敗。有(yǒu)时(shí)候實(shí)際波(bō)形的(de)时(shí)間(jiān)已經(jīng)超出(chū)規格,但却無法(fǎ)在(zài)開(kāi)發(fà)及(jí)验(yàn)證被(bèi)挑出(chū)来,因(yīn)为有(yǒu)时(shí)候时(shí)間(jiān)誤差都不(bù)大(dà),使得産品仍可(kě)正(zhèng)常使用(yòng)。但常常問(wèn)題(tí)会(huì)流到(dào)量産时(shí)才爆發(fà)出(chū)来,造成(chéng)量産不(bù)良率攀升(shēng)。甚至(zhì)到(dào)使用(yòng)者(zhě)手(shǒu)上(shàng)才出(chū)現(xiàn)問(wèn)題(tí)。这(zhè)都是(shì)産品開(kāi)發(fà)所(suǒ)不(bù)乐(lè)于(yú)見(jiàn)到(dào)的(de)結果。
以(yǐ)图(tú)二(èr)所(suǒ)示,可(kě)啟用(yòng)邏輯分(fēn)析儀之(zhī)时(shí)間(jiān)違反(fǎn)檢查當作(zuò)觸發(fà)条(tiáo)件(jiàn),设定(dìng)所(suǒ)需檢查的(de)时(shí)間(jiān)值,再讓邏輯分(fēn)析儀協助挑出(chū)时(shí)間(jiān)違反(fǎn)的(de)地(dì)方(fāng)。邏輯分(fēn)析儀系(xì)統采用(yòng)200MHz采樣(yàng)率来進(jìn)行采樣(yàng)。因(yīn)此(cǐ),可(kě)檢查之(zhī)小时(shí)間(jiān)宽(kuān)度(dù)为5ns。这(zhè)樣(yàng),就(jiù)可(kě)以(yǐ)輔助使用(yòng)者(zhě),利用(yòng)觸發(fà)来做时(shí)間(jiān)違反(fǎn)檢查。非(fēi)常适合于(yú)燒機(jī)测試时(shí),用(yòng)这(zhè)个(gè)方(fāng)式檢测I2C總(zǒng)線(xiàn)的(de)訊号(hào)时(shí)間(jiān)。
图(tú)二(èr)时(shí)間(jiān)違反(fǎn)觸發(fà)功能(néng)之(zhī)设定(dìng)画(huà)面(miàn)
采用(yòng)舒密特觸發(fà)電(diàn)路(lù)架構撷取质量良好(hǎo)的(de)I2C訊号(hào)
使用(yòng)邏輯分(fēn)析儀進(jìn)行量测时(shí),常会(huì)看(kàn)到(dào)一(yī)些(xiē)噪聲。但使用(yòng)示波(bō)器看(kàn)的(de)时(shí)候似乎又沒(méi)有(yǒu),是(shì)甚麼(me)原因(yīn)?要(yào)如(rú)何排除?这(zhè)是(shì)因(yīn)为I2C總(zǒng)線(xiàn)是(shì)開(kāi)路(lù)集极(jí)架構,總(zǒng)線(xiàn)上(shàng)又同(tóng)时(shí)接了(le)很多(duō)裝(zhuāng)置,還(huán)有(yǒu)一(yī)些(xiē)静(jìng)電(diàn)防護零(líng)件(jiàn)等等。可(kě)能(néng)使得I2C波(bō)形不(bù)見(jiàn)得会(huì)是(shì)很好(hǎo)的(de)方(fāng)波(bō)。常見(jiàn)的(de)I2C波(bō)形如(rú)图(tú)三、四(sì)所(suǒ)示。但这(zhè)樣(yàng)的(de)波(bō)形在(zài)I2C規範里(lǐ)面(miàn),是(shì)正(zhèng)常可(kě)接受的(de),並(bìng)沒(méi)有(yǒu)問(wèn)題(tí)。
图(tú)三常見(jiàn)的(de)I2C總(zǒng)線(xiàn)訊号(hào)(一(yī)),上(shàng)方(fāng)为 SCL,下(xià)方(fāng)为 SDA
图(tú)四(sì)常見(jiàn)的(de)I2C總(zǒng)線(xiàn)訊号(hào)(二(èr)),SDA訊号(hào)
也(yě)因(yīn)为这(zhè)樣(yàng),一(yī)般I2C芯片(piàn),都会(huì)規範在(zài)訊号(hào)輸入(rù)腳(jiǎo)位(wèi)必须要(yào)有(yǒu)舒密特觸發(fà)(Schmitt trigger)電(diàn)路(lù),以(yǐ)便于(yú)完善的(de)解(jiě)決訊号(hào)輸入(rù)後(hòu)能(néng)正(zhèng)确的(de)處(chù)理(lǐ)邏輯訊号(hào)。为此(cǐ),邏輯分(fēn)析儀也(yě)可(kě)循此(cǐ)法(fǎ)做較完善的(de)訊号(hào)解(jiě)撷取動(dòng)作(zuò)。图(tú)五(wǔ)为一(yī)般邏輯分(fēn)析儀,此(cǐ)用(yòng)單一(yī)个(gè)觸發(fà)准位(wèi)的(de)方(fāng)式来做邏輯0與(yǔ)邏輯1的(de)區(qū)分(fēn)。这(zhè)樣(yàng)的(de)作(zuò)法(fǎ),很容易在(zài)待测訊号(hào)經(jīng)过(guò)觸發(fà)准位(wèi)(Threshold)附近(jìn)时(shí),産生(shēng)很多(duō)不(bù)可(kě)預期(qī)的(de)邏輯變(biàn)化(huà)。使得撷取出(chū)来的(de)訊号(hào)像是(shì)噪聲或(huò)彈跳的(de)現(xiàn)象(xiàng)。
图(tú)五(wǔ)邏輯分(fēn)析儀采單一(yī)觸發(fà)准位(wèi)模式示意(yì)图(tú)
若采用(yòng)低(dī)通濾波(bō)(Low-pass filter)的(de)做法(fǎ),是(shì)可(kě)以(yǐ)濾除噪聲,但又使得可(kě)能(néng)造成(chéng)線(xiàn)路(lù)問(wèn)題(tí)的(de)高(gāo)頻噪聲也(yě)同(tóng)时(shí)被(bèi)濾掉了(le)。無論如(rú)何,这(zhè)都不(bù)是(shì)适當的(de)解(jiě)決方(fāng)案(àn)。
而(ér)图(tú)六(liù)則是(shì)啟用(yòng)了(le)舒密特觸發(fà)電(diàn)路(lù)之(zhī)後(hòu)的(de)画(huà)面(miàn),此(cǐ)架構采用(yòng)了(le)两(liǎng)組觸發(fà)電(diàn)壓,分(fēn)别为Thres-high與(yǔ)Thres-low。两(liǎng)个(gè)電(diàn)壓間(jiān),就(jiù)是(shì)所(suǒ)謂不(bù)轉(zhuǎn)态區(qū)域,在(zài)这(zhè)个(gè)區(qū)間(jiān)內(nèi),不(bù)管(guǎn)訊号(hào)怎麼(me)改變(biàn),都不(bù)会(huì)影響邏輯判斷。这(zhè)樣(yàng),就(jiù)可(kě)以(yǐ)正(zhèng)常的(de)撷取到(dào)I2C訊号(hào),且(qiě)真(zhēn)正(zhèng)的(de)高(gāo)頻噪聲也(yě)不(bù)会(huì)漏掉,也(yě)符合I2C芯片(piàn)设計(jì)規範。
图(tú)六(liù) 邏輯分(fēn)析儀采舒密特電(diàn)路(lù)觸發(fà)模式示意(yì)图(tú)
堆(duī)棧示波(bō)器可(kě)同(tóng)时(shí)看(kàn)到(dào)I2C數字(zì)與(yǔ)模拟訊号(hào)
在(zài)使用(yòng)了(le)邏輯分(fēn)析儀所(suǒ)提(tí)供的(de)I2C總(zǒng)線(xiàn)觸發(fà)與(yǔ)分(fēn)析功能(néng)後(hòu)。撷取下(xià)来的(de)波(bō)形開(kāi)始(shǐ)要(yào)進(jìn)行問(wèn)題(tí)分(fēn)析階(jiē)段(duàn),常常很多(duō)项目都是(shì)软(ruǎn)硬(yìng)件(jiàn)共(gòng)同(tóng)合作(zuò),參與(yǔ)的(de)人(rén)很多(duō),若無法(fǎ)同(tóng)时(shí)看(kàn)到(dào)对(duì)應(yìng)的(de)仿真(zhēn)訊号(hào),对(duì)于(yú)厘(lí)清(qīng)問(wèn)題(tí)幫助不(bù)大(dà)。尤其(qí)是(shì)線(xiàn)路(lù)造成(chéng)的(de)問(wèn)題(tí),數字(zì)訊号(hào)並(bìng)無法(fǎ)清(qīng)楚地(dì)呈現(xiàn)出(chū)問(wèn)題(tí)點(diǎn)。
但是(shì),單純邏輯分(fēn)析儀堆(duī)棧示波(bō)器並(bìng)沒(méi)有(yǒu)任何说(shuō)明(míng),因(yīn)为大(dà)部(bù)分(fēn)的(de)时(shí)候邏輯分(fēn)析儀可(kě)以(yǐ)抓的(de)时(shí)間(jiān)长(cháng)度(dù)会(huì)远大(dà)于(yú)示波(bō)器,这(zhè)樣(yàng),即使示波(bō)器顯示波(bō)形出(chū)来,也(yě)不(bù)在(zài)正(zhèng)确的(de)位(wèi)置上(shàng)。唯有(yǒu)透过(guò)邏輯分(fēn)析儀的(de)觸發(fà)功能(néng)進(jìn)行訊号(hào)定(dìng)位(wèi)。这(zhè)樣(yàng)抓到(dào)的(de)仿真(zhēn)訊号(hào)才是(shì)有(yǒu)意(yì)義的(de)。图(tú)七(qī)就(jiù)是(shì)利用(yòng)堆(duī)棧並(bìng)设定(dìng)觸發(fà)之(zhī)後(hòu)同(tóng)时(shí)抓到(dào)數字(zì)與(yǔ)模拟訊号(hào)。使用(yòng)者(zhě)可(kě)以(yǐ)将它(tā)發(fà)送給(gěi)需要(yào)看(kàn)波(bō)形的(de)人(rén),I2C總(zǒng)線(xiàn)數字(zì)譯碼的(de)部(bù)分(fēn)可(kě)讓用(yòng)戶快(kuài)速理(lǐ)解(jiě)他所(suǒ)看(kàn)到(dào)波(bō)形。而(ér)模拟訊号(hào)的(de)部(bù)分(fēn),則忠實(shí)的(de)呈現(xiàn)出(chū)波(bō)形的(de)原貌。两(liǎng)者(zhě)这(zhè)樣(yàng)的(de)結合,成(chéng)为量测方(fāng)案(àn)。
-
上(shàng)一(yī)篇(piān):沒(méi)有(yǒu)了(le)
-
下(xià)一(yī)篇(piān):沒(méi)有(yǒu)了(le)








