小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

DSP串行通信功能及與觸摸屏軟件設(shè)計

 昵稱6004610 2011-03-06
 
1 引言
    自20世紀(jì)60年代以來,數(shù)字信號處理(Digital Signal Processing,DSP)日漸成為一項成熟技術(shù),并在多項應(yīng)用領(lǐng)域逐漸替代了傳統(tǒng)模擬信號處理系統(tǒng)。DSP技術(shù)及設(shè)備具有靈活、精確、抗干擾能力強(qiáng)、設(shè)備尺寸小、速度快、性能穩(wěn)定和易于升級等優(yōu)點。以DSP為核心的控制器在控制過程中需要將許多參數(shù)顯示給用戶,同時有的控制參數(shù)需要在線修改,因此可以選擇具有人機(jī)交互能力的人機(jī)界面觸摸屏解決上述問題。觸摸屏一般是針對可編程控制器(PLC)所設(shè)計的,不能與DSP直接通信,觸摸屏要與DSP通信需要開發(fā)相應(yīng)的通信程序。
    本文以TI公司的TMS320F2812為核心的DSP勵磁控制器與臺灣泉毅電子股份有限公司(HITECH)的PWS6600S-S觸摸屏為例,對兩者的通信程序設(shè)計以及實現(xiàn)進(jìn)行了討論。
2 TMS320F2812的增強(qiáng)SCI模塊特點
    串行通信接口SCI是一個雙線的異步串口,一般看作是UART。SCI模塊支持CPU 與采用非返回至0(non-return-to-zero)(NRZ)標(biāo)準(zhǔn)格式
的異步外圍設(shè)備之間的數(shù)字通信。
    SCI模塊有如下特點:有SCITXD(發(fā)送輸出引腳)和SCIRXD(接收輸入)引腳兩個外部引腳;波特率通過編程可產(chǎn)生64K種不同的速率;通信數(shù)據(jù)的格式為:一個起始位、數(shù)據(jù)字長度可通過編程在16~8位內(nèi)可選、可供選擇的偶/奇/非極性位、一個或兩個停止位;4個錯誤檢測標(biāo)志:極性、溢出、幀和中斷檢測;空閑線和地址位兩種喚醒多處理器模式;半雙工或全雙工兩種通信模式;雙緩沖和發(fā)送功能;獨立的發(fā)送器中斷使能位和接收器中斷使能位(除BRKDT)等。另外SCI有兩個增強(qiáng)性特點:自動波特率檢測硬件邏輯和16級發(fā)送/接收FIFO。
3 PWS6600S-S觸摸屏簡介
    PWS6600S-S觸摸屏(以下簡稱PWS)的面板采用5.7英寸(320x240)高分辨率STN的液晶顯示模塊,顯示色彩為16灰階(天藍(lán)色)。它有如下特點:兩個通信端口:9腳的母接頭RS232/RS485(COM1)和25腳的母接頭RS232/RS422/RS485(COM2);處理器為32位RISC;內(nèi)存達(dá)4M;RAM 為512K等。
    設(shè)計PWS人機(jī)界面時,不需要編寫專門的畫面程序,開發(fā)商給用戶提供了功能強(qiáng)大的ADP6編程軟件,它有如下特點:多種語言版本可供選擇,畫面可支持多種語言文字自動切換功能;支持密碼和用戶程序保護(hù)功能;提供基底畫面及子窗口畫面;提供內(nèi)部宏指令、階梯圖自主開發(fā)通信及控制程序;強(qiáng)大的離線、在線模擬功能及SOFTPANEL等。使用者可根據(jù)自己的設(shè)計要求容易地編制出相應(yīng)的畫面,利用HITECH公司提供的編程下載電纜將編輯好的應(yīng)用畫面下載到PWS,需要說明的是此編程下載電纜也可作為PWS與DSP勵磁控制器的通信電纜,將此電纜的母接頭(與PC機(jī)連接一端)轉(zhuǎn)換成公接頭與DSP連接即可使用。
4 DSP與PWS觸摸屏串行通信的軟件設(shè)計及實現(xiàn)
    本文結(jié)合PWS觸摸屏和DSP勵磁控制器(以下簡稱DSP)各自的特點,通過自定義通信協(xié)議進(jìn)行異步串行通信。如上所述PWS觸摸屏的COM2端口對RS232/RS422/RS485通信方式自適應(yīng),由于兩者的數(shù)據(jù)傳輸距離比較小,因此本文選擇RS232。RS232有良好的穩(wěn)定性,編制程序簡單、靈活、傳輸可靠等特點。它們之間的通信接線如圖1所示。SCI通信數(shù)據(jù)幀格式選擇為:1個起
始位、8個數(shù)據(jù)位、一個校驗位(無校驗)、一個停止位。為了提高通信效率,選擇波特率為115200baud/s。
 
圖1 通訊連線
4.1 DSP串口通信的軟件設(shè)計及初始化
4.1.1 DSP 串口通信的軟件設(shè)計
    TMS320F2812的SCI接受器和發(fā)送器可采用中斷和查詢兩種方式進(jìn)行串行通信。SCI為接受器和發(fā)送器提供獨立的外部中斷向量。中斷方式可以節(jié)約CPU 的開銷,但是會影響DSP勵磁控制器其它的功能。查詢方式編程簡單、容易實現(xiàn),但是會加重CPU 的開銷??紤]到不能影響控制器主要控制功能,本文采用查詢方式。
    TMS320F2812的串口支持16級接受和發(fā)送FIFO。當(dāng)不使用FIFO時,SCI接受器和發(fā)送器采用雙級緩沖傳送數(shù)據(jù)。實踐表明:當(dāng)不使用FIFO時,對于發(fā)送、接受相同通信數(shù)據(jù)(如16個字),觸摸屏接受顯示數(shù)據(jù)正常,而DSP勵磁控制器由于接受數(shù)據(jù)所用時間相對較長會影響其其它控制功能。當(dāng)使用FIFO時,上述問題得到了解決。因此本文采用在DSP發(fā)送數(shù)據(jù)時,禁止FIFO,而在DSP接受數(shù)據(jù)時使能FIFO。
    DSP發(fā)送數(shù)據(jù)時,首先禁止FIFO,然后查詢SCI控制寄存器2(SCICTL2)中的發(fā)送器緩沖寄存器就緒標(biāo)志TXRDY,當(dāng)TXRDY置1,表明發(fā)送數(shù)據(jù)緩沖寄存器SCITXBUF準(zhǔn)備接收下一個字符,然后向SCITXBUF寫入數(shù)據(jù)即可完成數(shù)據(jù)的發(fā)送,寫入數(shù)據(jù)后該位自動清零,字符發(fā)送完畢后,該位置1,接著發(fā)送下一字,直到發(fā)送完畢;DSP接受數(shù)據(jù)時,首先使能FIFO,然后查詢SCI FIFO接受寄存器(SCIFFRX)中的位RXFFST(表示接受FIFO里字的個數(shù),最多為16個字),當(dāng)RXFFST不等于0時,表明接受數(shù)據(jù)緩沖寄存器SCIRXBUF接受到數(shù)據(jù),接著讀取數(shù)據(jù),當(dāng)SCIRXBUF中的數(shù)據(jù)被讀完后,RXFFST 置0。DSP發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的程序流程圖如圖2、圖3所示。SCI通信數(shù)據(jù)幀選擇8個數(shù)據(jù)位傳送數(shù)據(jù),每幀只能傳送0~256之間的數(shù),如果大于256就要將其分解傳送,同理接受數(shù)據(jù)則需要將其還原。這種分解、還原數(shù)據(jù)的功能以函數(shù)的形式實現(xiàn)。
 
圖2 發(fā)送數(shù)據(jù)流程圖
 
圖3 接收數(shù)據(jù)流程圖
4.1.2 DSP串口通信的初始化
    DSP的SCI模塊與PWS觸摸屏通信之前需要初始化SCI,SCI的初始化通過設(shè)置相關(guān)的寄存器實現(xiàn),初始化程序如下:
Void InitSci(void)
{SciaRegs.SCICCR.all=0x0007;//一個停止位、無校驗、8個數(shù)據(jù)位、空閑線模式
SciaRegs.SCICTL1.all=0x03;//使能接收、發(fā)送,禁止休眠、錯誤中斷SciaRegs.SCI
CTL2.all=0x0000;//禁止發(fā)送、接收中斷
SciaRegs.SCIHBAUD = 0x00;
SciaRegs.SCILBAUD = 0x33;//波特率為115200(LSPCLK為48MHZ)
SciaRegs.SCICTL1.bit.SWRESET =1;//啟動SCI
SciaRegs.SCIFFCT.all=0x0000;//(FIFO模式)禁止自動波特率校驗,0周期延遲發(fā)送
SciaRegs.SCIFFTX.all=0xE040;//使能FIFO增強(qiáng)功能,禁止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觸摸屏通信軟件設(shè)計及初始化
4.2.1 PWS觸摸屏通信軟件設(shè)計
    本文利用HITECH提供的ADP6軟件工具設(shè)計PWS觸摸屏通信軟件,此觸摸屏是可編程的。ADP6軟件提供了一種既方便又功能強(qiáng)大的宏指令應(yīng)用方式,利用宏指令可實現(xiàn)數(shù)值運算、邏輯判斷、流程控制、數(shù)值轉(zhuǎn)換、數(shù)據(jù)發(fā)送、接受數(shù)據(jù)、自定義通信指令操作等。
    本文PWS觸摸屏選擇定時中斷通信方式,即利用ADP6軟件提供的應(yīng)用宏CLOCK,通信時以500 ms周期循環(huán)執(zhí)行此宏指令內(nèi)的全部指令一次。實現(xiàn)每500 ms分別執(zhí)行一次接受和發(fā)送數(shù)據(jù)通信。PWS觸摸屏發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的程序流程圖如圖4、圖5所示。
 
 
4.2.2 PWS觸摸屏通信的初始化
    PWS觸摸屏在通信之前需要進(jìn)行初始化,觸摸屏通信端口的初始化需要和DSP的通信格式對應(yīng),否則無法通信。利用ADP6軟件提供的應(yīng)用宏INITIAL,實現(xiàn)通信參數(shù)的格式宣告和參數(shù)的初值定義等。觸摸屏通信端口的初始化有兩種方法:一是利用宏指令,二是通過觸摸屏系統(tǒng)菜單里的通信設(shè)置。
    本應(yīng)用選擇觸摸屏的COM2為通信端口,調(diào)用指令SYS(INIT_C0M,N)設(shè)置通信格式。設(shè)定軟件的應(yīng)用工作參數(shù)時,選擇“編程種類”為宏,選擇“PLC”種類為NULL。需要注意的是,當(dāng)使用ADP6軟件提供的宏指令初始化通信端口時,必須將觸摸屏背后的指撥開關(guān)(Dip Switches)的第5位(SW5)設(shè)置為OFF。宏指令初始化通信端口程序如下:
@500=291//利用內(nèi)部存儲區(qū)定義變量即@500為變量,291(表示選擇RS232、波特率為115200、COM2、無校驗、1個停止位、8個數(shù)據(jù)位)
SYS(INIT_COM,500)//宏指令初始化通信端口
4.3 DSP與PWS觸摸屏串行通信的實現(xiàn)
    DSP與PWS觸摸屏串行通信的程序編制完成后,將兩者利用提供的通信電纜連接起來,即可實現(xiàn)雙方的通信,實現(xiàn)了PWS觸摸屏在線修改DSP勵磁控制器的控制參數(shù)等功能。結(jié)果表明兩者之間的通信是穩(wěn)定可靠的,完全滿足開發(fā)的要求。
5 結(jié)束語
    本文闡述了DSP增強(qiáng)的SCI模塊串行通信功能以及觸摸屏軟件設(shè)計的主要特點,分別給出了兩者的通信程序流程圖和初始化程序,實現(xiàn)了以TMS320F2812為核心的DSP勵磁控制器和PwS6600S-S觸摸屏之間的通信。利用SCI的增強(qiáng)功能16級發(fā)送/接收FIF0,可減少CPU 的開銷,利用ADP6軟件及其方便、功能強(qiáng)大的宏指令,可大大提高開發(fā)效率。
 
本文來自: DZ3W.COM 原文網(wǎng)址:http://www./mcu/dsp/0073174.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多