歡迎您光臨本站 登入註冊首頁

概述

1引言   自20世紀60年代以來,數字信號處理(DigitalSignalProcessing,DSP)日漸成為一項成熟技術,並在多項應用領域逐漸替代了傳統模擬信號處理……

1 引言
    自20世紀60年代以來,數字信號處理(Digital Signal Processing,DSP)日漸成為一項成熟技術,並在多項應用領域逐漸替代了傳統模擬信號處理系統。DSP技術及設備具有靈活、精確、抗干擾能力強、設備尺寸小、速度快、性能穩定和易於升級等優點。以DSP為核心的控制器在控制過程中需要將許多參數顯示給用戶,同時有的控制參數需要在線修改,因此可以選擇具有人機交互能力的人機界面觸摸屏解決上述問題。觸摸屏一般是針對可編程式控制制器(PLC)所設計的,不能與DSP直接通信,觸摸屏要與DSP通信需要開發相應的通信程序。
    本文以TI公司的TMS320F2812為核心的DSP勵磁控制器與台灣泉毅電子股份有限公司(HITECH)的PWS6600S-S觸摸屏為例,對兩者的通信程序設計以及實現進行了討論。

2 TMS320F2812的增強SCI模塊特點
    串列通信介面SCI是一個雙線的非同步串口,一般看作是UART。SCI模塊支持CPU 與採用非返回至0(non-return-to-zero)(NRZ)標準格式
的非同步外圍設備之間的數字通信。
    SCI模塊有如下特點:有SCITXD(發送輸出引腳)和SCIRXD(接收輸入)引腳兩個外部引腳;波特率通過編程可產生64K種不同的速率;通信數據的格式為:一個起始位、數據字長度可通過編程在16~8位內可選、可供選擇的偶/奇/非極性位、一個或兩個停止位;4個錯誤檢測標誌:極性、溢出、幀和中斷檢測;空閑線和地址位兩種喚醒多處理器模式;半雙工或全雙工兩種通信模式;雙緩衝和發送功能;獨立的發送器中斷使能位和接收器中斷使能位(除BRKDT)等。另外SCI有兩個增強性特點:自動波特率檢測硬體邏輯和16級發送/接收FIFO。

3 PWS6600S-S觸摸屏簡介
    PWS6600S-S觸摸屏(以下簡稱PWS)的面板採用5.7英寸(320x240)高解析度STN的液晶顯示模塊,顯示色彩為16灰階(天藍色)。它有如下特點:兩個通信埠:9腳的母接頭RS232/RS485(COM1)和25腳的母接頭RS232/RS422/RS485(COM2);處理器為32位RISC;內存達4M;RAM 為512K等。
    設計PWS人機界面時,不需要編寫專門的畫面程序,開發商給用戶提供了功能強大的ADP6編程軟體,它有如下特點:多種語言版本可供選擇,畫面可支持多種語言文字自動切換功能;支持密碼和用戶程序保護功能;提供基底畫面及子窗口畫面;提供內部宏指令、階梯圖自主開發通信及控制程序;強大的離線、在線模擬功能及SOFTPANEL等。使用者可根據自己的設計要求容易地編製出相應的畫面,利用HITECH公司提供的編程下載電纜將編輯好的應用畫面下載到PWS,需要說明的是此編程下載電纜也可作為PWS與DSP勵磁控制器的通信電纜,將此電纜的母接頭(與PC機連接一端)轉換成公接頭與DSP連接即可使用。

4 DSP與PWS觸摸屏串列通信的軟體設計及實現
    本文結合PWS觸摸屏和DSP勵磁控制器(以下簡稱DSP)各自的特點,通過自定義通信協議進行非同步串列通信。如上所述PWS觸摸屏的COM2埠對RS232/RS422/RS485通信方式自適應,由於兩者的數據傳輸距離比較小,因此本文選擇RS232。RS232有良好的穩定性,編製程序簡單、靈活、傳輸可靠等特點。它們之間的通信接線如圖1所示。SCI通信數據幀格式選擇為:1個起
始位、8個數據位、一個校驗位(無校驗)、一個停止位。為了提高通信效率,選擇波特率為115200baud/s。
 
圖1 通訊連線
4.1 DSP串口通信的軟體設計及初始化
4.1.1 DSP 串口通信的軟體設計
    TMS320F2812的SCI接受器和發送器可採用中斷和查詢兩種方式進行串列通信。SCI為接受器和發送器提供獨立的外部中斷向量。中斷方式可以節約CPU 的開銷,但是會影響DSP勵磁控制器其它的功能。查詢方式編程簡單、容易實現,但是會加重CPU 的開銷。考慮到不能影響控制器主要控制功能,本文採用查詢方式。
    TMS320F2812的串口支持16級接受和發送FIFO。當不使用FIFO時,SCI接受器和發送器採用雙級緩衝傳送數據。實踐表明:當不使用FIFO時,對於發送、接受相同通信數據(如16個字),觸摸屏接受顯示數據正常,而DSP勵磁控制器由於接受數據所用時間相對較長會影響其其它控制功能。當使用FIFO時,上述問題得到了解決。因此本文採用在DSP發送數據時,禁止FIFO,而在DSP接受數據時使能FIFO。
    DSP發送數據時,首先禁止FIFO,然後查詢SCI控制寄存器2(SCICTL2)中的發送器緩衝寄存器就緒標誌TXRDY,當TXRDY置1,表明發送數據緩衝寄存器SCITXBUF準備接收下一個字元,然後向SCITXBUF寫入數據即可完成數據的發送,寫入數據后該位自動清零,字元發送完畢后,該位置1,接著發送下一字,直到發送完畢;DSP接受數據時,首先使能FIFO,然後查詢SCI FIFO接受寄存器(SCIFFRX)中的位RXFFST(表示接受FIFO里字的個數,最多為16個字),當RXFFST不等於0時,表明接受數據緩衝寄存器SCIRXBUF接受到數據,接著讀取數據,當SCIRXBUF中的數據被讀完后,RXFFST 置0。DSP發送數據和接收數據的程序流程圖如圖2、圖3所示。SCI通信數據幀選擇8個數據位傳送數據,每幀只能傳送0~256之間的數,如果大於256就要將其分解傳送,同理接受數據則需要將其還原。這種分解、還原數據的功能以函數的形式實現。
 
圖2 發送數據流程圖
 
圖3 接收數據流程圖
4.1.2 DSP串口通信的初始化
    DSP的SCI模塊與PWS觸摸屏通信之前需要初始化SCI,SCI的初始化通過設置相關的寄存器實現,初始化程序如下:
Void InitSci(void)
{SciaRegs.SCICCR.all=0x0007;//一個停止位、無校驗、8個數據位、空閑線模式
SciaRegs.SCICTL1.all=0x03;//使能接收、發送,禁止休眠、錯誤中斷SciaRegs.SCI
CTL2.all=0x0000;//禁止發送、接收中斷
SciaRegs.SCIHBAUD = 0x00;
SciaRegs.SCILBAUD = 0x33;//波特率為115200(LSPCLK為48MHZ)
SciaRegs.SCICTL1.bit.SWRESET =1;//啟動SCI
SciaRegs.SCIFFCT.all=0x0000;//(FIFO模式)禁止自動波特率校驗,0周期延遲發送
SciaRegs.SCIFFTX.all=0xE040;//使能FIFO增強功能,禁止TX FIFO 中斷
SciaRegs.SCIFFRX.all=0x205f;//禁止RX FIFO中斷
GpioMuxRegs.GPFMUX.bit.SCIRXDA_GPIOF5=1;
GpioMuxRegs.GPFMUX.bit.SCITXDA_GPIOF4=1;
GpioMuxRegs.GPFDIR.bit.GPIOF4=1;
GpioMuxRegs.GPFDIR.bit.GPIOF5=0;
}
4.2 PWS觸摸屏通信軟體設計及初始化
4.2.1 PWS觸摸屏通信軟體設計
    本文利用HITECH提供的ADP6軟體工具設計PWS觸摸屏通信軟體,此觸摸屏是可編程的。ADP6軟體提供了一種既方便又功能強大的宏指令應用方式,利用宏指令可實現數值運算、邏輯判斷、流程式控制制、數值轉換、數據發送、接受數據、自定義通信指令操作等。
    本文PWS觸摸屏選擇定時中斷通信方式,即利用ADP6軟體提供的應用宏CLOCK,通信時以500 ms周期循環執行此宏指令內的全部指令一次。實現每500 ms分別執行一次接受和發送數據通信。PWS觸摸屏發送數據和接收數據的程序流程圖如圖4、圖5所示。
 
 
4.2.2 PWS觸摸屏通信的初始化
    PWS觸摸屏在通信之前需要進行初始化,觸摸屏通信埠的初始化需要和DSP的通信格式對應,否則無法通信。利用ADP6軟體提供的應用宏INITIAL,實現通信參數的格式宣告和參數的初值定義等。觸摸屏通信埠的初始化有兩種方法:一是利用宏指令,二是通過觸摸屏系統菜單里的通信設置。
    本應用選擇觸摸屏的COM2為通信埠,調用指令SYS(INIT_C0M,N)設置通信格式。設定軟體的應用工作參數時,選擇“編程種類”為宏,選擇“PLC”種類為NULL。需要注意的是,當使用ADP6軟體提供的宏指令初始化通信埠時,必須將觸摸屏背後的指撥開關(Dip Switches)的第5位(SW5)設置為OFF。宏指令初始化通信埠程序如下:
@500=291//利用內部存儲區定義變數即@500為變數,291(表示選擇RS232、波特率為115200、COM2、無校驗、1個停止位、8個數據位)
SYS(INIT_COM,500)//宏指令初始化通信埠

4.3 DSP與PWS觸摸屏串列通信的實現
    DSP與PWS觸摸屏串列通信的程序編製完成後,將兩者利用提供的通信電纜連接起來,即可實現雙方的通信,實現了PWS觸摸屏在線修改DSP勵磁控制器的控制參數等功能。結果表明兩者之間的通信是穩定可靠的,完全滿足開發的要求。

5 結束語
    本文闡述了DSP增強的SCI模塊串列通信功能以及觸摸屏軟體設計的主要特點,分別給出了兩者的通信程序流程圖和初始化程序,實現了以TMS320F2812為核心的DSP勵磁控制器和PwS6600S-S觸摸屏之間的通信。利用SCI的增強功能16級發送/接收FIF0,可減少CPU 的開銷,利用ADP6軟體及其方便、功能強大的宏指令,可大大提高開發效率。


[admin via 研發互助社區 ] TMS320F2812與觸摸屏的通信程序設計已經有2344次圍觀

http://cocdig.com/docs/show-post-42123.html