此文主要針對(duì)利用DS09UB933/34/62/64-Q1等FPD-Link器件搭建的流媒體后視鏡/全景泊車等應(yīng)用中,由于鏈路設(shè)計(jì)、應(yīng)用環(huán)境干擾、ESD等情況,導(dǎo)致概率性出現(xiàn)屏幕顯示閃屏或者滾動(dòng)的現(xiàn)象。利用解串器中的診斷/中斷功能,再配合上有幀buffer及視頻處理能力的SOC,就可以有效地應(yīng)對(duì)此類問題。
TI在ADAS應(yīng)用中的FPD-LINK器件均帶有豐富的診斷功能,包括奇偶校驗(yàn)/反向通道CRC校驗(yàn)/LOCK狀態(tài)/幀水平寬度檢測(cè)/幀垂直寬度檢測(cè)等,利用這些診斷功能我們可以十分便利的知道解串器接收到的數(shù)據(jù)是否有問題。同時(shí),我們可以將以上的診斷結(jié)果映射到中斷管腳上,并將中斷腳連接到SOC,如果解串器接收的數(shù)據(jù)檢測(cè)出來有問題的話,可以通過中斷腳通知SOC去讀取相關(guān)的寄存器,從而知道具體是出現(xiàn)什么故障了。
而對(duì)于接收端帶有幀buffer或者視頻處理能力的SOC的系統(tǒng),在我們知道當(dāng)前幀的數(shù)據(jù)有問題的話,可以通過清除幀buffer將這些有問題的視頻數(shù)據(jù)清除,重新接收下一幀畫面,并凍結(jié)當(dāng)前的顯示畫面,那這些問題就不會(huì)在屏幕上顯示出來了。
1. 中斷指示腳INTB pin
964/962的中斷指示腳是Pin 6,它為開漏輸出腳,所以需要4.7Kohm上拉到VDDIO電平。當(dāng)這個(gè)腳為低電平時(shí),表明有中斷請(qǐng)求。
Figure.1 962/964的中斷指示腳
而934的中斷指示腳是Pin 25,其與GPIO_3復(fù)用,同樣也是開漏輸出腳,建議4.7Kohm上拉到VDDIO電平。
Figure.2 934的中斷指示腳
2. 962/964中斷功能的使能與配置
2.1 964/962 INTB中斷指示腳的使能
使用INTB中斷指示腳的輸出,需要先將INTERRUPT_CTL 0x23 bit_7的全局中斷使能打開,然后再打開0x23 bit5:0 的中斷源開關(guān),中斷源來自于4個(gè)獨(dú)立的RX,以及兩個(gè)獨(dú)立的TX(962/964可以理解為FPD-Link III接收器即RX,以及MIPI CSI發(fā)送器即TX的組合)的各種中斷。
但是如果全局中斷沒有使能,符合條件的中斷還是會(huì)在相應(yīng)的中斷狀態(tài)指示寄存器上置位的。例如,要在檢測(cè)到IS_RX0中斷的時(shí)候,INTB輸出中斷,需要使能IE_RX0以及INT_EN。如果只是使能了IE_RX0,但是沒有使能INT_EN的話,中斷來了只會(huì)在INTERRUPT_STS 0x24中斷狀態(tài)指示寄存器進(jìn)行指示,而不會(huì)在INTB腳有指示。
而當(dāng)INTB中斷指示腳由于TX或者RX的某種故障狀態(tài)而拉低之后,需要通過讀取相應(yīng)中斷源的中斷狀態(tài)指示寄存器,來清除中斷指示腳的中斷狀態(tài)。具體的中斷狀態(tài)寄存器會(huì)在稍后的篇幅中詳細(xì)介紹。
Figure.3 964/962全局中斷控制寄存器
Figure.4 964/962 0x24中斷狀態(tài)指示寄存器
示例代碼:
#0x30為964的7bit I2C地址
#使能964的全局中斷,以及TX0_1/RX0_1_2_3中斷源
Write( 0x30, 0x23, 0xBF)
#使能964的全局中斷,以及RX0中斷源
Write( 0x30, 0x23, 0x81)
2.2 964/962 各個(gè)RX Port的獨(dú)立中斷源
964/962的每一個(gè)RX Port都有多個(gè)獨(dú)立中斷源,而這些獨(dú)立中斷源都可以通過PORT_ICR_HI 0xD8和PORT_ICR_LO 0xD9寄存器進(jìn)行使能。同時(shí),在PORT_ISR_HI 0xDA和PORT_ISR_LO 0xDB中斷狀態(tài)指示寄存器,可以提供相應(yīng)的只讀中斷狀態(tài)指示。
而清除中斷指示腳,以及中斷狀態(tài)指示寄存器的中斷狀態(tài),可以通過讀RX_PORT_STS1 0x4D和RX_PORT_STS2 0x4E,以及 CSI_RX_STS 0x7A中斷狀態(tài)指示寄存器進(jìn)行清除。因?yàn)镻ORT_ISR_HI/LO的中斷狀態(tài)位是copy 0x4D/0x4E/0x7A中斷狀態(tài)寄存器的,
所以只要清除了 0x4D/0x4E/0x7A這三個(gè)寄存器的中斷狀態(tài)指示,PORT_ISR_HI/LO的中斷狀態(tài)指示位也會(huì)相應(yīng)的清除,同時(shí)0x24的相應(yīng)中斷狀態(tài)也會(huì)清除。
使能某一個(gè)RX Port的獨(dú)立中斷源,并使能INTB中斷指示腳,可以遵循以下步驟:
a) 通過設(shè)置PORT_ICR_HI 0xD8和PORT_ICR_LO 0xD9,設(shè)定所需要的獨(dú)立中斷源
b) 在INTERRUPT_CTL 0x23 中,將相應(yīng)RX Port的中斷源使能打開
c) 在INTERRUPT_CTL 0x23 中,將全局中斷使能打開
清除某一個(gè)RX Port以及INTB腳的中斷狀態(tài)指示,可以遵循以下步驟:
a) (可選)通過INTERRUPT_STS 0x24判斷,是哪個(gè)TX port或者某一個(gè)RX Port出現(xiàn)中斷
b) (可選)通過PORT_ISR_HI 0xDA和PORT_ISR_LO 0xDB寄存器可以確定具體的中斷源
c) 通過讀取RX_PORT_STS1 0x4D和RX_PORT_STS2 0x4E狀態(tài)寄存器CSI_RX_STS 0x7A狀態(tài)寄存器,即可以清除中斷標(biāo)志位。
Figure.5 964/962 各RX Port獨(dú)立中斷源
Figure.6 964/962 各RX Port獨(dú)立中斷狀態(tài)指示寄存器
示例代碼:
#0x30為964的7bit I2C地址
#使能RX_0的獨(dú)立中斷源
Write( 0x30, 0x4C, 0x01)
Write( 0x30, 0xD8, 0x07)
Write( 0x30, 0xD9, 0x77)
#使能964的全局中斷,以及RX0的中斷源
Write( 0x30, 0x23, 0x81)
INTERRUPT_STS = ReadI2C(0x30, 0x24) //讀取0x24,判斷中斷源
if ((INTERRUPT_STS & 0x80) 》》 7):
print “# GLOBAL INTERRUPT DETECTED ” //如果bit 7為1,則為全局中斷
if ((INTERRUPT_STS & 0x20) 》》 5):
print “# IS_CSI_TX1 DETECTED ” //如果bit 5為1,則為TX1中斷
if ((INTERRUPT_STS & 0x10) 》》 4):
print “# IS_CSI_TX0 DETECTED ” //如果bit 4為1,則為TX0中斷
if ((INTERRUPT_STS & 0x08) 》》 3):
print “# IS_RX3 DETECTED ” //如果bit 3為1,則為RX3中斷
if ((INTERRUPT_STS & 0x04) 》》 2):
print “# IS_RX2 DETECTED ” //如果bit 2為1,則為RX2中斷
if ((INTERRUPT_STS & 0x02) 》》 1):
print “# IS_RX1 DETECTED ” //如果bit 1為1,則為RX1中斷
if ((INTERRUPT_STS & 0x01) ):
print “# IS_RX0 DETECTED ” //如果bit 0為1,則為RX0中斷
#假如RX0中斷,通過0xDB/0xDA寄存器來判斷具體的中斷類型
Write(0x30, 0x4C,0x01) //選通RX0
PORT_ISR_LO = ReadI2C(0x30, 0xDB) //讀取0xDB狀態(tài)
PORT_ISR_HI = ReadI2C(0x30, 0xDA) //讀取0xDA狀態(tài)
if ((PORT_ISR_LO & 0x40) 》》 6):
print “# IS_LINE_LEN_CHG INTERRUPT DETECTED ” //如果bit 6為1,則為水平寬度變化故障
if ((PORT_ISR_LO & 0x20) 》》 5):
print “# IS_LINE_CNT_CHG DETECTED ” //如果bit 5為1,則為垂直寬度變化故障
if ((PORT_ISR_LO & 0x10) 》》 4):
print “# IS_BUFFER_ERR DETECTED ” //如果bit 4為1,則為RX buffer 溢出故障
if ((PORT_ISR_LO & 0x04) 》》 2):
print “# IS_FPD3_PAR_ERR DETECTED ”//如果bit 2為1,則為RX 奇偶校驗(yàn)錯(cuò)誤故障
if ((PORT_ISR_LO & 0x02) 》》 1):
print “# IS_PORT_PASS DETECTED ” //如果bit 1為1,則為RX Pass Fail 故障
if ((PORT_ISR_LO & 0x01) ) :
print “# IS_LOCK_STS DETECTED ” //如果bit 0為1,則為L(zhǎng)OCK狀態(tài)變更故障
if ((PORT_ISR_HI & 0x04) 》》 2):
print “# IS_FPD3_ENC_ERR DETECTED ”//如果bit 2為1,則為RX Port 編碼失敗故障
if ((PORT_ISR_HI & 0x02) 》》 1):
print “# IS_BCC_SEQ_ERR DETECTED ”//如果bit 1為1,則為BCC時(shí)序錯(cuò)誤故障
if ((PORT_ISR_HI & 0x01) ) :
print “# IS_BCC_CRC_ERR DETECTED ” //如果bit 0為1,則為BC CRC校驗(yàn)錯(cuò)誤故障
#通過讀取0x4D/0x4E/0x7A中斷狀態(tài)指示寄存器,清除中斷狀態(tài)
Write(0x30, 0x4C,0x01) //選通RX0
ReadI2C(0x30, 0x4D)
ReadI2C(0x30, 0x4E)
ReadI2C(0x30, 0x7A)
2.3 964/962 TX Port的獨(dú)立中斷源
964/962的MIPI CSI TX端的獨(dú)立中斷源有五個(gè), 可以在CSI_TX_ICR 0x36中斷源控制寄存器使能,然后在CSI_TX_ISR 0x37中斷狀態(tài)指示寄存器讀取中斷狀態(tài),同時(shí)清除0x36以及INTB相應(yīng)的中斷狀態(tài)。
中斷狀態(tài)寄存器的配置以及清除中斷狀態(tài)的操作,與RX Port類似,這里不做贅述。
3. 934中斷功能的使能與配置
3.1. 934 INTB中斷指示腳的使能
與964/962類似,使用934的INTB中斷指示腳的輸出,需要先將INTERRUPT_CTL 0x23 bit_7的全局中斷使能打開,然后再打開0x23 bit 1:0 的中斷源開關(guān),中斷源來自于2個(gè)獨(dú)立的RX Port。
相應(yīng)RX Port的中斷狀態(tài)也可以通過INTERRUPT_STS 0x24中斷狀態(tài)指示寄存器進(jìn)行指示。而當(dāng)INTB中斷指示腳由于RX的某種故障狀態(tài)而拉低之后,需要通過讀取相應(yīng)中斷源的中斷狀態(tài)指示寄存器,來清除中斷指示腳的中斷狀態(tài)。
示例代碼:
#0x30 為934 的7bit I2C 地址
#使能934 的全局中斷,以及RX0_1 中斷源
Write( 0x30, 0x23, 0x83)
3.2. 934 各個(gè)RX Port 的獨(dú)立中斷源
934 的每一個(gè)RX Port 都有多個(gè)獨(dú)立中斷源,而這些獨(dú)立中斷源都可以通過PORT_ICR_HI 0xD8 和PORT_ICR_LO 0xD9 寄存器進(jìn)行使能。同時(shí),在PORT_ISR_HI 0xDA 和PORT_ISR_LO 0xDB 中斷狀態(tài)指示寄存器,可以提供相應(yīng)的只讀中斷狀態(tài)指示。
而清除中斷指示腳,以及中斷狀態(tài)指示寄存器的中斷狀態(tài),可以通過讀RX_PORT_STS1 0x4D 和RX_PORT_STS2 0x4E 中斷狀態(tài)指示寄存器進(jìn)行清除。因?yàn)镻ORT_ISR_HI/LO 的中斷狀態(tài)位是copy 0x4D/0x4E 中斷狀態(tài)寄存器的,所以只要清除了 0x4D/0x4E 這三個(gè)寄存器的中斷狀態(tài)指示,PORT_ISR_HI/LO 的中斷狀態(tài)指示位也會(huì)相應(yīng)的清除,同時(shí)0x24 的相應(yīng)中斷狀態(tài)也會(huì)清除。
示例代碼請(qǐng)參考2.2 章節(jié)中對(duì)964/962 的操作。
4. 實(shí)際應(yīng)用配置
如本文開關(guān)所述,對(duì)于流媒體后視鏡/全景泊車等ADAS 應(yīng)用中,由于各種各樣設(shè)計(jì)及外在干擾等因素,有可能會(huì)導(dǎo)致實(shí)際顯示效果因?yàn)殚W屏問題的出現(xiàn)而不及預(yù)期。為解決此類問題,我們可以利用解串器中的診斷/中斷功能,再配合上有幀buffer 及視頻處理能力的SOC,將有問題的視頻數(shù)據(jù)過濾掉。
下文以964/962 為解串器舉例,著重闡述解串器端應(yīng)該是如何進(jìn)行中斷功能的使能及配置,SOC 端的處理方式請(qǐng)咨詢相應(yīng)SOC 的支持團(tuán)隊(duì),此處不做贅述。而934 的配置方式與964/962 十分類似,因?yàn)?64/962 的獨(dú)立中斷源是比934 多的,并且有TX 端的中斷源,我們只需要將多出來的這部分中斷源不做配置,只配置934 獨(dú)有的中斷源即可,因此934 的配置方式及示例代碼請(qǐng)參考964/962 的配置。
4.1. 964/962 同步模式下中斷相關(guān)的配置
964/962 有三種同步輸出模式,分別是Basic Synchronized/Line-Interleave/Line- Concatenated。在同步模式下,TX Port 會(huì)將各個(gè)RX Port 輸入的視頻數(shù)據(jù),根據(jù)相應(yīng)的模式同步好之后,再進(jìn)行輸出。當(dāng)其中一個(gè)或者多個(gè)RX Port 的視頻數(shù)據(jù)超過一個(gè)行長(zhǎng)度的時(shí)間還沒有輸入到buffer 里面的話,即認(rèn)為當(dāng)前packet 數(shù)據(jù)同步失敗,964/962 就會(huì)將buffer 里面其它RX Port 的視頻數(shù)據(jù)清除,并接收下一個(gè)video line 數(shù)據(jù),此時(shí)MIPI CSI 口會(huì)沒有數(shù)據(jù)輸出。
所以,在同步模式下,因?yàn)?64/962 會(huì)將所有RX Port 的數(shù)據(jù)同步之后再進(jìn)行輸出,建議只用TX 的獨(dú)立中斷源來檢測(cè)MIPI CSI 數(shù)據(jù)是否有異常,這樣做相對(duì)比較簡(jiǎn)單,軟件處理中斷任務(wù)的時(shí)間及占用的資源相對(duì)較少。另外,因?yàn)槊恳粋€(gè)終端產(chǎn)品的設(shè)計(jì)/線束/應(yīng)用環(huán)境等參數(shù)都有所差異,造成不同的系統(tǒng)可能因不同的原因而對(duì)某種中斷源比較敏感, 所以在獨(dú)立中斷源的使能上也需要因系統(tǒng)而異,根據(jù)調(diào)試結(jié)果逐步減少獨(dú)立中斷源的使能,從而防止中斷重復(fù)上報(bào)而過多占用系統(tǒng)資源。
示例程序:
#0x30 為964 的7bit I2C 地址
#使能964 TX0_1 的獨(dú)立中斷源
Write( 0x30, 0x32, 0x01) //選通TX0
Write( 0x30, 0x36, 0x1F) //可以根據(jù)測(cè)試效果減少獨(dú)立中斷源
Write( 0x30, 0x32, 0x12) //選通TX1
Write( 0x30, 0x36, 0x1F) //可以根據(jù)測(cè)試效果減少獨(dú)立中斷源
#使能964 的全局中斷,以及TX0_1 中斷源
Write( 0x30, 0x23, 0xB0)
#當(dāng)檢測(cè)到中斷事件后,通過讀取相關(guān)寄存器判斷中斷源并清除中斷
INTERRUPT_STS = ReadI2C(0x30, 0x24) //讀取0x24,判斷中斷源是來自哪個(gè)TX port
if ((INTERRUPT_STS & 0x80) 》》 7):
print “# GLOBAL INTERRUPT DETECTED ”//如果bit 7 為1,則為全局中斷
if ((INTERRUPT_STS & 0x20) 》》 5):
print “# IS_CSI_TX1 DETECTED ” //如果bit 5 為1,則為TX1 中斷
if ((INTERRUPT_STS & 0x10) 》》 4):
print “# IS_CSI_TX0 DETECTED ” //如果bit 4 為1,則為TX0 中斷
#如果是來自與TX1 的中斷,可通過0x37 判斷中斷類型并清除中斷
Write( 0x30, 0x32, 0x12) //選通TX1
CSI_TX_ISR = ReadI2C(0x30, 0x37) //讀取0x37 狀態(tài)并清除中斷
if ((CSI_TX_ISR & 0x10) 》》 4):
print “# IS_RX_PORT_INT ” //如果bit 4 為1,則為RX 出現(xiàn)中斷故障
if ((CSI_TX_ISR & 0x08) 》》 3):
print “# IS_CSI_SYNC_ERROR ” //如果bit 3 為1,則為輸入信號(hào)同步錯(cuò)誤故障
if ((CSI_TX_ISR & 0x04) 》》 2):
print “# IS_CSI_SYNC ” //如果bit 2 為1,則為TX 同步時(shí)出現(xiàn)錯(cuò)誤故障
if ((CSI_TX_ISR & 0x02) 》》 1):
print “# IS_CSI_PASS_ERROR ” //如果bit 1 為1,則為RX 數(shù)據(jù)不符合PASS 標(biāo)準(zhǔn)
if ((CSI_TX_ISR & 0x01)):
print “# IS_CSI_PASS ” //如果bit 0 為1,則為TX 數(shù)據(jù)不符合PASS 標(biāo)準(zhǔn)
4.2. 964/962 異步模式下中斷相關(guān)的配置
當(dāng)964/962 的輸出模式配置為best-effort round robin forwarding 時(shí),便工作在異步輸出模式。在該模式下,TX Port 使用標(biāo)準(zhǔn)的CSI-2 格式傳輸視頻流,且各個(gè)攝像頭的視頻數(shù)據(jù)的輸出沒有特定的順序,當(dāng)RX Port 的數(shù)據(jù)ready 后就進(jìn)行輸出,而不會(huì)等待同步完成后再輸出。而如果同一時(shí)間多個(gè)packet 都ready 的話,TX 的發(fā)送器會(huì)工作在round robin 的循環(huán)模式,逐個(gè)將RX 的數(shù)據(jù)循環(huán)進(jìn)行輸出。
異步模式可以接受RX Port 的數(shù)據(jù)是不同的格式,并且不需要各個(gè)port 之間的數(shù)據(jù)同步, 但是需要接收端的SOC 能根據(jù)VC ID 和data type 來區(qū)分不同輸入源。
在異步模式下,因?yàn)?62/964 不會(huì)檢測(cè)同步信號(hào),所以為了提高系統(tǒng)處理的效率,可以不使用TX 端的獨(dú)立中斷源來進(jìn)行故障的判斷,而是使能RX Port 的獨(dú)立中斷源來進(jìn)行檢測(cè)。同樣的,在對(duì)系統(tǒng)進(jìn)行測(cè)試的時(shí)候,如果發(fā)現(xiàn)964/962 有重復(fù)上報(bào)中斷的話,需要優(yōu)化0x23/0xD8/0xD9 的獨(dú)立中斷源使能,看系統(tǒng)對(duì)哪些中斷源比較敏感,然后關(guān)閉不必要的中斷源,避免重復(fù)上報(bào)中斷導(dǎo)致多幀畫面被丟棄。
示例程序:
#0x30為964的7bit I2C地址
#使能964 RX0_1_2_3的獨(dú)立中斷源
Write( 0x30, 0x4C, 0x01) //選通RX_0
Write( 0x30, 0xD8, 0x07) //需要根據(jù)測(cè)試效果減少獨(dú)立中斷源
Write( 0x30, 0xD9, 0x77)
Write( 0x30, 0x4C, 0x12) //選通RX_1
Write( 0x30, 0xD8, 0x07) //需要根據(jù)測(cè)試效果減少獨(dú)立中斷源
Write( 0x30, 0xD9, 0x77)
Write( 0x30, 0x4C, 0x24) //選通RX_2
Write( 0x30, 0xD8, 0x07) //需要根據(jù)測(cè)試效果減少獨(dú)立中斷源
Write( 0x30, 0xD9, 0x77)
Write( 0x30, 0x4C, 0x38) //選通RX_3
Write( 0x30, 0xD8, 0x07) //需要根據(jù)測(cè)試效果減少獨(dú)立中斷源
Write( 0x30, 0xD9, 0x77)
#使能964的全局中斷,以及RX0_1_2_3中斷源
Write( 0x30, 0x23, 0x8F)
#當(dāng)檢測(cè)到中斷事件后,通過讀取相關(guān)寄存器判斷中斷源并清除中斷
INTERRUPT_STS = ReadI2C(0x30, 0x24) //讀取0x24,判斷中斷源是來自哪個(gè)RX port
if ((INTERRUPT_STS & 0x80) 》》 7):
print “# GLOBAL INTERRUPT DETECTED ” //如果bit 7為1,則為全局中斷
if ((INTERRUPT_STS & 0x08) 》》 3):
print “# IS_RX3 DETECTED ” //如果bit 3為1,則為RX3中斷
if ((INTERRUPT_STS & 0x04) 》》 2):
print “# IS_RX2 DETECTED ” //如果bit 2為1,則為RX2中斷
if ((INTERRUPT_STS & 0x02) 》》 1):
print “# IS_RX1 DETECTED ” //如果bit 1為1,則為RX1中斷
if ((INTERRUPT_STS & 0x01) ):
print “# IS_RX0 DETECTED ” //如果bit 0為1,則為RX0中斷
#假如RX0中斷,通過0xDB/0xDA寄存器來判斷具體的中斷類型。
#對(duì)RX_1_2_3的中斷施行同樣的操作。
Write(0x30, 0x4C,0x01) //選通RX0
PORT_ISR_LO = ReadI2C(0x30, 0xDB) //讀取0xDB狀態(tài)
PORT_ISR_HI = ReadI2C(0x30, 0xDA) //讀取0xDA狀態(tài)
if ((PORT_ISR_LO & 0x40) 》》 6):
print “# IS_LINE_LEN_CHG INTERRUPT DETECTED ” //如果bit 6為1,則為水平寬度變化故障
if ((PORT_ISR_LO & 0x20) 》》 5):
print “# IS_LINE_CNT_CHG DETECTED ” //如果bit 5為1,則為垂直寬度變化故障
if ((PORT_ISR_LO & 0x10) 》》 4):
print “# IS_BUFFER_ERR DETECTED ” //如果bit 4為1,則為RX buffer 溢出故障
if ((PORT_ISR_LO & 0x04) 》》 2):
print “# IS_FPD3_PAR_ERR DETECTED ” //如果bit 2為1,則為RX 奇偶校驗(yàn)錯(cuò)誤
if ((PORT_ISR_LO & 0x02) 》》 1):
print “# IS_PORT_PASS DETECTED ” //如果bit 1為1,則為RX Pass Fail 故障
if ((PORT_ISR_LO & 0x01) ) :
print “# IS_LOCK_STS DETECTED ” //如果bit 0為1,則為L(zhǎng)OCK狀態(tài)變更故障
if ((PORT_ISR_HI & 0x04) 》》 2):
print “# IS_FPD3_ENC_ERR DETECTED ” //如果bit 2為1,則為RX 編碼失敗故障
if ((PORT_ISR_HI & 0x02) 》》 1):
print “# IS_BCC_SEQ_ERR DETECTED ” //如果bit 1為1,則為BC時(shí)序錯(cuò)誤故障
if ((PORT_ISR_HI & 0x01) ) :
print “# IS_BCC_CRC_ERR DETECTED ”//如果bit 0為1,則為BC CRC校驗(yàn)錯(cuò)誤故障
#通過讀取0x4D/0x4E/0x7A中斷狀態(tài)指示寄存器,清除中斷狀態(tài)
Write(0x30, 0x4C,0x01) //選通RX0
ReadI2C(0x30, 0x4D) //清除中斷
ReadI2C(0x30, 0x4E)
ReadI2C(0x30, 0x7A)
審核編輯:郭婷
-
寄存器
+關(guān)注
關(guān)注
31文章
5359瀏覽量
120818 -
soc
+關(guān)注
關(guān)注
38文章
4192瀏覽量
218633 -
adas
+關(guān)注
關(guān)注
309文章
2189瀏覽量
208752
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論