新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于LabVIEW的單片機脈沖發(fā)生器

基于LabVIEW的單片機脈沖發(fā)生器

作者: 時間:2009-02-13 來源:網絡 收藏

3 上位機系統(tǒng)的設計

本文引用地址:http://m.butianyuan.cn/article/173904.htm

語言是美國國家儀器(NI)公司開發(fā)的一種圖形化語言(G語言)的編程語言,利用該語言編寫的模塊化程序,具有良好的界面,簡單、直觀,且易于理解、調試和維護。做成的虛擬儀表可以當作許多儀器設備來使用,其功能完全由用戶編程定義。另外,內還包含豐富的數據采集、數據信號分析以及控制等子程序,特別適用于數據采集、通信處理系統(tǒng)。

提供了很多現(xiàn)成的可供調用的函數庫,從底層的GPIB,VXI,PXI,串口數據采集板的控制子程序到大量的儀器驅動程序;從基本的功能函數到高級分析庫,幾乎涵蓋了儀器設計中需要的所有函數。同時,LabVIEW還支持用于網絡通訊的TCP/IP協(xié)議、動態(tài)數據交換(DDE)和網絡化多媒體對象技術(ActiveX)等應用軟件標準。

3.1 VISA

LabVIEW提供了功能強大的VISA庫。VISA(Virtual Instrument Software Architecture,虛擬儀器軟件規(guī)范)是用于儀器編程的標準I/O函數庫及其相關規(guī)范的總稱。VISA庫駐留于計算機系統(tǒng)中,完成計算機與儀器之間的連接,用以實現(xiàn)對儀器的程序控制,其實質是用于虛擬儀器系統(tǒng)的標準的API(Application Programmer Inter-face,應用程序接口)。正因為如此,VISA可以連接不同標準的I/O設備。

VISA本身并不具備編程能力,惟他通過調用底層的驅動程序來實現(xiàn)對儀器的編程。VISA的I/O軟件庫的源程序是惟一的,其與操作系統(tǒng)及編程語言無關,只是提供了標準形式的API文件作為系統(tǒng)的輸出。

3.2 LabVIEW中利用VISA實現(xiàn)串口通信

在LabVIEW中使用串口的基本流程為:先調用VISA Configure Serial Port來完成串口參數的初始化設置,包括了串口的資源分配,波特率的設定,數據位、停止位、校驗位和流控制等。

當某一個串口初始化成功后,就可以使用該串口進行數據的收發(fā)。使用VISA Write進行數據的發(fā)送,使用VISA Read進行數據的接收。在接收數據前,有時需要VISA Bytes at Serial Port查詢當前串口接收緩沖區(qū)中的數據字節(jié)數,如果VISA Read要讀取的字節(jié)數大于緩沖區(qū)中的數據字節(jié)數,VISA Read操作將一直等待,直至緩沖區(qū)中的數據字節(jié)數達到要求或是等待時間滿足VISA Configure Serial Port所設定的Timeout。

在對數據的連續(xù)性要求不高的時候,VISA Read也支持分批讀取接收緩沖區(qū)里的數據字節(jié)或者只是讀取其中的一部分字節(jié)。

在某些特殊的情況下,可以利用VISA SET I/O Buffer Size設置串口接受/發(fā)送緩沖區(qū)的大小,使用VISAFlash I/O Buffer清空接收與發(fā)送緩沖區(qū)。

在串口使用結束后,使用VISA Close結束與VISAresource name所指定串口間的會話。

該LabVIEW程序框圖中調用了一個叫做change的子VI程序,該子VI程序的功能是將高低電平的寬度值,轉換成定時器的初始值,并且拼湊成一個4個字節(jié)的16進制數,通過VISA Write模塊送入下位機。該子VI的程序框圖如圖5所示。

    <form id="maip5"></form>


      評論


      相關推薦

      技術專區(qū)

        <th id="maip5"><button id="maip5"></button></th>