基于Zynq的FSAE賽車(chē)遙測平臺—一種實(shí)時(shí)遙測系統
圖4 項目框圖
圖5 軟件流程圖
A9 處理器和豐富的邏輯資源,有很好的可拓展性,非常適 合本項目的開(kāi)發(fā)工作。
具體實(shí)現
車(chē)載數據發(fā)送端:
行車(chē)數據傳輸的實(shí)現:車(chē)隊使用的ECU型號為MoTeC M800,基于CAN2.0協(xié)議,采用廣播式發(fā)送,每次發(fā)送173 字節的數據包,傳輸速率為1Mbps。本項目自制一個(gè)基于 STM32的數據采集板完成ECU的數據采集、篩選和發(fā)送。 STM 3 2 自 帶 兩 個(gè) C A N 控 制 器 , 以 中 斷 方 式 接 收 來(lái) 自 ECU 的 C A N 報 文 , 以 輪 詢(xún) 方 式 通 過(guò) 無(wú) 線(xiàn) 串 口 發(fā) 送 數 據 。 采 用 HVP230作為CAN物理層收發(fā)器。經(jīng)驗證,本方案可以高效 地采集并發(fā)送數據,穩定性非常高。
圖像和語(yǔ)音的傳輸采用FPV 2.4G無(wú)線(xiàn)傳輸。
手持遙測平臺的接收端設計:
雙核Cortex?-A9 處理器運行Ubuntu系統,交叉編譯并安 裝OpenCV和Qt。在Qt下采用多線(xiàn)程編程方式開(kāi)發(fā)上位機, 串口接收數據進(jìn)程與數據顯示進(jìn)程并行運行。主線(xiàn)程調用 customplot庫,將另一個(gè)線(xiàn)程接收的數據通過(guò)折線(xiàn)圖實(shí)時(shí)顯 示出來(lái)。這樣就完成了行車(chē)數據接收和顯示。其次是車(chē)手 視角圖像和語(yǔ)音的傳輸實(shí)現,采用FPV - CT210 2.4G接收模 塊,通過(guò)2.4G無(wú)線(xiàn)傳輸。安裝USB視頻采集卡驅動(dòng),并重新 編譯內核。
項目開(kāi)源鏈接:http://www.openhw.org/project-8
一部分項目步驟:
內核編譯詳解:
首先去github下載linux xilinx-v2015.1源碼 下載地址https://github.com/Xilinx/linux-xlnx/tree/xilinx-
v2015.1 然后解壓cd linux-xlnx-xilinx-v2015.1/ 進(jìn)入文件夾
make ARCH=arm xilinx_zynq_defconfig 添加usb攝像頭驅動(dòng)make ARCH=arm menuconfig Device Drivers --->
Multimedia support --->
Media USB Adapters ---> 選擇built-in
USB Video Class (UVC) 選擇built-in
UVC input events device support (NEW) 選擇built-in make ARCH=arm LOADADDR=0x00008000 uImage 編譯完成后,將uImage拷貝到sd卡fat分區。
U-boot制作:
? 首先去github下載uboot xilinx-v2015.1源碼
? 下載地址https://github.com/Xilinx/u-boot-xlnx/tree/
xilinx-v2015.1
? 解壓到工作目錄
? cd u-boot-xlnx-xilinx-v2015.1/
? make ARCH=arm zynq_zybo_config
? 修 改 u b o o t 環(huán) 境 變 量 s d b o o t 因 為 我 們 使 用 的 不 是
ramdisk文件系統
? vim include/configs/zynq-common.h
? 修改為:
"sdboot=if mmcinfo; then " "run uenvboot; "
"echo Copying Linux from SD to RAM... && "
"load mmc 0 ${kernel_load_address} ${kernel_image} && " " load mmc 0 ${devicetree_load_address} ${devicetree_
image} &&"
" bootm ${ kernel_load_address} - ${dev icetree_load_
address};" "fi国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放