基于DSP和觸摸屏的串行通信系統(tǒng)研究
針對目前市場上無DSP和觸摸屏直接通信的產(chǎn)品這一缺口,介紹了基于MODBUS協(xié)議的維控觸摸屏與TMS320F2812的串口通信系統(tǒng)。通過將 DSP的SCI串口和觸摸屏的串口連接,完成DSP的軟件編程和觸摸屏的組態(tài)畫面設計。經(jīng)過實驗調試,該系統(tǒng)能夠實現(xiàn)工作人員不同權限登錄密碼設置,實時數(shù)據(jù)、故障報警的顯示,閉環(huán)PID參數(shù)的在線修改等功能,且系統(tǒng)能夠穩(wěn)定的運行。
在現(xiàn)代工業(yè)控制中,最常用的人機接口界面依然采用的是鍵盤和液晶相結合的方式,要讓觸摸屏取代以前的人機接口界面,還存在一定的問題。在實際應用中,觸摸屏一般是針對可編程控制器PLC設計的,所以DSP與觸摸屏不能直接通信,必須根據(jù)觸摸屏的通信協(xié)議開發(fā)相應的通信程序。本文研究基于MODBUS協(xié)議的觸摸屏和DSP的通信方法,其中DSP使用TI公司的TMS320F2812,觸摸屏使用維控科技的LEVI700L.
1 DSP與觸摸屏的硬件電路連接
TI公司的TMS320F2812芯片有兩組SCI模塊,SCIA和SCIB.根據(jù)不同的需要,可以將這兩個串口分別設計轉換成RS232和 RS485.本文采用RS485實現(xiàn)DSP和觸摸屏的串行通信,RS485通訊相對于RS232通訊來說有抗電氣干擾和傳輸距離遠的優(yōu)點,所以在工業(yè)控制現(xiàn)場,利用RS485串口和觸摸屏LEVI700L進行通信。如圖1所示是將SCIB口通過MAX3485芯片設計成半雙工方式的RS485接口,即數(shù)據(jù)可以在兩個方向傳輸,可是不能同時傳輸。圖中RE、DE引腳為發(fā)送和接受使能端。DSP通過將引腳PWM2(A1)口設置成通用數(shù)字I/O口來控制使能端為1或0,即接收或發(fā)送。A、B引腳通過靜電保護芯片PSM712連接到RS485的接收端RS485A和發(fā)送端RS485B.圖中D1和D3發(fā)光二極管是為了監(jiān)測DSP正在接受或者發(fā)送數(shù)據(jù)。
觸摸屏LEVI700L帶有一個DB9串口,支持RS232/RS485/RS422,其中2、3、5用于RS232通信,1、6用于RS485通信。本設計中DSP和觸摸屏的通信采用RS485,因此,只需將圖1中的RS485A和觸摸屏DB9口的1引腳連接,RS485B與6引腳連接即可。
圖1 RS485串口通信電路設計
2基于MODBUS協(xié)議的通信程序設計
2.1 MODBUS協(xié)議的主從編程方法
觸摸屏和DSP按照MODBUS協(xié)議通信,將觸摸屏作為主站,DSP作為從站,串口連接采用RS485.觸摸屏和DSP的通信是有觸摸屏發(fā)起的,DSP采用中斷方式響應觸摸屏發(fā)送來的數(shù)據(jù),非通信情況下DSP可以做其它更多的工作。當觸摸屏有數(shù)據(jù)發(fā)送給DSP時,觸發(fā)DSP接收中斷,DSP進入接收中斷服務子程序,此時,觸摸屏發(fā)送給DSP的是一個完整的數(shù)據(jù)幀,至少包含8個字節(jié)的數(shù)據(jù)長度,在完整讀取這組數(shù)據(jù)后,DSP對其進行處理。首先進行從設備站號匹配(本文中DSP站號設為07),如果匹配不成功則DSP不響應觸摸屏的查詢,DSP不回送任何信息;如果匹配成功則進行CRC校驗,若 CRC校驗出錯,則查詢失敗,不返回數(shù)據(jù)信息;若CRC校驗正確,則進行下一步的命令解析,并返回給觸摸屏對應的數(shù)據(jù)信息。
下面簡要介紹如何從DSP中讀取幾個模擬量并顯示在觸摸屏上,讀可讀寫模擬量寄存器的功能碼是03.
觸摸屏發(fā)送的命令為:[設備地址] [功能碼03] [起始寄存器地址高8位] [低8位] [讀取的寄存器數(shù)高8位] [低8位][CRC校驗的低8位] [CRC校驗的高8位]。
例如:07 03 00 03 00 02 34 6D.此命令說明要從DSP的起始地址為00 03的寄存器中讀取兩個模擬量。
此時,若設備地址匹配且CRC校驗正確,則DSP會返回數(shù)據(jù)給觸摸屏。
DSP返回的數(shù)據(jù)為:[設備地址] [功能碼03] [返回的字節(jié)個數(shù)][數(shù)據(jù)1][數(shù)據(jù)2]…[數(shù)據(jù)n][CRC校驗的低8位] [CRC校驗的高8位]。
例如響應上面的命令返回的數(shù)據(jù)為:07 03 04 00 10 0020 9C 2E.說明返回的模擬量為16和32.
2.2觸摸屏介紹及組態(tài)畫面的設計
觸摸屏LEVI700L是維控科技生產(chǎn)的7英寸真彩TFT,主板規(guī)格:RISC CPU 400MHz,128M Flash,64DDRAM.擁有一個DB9串口,支持RS232/RS485/RS422通信,另外包括一個USB Host和一個USB Slave.
觸摸屏LEVI700L配套的組態(tài)軟件為LEVI Studio,用戶界面友好,易于操作,支持離線和在線模擬。本文以觸摸屏在大功率晶閘管整流控制器中的應用為例,說明觸摸屏的畫面設計。主要有主界面、實時曲線查看整定畫面、參數(shù)調節(jié)畫面、工作模式查詢畫面,圖2給出主界面和實時曲線查詢畫面??赏ㄟ^通訊口配置設置觸摸屏和DSP以及其他控制器進行連接,同時可選擇相應的通信協(xié)議,本設計中采用Modbus協(xié)議,串口參數(shù)設置為波特率:38400Kbps,停止位:1位,數(shù)據(jù)位:8位,無校驗。另外還需要配置各個部件的地址。如圖2中反饋電壓和電流的查看是個數(shù)字輸入/顯示部件,根據(jù)MODBUS協(xié)議要對其讀取地址進行編輯,使用功能碼3對其讀數(shù)據(jù)。從上節(jié)中觸摸屏發(fā)送數(shù)據(jù)的命令格式可知,需要設置DSP的站號和寄存器的類型以及起始地址。
圖2觸摸屏畫面設計
2.3從站DSP程序設計
若要觸摸屏和DSP通信成功,在DSP的串口初始化時就需要將串口參數(shù)設置的和觸摸屏一致,即波特率:38400Kbps,停止位:1位,數(shù)據(jù)位:8 位,無校驗。一旦二者通信成功,觸摸屏會根據(jù)部件設置向DSP發(fā)送相應的數(shù)據(jù)命令,如上節(jié)圖2中的反饋電壓和電流,觸摸屏上需要顯示從DSP中讀出的數(shù)據(jù),就會發(fā)送命令:07 03 00 03 0002 34 6D.DSP接收到命令數(shù)據(jù)后的處理過程如圖3所示。
圖3數(shù)據(jù)通信流程圖
從圖3可以看出,DSP的程序設計主要包括初始化,接收和發(fā)送中斷子程序,MODBUS幀解析、處理及回應子程序,CRC碼驗證子程序。其中接收和發(fā)送中斷子程序的流程圖如圖4所示。
圖4接收和發(fā)送中斷子程序流程圖
3試驗調試
DSP和觸摸屏的通信接口調試分步驟進行,包括:觸摸屏串口測試、通信軟件的調試以及觸摸屏和DSP通信的試驗和調試。
1)觸摸屏串口測試:首先在LEVI Studio組態(tài)軟件中編寫畫面程序并且利用數(shù)據(jù)下載線將其下載到觸摸屏中,然后利用串口調試線將觸摸屏和PC機連接起來,通過串口調試工具可以查看到觸摸屏不斷向串口發(fā)送命令,同時串口調試工具也可以編寫正確的返回數(shù)據(jù)給觸摸屏。此時需要注意的是必須將觸摸屏的串口參數(shù)和串口調試工具的串口參數(shù)設置的一致才能通信成功。
2)通信軟件的調試:利用串口線將DSP電路板和PC機連接,在CCS中編寫好C語言程序后,利用仿真器和串口調試工具對主程序,數(shù)據(jù)接收和發(fā)送中斷子程序,MODBUS幀解析、處理及回應子程序,CRC碼驗證子程序進行仿真調試。
3)觸摸屏和DSP通信試驗和調試:通過上述兩個部分的調試后,按照圖1所示的硬件連接線路將DSP和觸摸屏連接起來。在此之前,需要將調試好的組態(tài)畫面程序下載到觸摸屏中,C語言程序固話到DSP的Flash中。最后,若通信成功,可從觸摸屏中看到相關數(shù)據(jù),如圖5所示a為實時曲線圖,b為PID參數(shù)調節(jié)圖,其中給定電壓、電流,PID參數(shù)可以在線修改,c為權限設置界面,不同的工作人員權限不一致,在修改某些參數(shù)時需要輸入密碼。
圖5實驗結果圖
4結束語
本文設計了基于MODBUS協(xié)議的觸摸屏和DSP串行通信的硬件電路和軟件程序,經(jīng)過試驗調試說明該系統(tǒng)通信穩(wěn)定可靠,速率可達38400Kbps,實時性強。以大功率晶閘管整流控制器的應用為例,得出了相關的實驗數(shù)據(jù),說明本文設計的系統(tǒng)滿足工業(yè)控制監(jiān)測顯示需要,同時由于觸摸屏在人機界面領域的顯著優(yōu)勢,本文提出的設計思路也可應用于其他工業(yè)控制器的人機接口通信。