• CoaXpress downlink数据解析方法


    什么是downlink数据

    downlink指的是相机传输到host采集卡的高速链路,其中包含了如下类型的数据:

    1、Stream Data

    2、Trigger Ack, Trigger;

    3、Ack (reply data);

    4、Event, Heartbeat

    和uplink的低速数据一样,都使用packet的方式进行传输,以packet 作为最小单位,其中包含down link的所有数据类型indication

    首先,packet会标识当前数据是否传输的是stream data数据,其次需要看stream data的传输方式。

    下图标识了stream 图像数据的传输,可以看出,图像数据被截断成了若干个packet 进行传输,具体截断的方式由device 决定

    这里2个地方要注意

    1、stream ID指示当前packet数据应该缓存到哪一个buffer中去,实际应用中会很少见到,比如一个相机里面有2个传感器,每个传感器传输的数据占用1个stream id,用以区分数据来源;

    2、CRC校验时,stream data中的K码 K28.3会用D28.3替代进行CRC校验,具体校验方法,参考我的另外一篇博客 https://www.cnblogs.com/xingce/p/17422472.html

    stream data格式

    通常的图像传输如下信息

    1、header 图像尺寸,ROI区域,像素格式,扫描方式等信息;

    2、line 图像数据;

    packet中的stream 数据会以K28.3开头,然后加上传输类型信息

    以area扫描图像的header为例,格式如下,只列出了部分信息:

    根据上述信息,就可以知道当前图像的详细信息;

    如果是多个LANE,如何组织数据呢?

    永远以第一条LANE 为起点,按照如下方式组织数据

    这样HOST就可以正确的解析出各种数据了。

    由此可见,downlink 接口的数据首先要根据packet类型做区分,然后不同类型的数据送到不同的逻辑完成进一步处理,比如control的ack回应信息,需要送给control channel完成处理,stream 数据则送给stream data channel完成处理,然后输出图像的信息和dma数据给到用户逻辑;

  • 相关阅读:
    树状数组&线段树总结
    Oracle RAC是啥?
    Linux bash脚本编程学习
    一本通1058;一元二次方程
    msvcr110dll是干嘛的,win系统提示缺少msvcr110.dll解决步骤分享
    Linux运维常见故障排查方法及修复故障大全一部
    微前端 - micro-app
    day4作业
    Selenium的下载及chrome环境搭建
    公众号淘客返利系统,自动查券返利机器人赚佣金详细教程
  • 原文地址:https://www.cnblogs.com/xingce/p/17476333.html