0引言
ARM處理器是Acorn計算機有限公司面向低預(yù)算市場設(shè)計的第一款RISC微處理器。ARM處理器具有耗電少功能強、1 6位/32位雙指令集和合作伙伴眾多等特點。本設(shè)計采用STM32F103ZET6芯片進行研究。此芯片采用ARM 32位的Cortex-M3 CPU作為內(nèi)核,芯片帶有2通道12位的D/A轉(zhuǎn)換器,12通道DMA控制器能支持外設(shè):定時器、ADC、DAC、USART等,具有112個快速IO端口。同時此芯片具有多達13個通信接口,其中包括USB2.0全速接口[1].
LabVIEW是一種程序開發(fā)環(huán)境,采用圖標代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。LabVIEW是一種圖形化的編程語言的開發(fā)環(huán)境,它廣泛地被工業(yè)界、學術(shù)界和研究實驗室所接受,視為一個標準的數(shù)據(jù)采集和儀器控制軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動有趣[2-3].
由于STM32F103ZET6芯片功能強大,IO端口眾多,為了方便在線對STM芯片IO端口,DAC、ADC功能以及PWM功能進行配置,本文利用LabVIEW8.6軟件對STM32芯片進行了調(diào)試平臺的設(shè)計。利用LabVIEW8.6軟件進行調(diào)試平臺的開發(fā)可以起到縮短開發(fā)周期,增強程序可讀性和理解度以及界面更優(yōu)美的優(yōu)點。
1調(diào)試平臺的總體構(gòu)架
利用LabVIEW8.6軟件設(shè)計的調(diào)試平臺是按照下載到STM32F103ZET6芯片的程序進行設(shè)計。STM32芯片的內(nèi)部程序已經(jīng)對USB傳輸控制、IO端口的控制、AD數(shù)據(jù)采集、DA輸出以及PWM輸出都進行了定義。STM32系統(tǒng)利用自帶的USB2.0通信接口與調(diào)試平臺進行通信[4].調(diào)試平臺主要由USB設(shè)備選擇模塊、IO端口控制模塊、AD數(shù)據(jù)采集模塊、DA輸出模塊以及PWM輸出模塊這五個部分組成,本平臺的總體結(jié)構(gòu)框圖如圖1所示。本文主要對調(diào)試平臺中USB設(shè)備選擇模塊來進行研究和實現(xiàn)。
圖1 調(diào)試平臺的總體結(jié)構(gòu)框圖
調(diào)試平臺與STM32F103ZET6之間是通過USB設(shè)備選擇模塊進行通信,STM32芯片內(nèi)部已經(jīng)通過程序?qū)π酒腢SB2.0接口進行了配置,USB設(shè)備選擇模塊通過調(diào)用VC編寫的USB通信DLL(動態(tài)鏈接庫)進行LabVIEW編程來完成調(diào)試平臺與STM32芯片之間的通信。USB設(shè)備選擇模塊在整個調(diào)試平臺中主要起到進行USB通信,監(jiān)測插入STM32設(shè)備數(shù)量,選擇插入STM32設(shè)備并且實時顯示當前STM32設(shè)備使用狀況的作用,此模塊的設(shè)計流程框圖如圖2所示。USB設(shè)備選擇模塊通過LabVIEW8.6軟件來進行設(shè)計,軟件設(shè)計程序的時候分為前面板和后面板兩部分,下面對此模塊的前后面板設(shè)計進行具體的分析。
2.1前面板的設(shè)計
前面板是用來設(shè)計程序的顯示界面的,此USB設(shè)備選擇模塊的前面板如圖3所示。LabVIEW軟件的前面板設(shè)計主要是針對VI的各種控制量和顯示量的設(shè)計,基本包括了常用的各種控件。對面板的設(shè)計就如同搭積木一樣簡單——選擇用戶需要的控制量或顯示量將它們放在適當?shù)奈恢蒙显偌由弦恍┖唵蔚膱D形及文字修飾就構(gòu)成了與實際儀器類似的面板[ 5 ].通過圖3可以看出通過調(diào)用控件面板中的列表框控件、字符串輸入與字符串顯示控件以及布爾控件,對它們的屬性進行設(shè)置,然后進行布局即構(gòu)成了USB設(shè)備選擇模塊的前面板。
左邊那個列表框控件用來顯示當前連接設(shè)備列表,當只連接一個STM32設(shè)備時,此框會出現(xiàn)設(shè)備0字樣,如果再連接一個STM32設(shè)備,此框接在下面會出現(xiàn)一個設(shè)備1字樣,隨著連接STM32設(shè)備的多少,列表框中會依次出現(xiàn)相應(yīng)的設(shè)備序列號。通過對列表框中設(shè)備序列號的選取,可以對相應(yīng)的STM32設(shè)備進行在線配置和控制。比如:當點擊設(shè)備0時,右邊設(shè)備ID中會顯示出設(shè)備0的ID號,根據(jù)STM32設(shè)備與調(diào)試平臺是否連接,設(shè)備連接狀態(tài)欄會顯示出已經(jīng)連接設(shè)備一個或者當前沒有連接設(shè)備,同時當前使用連接設(shè)備欄也會相應(yīng)的顯示設(shè)備0已打開,設(shè)備ID號×或者當前沒有使用設(shè)備。同時通過配置新I D號控件可以對連接的STM32設(shè)備的ID號進行更改,通過關(guān)閉USB控件可以隨時斷開相應(yīng)STM32設(shè)備與調(diào)試平臺之間的連接。
圖3 USB設(shè)備選擇模塊的前面板
統(tǒng)計連接STM32設(shè)備數(shù)目模塊程序需先從函數(shù)選板中選取一個while循環(huán)結(jié)構(gòu),三重條件結(jié)構(gòu)來構(gòu)成此模塊的大框架,整體程序中最主要的是如何在列表框中顯示插入的STM32設(shè)備。為了實現(xiàn)這個功能本程序做了如下設(shè)計。首先選取函數(shù)選板互連接口中的調(diào)用庫函數(shù)節(jié)點,雙擊此函數(shù)節(jié)點,在庫名或路徑中調(diào)用USB通信DLL文件,接著在函數(shù)名中選擇獲取當前連接的設(shè)備數(shù)目函數(shù),然后在參數(shù)選項中添加變量名并設(shè)定其參數(shù)類型,這樣就完成了獲取當前連接的設(shè)備數(shù)目函數(shù)的調(diào)用。此函數(shù)能檢測到插入電腦USB口的STM32設(shè)備的個數(shù),設(shè)備檢測到之后還要讓它按照插入的先后順序顯示在列表框中,在這里通過一個條件結(jié)構(gòu)來完成。首先將獲取當前連接的設(shè)備數(shù)目函數(shù)與一個等于0的比較函數(shù)進行比較,如果等于0即為真,此時執(zhí)行沒有連接設(shè)備的程序,如果不為0即為假,此時執(zhí)行在列表框中按照順序顯示設(shè)備0、設(shè)備1??設(shè)備N - 1的程序。
列表框中顯示插入STM32設(shè)備的程序框圖如圖4所示。通過對程序的設(shè)計和優(yōu)化可以得到統(tǒng)計連接STM32設(shè)備數(shù)目模塊程序的程序框圖如圖5所示。
對選定的STM32設(shè)備進行操作程序通過調(diào)用USB通信DLL文件中打開設(shè)備函數(shù)、關(guān)閉設(shè)備函數(shù)、配置地址函數(shù)以及獲取設(shè)備的序列號函數(shù)來進行設(shè)計。此程序運用了事件結(jié)構(gòu),通過設(shè)置顯示設(shè)備列表信息、配置新ID號、打開USB以及關(guān)閉USB事件以達到整體功能實現(xiàn)的效果,此程序的設(shè)計框圖如圖6所示。
3結(jié)束語
綜上所述應(yīng)用LabVIEW軟件設(shè)計虛擬儀器設(shè)備具有低成本、高效率和高靈活性的特點可以很好的實現(xiàn)遠程控制和信息資源的共享?;贚abVIEW8.6設(shè)計出來的調(diào)試平臺,其框圖程序的可讀性較強,界面友好,操作較方便。測試結(jié)果表明,該設(shè)計方案響應(yīng)速度快,此調(diào)試平臺和STM32為主控件的設(shè)備已經(jīng)應(yīng)用于工業(yè)控制當中,運行良好。
評論