0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SS928V100(SD3403)处理器之红外成像调试

张工 来源:Lioo13724212401 作者:Lioo13724212401 2023-05-29 09:12 次阅读

SS928V100(SD3403)处理器红外成像调试

一、视频接入

参数说明:视频输入接口

支持 8-Lane image sensor串行输入,支持 MIPI/LVDS/Sub-LVDS/HiSPi多种接口

支持 2x4-Lane或 4x2-Lane等多种组合,最高支持 4路 sensor串行输入

最大分辨率 8192 x 8192

支持 8/10/12/14 Bit RGB Bayer DC时序视频输入,时钟频率最高 150MHz

支持 BT.601、BT.656、BT.1120视频输入接口

支持主流 CMOS电平热成像传感器

1.1数字摄像头(DC)接口时序

水平时序

VICAP接数字摄像头时,VI_HSYNC_VD 表示数据有效信号,数据有效信号极性可

配,水平时序所示。

wKgZomRzAHOAISqbAABTveW-eXI590.jpg

1.2垂直时序

VICAP支持两种垂直时序脉冲方式和行有效方式,如下图所示。垂直同步极性可配

数字摄像头垂直时序脉冲方式

wKgaomRzAHKAHDG6AABtK-KjxeY028.jpg

数字摄像头垂直时序行有效方式

wKgZomRzAHKAPJr8AAB0WuU6Leo752.jpg

对于 VICAP内部处理来说,这两种时序相同,VICAP内部检测到一个上升沿或下降

沿,这认为是一帧的开始,然后检测数据有效信号,来判断当前数据是否有效。

二、复用寄存器

管脚复用

查看手册mipi dev/vi dev/vi chn/vi pipe/所支持的编号;

mipi配置,设置接入模式为cmos;(dc接口不需要lain id)

设置vi离线还是在线模式;

设置vi属性,使能vi设备;

vi绑定pipe;

设置pipe属性,创建并开始pipe;

设置通道属性,使能通道;

2.1详细说明

参考SS928V100 VI输入场景详细说明.xlsx中DC接入需要复用的寄存器

pYYBAGRzEu6ACd8tAAE52YtkIc4225.png

2.1.1复用寄器

static void vi_DC_mode_mux(void)

{

void *iocfg2_base = sys_config_get_reg_iocfg2();

sys_writel(iocfg2_base + 0x0158, 0x0206); /* VI_CLK */

sys_writel(iocfg2_base + 0x0168, 0x0005); /* VI_VS */

sys_writel(iocfg2_base + 0x0170, 0x0005); /* VI_HS */

sys_writel(iocfg2_base + 0x016C, 0x0006); /* VI_DATA0 */

sys_writel(iocfg2_base + 0x0178, 0x0006); /* VI_DATA1 */

sys_writel(iocfg2_base + 0x017C, 0x0006); /* VI_DATA2 */

sys_writel(iocfg2_base + 0x0174, 0x0006); /* VI_DATA3 */

sys_writel(iocfg2_base + 0x0160, 0x0206); /* VI_DATA4 */

sys_writel(iocfg2_base + 0x015C, 0x0206); /* VI_DATA5 */

sys_writel(iocfg2_base + 0x0164, 0x0206); /* VI_DATA6 */

sys_writel(iocfg2_base + 0x0154, 0x0206); /* VI_DATA7 */

sys_writel(iocfg2_base + 0x0194, 0x0006); /* VI_DATA8 */

sys_writel(iocfg2_base + 0x0190, 0x0006); /* VI_DATA9 */

sys_writel(iocfg2_base + 0x0184, 0x0006); /* VI_DATA10 */

sys_writel(iocfg2_base + 0x0180, 0x0006); /* VI_DATA11 */

sys_writel(iocfg2_base + 0x0188, 0x0006); /* VI_DATA12 */

sys_writel(iocfg2_base + 0x018C, 0x0006); /* VI_DATA13 */

}

2.2.2选择类型

static void vi_pin_mux(int vi_intf_type)

{

switch (vi_intf_type) {

case VI_MIPI_RX_MODE:

mipi_rx_pin_mux(MIPI_RX_0);

mipi_rx_pin_mux(MIPI_RX_1);

break;

case VI_CMOS_BT1120_MODE:

mipi_rx_pin_mux(MIPI_RX_0);

vi_bt1120_mode_mux();

break;

case VI_THERMO_MODE:

mipi_rx_pin_mux(MIPI_RX_0);

thermo_sensor_pin_mux();

break;

case VI_THERMO_T3_MODE:

mipi_rx_pin_mux(MIPI_RX_0);

thermo_t3_pin_mux();

break;

case VI_MODE_1_DC:

mipi_rx_pin_mux(MIPI_RX_0);

vi_DVP_mode_mux();

sys_config_print("========== DVP ==========n");

break;

default:

break;

}

}

2.2.3选择COMS

static int is_coms(const char *name, unsigned int name_len)

{

unsigned int len;

if (name_len == 0) {

sys_config_print("name len is 0!n");

return 0;

}

len = SENSOR_NAME_LEN;

if ((strncmp("bt1120", name, len) == 0) || (strncmp("bt656", name, len) == 0) ||

(strncmp("bt601", name, len) == 0) || (strncmp("DC", name, len) == 0))

{

return 1;

} else {

return 0;

}

}

三、加载驱动

poYBAGRzEvqAQz7MAACdW0_DCKw009.pngSS928 热成像驱动加载

四、修改mpp代码

根据 MPP媒体处理软件 V5.0开发参考.pdf中所说的绑定关系确定DC的videv、MIPI选择3

pYYBAGRzEyaAIDzxAACeEa_W-tQ841.png

4.1comm_vi配置

static ot_vi_dev_attr g_DC_dev_attr = {

.intf_mode = OT_VI_INTF_MODE_DC,

/* Invalid argument */

.work_mode = OT_VI_WORK_MODE_MULTIPLEX_1, // 1路复合工作模式

/* mask component */

.component_mask = {0xFF0000, 0x0},

.scan_mode = OT_VI_SCAN_PROGRESSIVE, // VI输入为逐行图像 OT_VI_SCAN_INTERLACED // VI输入为隔行图像

/* Invalid argument */

.ad_chn_id = {-1, -1, -1, -1},

/* data seq */

.data_seq = OT_VI_DATA_SEQ_UYVY,

/* sync param */

.sync_cfg = {

.vsync = OT_VI_VSYNC_PULSE, //垂直同步脉冲模式,即一个脉冲到来表示新的一帧或一场

// .vsync = OT_VI_VSYNC_FIELD, // DC模式下表示行有效信号

.vsync_neg = OT_VI_VSYNC_NEG_HIGH, // OT_VI_VSYNC_FIELD表示偶数场的 vsync信号为高电平 // OT_VI_VSYNC_PULSE表示vsync同步脉冲为正脉冲

.hsync = OT_VI_HSYNC_VALID_SIG, //水平同步数据有效信号 // OT_VI_HSYNC_PULSE

.hsync_neg = OT_VI_HSYNC_NEG_HIGH, // OT_VI_HSYNC_VALID_SIG表示高电平表示有效数据

.vsync_valid = OT_VI_VSYNC_VALID_SIG, //表示垂直同步时序行有效信号 // OT_VI_VSYNC_NORM_PULSE表示垂直有效同步标识

.vsync_valid_neg = OT_VI_VSYNC_NORM_PULSE, // OT_VI_VSYNC_VALID_SIG表示高电平为有效信号

.timing_blank = {

//水平前消隐区宽度 水平有效宽度 水平后消隐区宽度

/* hsync_hfb hsync_act hsync_hhb */

0, 0, 0,

//帧图像或隔行输入 帧图像或隔行 帧图像或隔行输入时

//时奇场图像的垂直 输入时奇场垂 奇场垂直后消隐区高

//前消隐区高度 直有效高度 度

/* vsync0_vhb vsync0_act vsync0_hhb */

0, 0, 0,

//隔行输入时偶场垂 隔行输入时偶 隔行输入时偶场垂

//直前消隐区高度 场垂直有效高度 直后消隐区高度

/* vsync1_vhb vsync1_act vsync1_hhb */

0, 0, 0

}

},

/* data type */

.data_type = OT_VI_DATA_TYPE_RAW, //OT_VI_DATA_TYPE_YUV, //OT_VI_DATA_TYPE_RAW

/* data reverse */

.data_reverse = TD_FALSE,

/* input size */

.in_size = {640, 512},

/* data rate */

.data_rate = OT_DATA_RATE_X1,

};

4.2static combo_dev_attr_t g_mipi_DC_attr =

{

.devno = 0,

.input_mode = INPUT_MODE_MIPI, // /* input mode */

.data_rate = MIPI_DATA_RATE_X1,

.img_rect = {0, 0, 640, 512},

.mipi_attr =

{

DATA_TYPE_RAW_12BIT,

OT_MIPI_WDR_MODE_NONE,

{0, 1, 2, 3, 4, 5, 6, 7}

}

};

4.3sample_vi_cfg配置


根据输入格式选择不同的类型

例如:

vi_cfg[i].pipe_info[j].pipe_attr.pixel_format = OT_PIXEL_FORMAT_YUV_400;

vi_cfg[i].pipe_info[j].isp_need_run = TD_FALSE;

vi_cfg[i].pipe_info[j].pipe_attr.isp_bypass = TD_TRUE; // yuv true

vi_cfg[i].pipe_info[j].chn_info[0].chn_attr.pixel_format = OT_PIXEL_FORMAT_YUV_400;

配置完vpss和venc就可以输出视频了

五、输出红外视频

poYBAGRzEzGAHj9CAAC_gX0pEbw150.png


六、备货选型参考

6.1后端处理器:

1、SS524即22AP10平替Hi3521DV200

2、SS522即22AP09平替Hi3520DV500

3、SS528即22AP30平替Hi3531DV200

4、SS626即22AP20 平替Hi3536AV100

6.2越影系列

5、SS928即108DC2910平替SD3043

6、SS927即107DC2910平替SD3402

7、Hi3519DV500

8、Hi3516DV500

9、Hi3559CV100

10、Hi3559AV100


审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18275

    浏览量

    222157
  • 海思
    +关注

    关注

    38

    文章

    423

    浏览量

    114707
  • 红外成像
    +关注

    关注

    0

    文章

    79

    浏览量

    11153
收藏 人收藏

    评论

    相关推荐

    供应海思芯片方案代理

    供货如下型号: 1、Hi3559AV100pin to pin 老版本; 2、Hi3403V1004K/60 丝印1:108DC2910开发包型号SS928V100 不可溯源; 丝印2
    发表于 02-24 10:44

    红外热像仪成像后图片如何处理

    红外热像仪成像后,图片如何处理。就是利用前后俩张图片如何比较
    发表于 12-06 19:10

    ESM928x与EM928x的比较

    ESM928x系列工控主板与EM928x系列工控主板都是采用i.MX28处理器,根据型号不同,分别使用i.MX283或i.MX287。ESM928x系列工控主板是基于EM
    发表于 06-13 10:05

    安捷伦成像处理器提升低光CMOS传感性能

      安捷伦(Agilent)日前推出一款成像管道(Image Pipe)处理器,可使移动电话和计算设备在各种光线条件下拍摄出生动、色彩丰富的影像。   成像管道被集成于Agilent的SOC系列传感
    发表于 10-26 17:03

    红外成像的原理是什么? 红外成像技术有什么作用?

    红外成像的原理是什么?红外成像技术有什么作用?
    发表于 06-26 07:26

    从零开始写RISC-V处理器六 写在最后

    之二 绪论从零开始写RISC-V处理器之三 硬件篇从零开始写RISC-V处理器四 软件篇从零开始写RISC-
    发表于 08-23 15:05

    SS928V100(SD3403)处理器红外成像调试

    SS928V100(SD3403)处理器红外成像调试
    发表于 05-28 15:20

    关于SS928评估板学习(一):芯片说明

    的ISP图像处理能力,支持3FWDR、多级降噪、六轴防抖、硬件拼接等多种图像增强和处理算法,为用户提供了卓越的图像处理能力。 SS928V100内置四核A55,提供高效且丰富和灵活的C
    发表于 09-12 10:23

    SS928V100超高清智能网络录像机SoC

    SS928V100是一颗面向市场推出的专业超高清智能网络录像机SoC。该芯片最高支持四路sensor 输入,支持最高4K60的ISP图像处理能力,支持 3F WDR、多级降噪、六轴防抖、硬件拼接
    发表于 10-16 17:21 3386次阅读
    <b class='flag-5'>SS928V100</b>超高清智能网络录像机SoC

    A393型SD3403开发板数据手册

    A393 型 SD3403 开发板主控采用的是 SD3403V100,其是一颗面向监控市场推出的 专业 ultra-HD Smart IP Camera SOC。该芯片内置内核 A55,算力最高
    发表于 10-25 17:02 5次下载

    A393型SD3403开发板产品数据手册

    A393 型 SD3403 开发板主控采用的是 SD3403V100,其是一颗面向监控市场推出的 专业 ultra-HD Smart IP Camera SOC。该芯片内置内核 A55,算力最高
    发表于 11-18 15:03 1次下载

    A393型SD3403开发板手册

    A393 型 SD3403 开发板主控采用的是 SD3403V100,其是一颗面向监控市场推出的专业 ultra-HD Smart IP Camera SOC。该芯片内置内核 A55,算力最高
    发表于 11-29 11:08 1次下载

    SS528V100编解码处理器

    一、产品简介 SS528V100是针对多路高清/超高清(1080p/4M/5M/4K)DVR 产品应用开发的新一代专 业 SoC 芯片。SS528V100集成了 ARM A53 四核处理器和性能
    发表于 02-21 21:04 2760次阅读
    <b class='flag-5'>SS528V100</b>编解码<b class='flag-5'>处理器</b>

    SS928/SD3403——教你快速入门

    本片文章主要是对SS928评估板的使用讲解,为了帮助大家快速了解使用方法。
    的头像 发表于 08-06 10:08 1214次阅读

    基于SS928开发板算法移植分享

    SS928开发板主控采用的是 SS928V100,其是一颗面向监控市场推出的专业 ultra-HD Smart IP Camera SOC。该芯片内置内核A55,算力最高支持 4 Tops INT8,同时支持
    的头像 发表于 08-16 09:35 678次阅读
    基于<b class='flag-5'>SS928</b>开发板算法移植分享