新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 存儲測試系統USB接口的設計與實現

        存儲測試系統USB接口的設計與實現

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


        從SRAM讀取存儲數據時,單片機首先置片選信號CE和讀控制信號OE為低電平,測試系統的時序控制電路在OE信號的作用下推動SRAM的地址,SRAM則將對應地址的數據放在總線上。單片機讀取數據總線后,判斷FT245R的寫允許信號TXE是否為低電平,若為低電平則進入向FT245R發送數據子程序,若為高電平說明FT245R忙,不能寫數據,單片機繼續判斷TXE信號,直到變低為止。發送數據時,單片機首先置FT245R的寫控制信號WR為高電平,然后將讀取的PORTD端口的數據發送至PORTB端口,接著將WR變回低電平。之后,繼續判斷TXE的狀態,變低后發送從PORTC端口讀取的數據,完成12 b數據自測試系統讀取并經FT245R發送的過程,流程如圖4所示。在編程時,根據測試系統SRAM的存儲容量,重復上述操作即可實現測試數據經發送至計算機。


        3.2 計算機編程

        計算機端程序采用VB 6.0編寫,通過調用FTDI提供的動態鏈接庫,進行讀、寫函數等的調用與操作。在VB程序中,首先需要在模塊里聲明動態鏈接庫“FTD2XX.DLL”。然后,在主程序里需要先對FT245R進行初始化,包括打開設備、復位設備、清理緩沖區、設定等待時間等步驟,初始化流程如圖5所示。其他工作參數如波特率、奇偶校驗、溢出控制等使用默認設置即可。

        對FT245R初始化完成后,就可以進行數據發送和接收。發送數據時,將數據賦值到發送數組,調用發送函數FT_Write,然后判斷函數返回值是否等于1。若為1說明數據發送成功,否則需要重新發送。接收數據時,首先需要設定接收超時時間。然后調用FT_Getstatus函數讀取接收緩沖區的狀態,判斷接收隊列中是否有數以及是否滿足設定的讀取字節數閾值。若滿足瀆取條件,則調用讀數函數FT_Read,讀取當前緩沖區的數據并存入數組,否則就一直等待,直到滿足讀取條件或產生接收超時。若產生超時,程序自動跳出接收程序,避免陷入死循環。接收流程如圖6所示。


        4 結論


        設計的數據傳輸率達到1 MB/s,滿足數據讀取速率的要求。
        該接口符合USB 2.0協議,在計算機上安裝驅動即可,使用簡單方便。
        該接口具有體積小、運行可靠等特點,非常適合嵌入到中,也可將接口與外部數據線做成一體,進一步減小測試系統體積。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天水市| 武宁县| 策勒县| 卓尼县| 南和县| 黄浦区| 色达县| 伽师县| 池州市| 拜泉县| 邢台县| 渭源县| 定安县| 建始县| 黎城县| 武山县| 虞城县| 永春县| 施秉县| 梁山县| 广灵县| 安陆市| 曲水县| 石家庄市| 温宿县| 三明市| 信阳市| 财经| 清水河县| 永胜县| 五台县| 当涂县| 平果县| 百色市| 福泉市| 江门市| 南阳市| 顺昌县| 阿拉善左旗| 上林县| 南平市|