新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于NI-VISA與LabVIEW的 USB接口應用設計

        基于NI-VISA與LabVIEW的 USB接口應用設計

        作者: 時間:2017-01-12 來源:網絡 收藏


        3.1 系統的工作原理
        根據USB協議,任何傳輸都是由主機(host)開始的,單片機的前臺工作就是等待。主機Pc首先要發送令牌包給USB,D12接收到令牌包就給單片機發中斷,單片機進入中斷服務程序。首先讀D12的中斷寄存器,判斷LJSB令牌包的類型,然后執行相應的操作,因此,USB單片機程序主要就是中斷服務程序的編寫。在USB單片機程序中要完成對各種令牌包的響應,主要是對端口的編程。

        3.2軟件部分的設計

        系統的固件程序從功能上分為兩部分,整個編程在Keil C環境下完成。

        (1)溫度傳感器DSl8B20的讀取程序時

        Dsl8B20單線通信功能是分時實現的。它有很嚴格的時序要求,對它的操作必須按協議進行,即初始化→發ROM操作命令→發存儲器操作命令→數據處理。

        (2)MCU和USB接口的通信程序

        本程序使用D12的端點1和端點2進行上位計算機與MCU P89C52之間的命令和數據的傳輸。端點1和端點2設置成模式0(非同步方式)。其中端點1以中斷傳輸和應答端點2以批量方式進行數據的傳輸。端點1接收上位機發送過來的讀指令,端點2返回讀成功數據。

        系統的固件程序編寫以分層結構展開。它足一種積木式結構,如圖3所示。

        ①硬件提取層:單片機的I/O口、數據總線等硬件接口進行操作。

        ②PDIUSBDl2命令接口:對D12器件進行操作的模塊子程序集

        ③中斷服務程序:當D12向單片機發出中斷請求時,讀取D12中斷傳輸來的數據,并設定事件標志"EPPFIAGS"和Setup包數據緩沖區"CONROL_XFER"傳輸給主循環程序。

        ④標準設備請求處理程序:對USB的標準設備請求進行處理。

        ⑤廠商請求處理程序:對用戶添加的廠商請求進行處理。

        ⑥主程序:出USB數據傳輸請求,處理總線事件和調用用戶自定義功能子程序

        以NI-VISA為驅動的主機LabVIEW應用程序的設計,NI-VISA采用3.2版本,LabVIEW采用7.1版本。

        整個應用程序的主要框架使用了WHILE循環來進行不斷的查詢。在程序的編寫過程中,采用了類似Windows程序中的事件驅動機制,LabVIEW提供了這樣的結構--事件結構。各個消息的產生利用了各種界面控件并由Case選擇結構給出,程序結構圖如圖4所示。

        為了便于說明USB操作次序,把圖4中事件結構展發USB驅動應用程序的捷徑。
        在圖5中,USB RAW設備通信采用端點l以中斷傳輸方式接收上位機操作命令,協議可以自己約定。端點2以批量傳輸方式給上位機發回溫度數據。其中端點數"130"是對應十六進制數"0082"的十進制數,此數表示端點2批量輸入;而端點數"1"則是對應十六進制數"0001"的十進制數,此數表示端點1中斷輸出。

        因為NI-VISA3.2版本不支持USB屬性"中斷輸出"(interrupt out),因此為了實現USB端點1的中斷輸出問題,這里把USB屬性"批量輸出"(bulk out pipe)和"VI Write"節點組合在一起,來實現端點1中斷輸出。從NI-VISA3.3起,可以直接利用"中斷輸出"(interrupt out)屬性來實現。

        結 語

        經實踐證明,采用基于NI-VISA驅動的USB接口應用系統的設計非常容易,開發難度低,對開發者的要求不高;開發出的系統穩定可靠,即使對Windows編程不熟悉的人也可以開發USB出應用系統。它提供了另一種開發USB驅動應用程序的捷徑。

        參考文獻:

        [1].80C51datasheethttp://www.dzsc.com/datasheet/80C51_103447.html.
        [2].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
        [3].DS18B20datasheethttp://www.dzsc.com/datasheet/DS18B20_819975.html.
        [4].P89C52X2datasheethttp://www.dzsc.com/datasheet/P89C52X2_538908.html.


        上一頁 1 2 下一頁

        關鍵詞: NI-VISALabVIEWUSB接

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 日土县| 论坛| 大渡口区| 建水县| 托里县| 濮阳县| 沧源| 阜南县| 石河子市| 九江县| 炎陵县| 福贡县| 隆德县| 巴里| 潞西市| 尼玛县| 云阳县| 石泉县| 合山市| 红安县| 逊克县| 玛沁县| 恩施市| 山东省| 满洲里市| 屏东县| 罗山县| 长岭县| 开阳县| 安阳市| 杂多县| 武陟县| 巩留县| 桦甸市| 大埔县| 博客| 深州市| 南平市| 东明县| 华坪县| 澜沧|