您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
應(yīng)用方案
>
DSP與PC機(jī)串行通信在減搖水艙試驗(yàn)臺(tái)架控制系統(tǒng)中的應(yīng)用
時(shí)間:2008-08-14 10:27:00來(lái)源:ronggang
?。˙RR為波特率選擇寄存器的十六位值)
在本系統(tǒng)的串行通信過(guò)程中,波特率設(shè)為9600bit/s,八位數(shù)據(jù)位,一個(gè)停止位,奇校驗(yàn)。為了實(shí)現(xiàn)通訊,PC機(jī)與TMS320LF2407之間必須采用相同的通信協(xié)議。
5 串行通信硬件接口電路及軟件編程
5.1 硬件接口電路
PC機(jī)串行口使用的是標(biāo)準(zhǔn)RS-232-C電平,低電平“0”在+5V~+15V之間,高電平“1”在-5V~-15V之間。而TMS320LF2407的電源為3.3V,低電平“0”在+0.4V~+0.8V之間,高電平“1”在+2.4V~+2.8V之間。為了使二者電平匹配,在DSP與PC機(jī)之間必須進(jìn)行電平邏輯轉(zhuǎn)換,本系統(tǒng)中采用的是MAXIM公司的MAX232集成芯片。具體硬件接口電路如圖所示。
[align=center]
圖2 DSP與PC機(jī)串行通信硬件接口圖[/align]
DSP中通信程序設(shè)計(jì)
DSP的SCI模塊使用中斷來(lái)接收PC機(jī)所傳送來(lái)的參數(shù),供控制算法主程序調(diào)用,DSP中串行數(shù)據(jù)接收流程圖如圖3所示。
[align=center]
圖3 DSP串行數(shù)據(jù)接收流程圖[/align]
DSP接收的數(shù)據(jù)為十六位,所以需要對(duì)高八位和低八位分別進(jìn)行接收,高八位左移八位加上低八位,就是所要的十六位數(shù)據(jù),接收的數(shù)據(jù)依次保存在首地址為4002h的連續(xù)單元中。下面為SCI模塊初始化和接收中斷兩部分的匯編語(yǔ)言源程序。
SCI初始化程序如下:
LDP #0E1h
SPLK #0003h, MCRA
; 選中SCI輸入輸出引腳
LDP #0E0h
SPLK #27h, SCICCR
; 1個(gè)停止位,八位數(shù)據(jù),奇校驗(yàn),
; 空閑線方式,禁止自測(cè)試
SPLK #0003h, SCICTL1
; 允許TX,RX和內(nèi)部SCICLK
; 禁止RXERR,SLEEP,TXWAKE
SPLK #0002h, SCICTL2
; 允許RX中斷,禁止TX中斷
SPLK #0002h, SCIHBAUD
SPLK #0008h, SCILBAUD
; 40MHz SYSCLK下,波特率為9600bps
SPLK #0023h, SCICTL1
; 放棄復(fù)位SCI
LAR AR0, #SCITXBUF
LAR AR1, #SCIRXBUF
; 載入兩個(gè)緩沖器的地址
LDP #0
SPLK #04002h, RTB
; 定義接收數(shù)據(jù)的首地址
SPLK #01h, NUM
; 設(shè)置判別高8位還是低8位的變量
SPLK #0, RTD
; 接收數(shù)據(jù)寄存器
串行數(shù)據(jù)接收中斷程序如下:
SCI_INT:
LDP #0
LACC #02h
SUB NUM
BCND high, GT
; 判斷是否為高8位數(shù)據(jù)
MAR *, AR1
LACC *, AR1
ADD RTD
SACL RTD
LACC RTB
TBLW RTD
ADD #1
SACL RTB
SPLK NUM
high:
; 讀高8位數(shù)據(jù)
MAR *, AR1
LACC *, AR1
SACL RTD
LACC RTD, 8
SACL RTD
SPLK #02h, NUM
PC機(jī)中通信程序設(shè)計(jì)
在PC機(jī)中,串口通信的程序是用Visual Basic 6.0開(kāi)發(fā)的,調(diào)用的是Microsoft 公司提供的 MSComm 控件。
MSComm 控件為應(yīng)用程序提供了通過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法,在VB、VC、Delphi等語(yǔ)言中均可使用。它提供兩種處理通信的方式:事件驅(qū)動(dòng)方式和查詢方式。在這里我們采用的是事件驅(qū)動(dòng)方式,這種方式是處理串行端口交互作用的一種非常有效的方法,其優(yōu)點(diǎn)是程序響應(yīng)及時(shí),可靠性高。在程序中可以利用該控件的OnComm事件來(lái)捕獲并處理發(fā)送和接收等通信事件;OnComm事件還可以檢查和處理通信錯(cuò)誤。MSComm 控件的主要屬性及其功能如表1所示。
表1 MSComm 控件的主要屬性及功能
圖4 上位機(jī)通信程序界面[/align]
6 結(jié)論
在減搖水艙試驗(yàn)臺(tái)架控制系統(tǒng)中,采用PC機(jī)和DSP的主從式結(jié)構(gòu)。為了提高實(shí)時(shí)控制的效果,需要進(jìn)行上位機(jī)與下位機(jī)之間的串行通信。本文設(shè)計(jì)的串行通信方法,簡(jiǎn)便可靠,并且在實(shí)際應(yīng)用中取得了良好的效果。
參考文獻(xiàn)
[1]劉和平,等. TMS320LF240XDSP 結(jié)構(gòu)、原理及應(yīng)用. 北京:北京航空航天大學(xué)出版社,2002.
[2]清源科技. TMS320LF240XDSP 應(yīng)用程序設(shè)計(jì)教程. 北京:機(jī)械工業(yè)出版社,2003.
[3]仵浩,等. Visual Basic串口通信工程開(kāi)發(fā)實(shí)例導(dǎo)航. 北京:人民郵電出版社,2003.
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-31
勇梅機(jī)械液壓閘門(mén)給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23