欧美一级爽aaaaa大片,gogo大胆日本视频一区,国产欧美一区二区三区国产幕精品,xx欧美视频

18931180976
探傷

設(shè)備 超聲波探傷設(shè)備型號
探傷設(shè)備生產(chǎn)廠家
探傷設(shè)備案例
綜合實力
合作單位
探傷知識
招聘信息
聯(lián)系方式
當前位置:首頁 >> 探傷知識

探傷波形數(shù)據(jù)傳輸驅(qū)動程序設(shè)計

發(fā)布時間:2023/12/18 14:45:45

探傷波形數(shù)據(jù)傳輸驅(qū)動程序是驅(qū)動層數(shù)據(jù)平面的實現(xiàn),在整個系統(tǒng)中具有重要的作用,它完成探傷波形數(shù)據(jù)從 FPGA 子系統(tǒng)到 ARM 子系統(tǒng)的傳送,并將探傷波形數(shù)據(jù)從 Linux 操作系統(tǒng)的內(nèi)核空間傳送到用戶空間。由于系統(tǒng)的重復頻率為 50Hz,即每隔 20ms 有一幀探傷波形數(shù)據(jù),所以該設(shè)備驅(qū)動對時間性要求相對較高。由于探傷波形數(shù)據(jù)傳輸驅(qū)動程序主要是從 FPGA的 FIFO 中讀取數(shù)據(jù),完成數(shù)據(jù)傳輸功能,功能單一,所以可以在一個驅(qū)動模塊中實現(xiàn)。超聲波探傷系統(tǒng)將其定義為 FIFO 驅(qū)動模塊。


設(shè)備驅(qū)動的工作方式有查詢和中斷兩種方式,由于本系統(tǒng)硬件控制采樣的時序比較嚴格,每隔 20ms 有一幀波形數(shù)據(jù)到達,所以該設(shè)備驅(qū)動的工作方式采用中斷方式。


FPGA 硬件設(shè)備每隔 20ms 會完成探傷波形的采集和高速數(shù)字信號處理,并將一幀探傷波形數(shù)據(jù)存入 FIFO 然后通過硬件中斷信號通知 ARM 處理器。ARM 處理器接收到中斷信號后,由 Linux 操作系統(tǒng)負責處理中斷,并最終調(diào)用該設(shè)備驅(qū)動已經(jīng)注冊的中斷服務(wù)程序。在中斷服務(wù)程序中完成從 FPGA 的FIFO 中讀取探傷波形數(shù)據(jù)到操作系統(tǒng)的內(nèi)核空間。


FIFO 驅(qū)動模塊在中斷服務(wù)程序中完成從 FPGA 的 FIFO 中讀取波形數(shù)據(jù)到系統(tǒng)內(nèi)核空間,然后需要用一種方式通知上層應(yīng)用程序數(shù)據(jù)已到達。傳統(tǒng)的進程間通信機制包括管道(Pipe)和命名管道(Named Pipe)、信號(Signal)、報文傳遞(Message)、共享內(nèi)存(Shared Memory)、信號量(Semaphore)以及套接字(Socket)等。由于 FIFO 驅(qū)動模塊中的中斷服務(wù)程序運行于中斷上下文,而不是進程上下文,所以除了信號之外,無法直接使用這些機制。信號不僅可以用于兩個進程之間進行通信,也可以用于內(nèi)核與進程之間的通信,但內(nèi)核只能向進程發(fā)送信號而不能接收信號。一般來說,信號是對“中斷”概念在軟件層次上的模擬,所以也稱為“軟中斷”。所以在 FIFO 驅(qū)動模塊中,通過向上層應(yīng)用程序發(fā)送信號來通知上層應(yīng)用程序數(shù)據(jù)已經(jīng)到達。在 Linux 操作系統(tǒng)中,內(nèi)核提供了異步通知機制,該機制即采用設(shè)備驅(qū)動發(fā)送信號的方法,實現(xiàn)設(shè)備驅(qū)動和應(yīng)用程序之間的通信,這樣應(yīng)用程序就不需要使用查詢來關(guān)注數(shù)據(jù)何時到達。


主站蜘蛛池模板: 东源县| 湖北省| 丰都县| 宜昌市| 阿城市| 来宾市| 海门市| 绥芬河市| 杂多县| 威信县| 重庆市| 合江县| 江津市| 津南区| 旅游| 筠连县| 寿宁县| 大邑县| 汾阳市| 绵竹市| 肃南| 太和县| 赣榆县| 如皋市| 马鞍山市| 临沧市| 岑巩县| SHOW| 大化| 吕梁市| 本溪| 迁西县| 武功县| 禹城市| 承德县| 澄迈县| 太原市| 泰安市| 汉阴县| 二连浩特市| 新昌县|