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

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

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

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

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


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