TMS320F240與PC機(jī)串行通訊的設(shè)計(jì)
摘 要:簡要介紹了數(shù)字信號(hào)處理器TMS320F240串行通信接口模塊SCI和RS-485標(biāo)準(zhǔn)接口芯片MAX485的原理和應(yīng)用,并給出了TMS320F240與PC機(jī)串行通信接口電路,最后,編程實(shí)現(xiàn)了串行通信。
關(guān)鍵詞:數(shù)字信號(hào)處理器,串行通信接口,MAX485
1 引言
TMS320F240系列是美國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í)器模塊,串行通信接口SCI及串行外設(shè)接口SPI,另外,還集成了一個(gè)事件管理模塊EVM。因此,TMS320F240不僅具有高速數(shù)據(jù)處理能力,還具有控制和事件管理能力,可完成人機(jī)界面、與上位機(jī)進(jìn)行串行通信等功能。
2 TMS320F240串行通信接口簡介
TMS320F240串行通信接口(SCI)是一個(gè)標(biāo)準(zhǔn)的通用異步接收/發(fā)送(UART)通信接口。它的接收器和發(fā)送器都是雙級(jí)緩沖的,有自己的使能和中斷位,可以半雙工或全雙工工作。為保證數(shù)據(jù)的完整性,串行通信接口對(duì)接收的數(shù)據(jù)進(jìn)行間斷檢測、奇偶性、超時(shí)和幀錯(cuò)誤的檢查。串行通信接口的波特率可高達(dá)64kbps。TMS320F240的SCI串行通信接口包括SCIRXD/IO(串行通信數(shù)據(jù)接收,也可作普通IO)和SCITXD(串行通信數(shù)據(jù)發(fā)送,也可作普通IO)兩個(gè)引腳,與之相關(guān)的寄存器包括控制類寄存器和數(shù)據(jù)類寄存器。其中,控制類寄存器有7個(gè),分別用來設(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)空閑線方式。通過空閑狀態(tài)的長短區(qū)分信息幀,信息幀里前面的信息塊是地址信息,后面是數(shù)據(jù)信息。
2)地址位方式。數(shù)據(jù)格式上增加1個(gè)地址/數(shù)據(jù)位,該位為1表示信息塊為地址信息,否則為數(shù)據(jù)信息。
地址位方式適合于短信息的傳送,空閑線方式適合于長信息的傳送。
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ā)器,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)過載保護(hù);
·通信傳輸線上可掛32個(gè)收發(fā)器方便組成半雙工通信電路;
·共模輸入電壓范圍:-7V~+12V。
MAX485為8腳封裝,引腳配置如圖1所示,各引腳功能說明如表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í)語言VB通信控件控制通信的方法。在VB5.0及以上版本中,提供了一個(gè)名為MSComm的通信控件,它為應(yīng)用程序提供基本的串行通信功能,可以通過串行接口傳輸和接收數(shù)據(jù)。
MSComm控件的重要屬性簡述如下:
·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è)通信測試軟件,其功能是,PC機(jī)鍵盤輸入1個(gè)字符,發(fā)送給TMS320F240,TMS320F240接收到PC機(jī)發(fā)送的字符后,回送同一個(gè)字符給PC機(jī),并在PC機(jī)屏幕上顯示出來。雙方約定:波特率為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移位來的信息由串行通信SCI模塊本身自動(dòng)去掉起始位、停止位、校驗(yàn)位,并將數(shù)據(jù)放到SCIRXBUF中)。下面給出用TMS320F240匯編語言編寫的串行通信測試程序(圖3為程序流程圖)。
·title“SCI testprogram”
·include“F240reg.h”
;TMS320F240的所有寄存器地址定義
;都包括在頭文件F240reg.h中,
;為增加本程序的可讀性,特把本程序
;中用到的寄存器列出如下。
*中斷控制寄存器
6 結(jié)束語
本文所設(shè)計(jì)的通訊測試程序在IBM-PC機(jī)和TMS320F240上調(diào)試成功,說明DSP通信設(shè)計(jì)中硬件和軟件都是正確的,下一步可以進(jìn)行實(shí)用通訊軟件的設(shè)計(jì)。
參考文獻(xiàn)
1 范逸之.利用Visual Basic實(shí)現(xiàn)串并行通信技術(shù).北京:清華大學(xué)出版社,2001
?。▉碓矗弘娮庸こ處煟?/FONT>