我们现在使用DS90UB954配合DS90UB913/DS90UB953,954要兼容913,953。所以我就使用了RAW 10数据格式。
954已经被识别到,但是i2c访问913寄存器报NACK错误。
GPIO 0,1,2作为输入透传到913。3,4,5,6作为本地输出。相应954寄存器配置如下
Reg[0x00]:0x60 Reg[0x01]:0x00 Reg[0x02]:0x1e Reg[0x03]:0x20 Reg[0x04]:0xd3 Reg[0x05]:0x01 Reg[0x06]:0x00 Reg[0x07]:0xfe Reg[0x08]:0x1eReg[0x09]:0x1c Reg[0x0a]:0x78 Reg[0x0b]:0x78 Reg[0x0c]:0x81 Reg[0x0d]:0x09 Reg[0x0e]:0x00 Reg[0x0f]:0x07 Reg[0x10]:0x00Reg[0x11]:0x00 Reg[0x12]:0x00 Reg[0x13]:0x81 Reg[0x14]:0x13 Reg[0x15]:0x13 Reg[0x16]:0x13 Reg[0x17]:0x00 Reg[0x18]:0x00Reg[0x19]:0x00 Reg[0x1a]:0x00 Reg[0x1b]:0x00 Reg[0x1c]:0x00 Reg[0x1d]:0x00 Reg[0x1e]:0x04 Reg[0x1f]:0x02 Reg[0x20]:0x30Reg[0x21]:0x01 Reg[0x22]:0x00 Reg[0x23]:0x00 Reg[0x24]:0x00 Reg[0x25]:0x00 Reg[0x26]:0x00 Reg[0x27]:0x00 Reg[0x28]:0x00Reg[0x29]:0x00 Reg[0x2a]:0x00 Reg[0x2b]:0x00 Reg[0x2c]:0x00 Reg[0x2d]:0x00 Reg[0x33]:0x00 Reg[0x34]:0x40 Reg[0x35]:0x00Reg[0x36]:0x00 Reg[0x37]:0x00 Reg[0x39]:0x00 Reg[0x3a]:0x00 Reg[0x41]:0xa7 Reg[0x42]:0x71 Reg[0x43]:0x01 Reg[0x4a]:0x00Reg[0x4b]:0x12 Reg[0x4c]:0x01 Reg[0x4d]:0x00 Reg[0x4e]:0x02 Reg[0x4f]:0x00 Reg[0x50]:0x00 Reg[0x51]:0x00 Reg[0x52]:0x00Reg[0x53]:0x00 Reg[0x54]:0x00 Reg[0x55]:0x00 Reg[0x56]:0x00 Reg[0x57]:0x00 Reg[0x58]:0x58 Reg[0x59]:0x00 Reg[0x52]:0x00Reg[0x53]:0x00 Reg[0x54]:0x00 Reg[0x55]:0x00 Reg[0x56]:0x00 Reg[0x57]:0x00 Reg[0x58]:0x58 Reg[0x59]:0x00 Reg[0x5a]:0x00Reg[0x5b]:0x00 Reg[0x5c]:0xb0 Reg[0x5d]:0x34 Reg[0x5e]:0x00 Reg[0x5f]:0x00 Reg[0x60]:0x00 Reg[0x61]:0x00 Reg[0x62]:0x00Reg[0x63]:0x00 Reg[0x64]:0x00 Reg[0x65]:0x34 Reg[0x66]:0x00 Reg[0x67]:0x00 Reg[0x68]:0x00 Reg[0x69]:0x00 Reg[0x6a]:0x00Reg[0x6b]:0x00 Reg[0x6c]:0x00 Reg[0x6d]:0x7f Reg[0x6e]:0x88 Reg[0x6f]:0x88 Reg[0x70]:0x2b Reg[0x71]:0x2c Reg[0x72]:0xe4Reg[0x73]:0x00 Reg[0x74]:0x00 Reg[0x75]:0x00 Reg[0x76]:0x00 Reg[0x77]:0xc5 Reg[0x78]:0x00 Reg[0x79]:0x01 Reg[0x7a]:0x00Reg[0x7b]:0x00 Reg[0x7c]:0x20 Reg[0x7d]:0x00 Reg[0x7e]:0x00 Reg[0x7f]:0x00 Reg[0xa5]:0x18 Reg[0xb0]:0x08 Reg[0xb1]:0x14Reg[0xb2]:0x3f Reg[0xb3]:0x08 Reg[0xb8]:0x8f Reg[0xb9]:0x33 Reg[0xba]:0x83 Reg[0xbc]:0x80 Reg[0xbe]:0x00 Reg[0xd0]:0x00Reg[0xd2]:0x94 Reg[0xd3]:0x3f Reg[0xd4]:0x60 Reg[0xd5]:0xf2 Reg[0xd8]:0x00 Reg[0xd9]:0x00 Reg[0xda]:0x00 Reg[0xdb]:0x00Reg[0xdc]:0x00 Reg[0xdd]:0x00 Reg[0xde]:0x00 Reg[0xdf]:0x00 Reg[0xf0]:0x5f Reg[0xf1]:0x55 Reg[0xf2]:0x42 Reg[0xf3]:0x39Reg[0xf4]:0x35 Reg[0xf5]:0x34 Reg[0xf8]:0x00 Reg[0xf9]:0x00
setphenzhou18:
回复 Amy Luo:
是由于提供913电源的GPIO开关没配置导致的。谢谢啦
Amy Luo:
回复 setphenzhou18:
这两个芯片FPD-LINK III 接口电平不兼容,我想问一下,配合DS90UB913使用时DS90UB954能够正常解串吗
setphenzhou18:
回复 Amy Luo:
兼容的,都是1.8V,解串我还没调通,954没输出。
6056807:
回复 setphenzhou18:
我遇到了你同样的问题,请问你是怎么配置的呢
6056807:
回复 Kailyn Chen:
您好,我也遇到了同样的问题,我的SER ID为设备自动获取0xB4,我的SER Alias设置为0xB6,能自动获取到SER ID说明913设备是正常工作的对吧,我的slave ID 0 设置的0x20 , 但是我探测设备没有找到相应地址的设备(0x30是我的954地址),我期望探测到913设备,和摄像头设备该怎么操作呢。
nvidia@tegra-ubuntu:~/Wl_Work$ sudo i2cdetect-y -r 20123456789abcdef
00:– — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: 30 — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —
寄存器配置如下nvidia@tegra-ubuntu:~/Wl_Work$ sudo i2cdump -f -y 2 0x30
No size specified (using byte-data access)0123456789abcdef0123456789abcdef
00: 60 00 3e 20 d3 01 00 fe 1c 10 7a 7a bf 09 08 7f`.> ??.???zz????
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 02…………..??
20: 30 01 00 00 00 00 00 00 00 00 00 00 00 00 00 000?…………..
30: 00 00 00 00 40 00 00 00 00 00 00 01 14 6f 00 40….@……??o.@
40: 00 a7 71 01 00 00 00 00 00 00 00 12 01 17 ed 5e.?q?…….????^
50: 80 00 00 00 00 ff ff 00 58 00 00 b4 b6 20 00 00?…….X..?? ..
60: 00 00 00 00 00 20 00 00 00 00 00 00 00 7c 88 88….. …….|??
70: 2b 2c e4 00 08 c9 72 c5 00 01 0f ff 20 00 00 00+,?.??r?.??. …
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00…………….
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00…………….
a0: 02 0f 00 00 08 18 00 00 00 00 00 00 00 00 00 00??..??……….
b0: 08 14 3f 08 25 00 18 00 8c 33 83 74 80 00 00 00????%.?.?3?t?…
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00…………….
d0: 00 43 94 03 60 f2 00 00 00 00 04 6b 00 00 00 00.C??`?….?k….
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00…………….
f0: 5f 55 42 39 35 34 00 00 00 00 00 00 00 00 00 00_UB954……….我的配置脚本如下:
#!/bin/bash# i2c bus num
export I2C_BUS_NUM=2#
# ds90ub954 deserializer
#
export primary_devaddr_7bit=0x30
# register
export FPD3_PORT_SEL_ADDR=0x4c
export RX_PORT_CTL_ADDR=0x0c
export BCC_CONFIG=0x58
export SER_ALIAS_ID_ADDR=0x5C
export SLAVE_ID0_ADDR=0x5D
export SLAVE_ALIAS_ID0_ADDR=0x65
export I2C_DEVICE_ID_REG=0x00
export I2C_RX0_ID=0xF8
export I2C_RX1_ID=0xF9# 913 i2c addr
# remote 913 SER slave addr: 7'bit: 0x56
export REMOTE_SER_ADDR_8BIT=0xB6# ar0144
# ar0144 slave addr: 7'bit: 0x10
export AR0144_ADDR_8BIT=0x20#
# config 954 deserializer regs
#
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${FPD3_PORT_SEL_ADDR}0x1
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${RX_PORT_CTL_ADDR}0x81
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} 20x3e
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${BCC_CONFIG} 0x58
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit}0xc 0xFF
sleep 1
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SER_ALIAS_ID_ADDR} ${REMOTE_SER_ADDR_8BIT}# ar0144
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SLAVE_ID0_ADDR} ${AR0144_ADDR_8BIT}
i2cset -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SLAVE_ALIAS_ID0_ADDR} ${AR0144_ADDR_8BIT}
# i2cset -y I2C_BUSS 7'bit_i2c_addr reg val#
# check ds90ub954 deserializer regs
#
i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SER_ALIAS_ID_ADDR}
i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SLAVE_ID0_ADDR}
i2cget -y ${I2C_BUS_NUM} ${primary_devaddr_7bit} ${SLAVE_ALIAS_ID0_ADDR}
6056807:
回复 Amy Luo:
电平接口不兼容,会影响数据传输吧,有什么解决方法没呢