DSP 與PC 機(jī)串行通訊的設(shè)計(jì)_第1頁
DSP 與PC 機(jī)串行通訊的設(shè)計(jì)_第2頁
DSP 與PC 機(jī)串行通訊的設(shè)計(jì)_第3頁
DSP 與PC 機(jī)串行通訊的設(shè)計(jì)_第4頁
DSP 與PC 機(jī)串行通訊的設(shè)計(jì)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 DSP 與PC 機(jī)串行通訊的設(shè)計(jì) 以TMS320F240 系列為例,簡要介紹了數(shù)字信號(hào)處理器串行通信接口SCI 模塊和RS485 串口通信,并編程實(shí)現(xiàn)了TMS320F240 與PC 機(jī)串行通信接口電路。 1 引言 DSP 既是Digital Signal Pricessing 的縮寫,也是Digital Signal Pricessor 的縮寫。前者是指數(shù)字信號(hào)處理的理論和方法,后者則是指用于數(shù)字信號(hào)處理的可編程微處理器。TMS320F240 系列是在TMS320F2000TM 平臺(tái)下的一種定點(diǎn)DSP 芯片,是專為數(shù)字電機(jī)控制和其他控制應(yīng)用系統(tǒng)而設(shè)計(jì)的16位定點(diǎn)

2、運(yùn)算的DSP。它集合了DSP 的高速運(yùn)算功能與電機(jī)的強(qiáng)大控制能力,為控制系統(tǒng)應(yīng)用提供了一種理想的解決方案。TMS320F240 片內(nèi)外設(shè)有一個(gè)16 位的同步串行外圍接口(SPI),一個(gè)用于串行通訊接口的SCI 模塊,雙10 位A/D 轉(zhuǎn)換器,帶中斷的看門狗定時(shí)器模塊(WDT),帶有鎖相環(huán)(PLL)時(shí)鐘發(fā)生器。另外,還集成了兩個(gè)事件管理模塊EVA 和EVB。因此,TMS320F240 不僅具有高速數(shù)據(jù)處理能力,還具有控制和事件管理能力,可完成人機(jī)界面、與上位機(jī)開展串行通信等功能。 2 串行通訊接口(SCI)模塊 SCI 接收器和發(fā)送器是雙緩沖的,每一個(gè)都有他自己單獨(dú)的使能和中斷標(biāo)志位。兩者可單獨(dú)

3、工作,或在全雙工的方式下同時(shí)工作。為了確保數(shù)據(jù)的完整性,SCI 對(duì)接收到的數(shù)據(jù)開展間斷檢測、奇偶性校驗(yàn)、超時(shí)和幀出錯(cuò)的檢查。通過一個(gè)16 位的波特率選擇存放器,數(shù)據(jù)傳輸?shù)乃俣瓤梢员痪幊虨?5535多種不同的方式。SCI 的串行通信接口包括SCIRXD(串行通信數(shù)據(jù)接收)和SCITXD(串行通信數(shù)據(jù)發(fā)送),在不使用SCI 時(shí),這兩個(gè)引腳也可作通用I/O 口。發(fā)送和接收的操作可以利用狀態(tài)標(biāo)志位通過中斷驅(qū)動(dòng)或查詢算法來完成。與之相關(guān)的主要存放器:發(fā)送緩沖存放器SCITXBUF、接收緩沖存放器SCIRCBUF、接收仿真緩沖存放器SCIRXEMU;通信控制存放器SCICCR、中斷使能和內(nèi)部時(shí)鐘使能SCI

4、CTL1 和SCICTL2 、波特率選擇高字節(jié)存放器SCIHBAUD、波特率選擇低字節(jié)存放器SCILBAUD、優(yōu)先級(jí)控制存放器SCIPRI、引腳控制功能SCIPC2 以及反映通信狀態(tài)SCIXST 等。 串行通信接口模塊有兩個(gè)多處理器通信協(xié)議:空閑線多處理器模式和地址多處理器模式??臻e線模式在地址前留有一個(gè)固定空間,該模式?jīng)]有附加的地址/數(shù)據(jù)位,它在處理包含多于10 個(gè)字節(jié)的數(shù)據(jù)塊方面比地址位模式更有效;地址位模式在每個(gè)字節(jié)中參加一個(gè)額外位(地址位)來區(qū)分地址和數(shù)據(jù),這種模式在處理多個(gè)小數(shù)據(jù)塊時(shí)更有效。 3 RS-485串口通信 RS-232 雖然被廣泛承受,但其數(shù)據(jù)傳送的速度慢、在現(xiàn)代網(wǎng)絡(luò)通信

5、中已暴露出的接口處各信號(hào)間容易產(chǎn)生干擾等明顯的缺點(diǎn)。RS-232 只能傳輸15 米,不能滿足遠(yuǎn)距離傳輸要求,而RS-485 傳輸距離為1200 米,傳送速率可達(dá)10Mb/s。因此,RS-485 在遠(yuǎn)程通信和多機(jī)總線系統(tǒng)中具有很大吸引力。MAX48X49X 系列收發(fā)器芯片適合于RS 一422RS 485 通信標(biāo)準(zhǔn)。其主要有以下特點(diǎn): 單+5V 電源供電; 低功耗:工作電流120 500A : 驅(qū)動(dòng)過載保護(hù); 通信傳輸線上可掛32 個(gè)收發(fā)器方便組成半雙工通信電路; 共模輸入電壓范圍:-7V + l2V MAX485 為8 腳封裝,引腳配置如圖l 所示,各引腳功能說明如下表l 所示。 表1 本設(shè)計(jì)以

6、PC 機(jī)為主機(jī),TMS320F240 為從機(jī),主從機(jī)之間開展串口通信。TMS320F240 與PC 機(jī)之間采用RS 一485 標(biāo)準(zhǔn)開展半雙工通信的接口電路如圖2 所示。其中,接收器和驅(qū)動(dòng)器的選擇由TMS320F240 的XFIOPC2 引腳控制。由于一般PC 機(jī)上提供的是標(biāo)準(zhǔn)的RS 232 C 串行接口,因此,需要RS 232CRS485 轉(zhuǎn)換器開展接口轉(zhuǎn)換。 4 上位機(jī)PC機(jī)的軟件設(shè)計(jì) 上位機(jī)PC 采用語言C,在用C 語言開發(fā)DSP 應(yīng)用程序時(shí),需要嵌入一句或幾句匯編語言,如在程序的初始化階段對(duì)INTM、SXM 等位的配置。用asm 的方式就可以實(shí)現(xiàn)單句匯編語言的嵌入。 Code Compo

7、ser Studio 簡稱CCS,是TI 公司推出的為開發(fā)TMS320 系列DSP 軟件的集成開發(fā)環(huán)境(IDE)。CCS 工作在Windows 操作系統(tǒng)下,類似于VC+的集成開發(fā)環(huán)境,采用圖形接口界面,提供有編輯工具和工程管理工具。在CC 環(huán)境下串行通信有兩種方式:即同步方式和異步方式,在此僅討論異步方式中的串行通信。PC 串行口發(fā)送器輸出端和接收器輸入端的數(shù)據(jù)格式為幀信息格式,與TMS320F240的SCI 口格式相同。通信時(shí),雙方必須約定通信數(shù)據(jù)傳輸格式、傳輸速率及各自工作方式等。本文設(shè)計(jì),當(dāng)上位機(jī)請求通訊時(shí),先發(fā)請求通訊命令,下位機(jī)有效接收并判斷,確認(rèn)后向上位機(jī)發(fā)響應(yīng)碼。上位機(jī)在收到響應(yīng)

8、碼后,再發(fā)操作命令。雙方約定:波特率208h;8 位字符,一位停止位,無校驗(yàn);傳送方式:PC 機(jī)采用查詢方式接收數(shù)據(jù),TMS320F240 采用中斷方式接收數(shù)據(jù)。 5 DSP軟件設(shè)計(jì) 5.1 串口初始化 首先對(duì)存放器地址、波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位開展設(shè)置。 void Set() *SCICCR=0 x7; /8 位字符,1 停止位,無校驗(yàn) *SCICTL1=0X13; /使能發(fā)送和承受 *SCICTL2=0 x03; /使能承受和發(fā)送中斷 *SCIHBAUD=0 x02; /波特率=208h,40MHZ *SCILBAUD=0 x08; /208h=40*106/(9600*8)-1

9、 *SCICTL1=0 x33; /使能發(fā)送和承受,復(fù)位 *SCIPRI=0X60; /SCI 中斷(承受和發(fā)送中斷)為低優(yōu)先級(jí)中斷 5.2 中斷初始化 a)禁止總中斷子程序 void inline disable() asm(setc INTM); asm(setc SXM); b)使能總中斷子程序 void inline enable() asm(clrc INTM) ; c)中斷服務(wù)程序 void interrupt uarttr() switch (*PVIR) /根據(jù)中斷向量存放器PVIR 的值區(qū)別是接收還是發(fā)送中斷 case 6:UartRec(); /如果PVIR=6,則發(fā)生了承

10、受中斷,執(zhí)行承受中斷服務(wù)程序 d)當(dāng)由于干擾而引起其它中斷時(shí),中斷進(jìn)入此程序直接返回主程序 void interrupt nothing() return; 5.3中斷處理 void UartRec() unsigned int uwork; int I, k; k=0; while(1) do uwork=(*SCIRXST); while(uwork&0 x40= =0); cReceive=(*SCIRXBUF); cBuffer= cReceive; if(cReceive= =.) cBuffer=0; nlen=k+1; Set(); Break; k+; k%=16; 5.4程序

11、初始化 # include 2407c.h /初始化子程序 Initial() *IFR=0 xFFFF; /去除中斷標(biāo)志 *WDCR=0Xe8; /不使能看門狗 *SCSR1=0 x81FE; /CLKIN=6M, CLKOUT=24M *MCRA=0 x3; /use SCITXD, SCIRXD *PADATDIR=0 x100; /設(shè)置ADIR 為輸出口 5.5主程序 Main() Set(); Disable(); /屏蔽所有中斷 Initial(); /系統(tǒng)初始化 Enable(); /使能總中斷 While(1) unsigned int uwork; For (intI=0;I10;I+) Do Uwork=(*SCICTL2); while (uwork&0 x0c0!=0 x0c0); (*SCITXBUF)=cAnswer; *IFR=0 x0010; Enable(); Do Uwork=(*SCICTL2); while (uwork&0 x0c0!=0 x0c0)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論