整體框架如圖所示,我主要是做arm主控,即所有的協議和類似檔案系統部分**都在arm這邊做,fpga那邊掛載的裝置比較多,有網絡卡,盤,光纖等,arm這邊外接rtc,鐵電nvram。fpga的速率很快,主要走資料,arm主要做控制演算法。遠控軟體包括機上遠控和機下遠控兩種,機上是遠控通過串列埠與記錄裝置的arm串列埠相連,機下是遠控通過光纖與記錄裝置的fpga相連,然後fpga將遠控資訊透傳給arm。
除錯網路,首先是fpga利用ip核與網絡卡做好底層的軟體,是外接主機與fpga通過網絡卡可以進行資料互動。然後可以利用主機(pc)在cmd命令視窗敲擊ping看能否ping通,如果能,說明網絡卡正常了,主機和裝置能通過宵網路進行通訊。但是ping的過程是需要arm參與的。前面說過fpga不進行協議的解析和封裝,當pc機傳送ping後,ping相關的資料報會被fpga透傳給arm,arm然後判斷是ping裡面的什麼包,然後在做操作,將需要返回的包發給fpga,fpga再透傳給主機。
如果想要完成網路功能,首先需要主機和記錄裝置之間能夠ping通,那我們需要先了解ping的原理和執行過程。
如果主機a想要ping主機b,需要封裝二層報文,包括arp包和icmp包。首先主機下發ping後,主機a先查詢自身的mac表中有沒有儲存主機b的mac位址,如果有,則直接下發icmp包。如果沒有,需要先傳送arp包。
1.arp包。主機a給需要ping的主機b傳送arp包的格式如下:
主機b接受到主機a的arp包,會將自己的mac位址寫入,給主機a返回乙個arp應答包,arp應答包的格式如下:
2.icmp包。當主機a學到了主機b的mac位址後就會把這個mac位址封裝到icmp協議的二層報文中向主機b傳送,傳送的報文格式如下:
當主機b收到主機a發過來的報文後,發現是主機a的icmp回顯請求,就按同樣的格式返回乙個icmp返回包給主機a,這樣就完成了同一網段內的ping過程了,主機b返回給主機a的icmp應答包格式如下:
具體的ping流程可參考如下csdn部落格
四.具體除錯事例
具體除錯時,以裝置為中心,設定的源和目的的mac位址及ip位址如下:圖中是在arm處檢視的
當在主機的cmd命令視窗敲擊ping 192.168.52.100後,arp包會從主機經過fpga到arm
現象如下:pc機發出經由fpga到arm
arm返回arp返回包經由fpga到pc機
但pc機下發icmp包後,fpga一直沒有收到
今晚(20191115),fpga還是沒有將網絡卡調通,暫時懷疑是網絡卡配置問題或者是電纜的問題,需要繼續排查。
adas記錄儀app 小蟻行車記錄儀app
小蟻行車記錄儀軟體簡介 165 廣角超人眼細節畫質 2倍視野輕鬆目測3車道路況 adas智慧型輔助駕駛功能 星光級超高感光影象感測器 3x3 m大畫素 6g全玻璃高解析鏡片 內建wi fi一鍵分享 超高硬體配置 確保畫面清晰流暢 低功耗h.264影像壓縮技術 1296p uhd超高清解析度 軟體亮點...
U盤資料記錄儀
利用 串列埠1 2 3 都可以驅動 但是用串列埠4 5 卻不可以 但是用串列埠測試都沒有問題。串列埠不能一直發 要發完再發。但是要配置好 進入中斷的函式名字為void uart5 irqhandler void 不要弄錯了 stm32f407上的串列埠4和5都可以進行傳送和接收的.函式如下 void...
數字語音記錄儀3 0
數字語音記錄儀 3.0 產品說明 開發介面 1 供開發介面 2 提供ocx控制項可與使用者的各種系統銜接,例如 業務系統 客戶管理系統等,利用ocx控制項可快速完成使用者系統的開發工作 3 可根據使用者要求定做軟體,提供oem軟體介面 應用範圍 廣泛應用於公司 工廠等企業的業務部 售後服務部,特別適...