Part Number:DS90UB954-Q1EVMOther Parts Discussed in Thread:SK-TDA4VM, TDA4VM, ALP, USB2ANY
如题
我们将解串器与SK-TDA4VM连接成功,但是由于sensor设备未到,请问TI有无提供某些方法模拟数据传输,从而验证数据通路(960<—>soc)的正确完整
Defu Liu:
你好,请问有什么方法能提供一下吗谢谢
,
Kailyn Chen:
您好,可以使用内部patter模式测试960输出是否能正确产生图像,也就是内部pattern产生的几种模式里最下面这种,只是用deserializer:
https://www.ti.com/lit/an/snla132g/snla132g.pdf
,
Defu Liu:
你好,我看文章中描述的寄存器配置方法是由launchpad软件写入且不需要连接soc是吧,若想通过soc端控制图像如何控制呢,谢谢
,
Kailyn Chen:
是的,不需要接SOC,Deserializer直接输出内部pattern给Display验证是否正常。
您指的SOC控制图像,我想是不是可以通过960的这几个debug寄存器来验证,0x90和0x91是使用CSI0 port,0x98和0x99是使用CSI1 port。如果这几个寄存器为0 的话,说明960没有发送CSI-2 frames。如果读取的值在增加,说明960能正常发送CSI-2 帧数据。
,
Defu Liu:
好的谢谢,可是我并没有在954的扩展板上看到display接口,所以想要将模拟图像数据显示出来还是得借助soc开发板连接显示屏吧,请问我这样理解对吗?
,
Kailyn Chen:
您是使用的954EVM板是吗?我上述回复的是960的寄存器。因为看您的第一个帖子是960- Soc。
954的开发板有两个接口,一个是Samtec QSH 型连接器J24,一个是Samtec QTH 型连接器 J26接TDAx评估版。
您的意思是通过Soc的MIPI接口接显示屏,来观察图像输出吗?
,
Defu Liu:
是的,我们没有买到960evm,目前使用的是954evm和TDA4VM开发板,使用的J26连接的,我想知道954也可以通过这个寄存器配置模拟数据信息发送给SOC的hdmi屏幕吗?
,
Kailyn Chen:
954和960一样,输出都是MIPI CSI-2,不是HDMI哦。
,
Defu Liu:
您好!我这边仍然有两个问题:
1.您的意思是954若直接输出内部pattern给Display验证,就是将mipi接口的显示屏直接连接在解串器evm上,查看输出是吧?
2.我若是想连接soc从soc的display接口(目前打算连接HDMI-屏幕)来观察图像输出,可行吗?
,
Annie Liu:
我们需要多一些时间查看这款芯片,稍后会为您解答。
,
Kailyn Chen:
Defu Liu 说:您的意思是954若直接输出内部pattern给Display验证,就是将mipi接口的显示屏直接连接在解串器evm上,查看输出是吧?
是的。
Defu Liu 说:我若是想连接soc从soc的display接口(目前打算连接HDMI-屏幕)来观察图像输出,可行吗?
您 的意思是Soc的Display接口兼容的是HDMI接口对吧?
应该不行啊,954输出MIPI CSI-2接口,您通过SOC的HDMI接口接HDMI显示屏,怎么验证954的MIPI CSI接口的正确性呢。
,
Congying Xing:
如果我们将954连接至soc,使用内部pattern验证,并且输出在在HDMI显示屏上,这种做法可行吗?我们想在缺乏sensor的情况下验证解串器到SOC的数据通路
,
Kailyn Chen:
您好,954输出的是MIPI CSI的数据格式,所以我认为使用HDMI显示屏是无法验证这个通路的,不知是不是误解了您的意思,如果使用HDMI显示屏,我想应该是使用输出HDMI数据的解串器。不知道是不是误解了您的意思。
,
Congying Xing:
您好,我们将954和SOC相连,954输出的是MIPI CSI的数据格式,soc是可以接受MIPI CSI的数据的吗?那将SOC连接至HDMI 显示屏无法输出图形吗?另外,我们在使用954进行内部图形生成的时候,发现launchPad无法修改寄存器的值,应该如何解决呢?
,
Congying Xing:
您好,请问954没有这几个计数寄存器,如何验证是否能正常发送CSI数据呢
,
Kailyn Chen:
Congying Xing 说:954输出的是MIPI CSI的数据格式,soc是可以接受MIPI CSI的数据的吗?那将SOC连接至HDMI 显示屏无法输出图形吗?
MIPI CSI的数据格式有YUV422 8bit和10bit,YUV420 8bit和10bit,以及RAW10,RAW8或RAW12等数据格式。
而HDMI的数据格式为TMDS,所以MIPI CSI的输出是无法在HDMI显示屏上显示的。
Congying Xing 说:我们在使用954进行内部图形生成的时候,发现launchPad无法修改寄存器的值,应该如何解决呢?
这个帖子也是遇到了同样的问题,我已经回复了,可以先按照我说的排查下,主要检查下电源:
https://e2echina.ti.com/support/interface/f/interface-forum/798298/ds90ub954-q1-launchpad
Congying Xing 说:请问954没有这几个计数寄存器,如何验证是否能正常发送CSI数据呢
读取下0x35这个寄存器关于CSI_TX 状态的:
,
Defu Liu:
你好,我想请问
1.launchPad上954没有pattern generator选项卡,如何配置?
2.上文您提供的链接(www.ti.com/…/snla132g.pdf)中提到的寄存器,在954用户手册中没有,但是我们根据954用户手册中提到的pattern generator章节提供的脚本文件进行配置了寄存器,请问这样是否可行,还有什么其他步骤吗?
3.
Kailyn Chen 说:读取下0x35这个寄存器关于CSI_TX 状态的:
我们将寄存器使用脚本写入后,读取了0x35寄存器的状态,始终是0x00
4.在954寄存器脚本写好以后,我们将954<–>soc连接上,954内部测试生成的图像能否发送到soc,能否从soc侧读取到这个数据?如何读取?因为我们没有mipi屏幕无法将954连接mipi屏幕
,
Kailyn Chen:
Defu Liu 说:1.launchPad上954没有pattern generator选项卡,如何配置?
您的意思是您打开ALP之后,在任务栏里没有发现pattern generator这项是吗?是否将DS90UB954板子通过USB2ANY/Ardvark连接到PC了?
Defu Liu 说:上文您提供的链接(www.ti.com/…/snla132g.pdf)中提到的寄存器,在954用户手册中没有,但是我们根据954用户手册中提到的pattern
可以,这个示例是产生1280*720 fixed color bar的配置例子。可以参考。
Defu Liu 说:我们将寄存器使用脚本写入后,读取了0x35寄存器的状态,始终是0x00
说明954的CSI TX并不能正确的同步输入来的数据并正确的解析到输出。
,
Defu Liu:
Kailyn Chen 说:您的意思是您打开ALP之后,在任务栏里没有发现pattern generator这项是吗?是否将DS90UB954板子通过USB2ANY/Ardvark连接到PC了?
1.我们仅仅使用子板自带的mini-usb接口将其与PC连接了,就是没有上文提到的三个选项,连接后的情况如图
2.我们使用如下脚本文件写入成功,但是0x35寄存器的状态仍然是00
3.或者我们猜测是格式不匹配的原因?demo code给的是RGB888格式,是否需要将格式改为UYVY呢?(事实上我们也在脚本里改了一部分,不知道是不是没有改对,寄存器0x35仍然没有反应)
迫切地希望收到回复,谢谢!
,
Defu Liu:
你好,请问能给出回复吗?感谢
,
Kailyn Chen:
您好,要通过SB2ANY/Ardvark和PC连接的。
Defu Liu 说:或者我们猜测是格式不匹配的原因?demo code给的是RGB888格式,是否需要将格式改为UYVY呢?(事实上我们也在脚本里改了一部分,不知道是不是没有改对,寄存器0x35仍然没有反应
demo使用936作为串行器,sensor输出的是RGB888的数据,要根据实际情况去配置,您现在是使用pattern去测试是吗?
,
Defu Liu:
我想在没有sensor和串行器的情况下,使用您提到的fpdlink内部patter模式测试,模拟数据生成然后发送给soc,由于我们没有mipi屏幕,因此想要借助您上文提到的0x35寄存器查看一下有没有数据流输出给soc(0x35寄存器的值显示0x01不就是代表有数据了嘛)
,
Kailyn Chen:
0x35 bit1分两种情况,一种是非同步模式下,如果这位为1,说明CSI TX能有效的传输CSI数据。
但是在同步模式下,bit1=1并且bit0=1,也就是说954的输入数据都同步后然后有效的传输CSI数据,所以这种情况更倾向于接了sensor,接了串行器,通过这个寄存器来说明954能正确的接收串行器解码出来的FPD link数据并能有效的输出CSI 数据。
,
Kailyn Chen:
您好,关于ALP这里没有出现pattern generator选项这里,我了解到可能需要更新ALP软件,您看下您是否使用的这个版本?
,
Congying Xing:
您好,我们目前尝试了使用 USB to Mini USB cable 连接PC和EVM板子,安装了ALP update profile,并成功出现了pattern generator选项卡,我们在选项卡的配置如下:
但是我们发现apply和enable单选框无法同时选择(在选择单选框的时候,apply按钮不可点),是先点击apply按钮,再选上enable单选框吗?
另外,除了pattern generator选项卡页面之外还需要什么配置吗? 我们设置了这样的配置后,EVM内部会连续生成模拟图形直至断电吗?
若要生成 YUV_8,640*480,图中框出的Vert. back porch,front porch 和Sync width分别怎么配置呢?
在我们昨天的尝试中,设置了如上的pattern generator选项卡,0x35寄存器寄存器的值无任何变化。
我们没有接口匹配的显示屏相连,目前只能连接到TDA4VM开发板上,有什么方法可以证明图像确实生成了呢?我们昨天使用v4l2-ctl命令企图捕获图像,也失败并报错 failed to get source desc"",这是否是因为内部图形根本没有生成?
,
Congying Xing:
csi_register.txt
Register Display - ALP Nano 1 - DS90UB954, Connector 1Register Data Name 0x0000 0x00 Reserved 0x0001 0x01 PGEN_CTL 0x0002 0x34 PGEN_CFG 0x0003 0x1E PGEN_CSI_DI 0x0004 0x05 PGEN_LINE_SIZE1 0x0005 0x00 PGEN_LINE_SIZE0 0x0006 0x00 PGEN_BAR_SIZE1 0x0007 0xA0 PGEN_BAR_SIZE0 0x0008 0x01 PGEN_ACT_LPF1 0x0009 0xE0 PGEN_ACT_LPF0 0x000A 0x02 PGEN_TOT_LPF1 0x000B 0x0D PGEN_TOT_LPF0 0x000C 0x18 PGEN_LINE_PD1 0x000D 0xCD PGEN_LINE_PD0 0x000E 0x21 PGEN_VBP 0x000F 0x0A PGEN_VFP 0x0010 0xAA PGEN_COLOR0 0x0011 0x33 PGEN_COLOR1 0x0012 0xF0 PGEN_COLOR2 0x0013 0x7F PGEN_COLOR3 0x0014 0x55 PGEN_COLOR4 0x0015 0xCC PGEN_COLOR5 0x0016 0x0F PGEN_COLOR6 0x0017 0x80 PGEN_COLOR7 0x0018 0x00 PGEN_COLOR8 0x0019 0x00 PGEN_COLOR9 0x001A 0x00 PGEN_COLOR10 0x001B 0x00 PGEN_COLOR11 0x001C 0x00 PGEN_COLOR12 0x001D 0x00 PGEN_COLOR13 0x001E 0x00 PGEN_COLOR14 0x001F 0x00 RESERVED 0x0040 0x05 CSI0_TCK_PREP 0x0041 0x1B CSI0_TCK_ZERO 0x0042 0x0B CSI0_TCK_TRAIL 0x0043 0x0A CSI0_TCK_POST 0x0044 0x06 CSI0_THS_PREP 0x0045 0x0C CSI0_THS_ZERO 0x0046 0x08 CSI0_THS_TRAIL 0x0047 0x0B CSI0_THS_EXIT 0x0048 0x06 CSI0_TPLX7266.reg.txt
Register Display - ALP Nano 1 - DS90UB954, Connector 1Register Data Name 0x0000 0x60 I2C Device ID 0x0001 0x00 Reset 0x0002 0x1E General Configuration 0x0003 0x20 Revision/Mask ID 0x0004 0xD3 DEVICE_STS 0x0005 0x01 PAR_ERR_THOLD_HI 0x0006 0x00 PAR_ERR_THOLD_LO 0x0007 0xFE BCC Watchdog Control 0x0008 0x1C I2C Control 1 0x0009 0x10 I2C Control 2 0x000A 0x7A SCL High Time 0x000B 0x7A SCL Low Time 0x000C 0x83 RX_PORT_CTL 0x000D 0x09 IO_CTL 0x000E 0x08 GPIO_PIN_STS 0x000F 0x7F GPIO_INPUT_CTL 0x0010 0x00 GPIO0_PIN_CTL 0x0011 0x00 GPIO1_PIN_CTL 0x0012 0x00 GPIO2_PIN_CTL 0x0013 0x00 GPIO3_PIN_CTL 0x0014 0x00 GPIO4_PIN_CTL 0x0015 0x00 GPIO5_PIN_CTL 0x0016 0x00 GPIO6_PIN_CTL 0x0017 0x00 Reserved 0x0018 0x00 FS_CTL 0x0019 0x00 FS_HIGH_TIME_1 0x001A 0x00 FS_HIGH_TIME_0 0x001B 0x00 FS_LOW_TIME_1 0x001C 0x00 FS_LOW_TIME_0 0x001D 0x00 MAX_FRM_HI 0x001E 0x04 MAX_FRM_LO 0x001F 0x02 CSI_PLL_CTL 0x0020 0x30 FWD_CTL1 0x0021 0x01 FWD_CTL2 0x0022 0x00 FWD_STS 0x0023 0x00 INTERRUPT_CTL 0x0024 0x00 INTERRUPT_STS 0x0025 0x00 TS_CONFIG 0x0026 0x00 TS_CONTROL 0x0027 0x00 TS_LINE_HI 0x0028 0x00 TS_LINE_LO 0x0029 0x00 TS_STATUS 0x002A 0x00 TIMESTAMP_P0_HI 0x002B 0x00 TIMESTAMP_P0_LO 0x002C 0x00 TIMESTAMP_P1_HI 0x002D 0x00 TIMESTAMP_P1_LO 0x002E 0x00 Reserved 0x002F 0x00 Reserved 0x0030 0x00 Reserved 0x0031 0x00 Reserved 0x0032 0x00 Reserved 0x0033 0x03 CSI_CTL 0x0034 0x40 CSI_CTL2 0x0035 0x00 CSI_STS 0x0036 0x00 CSI_TX_ICR 0x0037 0x00 CSI_TX_ISR 0x0038 0x00 CSI_TEST_CTL 0x0039 0x00 CSI_TEST_PATT_HI 0x003A 0x00 CSI_TEST_PATT_LO 0x003B 0x01 Reserved 0x003C 0x14 Reserved 0x003D 0x6F Reserved 0x003E 0x00 Reserved 0x003F 0x40 Reserved 0x0040 0x00 Reserved 0x0041 0xA7 Reserved 0x0042 0x71 AEQ_CTL1 0x0043 0x01 AEQ_ERR_THOLD 0x0044 0x00 Reserved 0x0045 0x00 Reserved 0x0046 0x00 Reserved 0x0047 0x00 Reserved 0x0048 0x00 Reserved 0x0049 0x00 Reserved 0x004A 0x00 FPD3_CAP 0x004B 0x12 RAW_EMBED_DTYPE 0x004C 0x12 FPD3_PORT_SEL 0x004D 0x40 RX_PORT_STS1 0x004E 0x02 RX_PORT_STS2 0x004F 0x00 RX_FREQ_HIGH 0x0050 0x00 RX_FREQ_LOW 0x0051 0x00 SENSOR_STS_0 0x0052 0x00 SENSOR_STS_1 0x0053 0x00 SENSOR_STS_2 0x0054 0x00 SENSOR_STS_3 0x0055 0x00 RX_PAR_ERR_HI 0x0056 0x00 RX_PAR_ERR_LO 0x0057 0x00 BIST_ERR_COUNT 0x0058 0x1E BCC_CONFIG 0x0059 0x00 DATAPATH_CTL1 0x005A 0x00 Reserved 0x005B 0x00 SER_ID 0x005C 0x00 SER_ALIAS_ID 0x005D 0x00 TargetID[0] 0x005E 0x00 TargetID[1] 0x005F 0x00 TargetID[2] 0x0060 0x00 TargetID[3] 0x0061 0x00 TargetID[4] 0x0062 0x00 TargetID[5] 0x0063 0x00 TargetID[6] 0x0064 0x00 TargetID[7] 0x0065 0x00 TargetAlias[0] 0x0066 0x00 TargetAlias[1] 0x0067 0x00 TargetAlias[2] 0x0068 0x00 TargetAlias[3] 0x0069 0x00 TargetAlias[4] 0x006A 0x00 TargetAlias[5] 0x006B 0x00 TargetAlias[6] 0x006C 0x00 TargetAlias[7] 0x006D 0x7C PORT_CONFIG 0x006E 0x88 BC_GPIO_CTL0 0x006F 0x88 BC_GPIO_CTL1 0x0070 0x6B RAW10_ID 0x0071 0x6C RAW12_ID 0x0072 0x01 CSI_VC_MAP 0x0073 0x00 LINE_COUNT_HI 0x0074 0x00 LINE_COUNT_LO 0x0075 0x00 LINE_LEN_1 0x0076 0x00 LINE_LEN_0 0x0077 0xC5 FREQ_DET_CTL 0x0078 0x00 MAILBOX_1 0x0079 0x01 MAILBOX_2 0x007A 0x00 CSI_RX_STS 0x007B 0x00 CSI_ERR_COUNTER 0x007C 0x20 PORT_CONFIG2 0x007D 0x00 PORT_PASS_CTL 0x007E 0x00 SEN_INT_RISE_CTL 0x007F 0x00 SEN_INT_FALL_CTL 0x00A0 0x02 Reserved 0x00A1 0x0F Reserved 0x00A2 0x00 Reserved 0x00A3 0x00 Reserved 0x00A4 0x08 Reserved 0x00A5 0x19 REFCLK_FREQ 0x00A7 0x00 Reserved 0x00A8 0x00 Reserved 0x00A9 0x00 Reserved 0x00AA 0x00 Reserved 0x00AB 0x00 Reserved 0x00AC 0x00 Reserved 0x00AD 0x00 Reserved 0x00AE 0x00 Reserved 0x00AF 0x00 Reserved 0x00B0 0x00 IND_ACC_CTL 0x00B1 0x48 IND_ACC_ADDR 0x00B2 0x06 IND_ACC_DATA 0x00B3 0x08 BIST Control 0x00B4 0x25 Reserved 0x00B5 0x00 Reserved 0x00B6 0x18 Reserved 0x00B7 0x00 Reserved 0x00B8 0x8C MODE_IDX_STS 0x00B9 0x33 LINK_ERROR_COUNT 0x00BA 0x83 FPD3_ENC_CTL 0x00BB 0x74 Reserved 0x00BC 0x80 FV_MIN_TIME 0x00BD 0x00 Reserved 0x00BE 0x00 GPIO_PD_CTL 0x00BF 0x00 Reserved 0x00D0 0x00 PORT_DEBUG 0x00D2 0x94 AEQ_CTL2 0x00D3 0x3F AEQ_STATUS 0x00D4 0x60 AEDAPTIVE EQ BYPASS 0x00D5 0xF2 AEQ_MIN_MAX 0x00D6 0x00 Reserved 0x00D7 0x00 Reserved 0x00D8 0x00 PORT_ICR_HI 0x00D9 0x00 PORT_ICR_LO 0x00DA 0x00 PORT_ISR_HI 0x00DB 0x00 PORT_ISR_LO 0x00DC 0x00 FC_GPIO_STS 0x00DD 0x00 FC_GPIO_ICR 0x00DE 0x00 SEN_INT_RISE_STS 0x00DF 0x00 SEN_INT_FALL_STS 0x00F0 0x5F FPD3_RX_ID0 0x00F1 0x55 FPD3_RX_ID1 0x00F2 0x42 FPD3_RX_ID2 0x00F3 0x39 FPD3_RX_ID3 0x00F4 0x35 FPD3_RX_ID4 0x00F5 0x34 FPD3_RX_ID5 0x00F8 0x00 I2C_RX0_ID 0x00F9 0x00 I2C_RX1_ID 0x00FA 0x00 Reserved 0x00FB 0x00 Reserved这是配置后的寄存器列表
,
Kailyn Chen:
您好,明天回复您的问题。
,
Congying Xing:
您好?请问可以有工程师回复一下吗?
,
Kailyn Chen:
您现在是只有deserializer来做pattern测试对吧,也就是下面红色框内的应用,pattern的产生不是通过引脚来配置的,都是需要通过I2C对寄存器进行配置来产生的,所以如果只使用了USB to Mini USB cable 连接PC,并且只有deserializer的话,怎么去配置寄存器呢?所以这是为什么要使用USB2ANy的原因,因为USB2ANY adaptor集成了MCU,使用USB2ANY的I2C接口和deserializer板的I2C连接。
Congying Xing 说:,是先点击apply按钮,再选上enable单选框吗?
这里应该是先选enable,再点击Apply。
Congying Xing 说:若要生成 YUV_8,640*480,图中框出的Vert. back porch,front porch 和Sync width分别怎么配置呢?
Vert. back porch,front porch 和Sync width这几个参数涉及到视频协议,基本上标准分辨率的时序都会给出这些参数。然后我们需要做的是配置PGHBP和PGVBP寄存器。