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