更多文章
華為蔡建永:智能網聯汽車的數字安全和功能安全挑戰與思考
汽車數據合規要點
車載以太網技術發展與測試方法
車載以太網防火墻設計
SOA:整車架構下一代的升級方向
軟件如何「吞噬」汽車?
汽車信息安全 TARA 分析方法實例簡介
汽車FOTA信息安全規范及方法研究
聯合國WP.29車輛網絡安全法規正式發布
滴滴下架,我卻看到數據安全的曙光
從特斯拉被約談到車輛遠程升級(OTA)技術的合規
如何通過CAN破解汽
會員權益:?(點擊可進入)談思實驗室VIP會員

點擊上方藍字談思實驗室
獲取更多汽車網絡安全資訊

1.Camera鏈路完整框架
1.1 鏈路框架圖:
GMSL1方案:? ? ? ? ? ? ? ?3Gbps

NOTE:
攝像頭模組采用森云SG2-AR0231C-0202-GMSL
GMSL2方案:? ? ? ? ? 6Gbps

NOTE:
攝像頭模組采用森云SG2-AR0233C-5200-GMSL2
1.2 camera模組信息:
SG2-AR0231C-0202-GMSL(GMSL1):
模組框圖:

默認地址信息(8bit表示,7bit表示需要自己轉換):?
MAX96705 : 0x80? ? ? ? ?轉成7bit對應為0x40
AP0202 : 0xBA
AR0231 : 0X20
關鍵參數:
HDR支持
1920*1080/22fps
YUV422@8bit輸出
SG2-AR0233C-5200-GMSL2(GMSL2):
模組框圖:

默認地址信息(8bit表示,7bit表示需要自己轉換):? ? ?
MAX9295A : 0x80? ? ? ? ?轉成7bit對應為0x40
GW5200 : 0xDA
AR0233 : 0X20
關鍵參數:
HDR支持
LFM支持? ? ? ? ? ? ? ? ? ? ? ? ? ? ---- LED閃爍抑制
LED在道路上的普遍使用,卻帶來“LED閃爍”現象。“LED閃爍”是由LED驅動方式而產生的現象,LED燈以交流方式驅動,驅動頻率一般在90Hz以上,即最慢脈沖周期為11毫秒左右,LED在11毫秒周期內實現一次亮滅,為節能及延長使用壽命,占空比通常不超過50%。
如果相機曝光時間較短(例如3毫秒),則有可能曝光時間正好對上LED被關滅期,這時候圖像傳感器抓到的就是LED滅掉的圖像,如果是LED陣列,在這種情況下拍到的圖像就是一部分亮,一部分暗,這就是“LED閃爍”現象
1920*1080/30fps
YUV422@8bit輸出
2.I2C地址確定
以GMSL1為例說明
max96712:
首次上電通過CFG0上拉情況確定,具體詳情如下:

我們電路配置為0xD6,bit0為方向位,所以右移一位后7bit地址為0x6B
DEV_ADDR(0x00)為地址寄存器,可通過0x6B寫入新的地址,如寫入0x90,實際地址右移掉方向位bit0變為0x48,后續通過該地址操作max96712
default addr:0x80,右移一位后就是0x40,在i2c配置分別依次打開lane通道的時候會分別去寫入新的地址到reg(0x00)上,LaneA、LaneB、LaneC、LaneD分別設置為0x41,0X42,0X43,0X44.
如下:
regArray[0] = 0x00;sendBuf[0] = 0x80 + 2 * (i + 1);i2c_ptr->I2cWrite(0x40, regArray, 1, sendBuf, 1); ? ?//分別配置ABCD通道max96705 i2c 地址note : max96705 有個i2c address translatation功能//set i2c_source AregArray[0] = 0x09; ? ? ? ?sendBuf[0] = 0xba + 2 * (i + 1);i2c_ptr->I2cWrite(0x41 + i, regArray, 1, sendBuf, 1);//set i2c dst AregArray[0] = 0x0a;sendBuf[0] = 0xba;i2c_ptr->I2cWrite(0x41 + i, regArray, 1, sendBuf, 1);
如上例子i=0時候,就是將0xba+2(0xbc,對應的i2c address 是0x5e)轉換為0xba,也就是下面說道的ap0202默認地址。i分別從0到3就會分別把0x5e,0x5f,0x60,0x60轉換成0xba
AP0202:

我們的模組默認是連接到VDDIO_H,所以是0xBA,和上面max96705的i2c address translation功能結合就可以達到配置ap0202的目的
max9295A:
default addr : 0x80,右移一位后為0x40,再依次打開96712上的laneA-laneD通道時候分別將相應的MAX9295A改為0x41-0x44,代碼如下:

linux下i2c-tools工具使用:
linux下的開源代碼i2c-tools工具包,提供了多個i2c工具,可以基于該工具包掃描地址(i2c-detect),測試i2c寄存器讀取寫入等
3. pipeline說明
GMSL1 pipeline圖:

說明:
GMSL1模式下,每個串行器不能包含多個pipe,且進入max96712后也不能隨意搭配內部pipe,固定連接如上圖紅色部分:
GMSL1 A -->PIPE 0
GMSL1 B -->PIPE1
GMSL1 C -->PIPE 2
GMSL1 D -->PIPE3
GMSL2 pipeline圖:

說明:
串行器可以配置為pipe X/pipe Y/pipe Z/pipe U 4個輸出pipe,一般情況下配置為一個即可(我們配置為pipe Z),但是如果需要輸出RAW原始數據或者HDR數據可以配置超過一個pipe,如上圖GMSL2 A/GMSL2 D都配置了兩個輸出pipe
96712解串器可以為pipe0-pipe7選擇輸入的PORTA-PORTD中的pipex/y/z/u,詳情可以參見寄存器0xF0,0xF1,0xF2,0xF3
pipe、map_src、map_dst、mipi-csi2相關寄存器和通路選擇配置、VC虛擬通道配置等請參加0X90A開始的相關寄存器,如0x90a/0x90b/0x92d/0x90d/0x90e等等
我們為96712的4個通道數據分別分配了VC為0/1/2/3等4個虛擬通道號,占用兩個bit位
4.PWM觸發幀同步
默認方案:不使用外部GPIO來觸發FSYNC,使用內部FSYNC信號
配置如下:
reg : 0x4a0? ? ? ? ? val : 0x02
PWM外部GPIO輸入96712觸發FSYNC
配置如下:
reg : 0x4a0? ? ? ? ?val : 0x08
reg : 0x4af? ? ? ? ? val : 0x9f
note:
該模式下需要soc觸發PWM并輸出到max96712的FSYNC同步管腳,可以實現控制多個camera的圖像觸發時間、同步、幀率,如下圖分別提供了20Hz/25Hz測試情況
20Hz:? ? 應用層10幀圖片獲取間隔500ms

25Hz:? 應用層10幀圖片獲取間隔時間400ms

5.圖像基礎
YUV簡述
分為三個分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用于指定像素的顏色。
YUV分為planar和packed兩種格式,planar格式是先存儲所有像素的Y,再存儲UV,分為2-planar/3-planar。packed格式每個像素Y,U,V連續交替存儲
YCbCr中的Cb標識U,Cr標識V
YUV422 8bit:? ? ? ? ?重點說明,其他格式自行學習
采樣圖例:

傳輸樣式:

?frame format:

來源:古月居


碼上報名
AutoSec?2023 第七屆中國汽車網絡安全周暨第四屆智能汽車數據安全展,9月13-15日,上海
更多文章
軟件如何「吞噬」汽車?
汽車信息安全 TARA 分析方法實例簡介
汽車FOTA信息安全規范及方法研究
聯合國WP.29車輛網絡安全法規正式發布
滴滴下架,我卻看到數據安全的曙光
從特斯拉被約談到車輛遠程升級(OTA)技術的合規
如何通過CAN破解汽
會員權益:?(點擊可進入)談思實驗室VIP會員

