關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于fifo存儲器的聲發射信號的數據傳輸及存儲方案介紹

        基于fifo存儲器的聲發射信號的數據傳輸及存儲方案介紹

        作者: 時間:2012-04-10 來源:網絡 收藏

        3.2 cpld控制邏輯

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

          當并行數據進入板卡后,cpld首先將一部分數據存入鎖存器,而將另一部分數據直接存入。但此時必須將寫時鐘wclk進行二分頻,以便在一個ad轉換周期內完成兩次寫操作。當數據到達半滿時,cpld便向pci9054發出中斷申請,并由pci9054將該申請傳入計算機。若系統響應該中請,則在中斷響應程序內發出讀命令,以讀取字節數和地址等。

          pci9054通過lhold申請local總線控制權,而cpld則通過lholda響應,以使pci9054能得到局部總線的控制權。pci9054首先將pci地址窄間映射到本地地址空間,接著啟動本地總線的散聚dma周期。cpld收到讀(lw/r)、地址選通信號(ads)和地址(la16、la17)后便開始傳送數據。當la16位為0,la17位為1時,系統將使能后三片fifo的讀使能端(ren2),以使后三片fifo數據線上的q0~q31有效而同時也使pci9054的準備好信號(ready)有效,開始數據傳送。在最后一個數據傳送之前,blast信號有效,之后,cpld將在一個時鐘周期后使fifo的讀使能(ren1或ren2)無效,從而完成一次數據傳送過程。

          3.3 控制程序設計

          pci9054單周期讀、寫和dma讀的vhdl語言時序控制狀態機設計如圖4所示。圖中,s0為空閑狀態。當本地總線請求信號lhold被置1時轉到s1,否則留在s0。s1為總線保持狀態,此狀態下應將本地總線響應信號lholda置1。如ads信號為0且lw/r為1則轉到s3,如ads信號為1且lw/r和blast為0則轉到s4,這種狀態表明此次讀操作為單周期讀。s2為dma讀狀態,在此狀態下應將ready信號和fifo讀使能信號ren1置0。如blast為1,則表明此次dma讀取還未完成,應繼續留在s2,如blast為0,則表明此次dma讀取完成,可轉到s4。s3為單周期寫狀態,此狀態下也要置ready信號為0以表示寫數據有效,并在blast為0時轉到s4。s4為讀寫操作完成狀態,當lhold被置0時,表明pci9054不再請求本地總線,此時應轉到s0,當blast為0且lhold為1時,表明pci9054還要進行數據讀寫,故應轉到s1繼續操作。

          

          3.4 控制程序邏輯的仿真結果

          max+plus⑹強發aletra公司的fpga/CPLD系列產品的軟件工具,本設計利用此工具提供的設計環境和設計工具來對cpld控制程序進行開發和調試。其功能時序如圖5所示。

          

          cpld的設計是用vhdl編程實現的。本設計的操作代碼都已經過仿真,并在實際調試中得到應用。

          4 系統驅動程序設計

          本設計使用driv erworks的driverwizard來創建wdm框架程序。可根據設計需求添加程序代碼,從而完成pci設備的dma傳輸系統驅動程序,以執行dma操作、訪問i/o端口和器空間、處理器中斷和訪問pci。根據系統需要,驅動程序的關鍵是三個方面:硬件訪問、中斷處理和dma傳輸。

          kdmaadapter類可用于建立一個dma適配器,以標明一個dma通道的特性和提供串行化訪問服務;kdmatransfer類則用于控制dma的傳輸和啟動dma傳輸,以傳輸dma數據緩沖區物理地址和字節數,dma傳輸結束后,數據將由公用緩沖區拷貝到應用數據緩沖區;kcommon dmabuffer用于實現公用緩沖區的操作。對于dma操作,本系統還提供了一個特殊的內存,即公用緩沖區。應當說明的是,公用緩沖區是稀有的系統資源,應該避免浪費使用。

          5 結束語

          本文給出了數據緩存、傳輸模塊控制電路的設計,并采用vhdl語言和cpld很好的完成邏輯控制任務和系統驅動程序的編寫與調試。實驗結果表明,該數據傳輸模塊的硬件、軟件工作十分可靠、穩定,可實現640 mbps(80 mbyte/s)以上實時數據的與傳輸,完全能滿足聲信號采集的要求。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 通化市| 杂多县| 邹城市| 赤峰市| 黄冈市| 南靖县| 奉节县| 陆河县| 商南县| 舟山市| 集安市| 西林县| 左贡县| 临泽县| 旬阳县| 洛南县| 华池县| 洛隆县| 富源县| 云龙县| 伊通| 平远县| 兴化市| 吴堡县| 南漳县| 阿拉善盟| 高清| 郁南县| 齐齐哈尔市| 睢宁县| 屯门区| 乐安县| 栾城县| 衡阳市| 逊克县| 铅山县| 鹿邑县| 日土县| 合作市| 黔南| 达日县|