P20-Nightingale簡易操作手冊_第1頁
P20-Nightingale簡易操作手冊_第2頁
P20-Nightingale簡易操作手冊_第3頁
P20-Nightingale簡易操作手冊_第4頁
P20-Nightingale簡易操作手冊_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

P20-001Nightingale

簡易操作手冊

P20-001Nightingale(0V9284+TI933)

文件標(biāo)識

簡易操作手冊

當(dāng)前版本VI.0聯(lián)系方式

作者EmmaWang撰寫日期2021.06.24

審核者審核日期

目錄

一、方案介紹.....................................................................3

1.說明........................................................................3

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

3.方案圖片...................................................................3

4.實物板說明.................................................................4

5.方案框圖...................................................................5

1.開發(fā)環(huán)境...................................................................6

2.開發(fā)工具...................................................................6

三、使用說明.....................................................................7

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

2.工程創(chuàng)建...................................................................7

3.修改和編譯ispgraph庫文件..............................................14

4.修改文件編譯libsdi.a庫文件.............................................16

5.修改文件編譯libcamdrv.a庫文件..........................................18

6.編譯demo例程并運行......................................................23

、方案介紹

1.說明

世平集團推出的0V9284的DMS解決方案,基于0V9284的DMS模組方案,可用于駕駛員識別、

人臉支付、駕駛員疲勞檢測、駕駛員和乘客監(jiān)控、發(fā)動機啟動安全認證。

2.方案功能

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

(2)近紅外Camera,兩顆紅外補光燈,Lenssize:1/4,Dynamicrange:68dB

(3)CMOS支持MIPI&DVP輸出

(4)可在-40℃~10E℃溫度下工作,符合車規(guī)應(yīng)用場景

(5)12V電源輸入,F(xiàn)AKRA(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.開發(fā)環(huán)境

(1)系統(tǒng):Windows10crUbuntu18.04

(2)IDE:S32DSVisionv2018.RI

2.開發(fā)工具

(1)S32V234EagleEye開發(fā)板

(2)Bamboo(DS90UB964EVM)轉(zhuǎn)接板

(3)HDMI顯示器一套

(4)雙母頭fakra線一根

(5)Minil'SB線一根

(6)12V電源適配器

"使用說明

1.快速上手

(1)使用我們的EagleEye開發(fā)板連接Bamboo轉(zhuǎn)接枝,Bamboo連接Fakra,再連接0V9284

模組,同時EagleEye的HDMI連接顯示器。

(2)EagleEye中需要插入編譯好可運行的linux系統(tǒng)鏡像SD卡,并放入已經(jīng)編譯好的elf

文件,用戶名root無密碼,登陸之后,在elf文件目錄下輸入運行。

2.工程創(chuàng)建

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

OV9284的ISPGraph。

S32DesignStudioforVision

Version2018.R1

(1)首先新建MIPI設(shè)備。

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

(Window|Help

(2)在S32DS中繪制如下ISPGraph流程圖,并使用上面新建的MIPI設(shè)備。

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設(shè)備,選擇“CameraType”中選擇新建的CSIUB964OV9284

即可。

▼Base

Name:MIPIJ

(4)MIPI設(shè)備參數(shù)。

▼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參數(shù)。

,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算子參數(shù)。

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參數(shù)。

(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參數(shù)。

▼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)進入目錄并修改相關(guān)目錄名稱。

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設(shè)備名只在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驅(qū)動模塊的時候已經(jīng)在/etc/profile中添加

了交叉編譯器以及相關(guān)目錄的環(huán)境變量。

#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疝'關(guān)的聲而。____________

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%)關(guān)的修改:

①在voidsdi_MipiCsilO::ReserveCamSwitch(LIB_RESULT&arRet)函數(shù)中添加

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)函

數(shù)。

〃........................................................................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()函數(shù)中添加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)函數(shù)中添加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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論