摘要介紹了基于mvIEw實現(xiàn)紡織檢測系統(tǒng)串口通信的一種方法,包括通信協(xié)議、硬件電路及軟件設(shè)計等方面。該通信系統(tǒng)上位機的Pc機程序采用LabvlEw編寫其圖形化編程功能,使用靈活方便;下位機選用Micmchip生產(chǎn)的PIc系列單片機,并采用匯編語言編程。上、下位機的通信采用傳統(tǒng)的Rs一232通信協(xié)議,開發(fā)周期短,成本低。將該通信系統(tǒng)應(yīng)用于煮繭機溫度測量系統(tǒng),成功實現(xiàn)了上、下位機的數(shù)據(jù)傳遞,菜單式操作,簡潔明了。該通信系統(tǒng)在便攜式紡織檢測系統(tǒng)中有廣闊的應(yīng)用前景。
現(xiàn)代電子技術(shù)、計算機技術(shù)和新型傳感器技術(shù)的不斷更新使紡織檢測技術(shù)得到迅速發(fā)展¨。。人們通過由傳感器和單片機組成的檢測系統(tǒng)會得到大量的數(shù)據(jù)信息。由于單片機的局限性,需要將數(shù)據(jù)有效準確地傳遞到計算機上,利用計算機強大的軟件資源對數(shù)據(jù)進行分析、處理,從而指導(dǎo)紡織生產(chǎn)。hbvIEw是實驗室虛擬儀器集成環(huán)境(1abomtoryvinual instnlment en如neering workbench)的簡稱,是美國NI公司推出的虛擬儀器軟件開發(fā)平臺,其基于圖形化編程語言的開發(fā)環(huán)境,集合了GPIB、VxI、Rs.232和Rs一485以及數(shù)據(jù)采集卡等硬件通信的全部功能怛o。PIC是美國Micmchip公司生產(chǎn)的一種cMOs工藝單片機∞1,其功耗極低,是一種非常適合在各種便攜式設(shè)備中使用的高性價比的單片機,得到了越來越廣泛的應(yīng)用。本文將介紹在IJabvIEw平臺上開發(fā)Pc機和PIc單片機的串口通信軟件,實現(xiàn)紡織檢測系統(tǒng)的數(shù)據(jù)傳遞。
1紡織檢測系統(tǒng)組成
紡織檢測系統(tǒng)一般由單片機、數(shù)據(jù)檢測部分(傳感器)、人機交換部分(鍵盤、顯示等)、數(shù)據(jù)存儲部分(E2PROM)、數(shù)據(jù)傳遞部分(接口電路)和PC機組成,如圖1所示。單片機是下位機,負責(zé)協(xié)調(diào)系統(tǒng)各部分的工作、實現(xiàn)現(xiàn)場高速數(shù)據(jù)的采集,并將數(shù)據(jù)通過串口通信傳給Pc機,同時從PC機接受指令。Pc機是上位機,主要是利用良好的用戶圖形界面,顯示、分析從單片機傳來的數(shù)據(jù)信息,以下著重介紹Pc機與PIc單片機的數(shù)據(jù)傳遞。
2通信協(xié)議與硬件電路
Pc機與PIC單片機之間采用Rs.232的異步串行通信方式,Rs.232協(xié)議可以說是一種最為簡單的通訊標準,若不使用硬件流量控制,只需利用3根線就可實現(xiàn)全雙工的傳輸作業(yè)。
由于Rs.232采用的是負邏輯,即邏輯“1”為一5~一15 V,邏輯“O”為+5~+15 V,而CM0s電平的邏輯“1”為4.99 v,邏輯“O”為0.01 v;因此,在用Rs.232進行串口通信時需外接電路實現(xiàn)電平轉(zhuǎn)換。在發(fā)送端用驅(qū)動器將cMOs電平轉(zhuǎn)換為RS一232電平,在接收端用接收器將RS一232電平再轉(zhuǎn)換為CMOS電平H。。本系統(tǒng)選用了Maxim公司的通用串口接收/發(fā)送驅(qū)動器芯片——MAx232A來實現(xiàn)電平轉(zhuǎn)換,其外圍電路簡單。PIc單片機與Pc機的連接電路如圖2所示。
3 LabVIEW的串口通信編程
3.1 LabV皿W通信流程圖
針對Pc機的Rs一232口,【abVIEw提供了1個子模板,共包括6個vISA節(jié)點,分別實現(xiàn)初始化串,口(VIsA configure serial port)、串口寫(VIsA write)、串口讀(VIsA read)、檢測串口緩存(VIsA bytes at serialport)、中斷(VIsA serial break)以及關(guān)閉串口(VIsAclose)等功能,這些節(jié)點位于Functions模板一址1Functions子模板一hstmment I,O子模板一Serial子模板中‘51。用戶通過對這幾個節(jié)點的配置和連接可以很方便地開發(fā)出符合要求的LabVIEw串口通信軟件。
IbVIEw串口通信的程序流程圖如圖3所示。通信過程通過Pc機發(fā)送傳送命令來啟動,之后Pc機檢測緩存區(qū)是否有數(shù)據(jù),有數(shù)據(jù)則讀取數(shù)據(jù)并處理,沒有數(shù)據(jù)則延遲一段時間后再檢測。在這個過程中要保證Pc機程序與PIc單片機程序在時間上密切配合,如果延時過短,PIc單片機數(shù)據(jù)來不及傳給Pc機,造成Pc機讀不到數(shù)據(jù);如果延時過長.Pc機還未取走緩存區(qū)舊的數(shù)據(jù),新的數(shù)據(jù)又傳進來,導(dǎo)致緩存區(qū)數(shù)據(jù)被覆蓋。
3.2 LabVIEW通信的實現(xiàn)
IbvIEw串口通信的框圖程序如圖4所示,框圖的上半部分實現(xiàn)打開串口、對串口進行初始化設(shè)置以及清空接收緩存區(qū)等功能。程序采用的通信格式為19 200的波特率、8位數(shù)據(jù)位、1位停止位、無奇偶校驗位;下半部分則通過順序結(jié)構(gòu)完成Pc機與PIc單片機的握手以及數(shù)據(jù)的傳遞:首先由Pc機發(fā)出要求PIc單片機發(fā)送數(shù)據(jù)的命令(發(fā)送數(shù)據(jù)命令為一個回車符),PIc單片機接收到命令之后,檢查是否是發(fā)送數(shù)據(jù)的命令,如果是,則將相關(guān)數(shù)據(jù)傳給PC機,否則不予響應(yīng)。
值得注意的是,在通信過程中,數(shù)據(jù)格式是以字符串的格式組成的,字符串中的每個字符實際上對應(yīng)AscII字符,即計算機能夠識別的數(shù)據(jù)代碼是AscH代碼,所以在傳送到串口發(fā)送數(shù)據(jù)之前要經(jīng)過代碼轉(zhuǎn)換,這就意味著以二進制、十進制、十六進制表示的數(shù)據(jù)必須轉(zhuǎn)化為AscII字符串才能進行傳送和接收,而實際采集的數(shù)據(jù)一般都帶有小數(shù)位,遠遠超過了AscII碼所能表示的范圍,通常將數(shù)據(jù)進行適當分割后再進行傳輸№-。
[1][2][3]下一頁>>
相關(guān)信息 







推薦企業(yè)
推薦企業(yè)
推薦企業(yè)