P20-Nightingale简易操作手册_第1页
P20-Nightingale简易操作手册_第2页
P20-Nightingale简易操作手册_第3页
P20-Nightingale简易操作手册_第4页
P20-Nightingale简易操作手册_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

P20-001Nightingale

简易操作手册

P20-001Nightingale(0V9284+TI933)

文件标识

简易操作手册

当前版本VI.0联系方式

作者EmmaWang撰写日期2021.06.24

审核者审核日期

目录

一、方案介绍.....................................................................3

1.说明........................................................................3

2.方案功能...................................................................3

3.方案图片...................................................................3

4.实物板说明.................................................................4

5.方案框图...................................................................5

1.开发环境...................................................................6

2.开发工具...................................................................6

三、使用说明.....................................................................7

1.快速上手...................................................................7

2.工程创建...................................................................7

3.修改和编译ispgraph库文件..............................................14

4.修改文件编译libsdi.a库文件.............................................16

5.修改文件编译libcamdrv.a库文件..........................................18

6.编译demo例程并运行......................................................23

、方案介绍

1.说明

世平集团推出的0V9284的DMS解决方案,基于0V9284的DMS模组方案,可用于驾驶员识别、

人脸支付、驾驶员疲劳检测、驾驶员和乘客监控、发动机启动安全认证。

2.方案功能

(1)支持1280*80(^120fps最大分辨率输出

(2)近红外Camera,两颗红外补光灯,Lenssize:1/4,Dynamicrange:68dB

(3)CMOS支持MIPI&DVP输出

(4)可在-40℃~10E℃温度下工作,符合车规应用场景

(5)12V电源输入,FAKRA(FPD-LINK)接口输出

3.方案图片

图1.1、1.2所示为0V491模块的实物图。

图1.1DemoBoard正面图

图L2DemoBoard反面图

4.实物板说明

图L3所示为0V9284+TI933模块实物板说明。

图1.3DemoBoard说明图

5.方案框图

图1.4所示为0V9284+TI933模块方案框图。

图1.4

—、工具说明

1.开发环境

(1)系统:Windows10crUbuntu18.04

(2)IDE:S32DSVisionv2018.RI

2.开发工具

(1)S32V234EagleEye开发板

(2)Bamboo(DS90UB964EVM)转接板

(3)HDMI显示器一套

(4)双母头fakra线一根

(5)Minil'SB线一根

(6)12V电源适配器

"使用说明

1.快速上手

(1)使用我们的EagleEye开发板连接Bamboo转接枝,Bamboo连接Fakra,再连接0V9284

模组,同时EagleEye的HDMI连接显示器。

(2)EagleEye中需要插入编译好可运行的linux系统镜像SD卡,并放入已经编译好的elf

文件,用户名root无密码,登陆之后,在elf文件目录下输入运行。

2.工程创建

使用S32DS_Vision_v2018.R1新建一个使用raw12_to_rgb888_gamma_2out算子的

OV9284的ISPGraph。

S32DesignStudioforVision

Version2018.R1

(1)首先新建MIPI设备。

,ispti964ov9284_dms_graph/model/isp_ti964_ov9284_dms_graph.aird/ISPdataflow:isp_ti964_o»

(Window|Help

(2)在S32DS中绘制如下ISPGraph流程图,并使用上面新建的MIPI设备。

IIPUS2

©raw12_to_rgb888_gamma_2out

(raw12_to_rgb888_gamma_2out)

[0]I

SRAMSSM

3SRAMBuf_GraySSRAh/Buf_RGB

(GENERIC.8)(GENERIC_8)

一[0)—-(o)一

FDMAFDMA

FastDMA_RGB_OutFastDMA_GREY_Out

DDRDDR

?DDRBuffer_RGB?DDRBuffer_Grey

(GENERICS)(GENERI己8)

(3)点击MIPI设备,选择“CameraType”中选择新建的CSIUB964OV9284

即可。

▼Base

Name:MIPIJ

(4)MIPI设备参数。

▼Properties

MIPICSI1CameraType:CSI_UB964_OV9284

aMIPI1I[0]一

EngineType:MIPICSI1~

(vbl_UD9o4_UVy^l>4)

AttachedCameras:

InputImageUnes:JJOO

FrameDoneChannelIndex:)

▼Base

I

MIPICSI1\|

DataType[Bitsperpixel]:16bits7

❷MIPIJ\\[0]

(CSIURQfidnvq?M{1*1

▼Properties

Index:o

PixelsToTransferQuantity:1280

PixelOffset[Pixels]:0________________________

(5)MIPI的SRAM参数。

,Properties

SRAMJ____DataType:16bits▼

SSRAMBUF_CAM_h[)]

(GENERIC16:H-------Producer:MIPI.Iout[0]

UneIncrement:1

Stride[Bytes]:2560

XSize[Pixels]:1280

YSize[Lines]:&

FillLevel:o

(6)IPUS算子参数。

Base

DataType[Bitsperpixel]:igbits

IPUS2

Oraw12_to_rgb8889amma_2out

(nw12_to_r9ba88_gBmma_2out)

r^-r

(0]

I

▼Properties

Kernel:raw12torgb888_gamma2out~

s"-

EngineIndex:

JIPUS2

EngineType:SCALAR』

»A(0]@raw12_torgb888gamma_2out

(r3w12_to_rgb888gamma_2out)

ProcessingStepsQuantity720

Parameters:D_lPUS_SYN_HOST_INACFG_OFF,0x00000100),

D_IPUS_SYN_HOST_XCFG_OFF,(1280<<15)|0x1}.

D_IPUS_SYN_HOST_OUTCFG_OFF,0x00000300),

;DjPUS5YN5_CH61CFG_INA_OFF,0x00058000).

{D_lPUS_SYN_S_CH1_CFG_INA.OFF,0x00058000).

{D_lPUS_SYN_S.CHO_CFG_OUT.OFF.0x20000000}.

(D_IPUS_SYH_S_CH1_CFG_OUT_OFF,0X20020000},

DataType[Bitsperpixel]:8bit$7

▼Properties

Index:

PixelsToTransferQuantity:13840

PixelOffset[Pixels]:P

DataType[Bitsperpixel]:8bits〜

IPUS2

A[0]r12_to_rgb838_9amma_2outProperties

r12_to_rgb888_9amma2out)

—Index:

PixelsToTransferQuantity:1280

PixelOffset[Pixels]:0

(7)IPUS输出的RBG和Gray的SRAM参数。

(8)FDMA通道名称。

Base

Name:FastDMARGBOut

FDMA

FastDMARGBOut▼Propeties

LineIncrement:1

Numberofrequiredlinestostartprocessing:1

LineOffset:0

▼Base

IName:FastDMA_GREY_Out

FDMAI

FastDMA_GREY_Outj▼Propeties

-----------------f-------------------LineIncrement1

Numberofrequiredlinestostartprocessing:1

LineOffset:0

(9)DDRBuffer参数。

▼Base

Name:DDRBuffer_RGB

▼Properties

DDR

DataType:

'"DDRBuffer_RGB

(GENERIC_8)Producer

LineIncrement:

Stride[Bytes]:

XSize[Pixels]:

YSize(Lines]:

▼Base

Name:DDRBufferGrey

▼Properties

DDR

"DDRBuffer_GreyDataType:8bits

(GENERIC_8)

Producer:FastDMA_GREY_Outy

LineIncrement:1

Stride[Bytes]:1280

XSize[Pixels]:1280

YSize[Lines]:720

(10)验证图形。

Edit>

8RefreshF5

Unsynchronized

回Exportdiagramasimage

yShow/Hide

感Select>

QoLayout>

ResetOriginCtrl+Home

|Validatediagram|

°->EmitAs>

FindCtrl+Alt+Shift+F

QuicksearchCtrl+O

ShowPropertiesView

(11)生成代码。

FDMA

FastDMARGBOut

X

DDR

曜DDRBuffer_RGB

(GENERIC_8)

1ISPSources

EmitConfigurations...

(12)默认生成的代码在inc/和src/目录下。

visp_ti964ov9284_dmsgraph

「ISPdataflow:isp_ti964_ov9284_dms_graph

vbme

[x|isp_ti964_ov9284__dms_graph_c.h

>0model

.src

[x|dynamicjsp_ti964_ov9284_dms_graph.c

____国ispti9640V9284_dms_graph・c

3.修改和编译ispgraph库文件

(1)打开Ubuntu18.04虚拟机,安装sdk1.51,进入到s32v234_sdk/isp/graphs

目录下,拷贝一个ispgraph工程,命名为ov9284_ub964_mipi。

sudocp-rov9284max9286mipiov9284ub964mipi

(2)进入目录并修改相关目录名称。

cdov9284_ub964_mipi/

sudomvdynamic_ov9284_max9286_mipi

dynamic_ov9284_ub964_mipi

dynamic_ov9284_ub964_mipi

graph.mK

Inc

tspgraph

src

(3)(修改中的graph名称。

#GRAPH_NAME=Ov9284_max9286_mipt

GRAPH_NAME=ov9284_ub964_mtpt

(4)把由ISPGraph生成的文件修改为ov9284_ub964_mipi,修改完如下:

stark@Stark-VU1804:~/VtstonSDK_S32V2_RTM_l_5_l/s32V234_sdk八sp/graphs/ov9284_ub964_rdpl/src$

total64

drwxr-xr-x2rootroot409612月118:03

drwxr-xr-x6rootroot469612月117:59

-rwxr-xr-x1rootroot146912月115:04dynantc_ov9284_ub964_ntpt.c

-rwxrwxr-x1starkstark5180812月117:37ov9284_ub964_ntpt.c

stark@Stark-VUi804:~/VtstonSDK_S32V2_RTM_l_5_l/s32V234_sdk八sp/graphs/ov9284_ub964/lpl八nc$

total16

drwxr-xr-x2rootroot409612月118:61*

drwxr-xr-x6rootroot409612月117:59••

-rwxr-xr-x1rootroot146212月115:64lofiles.h

|"rwxrwxr-x1starkstark189812月117:15ov9284_ub96451pl_c.h

(5)另外ov9284_max9286_mipi.c中包含的头文件也需要改名。

//#tnclude"isp_ti964_ov9284_dms_graph_c.h

#includeHov9284_ub964_mipi_c.h'*

(6)如本文第一步操作MIPI设备名只在S32DS工具中添加,代码中也需要添加,

修改s32v234_sdk/isp/inc/seq_graph_meta.h文件添加

“CSIUB964OV9284"。

typedefenunCSI_CaneraTypet

{

CSI_NONE,

CSI二S0NY224,

CSI_S0NY29e,

CSI_SONY390,

CSI_OV2775,

CSI_0V9716,

CSI_OV10640,

CSI二GENERIC,

CSI_MAX_CENERIC,

CSI_MAX_S0NY224,

CSI_MAX_0V9716,

CSI_MAX_OV10635.

CSI_MAX_OV1064O,

CSI二MAX二AR。144,

CSI二MAX[OV9284,

CSI_PAN34420,

CSI_UB964_OV1064O,//UB964-OV1064O

CSI_UB964_OV1064O_MULTI,//UB964-OV10640

CSI二UB964二TEST,―//UB964TestPattern

CSI-UB964-AR614%//UB964AR0140

CSI_UB964_0V9284//Starkadd2020.1201

}CSl_Cameraiype_t;

(7)在编译uboot&linux和sdk中的ko驱动模块的时候已经在/etc/profile中添加

了交叉编译器以及相关目录的环境变量。

#2020年1。月280星期三17:48:36CST

#StarkaddS32VCross-loolchainPATH

exportARCH=arn64

exportCR0SS_C0MPILE_H6_ELF=arn-none-eabt-

exportCR0SsZc0MPILEZAARCH64_ELF=aarch64-none-eXf-

exportCR0SS_C0MPlLE=aarch64-l.tnux-gnu-

exportPATH="/home/stark/VlslonSDK_S32V2_RTM_l_5_l/compllers/gcc-6.3.1-ltnaro-Xarmv8-llnux/l686-llnux/btn

exportPATH=7ho(ne/sta「k/VtstonSDK_S32V2_RTM_l_5_l/co叩tlers/gcc-6.3.1-ltnaro-Ea「F>v7-eabt/t686-llnux/btn:

exportKERNEL_DIR=/hone/stark/S32V/bsp22/ltnux/kernel

exportLINUX_S32V234_DlR=/hoF)e/stark/S32V/bsp22/ltnux

(8)进入root用户再进行编译得到.a库文件,说明ISPgraph部分移植没有问题。

su-root

makeclean&make

tpus.elf-oknen.elf||{exit1;}

generating:knen.srec

generating:kmem.c

knen.srec

generating:kmen_syn.h

arn64/gnu/debugCCov9284_ub964_ntpt-c.o

diin64/yiiu/debuyCCbequem.er_sret-c.u

sequencer_srec.c:3:1:warning:stringlength*76830*isgreaterthanthelength*4095*ISOCS9comptl

ersarerequiredtosupport[-Woverlength-strings]

charsequencer_srec[]={\

arm64/gnu/debugARresIibdynanic_ov9284_ub964_nipi.a<=ov9284_ub964_nipi-c.osequencer_srec-c.

root®Stark-VU1864:/hone/stark/VtstonSDK_S32V2_RTM32V234_sdk八sp/graphs/ov9284_ub964_,tpl/dyna

mic_ov9284_ub964_ntpi/build-v234ce-gnu-linux-d#|

4.修改文件编译libsdi.a库文件

(1)在s32v234_sdk/lib/isp/cam_generic/kemel/include/cam_i2c_addr.h文件中添力口

OV9284的一12c地址。

#define0V9284_WPI_ID(OXC0U)

#deftne0V9284_WPI_AL(OXCOU)

(2)在/home/stark/VisionSDK_S32V2_RTM_1_5_1/s32v234_sdk/libs/io/sdi/include/

sdijo.hpp文件中添加1处OV9284疝'关的声而。____________

voidUB964_0V9284_Reserve(LIB_RESULT&arRet);

(3)在

/home/starkA/isionSDK_S32V2_RTM_1_5_1/s32v234_sdk/libs/io/sdi/src/sdi_io.cpp

文件中添加6处—9284%)关的修改:

①在voidsdi_MipiCsilO::ReserveCamSwitch(LIB_RESULT&arRet)函数中添加

CSIUB964OV9284分支。

caseCSI_UB964_0V10640:

{

UB964_OV16640_Reserve(arRet);

)

break;

//...............................starkadd[1]on2620.1261

caseCSI_UB964_OV9284:

(

UB964OV9284_Reserve(arRet);

)

break;|

//...........................--starkadd[1]endon2020.1201

caseCSI_UB964_OV1064O_MULTI:

(

UB964_OV10640Multi_Reserve(arRet);

)

②添加voidsdi_MipiCsilO::UB964_OV9284_Reserve(LIB_RESULT&arRet)函

数。

〃........................................................................starkadd[2]on2626.1201

voidsdiMiptCsilO::UB9640V9284Reserve(LIBRESULTfiarRet)

(

nUB964Conftg.nCstIdx=mDesc.nldx;

(nUB964Conftg.nSensorType=mDesc.mCamType;

nUB964Conftg.nI2cPort=stattc_cast<uint8_t>(I2C_964_6);

nUB964Conftg.nUB964_I2C_Addr=I2C_UB964_EVM_7b;-

nUB964Conftg.nCstZNunLanes=stattc_cast<utnt8_t>(CSI_964_4_LANES);

nUB964Conftg.nCsi2TxPort=static_cast<utnt8_t>(CSI_964_TX_6);

nUB964Conftg.nNunChannels=l;//stattc_cast<utnt8_t>(mDesc.mNunCaneras);

nUB964Conftg.nRxConftg[o].mRxPortSel=stattc_cast<utnt8_t>(FPD3_PORT_0);

nUB964Config.nRxConfi.g[0].mSerAltas=stattc2cast<uint8Zt>(UB913AID)7//UB933ID

nUB964Conftg.nRxConftg[0].mSensorld=statU_cast<utnt8_t>(0V9284_WPI_ID);

(nUB964Conftg.mRxConftg[3].mSensorAltas=stattc_cast<utnt8_t>(OV9284_WPI_AL);

mlJR<)64Config.rnRxCnnfig[R].mRC_Gpina《tattc_ra^t<uintR_t>(RC_GPTO_fi);

nUB964Conftg.nRxConftg[e].RFV_Polartty=static二castvutnt8二t>(FVZACTIVE.LOW);

for(uint8_tliter=0U;liter<MIPIVIRTCHN_NUM;Uter++)

(

tf(nDesc.mpvc[Uter].nLtneBytes!=OU)

(

mUB964Config.mRxConftg[0].mVC_Map=ncsTiub964CstVc[lIter]|static_cast<uint8_t>(CSI2_RAW12);

break;

)

}

if(TIUB964_Intt(mUB964Conftg)!=CAM_LIB_SUCCESS)

(

arRet=LIB_FAILURE;

)

}//sdtMtptCstIO::UB964_0V9284_Reserve()

//.......................................................................starkadd[21endon2620.1201

③在UB_RESULTsdi_MipiCsilO::ReleasePrv()添加CSI_UB964_OV9284分

支。

caseCSI_UB964_ARO140:

caseCSIUB964OV10640:

caseCSI_UB964_OV9284://.....................starkadd[3]2020.1202

caseCSI_UB964_OV1064O_MULTI:

caseCSI-UB964-TEST:

④在LIB_RESULTsdi_MipiCsilO::Setup()函数中添加CSI_UB964_OV9284分

支。

〃.....-....................starkadd[4]on2026.1202

caseCSI_UB964_0V9284:

(

iCstConftg.mLanes=4;

iCstConfig.mMbps=369;

}//caseCSI_UB964_OV9284

break;

II--------------------------starkadd[4]endon2020.1202

⑤在UB_RESULTsdi_MipiCsilO::Start(void)函数中添加CSI_UB964_OV9284

分支。

caseCSI_UB964_OV10640:

caseCSI_UB964_OV9284://......................starkadd[5]on2020.120

caseCSI_UB964_0VieC40_MULTI:

(

tf(TIUB964_OV10646_Start(nUB964Config)!=CAM_LIB_SUCCESS)

(

iRet=LIB_FAILLRE;

)

©在UB_RESULTsdi_MipiCsilO::StopPrv(void)添加CSI_UB964_OV9284分

支。

caseCSI_UB964_OV10640:

caseCSI二UB964二0V9284://......................starkadd[6]on2020.1202

caseCSI_UB964_OV10640_MULTI:

(

tf(TIU8964_0V10640_Stop(mU8964Conftg)!=CAM_LIB_SUCCESS)

(

iRet=LIB_FAILURE;

}//IffailedtostopMaxim

)

break:

(4)移植完毕可以编译得到libsdi.a,说明sdi部分移植没有问题。

../src/sdi_to.cpp:Inmemberfunction•virtualLIB_RESULTsdi_HipiCstIO::Start()*:

../src/sdt_to.cpp:2474:36:warning:missingInitializerformember*CSI_IdKey::mReserved*[-Wmtss

CSI二IdKey_tICsiKey={OU,0U};

A

../src/sdt_to.cpp:Inmemberfunction*LIB_RESULTsdt_MtptCstIO::StopPrv(),:

../src/sdt_to.cpp:2509:34:warning:missinginitializerformember'CSI_IdKey::再Reserved'[-Wntss

CSI_IdKey_tICstKey={eu,OU);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论