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