This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB954-Q1EVM: 与SK-TDA4VM连接,在没有摄像头的情况下,有什么方法能够进行回环测试模拟图像传输

Part Number: DS90UB954-Q1EVM
Other Parts Discussed in Thread: SK-TDA4VM, TDA4VM, ALP, USB2ANY

如题

我们将解串器与SK-TDA4VM连接成功,但是由于sensor设备未到,请问TI有无提供某些方法模拟数据传输,从而验证数据通路(960<--->soc)的正确完整

  • 你好,请问有什么方法能提供一下吗谢谢

  • 您好,可以使用内部patter模式测试960输出是否能正确产生图像,也就是内部pattern产生的几种模式里最下面这种,只是用deserializer:

    https://www.ti.com/lit/an/snla132g/snla132g.pdf

  • 你好,我看文章中描述的寄存器配置方法是由launchpad软件写入且不需要连接soc是吧,若想通过soc端控制图像如何控制呢,谢谢

  • 是的,不需要接SOC,Deserializer直接输出内部pattern给Display验证是否正常。

    您指的SOC控制图像,我想是不是可以通过960的这几个debug寄存器来验证,0x90和0x91是使用CSI0 port,0x98和0x99是使用CSI1 port。如果这几个寄存器为0 的话,说明960没有发送CSI-2 frames。如果读取的值在增加,说明960能正常发送CSI-2 帧数据。

  • 好的谢谢,可是我并没有在954的扩展板上看到display接口,所以想要将模拟图像数据显示出来还是得借助soc开发板连接显示屏吧,请问我这样理解对吗?

  • 您是使用的954EVM板是吗?我上述回复的是960的寄存器。因为看您的第一个帖子是960- Soc。

    954的开发板有两个接口,一个是Samtec QSH 型连接器J24,一个是Samtec QTH 型连接器 J26接TDAx评估版。

    您的意思是通过Soc的MIPI接口接显示屏,来观察图像输出吗?

  • 是的,我们没有买到960evm,目前使用的是954evm和TDA4VM开发板,使用的J26连接的,我想知道954也可以通过这个寄存器配置模拟数据信息发送给SOC的hdmi屏幕吗?

  • 954和960一样,输出都是MIPI CSI-2,不是HDMI哦。

  • 您好!我这边仍然有两个问题:

    1.您的意思是954若直接输出内部pattern给Display验证,就是将mipi接口的显示屏直接连接在解串器evm上,查看输出是吧?

    2.我若是想连接soc从soc的display接口(目前打算连接HDMI-屏幕)来观察图像输出,可行吗?

  • 我们需要多一些时间查看这款芯片,稍后会为您解答。

  • 您的意思是954若直接输出内部pattern给Display验证,就是将mipi接口的显示屏直接连接在解串器evm上,查看输出是吧?

    是的。

    我若是想连接soc从soc的display接口(目前打算连接HDMI-屏幕)来观察图像输出,可行吗?

    您 的意思是Soc的Display接口兼容的是HDMI接口对吧?

    应该不行啊,954输出MIPI CSI-2接口,您通过SOC的HDMI接口接HDMI显示屏,怎么验证954的MIPI CSI接口的正确性呢。

  • 如果我们将954连接至soc,使用内部pattern验证,并且输出在在HDMI显示屏上,这种做法可行吗?我们想在缺乏sensor的情况下验证解串器到SOC的数据通路

  • 您好,954输出的是MIPI CSI的数据格式,所以我认为使用HDMI显示屏是无法验证这个通路的,不知是不是误解了您的意思,如果使用HDMI显示屏,我想应该是使用输出HDMI数据的解串器。不知道是不是误解了您的意思。

  • 您好,我们将954和SOC相连,954输出的是MIPI CSI的数据格式,soc是可以接受MIPI CSI的数据的吗?那将SOC连接至HDMI 显示屏无法输出图形吗?另外,我们在使用954进行内部图形生成的时候,发现launchPad无法修改寄存器的值,应该如何解决呢?

  • 您好,请问954没有这几个计数寄存器,如何验证是否能正常发送CSI数据呢

  • 954输出的是MIPI CSI的数据格式,soc是可以接受MIPI CSI的数据的吗?那将SOC连接至HDMI 显示屏无法输出图形吗?

    MIPI CSI的数据格式有YUV422 8bit和10bit,YUV420 8bit和10bit,以及RAW10,RAW8或RAW12等数据格式。

    而HDMI的数据格式为TMDS,所以MIPI CSI的输出是无法在HDMI显示屏上显示的。

    我们在使用954进行内部图形生成的时候,发现launchPad无法修改寄存器的值,应该如何解决呢?

    这个帖子也是遇到了同样的问题,我已经回复了,可以先按照我说的排查下,主要检查下电源:

    https://e2echina.ti.com/support/interface/f/interface-forum/798298/ds90ub954-q1-launchpad

    请问954没有这几个计数寄存器,如何验证是否能正常发送CSI数据呢

    读取下0x35这个寄存器关于CSI_TX 状态的:

  • 你好,我想请问

    1.launchPad上954没有pattern generator选项卡,如何配置?

    2.上文您提供的链接(www.ti.com/.../snla132g.pdf)中提到的寄存器,在954用户手册中没有,但是我们根据954用户手册中提到的pattern generator章节提供的脚本文件进行配置了寄存器,请问这样是否可行,还有什么其他步骤吗?

    3.

    读取下0x35这个寄存器关于CSI_TX 状态的:

    我们将寄存器使用脚本写入后,读取了0x35寄存器的状态,始终是0x00

    4.在954寄存器脚本写好以后,我们将954<-->soc连接上,954内部测试生成的图像能否发送到soc,能否从soc侧读取到这个数据?如何读取?因为我们没有mipi屏幕无法将954连接mipi屏幕

  • 1.launchPad上954没有pattern generator选项卡,如何配置?

    您的意思是您打开ALP之后,在任务栏里没有发现pattern generator这项是吗?是否将DS90UB954板子通过USB2ANY/Ardvark连接到PC了?

    上文您提供的链接(www.ti.com/.../snla132g.pdf)中提到的寄存器,在954用户手册中没有,但是我们根据954用户手册中提到的pattern

    可以,这个示例是产生1280*720 fixed color bar的配置例子。可以参考。

    我们将寄存器使用脚本写入后,读取了0x35寄存器的状态,始终是0x00

    说明954的CSI TX并不能正确的同步输入来的数据并正确的解析到输出。

  • 您的意思是您打开ALP之后,在任务栏里没有发现pattern generator这项是吗?是否将DS90UB954板子通过USB2ANY/Ardvark连接到PC了?

    1.我们仅仅使用子板自带的mini-usb接口将其与PC连接了,就是没有上文提到的三个选项,连接后的情况如图

    2.我们使用如下脚本文件写入成功,但是0x35寄存器的状态仍然是00

    3.或者我们猜测是格式不匹配的原因?demo code给的是RGB888格式,是否需要将格式改为UYVY呢?(事实上我们也在脚本里改了一部分,不知道是不是没有改对,寄存器0x35仍然没有反应)

    迫切地希望收到回复,谢谢!

  • 你好,请问能给出回复吗?感谢

  • 您好,要通过SB2ANY/Ardvark和PC连接的。

    或者我们猜测是格式不匹配的原因?demo code给的是RGB888格式,是否需要将格式改为UYVY呢?(事实上我们也在脚本里改了一部分,不知道是不是没有改对,寄存器0x35仍然没有反应

    demo使用936作为串行器,sensor输出的是RGB888的数据,要根据实际情况去配置,您现在是使用pattern去测试是吗?

  • 我想在没有sensor和串行器的情况下,使用您提到的fpdlink内部patter模式测试,模拟数据生成然后发送给soc,由于我们没有mipi屏幕,因此想要借助您上文提到的0x35寄存器查看一下有没有数据流输出给soc(0x35寄存器的值显示0x01不就是代表有数据了嘛)

  • 0x35 bit1分两种情况,一种是非同步模式下,如果这位为1,说明CSI TX能有效的传输CSI数据。

    但是在同步模式下,bit1=1并且bit0=1,也就是说954的输入数据都同步后然后有效的传输CSI数据,所以这种情况更倾向于接了sensor,接了串行器,通过这个寄存器来说明954能正确的接收串行器解码出来的FPD link数据并能有效的输出CSI 数据。

  • 您好,关于ALP这里没有出现pattern generator选项这里,我了解到可能需要更新ALP软件,您看下您是否使用的这个版本?

  • 您好,我们目前尝试了使用 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"",这是否是因为内部图形根本没有生成?

  • csi_register.txt
    Register Display - ALP Nano 1 - DS90UB954, Connector 1
    
    Register	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_TPLX
    
    7266.reg.txt
    Register Display - ALP Nano 1 - DS90UB954, Connector 1
    
    Register	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
    
    这是配置后的寄存器列表

  • 您好,明天回复您的问题。

  • 您好?请问可以有工程师回复一下吗?

  • 您现在是只有deserializer来做pattern测试对吧,也就是下面红色框内的应用,pattern的产生不是通过引脚来配置的,都是需要通过I2C对寄存器进行配置来产生的,所以如果只使用了USB to Mini USB cable 连接PC,并且只有deserializer的话,怎么去配置寄存器呢?所以这是为什么要使用USB2ANy的原因,因为USB2ANY adaptor集成了MCU,使用USB2ANY的I2C接口和deserializer板的I2C连接。

    ,是先点击apply按钮,再选上enable单选框吗?

    这里应该是先选enable,再点击Apply。

    若要生成 YUV_8,640*480,图中框出的Vert. back porch,front porch 和Sync width分别怎么配置呢?

    Vert. back porch,front porch 和Sync width这几个参数涉及到视频协议,基本上标准分辨率的时序都会给出这些参数。然后我们需要做的是配置PGHBP和PGVBP寄存器。