• 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数据给到用户逻辑;

  • 相关阅读:
    分布式架构(分布式ID+分布式事务)
    Python安装教程
    1766. 互质树 DFS+桶
    全面认识redux应用
    JS案例 轮播图(面向对象),最终版(注释全面)
    windows添加定时任务命令
    VOSviewer使用方法(详细便捷)附下载网址
    聚焦AIGC落地,八仙过海,谁更神通?
    压缩与解压
    Scss
  • 原文地址:https://www.cnblogs.com/xingce/p/17476333.html