友思特动态
技术人员远赴德国,深入探索Solectrix核心产品
前言导读
近日,友思特技术骨干黄灿彬到访德国合作伙伴Solectrix总部,针对重点产品proFRAME以及双方新合作的产品SXIVE和SXVPU进行了为期5天的深度学习。这场聚焦核心技术的深度对话,不仅让前沿研发思路与客户对接实践实现精准对接,更助力友思特技术人员快速吃透产品底层逻辑与迭代方向,为双方后续技术协同筑牢根基。
PART1:培训行程
出发之前,黄灿彬技术人员就针对为期5天的学习和培训做好了细致的规划。实际的培训内容可谓是干货满满,Solectrix技术人员的热情分享让这场“技术之旅”变得非常充实和有意义。
PART2:培训干货
NO.1 Bybass实操
Leopard的ECU上位机操作
使用的ECU为Leopard Imaging,采集设备:LI-USB30-IMX390-GMSL2,这个采集设备通过USB口和PC连接,可以直接免驱采集GMSL2相机的视频流并可视化。
在上位机上可以查看连接的相机信息,包括i2c地址,分辨率和帧率,并可以进行一些ISP操作。
Leopard的ECU初始化相机的i2c指令log
免驱使用,实际上是因为ECU配套的驱动已经执行了对相机和ECU的加串解串器配置,常规情况下,我们是不知道究竟执行了哪些配置的,也就是所谓的黑匣子。在旁通应用中,我们可以通过proFRAME采集卡的sxpfi2crec功能,来获取初始化过程中,ECU究竟对相机执行了哪些配置。
prOFRAME Bypass ECU和相机
使用MAX9295/9296的模板Bypass配置文件初始化proFRAME,proFRAME刷新为TAP mode,初始化过程中ECU不供电。
执行sxpfi2crec功能,再给ECU供电,此时能读到ECU对相机的i2c配置信息。
分析该配置信息,并在ini文件中的加串器和解串器部分进行相应的配置。
使用如sxpfi2cscan 0 0查看i2c总线上的设备;使用如sxpfi2c -b 0x8 0 0 0xc4 1 0x01 0x12查看加串器寄存器数值,如为8a即加串器有图像数据;使用如sxpfi2c -b 0x8 0 0 0xd4 1 0x01 0x1A查看解串器寄存器数值,如为62即解串器器有图像数据。通过该方法调试跑通。
NO.2 相机时间同步
传感器配置,GPIO配置,FPGA配置
对于无ISP型号的相机,同步触发需要配置sensor为trigger模式,需要客户/相机厂商提供相应信息。有ISP型号的相机则不需要。
查看相机加串器和Sensor的FSIN/FSYNC引脚所连接的寄存器(如MFP8),使能该寄存器,配置为Output模式,并配置ID如“ADR_A_SERIALIZER 3 0x02 0xD8 0x07 # MFP8: Receive ID=7 [4:0]”。
查看解串器MFP7或MFP8寄存器,使能该寄存器,配置为Output模式,并配置和加串器同样的ID如“ADR_DESERIALIZER 3 0x02 0xC6 0xA7 # MFP7: Transmitt ID=7 [4:0]”。
proFRAME的FPGA要进行相应的配置以forwarding触发信号至解串器对应的寄存器。如
“ADR_MACHXO 3 0x01 0x04 0x22 #Route Base Board Sync Signal to DES0 MFP7 and DES1 MFP7
ADR_MACHXO 3 0x01 0x07 0x00 #Sync Signal FROM Base Board TO Deserializer
ADR_MACHXO 3 0x01 0x02 0x22 #FPGA (MachXO) Pin to DES0 MFP7 and DES1 MFP7 is Output”即可完成ini的触发配置。
外部触发、内部时钟触发、相关指令
在完成上述ini的触发配置的基础上,通过指令即可控制触发模式的执行,外部触发模式需要进一步接线。
外部触发的指令为:sxpftrigger 0 -c 0x3 -e 6 -f 30 -t ext。内部时钟触发的指令为:sxpftrigger 0 -c 0x3 -e 6 -f 30 -t cont。
在进行ini初始化配置之前,必须停止触发信号的输出,才能进行配置,指令为:sxpftrigger 0 -c 0x3 -e 6 -f 30 -t dis。
同步时间误差评估
使用sxpfrec 0来评估同步时间误差,而不需要写脚本多通道采集和打印时间戳。
NO.3 Replay操作
CSI-2 header,footer,payload概念及不同采集配置
Header位于每个传输数据帧的起始部分,是数据帧的起始标识和控制信息区域,一般表示为SOF(Start of Frame)。在VC为0时,SOF值为0x00;在VC为1时,SOF值为0x40。
Footer位于每个传输数据帧的末尾,是数据帧的结束标识和校验区域,一般表示为EOF(End of Frame)。在VC为0时,SOF值为0x01;在VC为1时,SOF值为0x41。
Payload是数据帧中携带实际有用信息的部分(包含图像本身,数据格式等),位于Header和Footer之间。
proFRAME采集卡采集不同数据包的配置:PKT_PARSE_CFG寄存器。例如:
-sxpfrw 0x480 0x01001708,默认配置,采集虚拟通道0(VC0)的数据。
-sxpfrw 0x480 0x41401708,采集虚拟通道1(VC1)的数据。
-sxpfrw 0x480 0x01001700,过滤掉SOF和EOF,只需要在pipelane对两个VC的数据格式均进行配置(如YUV422的0x1e和0x5e),即可无论是虚拟通道0还是虚拟通道1的数据均能识别和采集。
ilg和ifg概念及计算
ilg为image line gap,指接收完一行图像数据之后到下一行图像数据开始接收之间的时间间隔,这里的数值为proFRAME采集卡FPGA时钟循环个数。
这两个数值包含在proFRAME板卡所采集的图像的数据头中。
在Replay应用中,如果这个数值不对,会使得Replay的图像帧率大于或小于采集帧率,从而使得Replay过程不正常,甚至链路无法跑通。这也是之前回放AiSim的jpeg数据,图像帧率会到80fps且一直跳动的原因。
proFRAME Replay to ECU
Replay的实现首先需要基于Bypass的实现,保持Bypass的接线,使用和Bypass一样的ini配置文件,使得ECU可以初始化相机,但是相机不推流到ECU,而是PC端推流到ECU。
采集多帧图像保存到本地,用于后续Replay。这里可以用sxpfrw指令配置采集payload模式,采集指令为sxpfapp … -r -C12(因为这里为RAW12数据)。通过这种方式采集的丢帧情况会比较少,且Replay时会更精确。
将proFRAME的基板firmware刷新为Replay mode,即可实现”相机不推流到ECU,而是PC端推流到ECU“
使用和Bypass一样的ini配置文件初始化,再给ECU上电。
通过sxpfrawinfo指令查看采集的raw数据的时间戳、ilg和ifg参数,Replay时配置相应的参数,使得Replay帧率和实际帧率一致。
如若Replay诸如AiSim之类的数据到特定的ECU,配置调试思路为:
-获取该ECU的信息(SerDes信息,已适配过的相机,初始化方式等)。
-先用TAP mode调通整条链路。
-采集RAW数据用于帧分析,获取数据头信息。
-再配置为Replay mode。
-将AiSim的Replay数据严格配置为该ECU所能接收的RAW数据的格式(数据头、帧率、分辨率等)(使用sxpfcsiencode指令去对数据进行编码)。
NO.4 SXVPU采集的视频流(多产品联合demo)
使用MAX96716/96717的模板Bypass配置文件初始化proFRAME,proFRAME刷新为TAP mode,初始化过程中SXVPU不供电。
执行sxpfi2crec功能,再给SXVPU供电,此时能读到SXVPU对LI-VENUS-ISX031-GM2B的i2c配置信息。
分析该配置信息,并在ini文件中的加串器和解串器部分进行相应的配置。
使用如sxpfi2cscan 0 0查看i2c总线上的设备;使用如sxpfi2c -b 0x8 0 0 0
xc0 1 0x01 0x12查看相机加串器寄存器数值,如为8a即加串器有图像数据;使用如sxpfi2c -b 0x8 0 0 0xd0 1 0x01 0x1A查看proFRAME解串器寄存器数值,如为62即解串器器有图像数据。通过该方法调试跑通。
注意,由于SXVPU的MAX96716解串器一个解串二路视频流,因此涉及Reverse Splitter Mode,两路视频流分别为VC0和VC1。因此调通整个链路的时候需要配置PKT_PARSE_CFG寄存器,以区分不同的虚拟通道视频流。(sxpfrw命令对应ini文件的CMD_WRITE_REG)。
整个SXVPU+proFRAME联合demo架构如图所示
PART3:花絮时刻
关于合作伙伴Solectrix
Solectrix是一家专注嵌入式电子解决方案的创新型全业务服务商,可为客户开发制造高要求嵌入式电子方案,并提供自研现成元件与系统。其以高端专属解决方案为核心定位,注重客户关系与服务质量,依托 140 人专业团队,覆盖从概念到生产的全流程服务,业务涉及汽车、硬件在环测试(HiL)、智能驾驶、医疗、工业自动化、电信等多尖端领域,凭2005年起的经验及灵活可靠的客户导向,提供优质高端解决方案。
作为 Solectrix 在中国的独家合作伙伴,友思特将和Soelctrix共同努力推动行业创新。Solectrix的先进技术将与友思特的市场洞察和专业知识、技术服务相结合,为不同行业的客户带来定制化、一站式的车载视觉解决方案。
友思特 方案产品套装介绍
proFRAME图像采集和注入板卡
Solectrix SXVPU 智能可扩展视觉处理单元