新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于VxWorks的PCI總線多功能數據采集卡驅動開發

        基于VxWorks的PCI總線多功能數據采集卡驅動開發

        作者: 時間:2012-08-30 來源:網絡 收藏

        摘要:是WindRiver(風河)公司的嵌入式實時操作系統(RTOS),由于它的高實時性,所以廣泛地應用于軍事、工業控制、通信等領域;分析了Vxworks下卡的實現方法;以ADLINK的7396卡為例,介紹設備的配置空間,包括它的結構及訪問方法,重點介紹PCI設備在程序的步驟及編程要點,并對過程中的關鍵部分給予代碼說明;在某綜合控制系統中,開發的程序運行穩定、可靠。
        關鍵詞:;PCI;卡;

        VxWorks是一種高性能的嵌入式實時操作系統(RTOS),它由WindRiver公司開發,具有小巧的內核,可根據需要進行裁減;它還獲得廣泛的硬件支持,像X86系列的CPU,Motorola 68K系列的CPU,Motorola/IBM Power PC等等;它還具有很高的可靠性和實時性,像美國登陸的火星探測器使用的就是VxWorks操作系統;它還有其它的很多優點,因此被廣泛地使用在通信、軍事、航空、控制等高精尖技術以及實時性要求極高的領域中。
        PCI總線由于其即插即用、獨立于微處理器、通用性好、具有很高的兼容性等等優良的特點,使得它成為運用最廣泛的局部總線標準,而且具有很大的發展潛力。使它成為具有很好發展潛力的局部總線標。數據采集卡在工業控制中有著廣泛的運用,它是信號和嵌入式處理器的有效交互的工業控制系統中的重要環節,特別是它的中斷功能能提供很有效的實時性。在Vxworks下,一個重要的問題就是如何開發出高效率的數據采集卡驅動,只有驅動穩定了,才能使系統高效地運轉。文中結合Adlink公司的7396芯片,探討在VxWorks下PENTIUM CPU的PCI數據采集卡的驅動開發。

        1 VxWorks下的設備驅動程序
        1.1 VxWorks下的I/O系統
        I/O系統全稱為(Input/Output)輸入輸出系統,在VxWorks系統中,I/O系統向用戶屏蔽了硬件層,為用戶提供了一個統一的標準接口,使得應用層的用戶只要了解I/O系統的標準接口使用方法,就可以正確地操作外部設備。I/O系統為設備提供了7個標準的I/O接口函數:creat(...)、delete(...)、open(...)、close(...)、read(...)、write(...)、ioctl(...)。驅動程序設計者只要根據實際項目、工程的需要設計完成相應功能的接口函數,然后在使用時I/O系統就可以把應用程序的I/O請求轉發給相應的設計好的設備驅動程序進行處理。在VxWorks系統中I/O系統是通過維護文件描述符表、設備描述符表和驅動程序列表這3張表格來實現對驅動程序的管理的。
        1.2 VxWorks設備驅動程序的分類
        在Vxworks系統中,輸入/輸出設備從宏觀上分為3種類型:字符設備、塊設備和網絡設備。依據設備的類型,VxWorks下設備驅動程序的管理也被劃分成3種模塊:字符設備驅動程序模塊、塊設備驅動程序模塊、網絡設備驅動程序模塊。從架構上說,字符設備驅動程序的實現相對來說是最簡單的,它向上只是與I/O系統接口,所以只需要提供內個接口就可以了。塊設備驅動程序相對于字符設備來說相對的復雜,它還要與中間的文件系統相連,為文件系統提供服務,塊設備的最大特點就是以“塊”為單位進行操作,在讀取其中的數據時,必須將所在塊的數據完全讀出。網絡設備則提供了另外的接口,相對于字符設備和塊設備來說,處于相對底層,這是由網絡協議的復雜性決定的。為了更好地支持網絡設備,VxWorks在網絡協議層和網絡設備驅動程序之間增加了MUX接口。
        1.3 驅動程序和I/O系統
        驅動程序的結構包括3個部分:初始化部分,函數功能部分和中斷服務程序ISR。初始化部分主要是初始化硬件,分配硬件所需要的系統資源。函數功能主要是根據實際的需要,完成系統指定的功能。中斷服務程序主要是響應外部中斷,使系統能夠快速地對外部交互作出反應,由于中斷服務程序要求盡可能地反應快,所以中斷服務程序應該盡可能簡單。

        本文引用地址:http://www.104case.com/article/148492.htm

        a.JPG


        VxWorks中設備驅動程序與I/O系統的關系非常簡單。對于塊設備來說,應用程序通過I/O系統訪問文件系統,而后由文件系統調用驅動程序訪問設備。而其它的非塊設備則是I/O系統直接調用驅動程序訪問設備。圖1顯示了應用程序、I/O系統和設備驅動程序之間的關系。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 连云港市| 房产| 古交市| 无棣县| 庆元县| 格尔木市| 遵义市| 新干县| 香格里拉县| 冷水江市| 扬中市| 邻水| 华坪县| 鲜城| 平安县| 亚东县| 共和县| 宜宾市| 大新县| 洛宁县| 福州市| 绥棱县| 高台县| 宁乡县| 葫芦岛市| 晋城| 西和县| 汝南县| 河北区| 淅川县| 宁城县| 古浪县| 明水县| 安仁县| 玛纳斯县| 砀山县| 孝感市| 峨眉山市| 关岭| 四子王旗| 炎陵县|