0引言
ARM處理器是Acorn計算機有限公司面向低預算市場設計的第一款RISC微處理器。ARM處理器具有耗電少功能強、1 6位/32位雙指令集和合作伙伴眾多等特點。本設計采用STM32F103ZET6芯片進行研究。此芯片采用ARM 32位的Cortex-M3 CPU作為內核,芯片帶有2通道12位的D/A轉換器,12通道DMA控制器能支持外設:定時器、ADC、DAC、USART等,具有112個快速IO端口。同時此芯片具有多達13個通信接口,其中包括USB2.0全速接口[1].
LabVIEW是一種程序開發環境,采用圖標代替文本行創建應用程序的圖形化編程語言。LabVIEW是一種圖形化的編程語言的開發環境,它廣泛地被工業界、學術界和研究實驗室所接受,視為一個標準的數據采集和儀器控制軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動有趣[2-3].
由于STM32F103ZET6芯片功能強大,IO端口眾多,為了方便在線對STM芯片IO端口,DAC、ADC功能以及PWM功能進行配置,本文利用LabVIEW8.6軟件對STM32芯片進行了調試平臺的設計。利用LabVIEW8.6軟件進行調試平臺的開發可以起到縮短開發周期,增強程序可讀性和理解度以及界面更優美的優點。
1調試平臺的總體構架
利用LabVIEW8.6軟件設計的調試平臺是按照下載到STM32F103ZET6芯片的程序進行設計。STM32芯片的內部程序已經對USB傳輸控制、IO端口的控制、AD數據采集、DA輸出以及PWM輸出都進行了定義。STM32系統利用自帶的USB2.0通信接口與調試平臺進行通信[4].調試平臺主要由USB設備選擇模塊、IO端口控制模塊、AD數據采集模塊、DA輸出模塊以及PWM輸出模塊這五個部分組成,本平臺的總體結構框圖如圖1所示。本文主要對調試平臺中USB設備選擇模塊來進行研究和實現。

圖1 調試平臺的總體結構框圖

調試平臺與STM32F103ZET6之間是通過USB設備選擇模塊進行通信,STM32芯片內部已經通過程序對芯片的USB2.0接口進行了配置,USB設備選擇模塊通過調用VC編寫的USB通信DLL(動態鏈接庫)進行LabVIEW編程來完成調試平臺與STM32芯片之間的通信。USB設備選擇模塊在整個調試平臺中主要起到進行USB通信,監測插入STM32設備數量,選擇插入STM32設備并且實時顯示當前STM32設備使用狀況的作用,此模塊的設計流程框圖如圖2所示。USB設備選擇模塊通過LabVIEW8.6軟件來進行設計,軟件設計程序的時候分為前面板和后面板兩部分,下面對此模塊的前后面板設計進行具體的分析。
2.1前面板的設計
前面板是用來設計程序的顯示界面的,此USB設備選擇模塊的前面板如圖3所示。LabVIEW軟件的前面板設計主要是針對VI的各種控制量和顯示量的設計,基本包括了常用的各種控件。對面板的設計就如同搭積木一樣簡單——選擇用戶需要的控制量或顯示量將它們放在適當的位置上再加上一些簡單的圖形及文字修飾就構成了與實際儀器類似的面板[ 5 ].通過圖3可以看出通過調用控件面板中的列表框控件、字符串輸入與字符串顯示控件以及布爾控件,對它們的屬性進行設置,然后進行布局即構成了USB設備選擇模塊的前面板。
左邊那個列表框控件用來顯示當前連接設備列表,當只連接一個STM32設備時,此框會出現設備0字樣,如果再連接一個STM32設備,此框接在下面會出現一個設備1字樣,隨著連接STM32設備的多少,列表框中會依次出現相應的設備序列號。通過對列表框中設備序列號的選取,可以對相應的STM32設備進行在線配置和控制。比如:當點擊設備0時,右邊設備ID中會顯示出設備0的ID號,根據STM32設備與調試平臺是否連接,設備連接狀態欄會顯示出已經連接設備一個或者當前沒有連接設備,同時當前使用連接設備欄也會相應的顯示設備0已打開,設備ID號×或者當前沒有使用設備。同時通過配置新I D號控件可以對連接的STM32設備的ID號進行更改,通過關閉USB控件可以隨時斷開相應STM32設備與調試平臺之間的連接。

圖3 USB設備選擇模塊的前面板

統計連接STM32設備數目模塊程序需先從函數選板中選取一個while循環結構,三重條件結構來構成此模塊的大框架,整體程序中最主要的是如何在列表框中顯示插入的STM32設備。為了實現這個功能本程序做了如下設計。首先選取函數選板互連接口中的調用庫函數節點,雙擊此函數節點,在庫名或路徑中調用USB通信DLL文件,接著在函數名中選擇獲取當前連接的設備數目函數,然后在參數選項中添加變量名并設定其參數類型,這樣就完成了獲取當前連接的設備數目函數的調用。此函數能檢測到插入電腦USB口的STM32設備的個數,設備檢測到之后還要讓它按照插入的先后順序顯示在列表框中,在這里通過一個條件結構來完成。首先將獲取當前連接的設備數目函數與一個等于0的比較函數進行比較,如果等于0即為真,此時執行沒有連接設備的程序,如果不為0即為假,此時執行在列表框中按照順序顯示設備0、設備1??設備N - 1的程序。
列表框中顯示插入STM32設備的程序框圖如圖4所示。通過對程序的設計和優化可以得到統計連接STM32設備數目模塊程序的程序框圖如圖5所示。


對選定的STM32設備進行操作程序通過調用USB通信DLL文件中打開設備函數、關閉設備函數、配置地址函數以及獲取設備的序列號函數來進行設計。此程序運用了事件結構,通過設置顯示設備列表信息、配置新ID號、打開USB以及關閉USB事件以達到整體功能實現的效果,此程序的設計框圖如圖6所示。
3結束語
綜上所述應用LabVIEW軟件設計虛擬儀器設備具有低成本、高效率和高靈活性的特點可以很好的實現遠程控制和信息資源的共享。基于LabVIEW8.6設計出來的調試平臺,其框圖程序的可讀性較強,界面友好,操作較方便。測試結果表明,該設計方案響應速度快,此調試平臺和STM32為主控件的設備已經應用于工業控制當中,運行良好。
評論