《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > TMS320F240與PC機(jī)串行通訊的設(shè)計
TMS320F240與PC機(jī)串行通訊的設(shè)計
電子工程師
徐俊起 郭育華 連級三
摘要: TMS320F240系列是美國TI公司于1997年推出的,專為數(shù)字電機(jī)控制和其它控制應(yīng)用系統(tǒng)而設(shè)計的16位定點數(shù)字信號處理器。它將數(shù)字信號處理的高速運(yùn)算功能與面向電機(jī)的強(qiáng)大控制能力結(jié)合在一起,從而成為傳統(tǒng)的多微處理器單元和多片設(shè) 計系統(tǒng)的理想替代品。F240片內(nèi)外設(shè)包括雙10位A/D轉(zhuǎn)換器,帶有鎖相環(huán)PLL時鐘模塊,帶中斷的看門狗定時器模塊,串行通信接口SCI及串行外設(shè)接 口SPI,另外,還集成了一個事件管理模塊EVM。因此,TMS320F240不僅具有高速數(shù)據(jù)處理能力,還具有控制和事件管理能力,可完成人機(jī)界面、與 上位機(jī)進(jìn)行串行通信等功能
Abstract:
Key words :

  1 引言

  TMS320F240系列是美國TI公司于1997年推出的,專為數(shù)字電機(jī)控制和其它控制應(yīng)用系統(tǒng)而設(shè)計的16位定點數(shù)字信號處理器。它將數(shù)字信號處理的高速運(yùn)算功能與面向電機(jī)的強(qiáng)大控制能力結(jié)合在一起,從而成為傳統(tǒng)的多微處理器單元和多片設(shè) 計系統(tǒng)的理想替代品。F240片內(nèi)外設(shè)包括雙10位A/D轉(zhuǎn)換器,帶有鎖相環(huán)PLL時鐘模塊,帶中斷的看門狗定時器模塊,串行通信" title="串行通信">串行通信接口SCI及串行外設(shè)接 口SPI,另外,還集成了一個事件管理模塊EVM。因此,TMS320F240不僅具有高速數(shù)據(jù)處理能力,還具有控制和事件管理能力,可完成人機(jī)界面、與 上位機(jī)進(jìn)行串行通信等功能。

  2 TMS320F240串行通信接口" title="通信接口">通信接口簡介

  TMS320F240串行通信接口(SCI)是一個標(biāo)準(zhǔn)的通用異步接收/發(fā)送(UART) 通信接口。它的接收器和發(fā)送器" title="發(fā)送器">發(fā)送器都是雙級緩沖的,有自己的使能和中斷位,可以半雙工" title="半雙工">半雙工或全雙工工作。為保證數(shù)據(jù)的完整性,串行通信接口對接收的數(shù)據(jù)進(jìn)行間斷檢 測、奇偶性、超時和幀錯誤的檢查。串行通信接口的波特率可高達(dá)64kbps。TMS320F240的SCI串行通信接口包括SCIRXD/IO(串行通信 數(shù)據(jù)接收,也可作普通IO)和SCITXD(串行通信數(shù)據(jù)發(fā)送,也可作普通IO)兩個引腳,與之相關(guān)的寄存器包括控制類寄存器和數(shù)據(jù)類寄存器。其中,控制 類寄存器有7個,分別用來設(shè)置數(shù)據(jù)格式協(xié)議和通信模式(SCICCR)、中斷使能和內(nèi)部時鐘使能(SCICTL1和SCICTL2)、中斷優(yōu)先級 (SCIPRI)、波特率(SCIHBAND和SCILBAND)、引腳控制功能(SCIPC2)以及反映通信狀態(tài)(SCIXST)等;數(shù)據(jù)類寄存器有3 個,分別是數(shù)據(jù)發(fā)送緩沖寄存器SCITXBUF、數(shù)據(jù)接受緩沖寄存器SCIRXBUF和仿真數(shù)據(jù)接收緩沖寄存器SCIRXEMU。

  TMS320F240的串行通信接口(SCI)模塊提供了兩種工作方式:

  1)空閑線方式。通過空閑狀態(tài)的長短區(qū)分信息幀,信息幀里前面的信息塊是地址信息,后面是數(shù)據(jù)信息。
  2)地址位方式。數(shù)據(jù)格式上增加1個地址/數(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ù) 傳輸速度慢、傳輸距離短、接口處各信號間容易產(chǎn)生干擾等明顯的缺點。鑒于RS-232C的這些缺點,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的性能,允許雙絞線上一個發(fā)送器驅(qū)動32個負(fù)載設(shè)備,負(fù)載設(shè)備可以是被動發(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è)計中得到了廣泛應(yīng)用。本設(shè)計采用MAX485收發(fā)器芯片完成RS-485標(biāo)準(zhǔn)接口通信。MAX485芯 片主要有以下特點:

*單+5V電源供電;
*低功耗:工作電流120~500uA;
*驅(qū)動過載保護(hù);
*通信傳輸線上可掛32個收發(fā)器方便組成半雙工通信電路;
*共模輸入電壓范圍:-7V~+12V。

  MAX485為8腳封裝,引腳配置如圖1所示,各引腳功能說明如表1所示。





  本設(shè)計以PC機(jī)為主機(jī),TMS320F240為從機(jī),主從機(jī)之間進(jìn)行串口通信。 TMS320F240與PC機(jī)之間采用RS-485標(biāo)準(zhǔn)進(jìn)行半雙工通信的接口電路如圖2所示。其中,接收器和驅(qū)動器的選擇由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ī)PC采用高級語言VB通信控件控制通信的方法。在VB5.0及以上版本中,提供了一個名為MSComm的通信控件,它為應(yīng)用程序提供基本的串行通信功能,可以通過串行接口傳輸和接收數(shù)據(jù)" title="接收數(shù)據(jù)">接收數(shù)據(jù)。

  MSComm控件的重要屬性簡述如下:

*CommPort:設(shè)置并返回通信端口號;
  
*Settings:以字符串的形式設(shè)置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位;
*PortOpen:設(shè)置并返回通信端口的狀態(tài),也可以打開和關(guān)閉端口;
*Input:從接收緩沖區(qū)返回和刪除字符;
*Output:向傳輸緩沖區(qū)寫一個字符串。

  PC串行口發(fā)送器輸出端和接收器輸入端的數(shù)據(jù)格式為幀信息格式,與TMS320F240的 SCI口格式相同。通信時,雙方必須預(yù)先約定通信數(shù)據(jù)傳輸格式、傳輸速率及各自工作方式等。本文設(shè)計一個通信測試軟件,其功能是,PC機(jī)鍵盤輸入1個字 符,發(fā)送給TMS320F240,TMS320F240接收到PC機(jī)發(fā)送的字符后,回送同一個字符給PC機(jī),并在PC機(jī)屏幕上顯示出來。雙方約定:波特率 為19200bps;1幀信息格式為1個起始位、8個數(shù)據(jù)位和1個停止位;傳送方式:PC機(jī)采用查詢方式接收數(shù)據(jù),TMS320F240采用中斷方式接收數(shù)據(jù)。

  5 TMS320F240通信軟件設(shè)計

  TMS320F240有較強(qiáng)的串行通信能力,設(shè)計到的控制類寄存器較多,這使系統(tǒng)設(shè)計比較 靈活。設(shè)計時,首先對控制類寄存器進(jìn)行初始化,包括數(shù)據(jù)格式、中斷使能、中斷優(yōu)先級、波特率等參數(shù)的設(shè)置。初始化完成以后,就可以發(fā)送和接收數(shù)據(jù)了。如果 要發(fā)送數(shù)據(jù),只要把數(shù)據(jù)寫入SCITXBUF即可。加入起始位、停止位、校驗位以及在波特率規(guī)定的節(jié)拍下移位到發(fā)送引腳SCITXD/IO等工作由串行通 信SCI模塊本身自動完成;如果要接收數(shù)據(jù),只要把SCIRXBUF的內(nèi)容讀出即可(從引腳SCIRXD/IO移位來的信息由串行通信SCI模塊本身自動 去掉起始位、停止位、校驗位,并將數(shù)據(jù)放到SCIRXBUF中)。下面給出用TMS320F240匯編語言編寫的串行通信測試程序(圖3為程序流程圖)。





*title“SCI testprogram”
*include“F240reg.h”
    ;TMS320F240的所有寄存器地址定義
    ;都包括在頭文件F240reg.h中,
    ;為增加本程序的可讀性,特把本程序
    ;中用到的寄存器列出如下。
    *中斷控制寄存器









  6 結(jié)束語

  本文所設(shè)計的通訊測試程序在IBM-PC機(jī)和TMS320F240上調(diào)試成功,說明DSP通信設(shè)計中硬件和軟件都是正確的,下一步可以進(jìn)行實用通訊軟件的設(shè)計。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。