日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:本應(yīng)用筆記介紹如何通過(guò)吉比特多媒體串行鏈路(GMSL) SerDes的遠(yuǎn)端I2C接口訪問(wèn)16位寄存器地址。引言Maxim吉比特多媒體串行鏈路(GMSL)串行器/解串器(SerDes)系列包括MAX9249、MAX9259、MAX9260、MAX9263和

摘要:本應(yīng)用筆記介紹如何通過(guò)吉比特多媒體串行鏈路(GMSL) SerDes的遠(yuǎn)端I2C接口訪問(wèn)16位寄存器地址。

引言

Maxim吉比特多媒體串行鏈路(GMSL)串行器/解串器(SerDes)系列包括MAX9249、MAX9259、MAX9260、MAX9263和MAX9264,具有UART/I2C轉(zhuǎn)換器,用于遠(yuǎn)端控制I2C接口外設(shè)。這些外設(shè)包括相機(jī)傳感器、I/O端口擴(kuò)展器、音頻模/數(shù)轉(zhuǎn)換器(ADC)和數(shù)/模轉(zhuǎn)換器(DAC),以及LED照明。

在GMSL數(shù)據(jù)資料和相關(guān)技術(shù)文件中,通過(guò)UART端口直接連接至電子控制單元(ECU)的一端被稱為"本地端",另一端被稱為"遠(yuǎn)端".

I2C外設(shè)接口是控制通道基本模式中的默認(rèn)設(shè)置。GMSL系列SerDes只轉(zhuǎn)換器件地址不同于GMSL串行器或解串器地址的UART數(shù)據(jù)包。UART/I2C轉(zhuǎn)換器接收(比如)汽車ECU發(fā)出的UART讀或?qū)憯?shù)據(jù)包,并將其轉(zhuǎn)換為I2C主控制器協(xié)議。

I2C接口支持外設(shè)使用的多種不同格式,有或沒(méi)有變址寄存器以及8為或16位變址寄存器地址均可,通過(guò)遠(yuǎn)端寄存器位I2CMETHOD (寄存器0x05位7)設(shè)置實(shí)現(xiàn)。

對(duì)于沒(méi)有變址寄存器的外設(shè):

設(shè)置I2CMETHOD = 1,按照標(biāo)準(zhǔn)GMSL UART協(xié)議發(fā)送讀/寫(xiě)數(shù)據(jù)包。UART/I2C轉(zhuǎn)換器將去掉讀/寫(xiě)數(shù)據(jù)包中的8位寄存器地址,如圖1所示。

圖1. 命令模式(I2CMETHOD = 1)下UART和I2C之間的格式轉(zhuǎn)換

對(duì)于采用8位變址寄存器的外設(shè):

設(shè)置I2CMETHOD = 0,按照標(biāo)準(zhǔn)GMSL UART協(xié)議發(fā)送讀/寫(xiě)數(shù)據(jù)包,如圖2所示。

圖2. 帶有寄存器地址(I2CMETHOD = 0)時(shí),UART和I2C之間的格式轉(zhuǎn)換

對(duì)于采用16位變址寄存器的外設(shè):

3.1. 寫(xiě)操作。設(shè)置I2CMETHOD = 1,按照標(biāo)準(zhǔn)GMSL UART協(xié)議產(chǎn)生寫(xiě)數(shù)據(jù)包。將16為變址寄存器地址置于數(shù)據(jù)的前2個(gè)字節(jié),使字節(jié)的數(shù)量等于發(fā)送數(shù)據(jù)的原始數(shù)量加2.UART/I2C轉(zhuǎn)換器將去掉標(biāo)準(zhǔn)寫(xiě)數(shù)據(jù)包中的8位寄存器地址,如圖1所示。

例如,如果外設(shè)需要16位變址寄存器和8位數(shù)據(jù),類似于:

假設(shè)device_address = 0x22,index_regiSTer_address = 0x3344,及data = 0x55.主控ECU需要將數(shù)據(jù)包0x79 + 0x22 + 0x00 + 0x03 + 0x33 + 0x44 + 0x55寫(xiě)入U(xiǎn)ART端口,然后讀取來(lái)自UART端口的ACK字節(jié),檢查寫(xiě)操作是否成功。

  0x79為同步字節(jié),

  0x22為帶有寫(xiě)操作指示的器件地址,

  0x00為虛擬字節(jié),可為任意值;UART/I2C轉(zhuǎn)換器在轉(zhuǎn)換時(shí)將其刪除,

  0x03為字節(jié)數(shù)量,

  0x33為16位變址寄存器地址的高位字節(jié),

  0x44為16為變址寄存器地址的低位字節(jié),

  0x55為8位數(shù)據(jù)。

  UART/I2C轉(zhuǎn)換器之后,數(shù)據(jù)包將變?yōu)椋?/p>

3.2. 讀操作。完成寫(xiě)操作需要2個(gè)UART數(shù)據(jù)包,1個(gè)寫(xiě)數(shù)據(jù)包后跟1個(gè)讀數(shù)據(jù)包。寫(xiě)數(shù)據(jù)包設(shè)置變址寄存器地址,讀數(shù)據(jù)包讀取數(shù)據(jù)。

假設(shè)外設(shè)的器件地址和變址寄存器地址相同,需要讀取1個(gè)數(shù)據(jù)字節(jié),需按以下步驟進(jìn)行:

  設(shè)置I2CMETHOD = 1,

  ECU發(fā)送寫(xiě)數(shù)據(jù)包0x79 + 0x22 + 0x00 + 0x02 + 0x33 + 0x44至UART端口,

  ECU從UART端口讀取ACK字節(jié),

  ECU發(fā)送讀數(shù)據(jù)包0x79 + 0x23 + 0x00 + 0x01至UART端口,

  ECU從UART端口讀取ACK字節(jié),

  然后ECU從UART端口讀取數(shù)據(jù)。

  對(duì)于寫(xiě)數(shù)據(jù)包:

  0x79為同步字節(jié),

  0x22為帶有寫(xiě)操作指示的器件地址,

  0x00為虛擬字節(jié),可為任意值;UART/I2C轉(zhuǎn)換器在轉(zhuǎn)換時(shí)將其刪除,

  0x02為字節(jié)數(shù)量,

  0x33為16位變址寄存器地址的高位字節(jié),

  0x44為16位變址寄存器地址的低位字節(jié)。

  對(duì)于讀數(shù)據(jù)包:

  0x79為同步字節(jié),

  0x23為帶有讀操作指示的器件地址,

  0x00為虛擬字節(jié),可為任意值;UART/I2C轉(zhuǎn)換器在轉(zhuǎn)換時(shí)將其刪除,

  0x01為字節(jié)數(shù)量。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉