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

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

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

TI平板顯示器Link III器件中斷功能的配置及應(yīng)用

星星科技指導(dǎo)員 ? 來(lái)源:TI ? 作者:Fery Feng ? 2023-03-29 10:42 ? 次閱讀

此文主要針對(duì)利用DS09UB933/34/62/64-Q1等FPD-Link器件搭建的流媒體后視鏡/全景泊車(chē)等應(yīng)用中,由于鏈路設(shè)計(jì)、應(yīng)用環(huán)境干擾、ESD等情況,導(dǎo)致概率性出現(xiàn)屏幕顯示閃屏或者滾動(dòng)的現(xiàn)象。利用解串器中的診斷/中斷功能,再配合上有幀buffer及視頻處理能力的SOC,就可以有效地應(yīng)對(duì)此類(lèi)問(wèn)題。

TIADAS應(yīng)用中的FPD-LINK器件均帶有豐富的診斷功能,包括奇偶校驗(yàn)/反向通道CRC校驗(yàn)/LOCK狀態(tài)/幀水平寬度檢測(cè)/幀垂直寬度檢測(cè)等,利用這些診斷功能我們可以十分便利的知道解串器接收到的數(shù)據(jù)是否有問(wèn)題。同時(shí),我們可以將以上的診斷結(jié)果映射到中斷管腳上,并將中斷腳連接到SOC,如果解串器接收的數(shù)據(jù)檢測(cè)出來(lái)有問(wèn)題的話,可以通過(guò)中斷腳通知SOC去讀取相關(guān)的寄存器,從而知道具體是出現(xiàn)什么故障了。

而對(duì)于接收端帶有幀buffer或者視頻處理能力的SOC的系統(tǒng),在我們知道當(dāng)前幀的數(shù)據(jù)有問(wèn)題的話,可以通過(guò)清除幀buffer將這些有問(wèn)題的視頻數(shù)據(jù)清除,重新接收下一幀畫(huà)面,并凍結(jié)當(dāng)前的顯示畫(huà)面,那這些問(wèn)題就不會(huì)在屏幕上顯示出來(lái)了。

1. 中斷指示腳INTB pin

964/962的中斷指示腳是Pin 6,它為開(kāi)漏輸出腳,所以需要4.7Kohm上拉到VDDIO電平。當(dāng)這個(gè)腳為低電平時(shí),表明有中斷請(qǐng)求。

pYYBAGQjpauABgBdAACvtqtPuUk737.png

Figure.1 962/964的中斷指示腳

而934的中斷指示腳是Pin 25,其與GPIO_3復(fù)用,同樣也是開(kāi)漏輸出腳,建議4.7Kohm上拉到VDDIO電平。

poYBAGQjpayAGMxLAAC7hMzeV3I451.png

Figure.2 934的中斷指示腳

2. 962/964中斷功能的使能與配置

2.1 964/962 INTB中斷指示腳的使能

使用INTB中斷指示腳的輸出,需要先將INTERRUPT_CTL 0x23 bit_7的全局中斷使能打開(kāi),然后再打開(kāi)0x23 bit5:0 的中斷源開(kāi)關(guān),中斷源來(lái)自于4個(gè)獨(dú)立的RX,以及兩個(gè)獨(dú)立的TX(962/964可以理解為FPD-Link III接收器即RX,以及MIPI CSI發(fā)送器即TX的組合)的各種中斷。

但是如果全局中斷沒(méi)有使能,符合條件的中斷還是會(huì)在相應(yīng)的中斷狀態(tài)指示寄存器上置位的。例如,要在檢測(cè)到IS_RX0中斷的時(shí)候,INTB輸出中斷,需要使能IE_RX0以及INT_EN。如果只是使能了IE_RX0,但是沒(méi)有使能INT_EN的話,中斷來(lái)了只會(huì)在INTERRUPT_STS 0x24中斷狀態(tài)指示寄存器進(jìn)行指示,而不會(huì)在INTB腳有指示。

而當(dāng)INTB中斷指示腳由于TX或者RX的某種故障狀態(tài)而拉低之后,需要通過(guò)讀取相應(yīng)中斷源的中斷狀態(tài)指示寄存器,來(lái)清除中斷指示腳的中斷狀態(tài)。具體的中斷狀態(tài)寄存器會(huì)在稍后的篇幅中詳細(xì)介紹。

pYYBAGQjpa2AO0vhAADnn0PPaaw853.png

Figure.3 964/962全局中斷控制寄存器

poYBAGQjpa6Ac-MhAAHVtxnaL6Y835.png

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ú)立中斷源都可以通過(guò)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),可以通過(guò)讀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) 通過(guò)設(shè)置PORT_ICR_HI 0xD8和PORT_ICR_LO 0xD9,設(shè)定所需要的獨(dú)立中斷源

b) 在INTERRUPT_CTL 0x23 中,將相應(yīng)RX Port的中斷源使能打開(kāi)

c) 在INTERRUPT_CTL 0x23 中,將全局中斷使能打開(kāi)

清除某一個(gè)RX Port以及INTB腳的中斷狀態(tài)指示,可以遵循以下步驟:

a) (可選)通過(guò)INTERRUPT_STS 0x24判斷,是哪個(gè)TX port或者某一個(gè)RX Port出現(xiàn)中斷

b) (可選)通過(guò)PORT_ISR_HI 0xDA和PORT_ISR_LO 0xDB寄存器可以確定具體的中斷源

c) 通過(guò)讀取RX_PORT_STS1 0x4D和RX_PORT_STS2 0x4E狀態(tài)寄存器CSI_RX_STS 0x7A狀態(tài)寄存器,即可以清除中斷標(biāo)志位。

pYYBAGQjpa6AO93JAAIlrUfrr8E176.png

Figure.5 964/962 各RX Port獨(dú)立中斷源

pYYBAGQjpbCAbX2KAAOwqSGYMVs084.png

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,則為T(mén)X1中斷

if ((INTERRUPT_STS & 0x10) 》》 4):

print “# IS_CSI_TX0 DETECTED ” //如果bit 4為1,則為T(mén)X0中斷

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中斷,通過(guò)0xDB/0xDA寄存器來(lái)判斷具體的中斷類(lèi)型

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ò)誤故障

#通過(guò)讀取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類(lèi)似,這里不做贅述。

3. 934中斷功能的使能與配置

3.1. 934 INTB中斷指示腳的使能

與964/962類(lèi)似,使用934的INTB中斷指示腳的輸出,需要先將INTERRUPT_CTL 0x23 bit_7的全局中斷使能打開(kāi),然后再打開(kāi)0x23 bit 1:0 的中斷源開(kāi)關(guān),中斷源來(lái)自于2個(gè)獨(dú)立的RX Port。

相應(yīng)RX Port的中斷狀態(tài)也可以通過(guò)INTERRUPT_STS 0x24中斷狀態(tài)指示寄存器進(jìn)行指示。而當(dāng)INTB中斷指示腳由于RX的某種故障狀態(tài)而拉低之后,需要通過(guò)讀取相應(yīng)中斷源的中斷狀態(tài)指示寄存器,來(lá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ú)立中斷源都可以通過(guò)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),可以通過(guò)讀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)用配置

如本文開(kāi)關(guān)所述,對(duì)于流媒體后視鏡/全景泊車(chē)等ADAS 應(yīng)用中,由于各種各樣設(shè)計(jì)及外在干擾等因素,有可能會(huì)導(dǎo)致實(shí)際顯示效果因?yàn)殚W屏問(wèn)題的出現(xiàn)而不及預(yù)期。為解決此類(lèi)問(wèn)題,我們可以利用解串器中的診斷/中斷功能,再配合上有幀buffer 及視頻處理能力的SOC,將有問(wèn)題的視頻數(shù)據(jù)過(guò)濾掉。

下文以964/962 為解串器舉例,著重闡述解串器端應(yīng)該是如何進(jìn)行中斷功能的使能及配置,SOC 端的處理方式請(qǐng)咨詢(xún)相應(yīng)SOC 的支持團(tuán)隊(duì),此處不做贅述。而934 的配置方式與964/962 十分類(lèi)似,因?yàn)?64/962 的獨(dú)立中斷源是比934 多的,并且有TX 端的中斷源,我們只需要將多出來(lái)的這部分中斷源不做配置,只配置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ù)超過(guò)一個(gè)行長(zhǎng)度的時(shí)間還沒(méi)有輸入到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ì)沒(méi)有數(shù)據(jù)輸出。

所以,在同步模式下,因?yàn)?64/962 會(huì)將所有RX Port 的數(shù)據(jù)同步之后再進(jìn)行輸出,建議只用TX 的獨(dú)立中斷源來(lái)檢測(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)而過(guò)多占用系統(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ò)讀取相關(guān)寄存器判斷中斷源并清除中斷

INTERRUPT_STS = ReadI2C(0x30, 0x24) //讀取0x24,判斷中斷源是來(lái)自哪個(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,則為T(mén)X1 中斷

if ((INTERRUPT_STS & 0x10) 》》 4):

print “# IS_CSI_TX0 DETECTED ” //如果bit 4 為1,則為T(mén)X0 中斷

#如果是來(lái)自與TX1 的中斷,可通過(guò)0x37 判斷中斷類(lèi)型并清除中斷

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,則為T(mén)X 同步時(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,則為T(mén)X 數(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ù)的輸出沒(méi)有特定的順序,當(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 來(lái)區(qū)分不同輸入源。

在異步模式下,因?yàn)?62/964 不會(huì)檢測(cè)同步信號(hào),所以為了提高系統(tǒng)處理的效率,可以不使用TX 端的獨(dú)立中斷源來(lái)進(jìn)行故障的判斷,而是使能RX Port 的獨(dú)立中斷源來(lái)進(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)致多幀畫(huà)面被丟棄。

示例程序:

#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ò)讀取相關(guān)寄存器判斷中斷源并清除中斷

INTERRUPT_STS = ReadI2C(0x30, 0x24) //讀取0x24,判斷中斷源是來(lái)自哪個(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中斷,通過(guò)0xDB/0xDA寄存器來(lái)判斷具體的中斷類(lèi)型。

#對(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ò)誤故障

#通過(guò)讀取0x4D/0x4E/0x7A中斷狀態(tài)指示寄存器,清除中斷狀態(tài)

Write(0x30, 0x4C,0x01) //選通RX0

ReadI2C(0x30, 0x4D) //清除中斷

ReadI2C(0x30, 0x4E)

ReadI2C(0x30, 0x7A)

審核編輯:郭婷

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

    關(guān)注

    31

    文章

    5273

    瀏覽量

    119660
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4069

    瀏覽量

    217566
  • adas
    +關(guān)注

    關(guān)注

    309

    文章

    2152

    瀏覽量

    208438
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    QuickLogic推出ArcticLink III BX系列顯示器界面橋接器件

    QuickLogic公司宣布推出該公司最新的顯示解決方案:ArcticLink ?III BX系列顯示器界面橋接器件
    發(fā)表于 12-03 17:08 ?1804次閱讀

    TI壯大FPD-Link III汽車(chē)級(jí)串行解串產(chǎn)品陣營(yíng)

    德州儀器 (TI) 宣布推出業(yè)界功能最豐富的芯片組,進(jìn)一步壯大其 FPD-Link III 汽車(chē)級(jí)串行解串
    發(fā)表于 07-05 17:12 ?2538次閱讀

    平板顯示器接口的發(fā)展

    取決于平板顯示器的接口。為更好地預(yù)見(jiàn)未來(lái),我們有必要回顧一下平板顯示器接口標(biāo)準(zhǔn)的演變歷史。從晶體管-集體光邏輯電路(TTL)直到今天的DisplayPort數(shù)字
    發(fā)表于 05-09 07:00

    如何改善平板顯示器的音頻性能?

    如何改善平板顯示器的音頻性能?
    發(fā)表于 06-04 07:01

    Link III器件中斷功能配置及應(yīng)用

    的現(xiàn)象。利用解串中的診斷/中斷功能,再配合上有幀buffer及視頻處理能力的SOC,就可以有效地應(yīng)對(duì)此類(lèi)問(wèn)題。 TI在ADAS應(yīng)用中的FPD-LI
    發(fā)表于 11-09 07:44

    SUPERSYNC MD-11III型彩色顯示器的電源電路圖

    SUPERSYNC MD-11III型彩色顯示器的電源電路圖
    發(fā)表于 04-19 22:07 ?37次下載

    SUPERSYNC MD-14III型彩色顯示器的電源電路圖

    SUPERSYNC MD-14III型彩色顯示器的電源電路圖
    發(fā)表于 04-19 22:10 ?12次下載

    平板顯示器驅(qū)動(dòng)電路

    介紹了場(chǎng)發(fā)射顯示(FED)、等離子體顯示(PDP)、液晶顯示(LCD)、有機(jī)電致發(fā)光顯示(OLED)等平板
    發(fā)表于 07-31 10:47 ?62次下載

    平板顯示器(FPD)

    平板顯示器(FPD) 平板顯示器(FPD)的定義: FPD(Flat Panel Display)顧名思義,就是屏幕呈平面的電視,它是相對(duì)于傳
    發(fā)表于 10-30 22:14 ?2030次閱讀

    什么是平板顯示器(FPD)

    平板顯示器(FPD) 平板顯示器(FPD)的英文全稱(chēng):Flat Panel Display FPD(Flat Panel Display)顧名思義,就是屏幕呈平面的電
    發(fā)表于 10-30 22:16 ?4203次閱讀

    TinySwitch-III 面向顯示器應(yīng)用的參考設(shè)計(jì)

    TinySwitch-III 面向顯示器應(yīng)用的參考設(shè)計(jì),寬范圍輸入待機(jī)電源,12 V1 A 輸出
    發(fā)表于 05-11 15:18 ?14次下載

    改善平板顯示器的音頻性能

    關(guān)鍵詞:平板顯示器 , 音頻性能 音頻功率放大器 (APA) 技術(shù)的最新發(fā)展進(jìn)一步提高了平板顯示器的音質(zhì),使之具有了與其優(yōu)質(zhì)圖像質(zhì)量相稱(chēng)的音響效果。隨著液晶電視、液晶
    發(fā)表于 02-17 12:13 ?720次閱讀

    TI 平板顯示器 Link III 器件中斷功能配置及應(yīng)用

    TI 平板顯示器 Link III 器件中斷
    發(fā)表于 10-31 08:24 ?0次下載
    <b class='flag-5'>TI</b> <b class='flag-5'>平板</b><b class='flag-5'>顯示器</b> <b class='flag-5'>Link</b> <b class='flag-5'>III</b> <b class='flag-5'>器件</b><b class='flag-5'>中斷</b><b class='flag-5'>功能</b>的<b class='flag-5'>配置</b>及應(yīng)用

    TI FPD-Link III 視頻傳輸橋接器件的內(nèi)部測(cè)試模式

    TI FPD-Link III 視頻傳輸橋接器件的內(nèi)部測(cè)試模式
    發(fā)表于 11-01 08:25 ?2次下載
    <b class='flag-5'>TI</b> FPD-<b class='flag-5'>Link</b> <b class='flag-5'>III</b> 視頻傳輸橋接<b class='flag-5'>器件</b>的內(nèi)部測(cè)試模式

    TI FPD-Link III視頻傳輸橋接器件的內(nèi)部測(cè)試模式

    TI的FPD Link III 系列的視頻傳輸橋接器件,是專(zhuān)門(mén)用于車(chē)載信息娛樂(lè)系統(tǒng)以及車(chē)載ADAS應(yīng)用的視頻傳輸橋接器件。通常是串化
    的頭像 發(fā)表于 03-30 10:26 ?2802次閱讀
    <b class='flag-5'>TI</b> FPD-<b class='flag-5'>Link</b> <b class='flag-5'>III</b>視頻傳輸橋接<b class='flag-5'>器件</b>的內(nèi)部測(cè)試模式