新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的PCI總線串口卡設計

        基于FPGA的PCI總線串口卡設計

        作者: 時間:2010-10-18 來源:網絡 收藏

         接收模塊通過狀態機來完成數據接收,其狀態機包含4個狀態:空閑狀態(idle)、移位狀態(shift)、奇偶校驗狀態(parity)和停止位狀態(stop),如圖6所示。其工作過程如下:當系統復位時,狀態機進入空閑狀態,等待接收開始位;當開始位被確定有效后,狀態機進入移位狀態。在移位狀態中,接收模塊為每個數據位的移入等待16個內部時鐘周期,接收完特定的數據位后,若奇偶校驗使能有效,則跳轉到奇偶校驗狀態;否則,進入停止位狀態,而后進入空閑狀態,重復上述過程。

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


        1.2.4 發送模塊
         發送模塊包括發送緩存寄存器和發送移位寄存器。在發送數據開始時,清空發送緩存寄存器和發送移位寄存器后,發送緩存寄存器接收發送來的數據,然后從發送緩存寄存器向發送移位寄存器發送數據。首先發送起始位到發送移位寄存器,同時啟動發送數據計數器,記錄發送數據的個數,直到發送移位寄存器接收到滿足需求的數據。若奇偶校驗使能有效,則跳轉到奇偶校驗狀態;否則,進入停止位狀態,完成1幀數據的發送。只要發送緩存寄存器不為空,則繼續傳輸下一幀數據。其狀態機的實現與接收模塊的類似。
        2 系統軟件設計
        2.1 驅動程序

         WinDriver是一套驅動程序開發包。它改變了傳統驅動程序開發的方法與思路,極大地簡化了驅動程序的編制。同時,WinDriver又沒有犧牲驅動程序的性能,是一套高效、快捷的驅動程序開發軟件包[4]。WinDriver可在VC/C++、Delphi、BC++、VB等多種開發環境中使用,本設計選用VC++作為驅動程序的開發環境,通過WinDriver生成VC++代碼,根據設計的需要修改生成的代碼以完成此設備的驅動。驅動程序流程圖如圖7所示。

        2.2 應用程序
         應用程序負責調用、連接驅動程序,實現與驅動程序的通信。連接到驅動程序后,向驅動程序注冊,同時啟動監測工作線程,等待事件發生。當驅動程序接收到中斷后,通過發送消息通知應用程序,處理發生的事件。處理后退出應用程序,結束等待事件線程。應用程序流程圖如圖8所示。
         本文介紹了一種基于的PCI卡設計方法,簡單說明了其硬件的設計和驅動程序、應用程序的編寫方法。該設計符合通用的PCI規范,支持即插即用功能,傳輸速率高,抗干擾能力強。可以廣泛應用于各類測試設備、工廠自動化等,具有很高的實用價值。
        參考文獻
        [1] 徐志春.基于PCI的多通信適配卡設計[J].微計算機信息,2007,23:294-296.
        [2] 王友波,劉明業.PCI接口控制器的設計[J].北京理工大學學報,2004,24(5): 423-426.
        [3] 楊大柱.基于的UART電路設計與仿真[J]. 微計 算機信息, 2007,23(5-2):212-213.
        [4] 劉映杰,張在峰,劉瑋,等.用WinDriver開發PCI設備驅動程序[J]. 信息技術,2004, 28 (2):78-80.


        上一頁 1 2 3 下一頁

        關鍵詞: FPGA PCI 總線 串口

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赤城县| 宣化县| 科技| 张家界市| 平泉县| 昌平区| 东阳市| 云安县| 柳江县| 寻乌县| 翼城县| 阿克陶县| 偏关县| 仲巴县| 灵宝市| 滦平县| 双桥区| 信丰县| 瑞丽市| 霍州市| 肥东县| 黄陵县| 阿拉善盟| 惠州市| 阜康市| 永清县| 建德市| 怀宁县| 民县| 剑川县| 纳雍县| 介休市| 永丰县| 阳信县| 乳山市| 孙吴县| 唐山市| 苍溪县| 夹江县| 合肥市| 新闻|