超聲波探傷系統(tǒng)驅動程序的重要性
超聲波探傷系統(tǒng)驅動程序工作在 Linux 操作系統(tǒng)的底層,負責為上層應用程序提供良好的硬件抽象。Linux 操作系統(tǒng)為設備驅動的開發(fā)提供了一整套機制,尤其是模塊化驅動機制,允許動態(tài)加載和卸載可裝載模塊,極大地提高了設備驅動程序的開發(fā)和調試效率,甚至根本上改變了設備驅動程序的開發(fā)方法。Linux 設備驅動程序在開發(fā)過程中要按照操作系統(tǒng)提供的驅動設計接口,使用系統(tǒng)提供的功能函數(shù),這樣不僅可以為上層應用程序提供統(tǒng)一和清晰的接口,也可以提高開發(fā)效率。
探傷系統(tǒng)的設備驅動程序都是字符型設備驅動,針對不同的硬件特性,分別用不同的模塊或程序實現(xiàn)。根據(jù)數(shù)據(jù)平面和控制平面接口,可以分為探傷波形數(shù)據(jù)傳輸驅動程序、FPGA 參數(shù)配置驅動程序和 ARM 外圍設備驅動程序。根據(jù)各個設備驅動要求,使用了有針對性的開發(fā)和調試方法。系統(tǒng)設備驅動程序雖然代碼量并不大,但是其與硬件直接相關,在整個系統(tǒng)軟件中占有重要地位。在設備驅動開發(fā)過程中要先完成系統(tǒng)工作中最基本的設備驅動,如數(shù)據(jù)平面的FIFO 驅動模塊,ARM 外圍設備驅動的鍵盤驅動和 LCD 驅動等,然后再完成控制平面接口的設備驅動。設備驅動程序開發(fā)的另一個特點是其開發(fā)完成后,如果硬件電路不修改,設備驅動也基本上不需要修改。
我們給出了基于 Linux 的設備驅動開發(fā)方法和流程,系統(tǒng)中設備驅動的設計和分類,研發(fā)了有代表性的 FIFO 驅動模塊、DacMax508 驅動模塊和基于幀緩沖的 LCD 設備驅動的實現(xiàn)。給出了系統(tǒng)設備驅動的測試方法。