新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 怎樣在FPGA中處理開關控制信號

        怎樣在FPGA中處理開關控制信號

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


        設計過程中,首先將動作進行編碼。然后將編碼后的數據存進空間大小為8的雙口RAM中。當BF561檢測到PF9上的脈沖后,在PF中斷中讀取RAM中指定地址的數據,然后根據這個數據進行狀態解碼并按解碼后的信息對2塊MAX4312器件進行操作以視頻通道。對動作進行的編碼程序代碼如下:

        整個設計有4種開關動作,程序中分別將其編碼成數據0l、02、03、04,然后將編碼后的這4個數據存入雙口模塊中,等待BF561來讀取并進行解碼。圖6是SignalTapⅡLogic Analyzer中對脈沖開關向右撥動后存入RAM中的數據進行采樣。


        程序中RAM的讀rden_signal是由DSP發送的地址DSP_A、BANK選擇DSP_AMSl以及DSP讀信號DSP_ARE進行的。當DSP不從雙口讀取數據時,必須給DSP的數據線賦值高阻,以免影響SDRAM對DSP數據線的操作。賦值指令如下:assignDSP_D=(rden_signal=l 'b1)?DSP_D_TEMP;8 'hzz;其中DSP_D_TEMP是從雙口中讀取的數據。

        3 結論
        首先介紹了整個系統的工業背景和硬件架構,然后著重闡述了開關控制信號,以達到可靠響應每個開關動作的目的。整個設計程序是在QuartusⅡ平臺上用Verilog硬件描述語言編寫,利用QuartusⅡ中的下載工具和SignalTapⅡLogic Analyzer工具進行下載、實時采樣,并多次調試驗證。本次設計已經成功應用于布機告警系統中,每次撥動開關都能準確、可靠的切換視頻通道。雖然此系統中只有兩種開關,但是整個程序的設計思想對多種開關控制也是通用的,只需在細節上稍作改變就能識別多種開關動作。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 共和县| 枝江市| 崇礼县| 莱阳市| 周宁县| 阳东县| 靖州| 杭锦旗| 南通市| 永定县| 固镇县| 成武县| 晋宁县| 璧山县| 贵港市| 和平县| 金乡县| 乳源| 永善县| 泰安市| 广东省| 江西省| 银川市| 庆云县| 阿拉尔市| 元阳县| 阿鲁科尔沁旗| 金川县| 新竹县| 利津县| 措美县| 湖州市| 丰顺县| 白水县| 巴林左旗| 兴业县| 万盛区| 阿拉尔市| 霍州市| 五常市| 长垣县|