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







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