頻譜儀多種內(nèi)核通信機制的方案設(shè)計
由于中頻板FPGA和源掃板FPGA的功能各異,接收的參數(shù)也不盡相同,所以制定了不同的數(shù)據(jù)幀格式及發(fā)送規(guī)則。ARM向中頻板FPGA每幀數(shù)據(jù)傳送16位,傳輸頻率為0.36 MHz。發(fā)送順序為:路由碼1、數(shù)據(jù)幀1、路由碼2、數(shù)據(jù)幀2、結(jié)束碼。ARM向源掃板FPGA每幀數(shù)據(jù)傳送16位,傳輸頻率為0.36 MHz。發(fā)送參數(shù)前都要先發(fā)送一個存儲這個參數(shù)的虛擬地址,然后發(fā)送參數(shù),順序為:虛擬地址1、參數(shù)1、虛擬地址2、參數(shù)2、結(jié)束碼。
3 嵌入式Linux設(shè)備驅(qū)動簡介
一套完整設(shè)備的軟件系統(tǒng)開發(fā)可分為:應(yīng)用程序、庫、操作系統(tǒng)(內(nèi)核)、驅(qū)動程序。Linux軟件系統(tǒng)的層次關(guān)系如圖4所示。驅(qū)動程序的作用存于連接軟、硬件,即內(nèi)核通過驅(qū)動程序來完成對硬件設(shè)備的操作。在Linux系統(tǒng)中,應(yīng)用程序運行于“用戶空間”,并不能直接操作硬件,這可以避免應(yīng)用程序的錯誤使得整個系統(tǒng)崩潰。而驅(qū)動程序運行于“內(nèi)核空間”,它是系統(tǒng)信任的一部分。所以應(yīng)用程序要對硬件操作,就要首先使用庫提供的系統(tǒng)調(diào)用來進入內(nèi)核。內(nèi)核匹配后,調(diào)用相應(yīng)的驅(qū)動程序函數(shù),從而完成對硬件的操作。
評論