1 引言
TMS320F240系列是美國(guó)TI公司于1997年推出的,,專為數(shù)字電機(jī)控制和其它控制應(yīng)用系統(tǒng)而設(shè)計(jì)的16位定點(diǎn)數(shù)字信號(hào)處理器,。它將數(shù)字信號(hào)處理的高速運(yùn)算功能與面向電機(jī)的強(qiáng)大控制能力結(jié)合在一起,從而成為傳統(tǒng)的多微處理器單元和多片設(shè) 計(jì)系統(tǒng)的理想替代品,。F240片內(nèi)外設(shè)包括雙10位A/D轉(zhuǎn)換器,,帶有鎖相環(huán)PLL時(shí)鐘模塊,帶中斷的看門狗定時(shí)器模塊,,串行通信" title="串行通信">串行通信接口SCI及串行外設(shè)接 口SPI,,另外,還集成了一個(gè)事件管理模塊EVM,。因此,,TMS320F240不僅具有高速數(shù)據(jù)處理能力,還具有控制和事件管理能力,,可完成人機(jī)界面,、與 上位機(jī)進(jìn)行串行通信等功能。
2 TMS320F240串行通信接口" title="通信接口">通信接口簡(jiǎn)介
TMS320F240串行通信接口(SCI)是一個(gè)標(biāo)準(zhǔn)的通用異步接收/發(fā)送(UART) 通信接口,。它的接收器和發(fā)送器" title="發(fā)送器">發(fā)送器都是雙級(jí)緩沖的,,有自己的使能和中斷位,可以半雙工" title="半雙工">半雙工或全雙工工作,。為保證數(shù)據(jù)的完整性,,串行通信接口對(duì)接收的數(shù)據(jù)進(jìn)行間斷檢 測(cè)、奇偶性,、超時(shí)和幀錯(cuò)誤的檢查,。串行通信接口的波特率可高達(dá)64kbps。TMS320F240的SCI串行通信接口包括SCIRXD/IO(串行通信 數(shù)據(jù)接收,,也可作普通IO)和SCITXD(串行通信數(shù)據(jù)發(fā)送,,也可作普通IO)兩個(gè)引腳,與之相關(guān)的寄存器包括控制類寄存器和數(shù)據(jù)類寄存器,。其中,,控制 類寄存器有7個(gè),分別用來(lái)設(shè)置數(shù)據(jù)格式協(xié)議和通信模式(SCICCR),、中斷使能和內(nèi)部時(shí)鐘使能(SCICTL1和SCICTL2),、中斷優(yōu)先級(jí) (SCIPRI)、波特率(SCIHBAND和SCILBAND),、引腳控制功能(SCIPC2)以及反映通信狀態(tài)(SCIXST)等,;數(shù)據(jù)類寄存器有3 個(gè),,分別是數(shù)據(jù)發(fā)送緩沖寄存器SCITXBUF、數(shù)據(jù)接受緩沖寄存器SCIRXBUF和仿真數(shù)據(jù)接收緩沖寄存器SCIRXEMU,。
TMS320F240的串行通信接口(SCI)模塊提供了兩種工作方式:
1)空閑線方式,。通過(guò)空閑狀態(tài)的長(zhǎng)短區(qū)分信息幀,信息幀里前面的信息塊是地址信息,,后面是數(shù)據(jù)信息,。
2)地址位方式。數(shù)據(jù)格式上增加1個(gè)地址/數(shù)據(jù)位,,該位為1表示信息塊為地址信息,,否則為數(shù)據(jù)信息。
地址位方式適合于短信息的傳送,,空閑線方式適合于長(zhǎng)信息的傳送,。
3 RS-485串口通信標(biāo)準(zhǔn)及接口電路
RS-232C是廣泛應(yīng)用的串口通信標(biāo)準(zhǔn),,但因其推出較早,,在現(xiàn)代網(wǎng)絡(luò)通信中已暴露出數(shù)據(jù) 傳輸速度慢、傳輸距離短,、接口處各信號(hào)間容易產(chǎn)生干擾等明顯的缺點(diǎn),。鑒于RS-232C的這些缺點(diǎn),EIA于1977年制定了新標(biāo)準(zhǔn)RS-499,,RS- 423/422(全雙工)是RS-499的子集,,RS-485(半雙工)則是RS-422的變型。RS-485是一種多發(fā)送器的電路標(biāo)準(zhǔn),,它擴(kuò)展了RS- 422A的性能,,允許雙絞線上一個(gè)發(fā)送器驅(qū)動(dòng)32個(gè)負(fù)載設(shè)備,負(fù)載設(shè)備可以是被動(dòng)發(fā)送器,、接收器或收發(fā)器" title="收發(fā)器">收發(fā)器,,RS-485最大傳輸距離為1200m,最大傳 送速率可達(dá)10Mb/s,。因此,,RS-485在遠(yuǎn)程通信和多機(jī)總線系統(tǒng)中具有很大的吸引力。MAXIM公司生產(chǎn)的MAX48X/49X系列收發(fā)器芯片,,適合于RS-422/RS-485通信標(biāo)準(zhǔn),,在實(shí)際設(shè)計(jì)中得到了廣泛應(yīng)用。本設(shè)計(jì)采用MAX485收發(fā)器芯片完成RS-485標(biāo)準(zhǔn)接口通信,。MAX485芯 片主要有以下特點(diǎn):
*單+5V電源供電,;
*低功耗:工作電流120~500uA;
*驅(qū)動(dòng)過(guò)載保護(hù),;
*通信傳輸線上可掛32個(gè)收發(fā)器方便組成半雙工通信電路,;
*共模輸入電壓范圍:-7V~+12V,。
MAX485為8腳封裝,引腳配置如圖1所示,,各引腳功能說(shuō)明如表1所示,。
本設(shè)計(jì)以PC機(jī)為主機(jī),TMS320F240為從機(jī),,主從機(jī)之間進(jìn)行串口通信,。 TMS320F240與PC機(jī)之間采用RS-485標(biāo)準(zhǔn)進(jìn)行半雙工通信的接口電路如圖2所示。其中,,接收器和驅(qū)動(dòng)器的選擇由TMS320F240的 XF/IOPC2引腳控制,。由于一般PC機(jī)上提供的是標(biāo)準(zhǔn)的RS-232C串行接口,因此,,需要RS-232C/RS-485轉(zhuǎn)換器進(jìn)行接口轉(zhuǎn)換,。
4 上位機(jī)PC串行通信軟件設(shè)計(jì)
上位機(jī)PC采用高級(jí)語(yǔ)言VB通信控件控制通信的方法。在VB5.0及以上版本中,,提供了一個(gè)名為MSComm的通信控件,,它為應(yīng)用程序提供基本的串行通信功能,可以通過(guò)串行接口傳輸和接收數(shù)據(jù)" title="接收數(shù)據(jù)">接收數(shù)據(jù),。
MSComm控件的重要屬性簡(jiǎn)述如下:
*CommPort:設(shè)置并返回通信端口號(hào),;
*Settings:以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn),、數(shù)據(jù)位,、停止位;
*PortOpen:設(shè)置并返回通信端口的狀態(tài),,也可以打開和關(guān)閉端口,;
*Input:從接收緩沖區(qū)返回和刪除字符;
*Output:向傳輸緩沖區(qū)寫一個(gè)字符串,。
PC串行口發(fā)送器輸出端和接收器輸入端的數(shù)據(jù)格式為幀信息格式,,與TMS320F240的 SCI口格式相同。通信時(shí),,雙方必須預(yù)先約定通信數(shù)據(jù)傳輸格式,、傳輸速率及各自工作方式等。本文設(shè)計(jì)一個(gè)通信測(cè)試軟件,,其功能是,,PC機(jī)鍵盤輸入1個(gè)字 符,發(fā)送給TMS320F240,,TMS320F240接收到PC機(jī)發(fā)送的字符后,,回送同一個(gè)字符給PC機(jī),并在PC機(jī)屏幕上顯示出來(lái),。雙方約定:波特率 為19200bps,;1幀信息格式為1個(gè)起始位,、8個(gè)數(shù)據(jù)位和1個(gè)停止位;傳送方式:PC機(jī)采用查詢方式接收數(shù)據(jù),,TMS320F240采用中斷方式接收數(shù)據(jù),。
5 TMS320F240通信軟件設(shè)計(jì)
TMS320F240有較強(qiáng)的串行通信能力,設(shè)計(jì)到的控制類寄存器較多,,這使系統(tǒng)設(shè)計(jì)比較 靈活,。設(shè)計(jì)時(shí),首先對(duì)控制類寄存器進(jìn)行初始化,,包括數(shù)據(jù)格式,、中斷使能、中斷優(yōu)先級(jí),、波特率等參數(shù)的設(shè)置,。初始化完成以后,就可以發(fā)送和接收數(shù)據(jù)了,。如果 要發(fā)送數(shù)據(jù),,只要把數(shù)據(jù)寫入SCITXBUF即可。加入起始位,、停止位,、校驗(yàn)位以及在波特率規(guī)定的節(jié)拍下移位到發(fā)送引腳SCITXD/IO等工作由串行通 信SCI模塊本身自動(dòng)完成,;如果要接收數(shù)據(jù),,只要把SCIRXBUF的內(nèi)容讀出即可(從引腳SCIRXD/IO移位來(lái)的信息由串行通信SCI模塊本身自動(dòng) 去掉起始位、停止位,、校驗(yàn)位,,并將數(shù)據(jù)放到SCIRXBUF中)。下面給出用TMS320F240匯編語(yǔ)言編寫的串行通信測(cè)試程序(圖3為程序流程圖),。
*title“SCI testprogram”
*include“F240reg.h”
,;TMS320F240的所有寄存器地址定義
;都包括在頭文件F240reg.h中,,
,;為增加本程序的可讀性,特把本程序
,;中用到的寄存器列出如下,。
*中斷控制寄存器
6 結(jié)束語(yǔ)
本文所設(shè)計(jì)的通訊測(cè)試程序在IBM-PC機(jī)和TMS320F240上調(diào)試成功,說(shuō)明DSP通信設(shè)計(jì)中硬件和軟件都是正確的,,下一步可以進(jìn)行實(shí)用通訊軟件的設(shè)計(jì),。