基于DSP2407異步串口的多機(jī)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于DSP2407異步串口的多機(jī)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于DSP2407異步串口的多機(jī)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于DSP2407異步串口的多機(jī)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于DSP2407異步串口的多機(jī)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于DSP2407異步串口的多機(jī)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)學(xué)院(系):機(jī)電工程班級(jí):自動(dòng)化1101 姓名:鐘金 學(xué)號(hào):201140210 摘要本次設(shè)計(jì)的主要工作就是基于在TMS320LF2407A DSP芯片的SCI(異步串行通信)口上的串口通信的設(shè)計(jì)與實(shí)現(xiàn)。TMS320LF240x 器件包括串行通信接口 SCI 模塊。SCI 模塊支持 CPU 與其他使用標(biāo)準(zhǔn)格式的異步外設(shè)之間的數(shù)字通信。SCI 接收器和發(fā)送器是雙緩沖的,每一個(gè)都有它自己?jiǎn)为?dú)的使能和中斷標(biāo)志位。兩者都可以獨(dú)立工作,或者在全雙工的方式下同時(shí)工作。DSP內(nèi)部包含了異步串行通信控制模塊,所以在板上只需加上驅(qū)動(dòng)電路部分即可。驅(qū)動(dòng)電路主要完成將

2、 SCI 輸出的 0-3.3V 電平轉(zhuǎn)換成異步串口電平的工作。轉(zhuǎn)換電平的工作由MAX232芯片完成。關(guān)鍵字:DSP ; TMS320LF2407A;目錄:一 實(shí)驗(yàn)?zāi)康募耙?二 實(shí)驗(yàn)設(shè)備4三 實(shí)驗(yàn)原理4四 TMS320LF2407DSP 及其異步串行口的特點(diǎn)6六 實(shí)驗(yàn)步驟7五 主函數(shù)程序流程7七 實(shí)驗(yàn)程序及結(jié)果8八 總結(jié)14一 實(shí)驗(yàn)?zāi)康募耙?、了解TMS320LF2407A DSP片內(nèi)串行通信接口(SCI)的特點(diǎn);2、學(xué)會(huì)設(shè)置 SCI 接口進(jìn)行通信;3、學(xué)習(xí)設(shè)計(jì)異步通信程序。設(shè)計(jì)要求:利用DSP2407的異步串口完成一個(gè)到多個(gè)(至少2個(gè))的通信,要求設(shè)計(jì)通信的數(shù)據(jù)協(xié)議。要求具有數(shù)據(jù)接收反饋數(shù)

3、據(jù)。處理器1往其他處理器發(fā)送數(shù)據(jù)時(shí),必須指定發(fā)送地址。處理器2接收數(shù)據(jù),必須先檢查地址是和自己的地址相符,地址相符才能接收數(shù)據(jù),接收到數(shù)據(jù)后給與發(fā)送端數(shù)據(jù)反饋,并把收到數(shù)據(jù)在PC機(jī)上顯示。串行通信接口模塊有兩個(gè)多處理器通信協(xié)議,空閑線多處理器模式和地址多處理器模式。這些通信協(xié)議保證多處理器間進(jìn)行有效的數(shù)據(jù)傳送。串行通信接口模塊提供了許多通用異步接收/發(fā)送(UART)通信外設(shè)的接口,如異步通信使用3條線連接,諸如采用RS-232格式的終端和打印機(jī)等眾多標(biāo)準(zhǔn)器件。多處理器通信模式使得一個(gè)處理器能夠有效地在同條串行連接線上將數(shù)據(jù)傳送到其他的處理器。一條串行線上一次只能進(jìn)行一次傳送。二 實(shí)驗(yàn)設(shè)備DSP

4、實(shí)驗(yàn)開發(fā)板、XDS510仿真器、計(jì)算機(jī)三 實(shí)驗(yàn)原理1、TMS320LF2407A DSP串行通信接口模塊TMS320LF240x 器件包括串行通信接口 SCI 模塊。SCI 模塊支持 CPU 與其他使用標(biāo)準(zhǔn)格式的異步外設(shè)之間的數(shù)字通信。SCI 接收器和發(fā)送器是雙緩沖的,每一個(gè)都有它自己?jiǎn)为?dú)的使能和中斷標(biāo)志位。兩者都可以獨(dú)立工作,或者在全雙工的方式下同時(shí)工作。2、實(shí)驗(yàn)板異步串口設(shè)計(jì)由于DSP內(nèi)部包含了異步串行通信控制模塊,所以在板上只需加上驅(qū)動(dòng)電路部分即可。驅(qū)動(dòng)電路主要完成將 SCI 輸出的 0-3.3V 電平轉(zhuǎn)換成異步串口電平的工作。轉(zhuǎn)換電平的工作由MAX232芯片完成。3、串行通信接口設(shè)置C

5、PU 進(jìn)行串行通信時(shí)可以采用兩種方式,一種是輪詢方式,即 CPU 不斷查詢串口狀態(tài)進(jìn)行接收和發(fā)送,缺點(diǎn)是占用 CPU 時(shí)間太多;另一種是中斷方式,SCI 的接收和發(fā)送都可以產(chǎn)生中斷信號(hào),這樣 CPU 可以在完成其他一些工作的同時(shí)進(jìn)行串行通信。串行通信接口波特率計(jì)算:內(nèi)部生成的串行時(shí)鐘由系統(tǒng)時(shí)鐘 SYSCLK 頻率和波特率選擇寄存器決定。串行通信接口使用16位波特率選擇寄存器,數(shù)據(jù)傳輸?shù)乃俣瓤梢员痪幊虨?5000多種不同的方式。不同通信模式下的串行通信接口異步波特率由下列方法決定:- BRR=165535 時(shí)的串行通信接口異步波特率:SCI 異步波特率=SYSCLK/ ( BRR+1)*8,其中

6、BRR=SYSCLK/(SCI異步波特率*8)-1;- BRR=0 時(shí)的串行通信接口異步波特率:SCI 異步波特率=SYSCLK/16這里 BRR 等于波特率選擇寄存器的16位值。四 TMS320LF2407DSP 及其異步串行口的特點(diǎn)TMS320LF2407A 和TMS320LC2407A 是基于TMS320C2000TM 技術(shù)平臺(tái)的定點(diǎn) DSP 器件,是TMS320C24xA 系列中的新成員2407A 使用了增強(qiáng)型TMS320 TM結(jié)構(gòu)的C2xx 核心處理器,具有低成本、低功耗、高性能的優(yōu)點(diǎn)它還集成了多種專為數(shù)字電機(jī)和運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)的外設(shè),使之成為一款真正的單片數(shù)字信號(hào)處理控制器在與以前

7、C24x TM系列指令兼容的同時(shí),2407A 具有更高的運(yùn)算速度(40MIPS)和更高的外設(shè)集成度2407A 包括兩個(gè)事件管理模塊,這兩個(gè)模塊已經(jīng)針對(duì)電機(jī)控制和電源轉(zhuǎn)換進(jìn)行了優(yōu)化,包括12路對(duì)稱或非對(duì)稱的PWM 發(fā)生器以及可編程的死區(qū)控制功能雙事件管理模塊使得單個(gè)2407A DSP 控制器可以同時(shí)控制兩臺(tái)電機(jī)2407A 具有16 個(gè)高性能的10 位A/D 轉(zhuǎn)換器,最小轉(zhuǎn)換時(shí)間為375 ns,其自動(dòng)排序功能使多達(dá)16次轉(zhuǎn)換可以在一個(gè)轉(zhuǎn)換過程內(nèi)完成而且不會(huì)給CPU 增加額外的開銷2407A 還提供16 位同步串行接口(SPI)和符合2.0B 標(biāo)準(zhǔn)的CAN 模塊TMS320LF2407A 提供了串行

8、通訊接口SCI 模塊,支持CPU 與其他使用標(biāo)準(zhǔn)格式的異步外設(shè)之間的數(shù)字通信SCI 接收器和發(fā)送器是雙緩沖的,每一個(gè)都有它自己?jiǎn)为?dú)的使能和中斷標(biāo)志位,兩者都可獨(dú)立工作,或者在全雙工的方式下同時(shí)工作SCI模塊通過SCIRXD 引腳接收數(shù)據(jù),通過SCITXD 引腳發(fā)送數(shù)據(jù),在不使用SCI 模塊的時(shí)候,這兩個(gè)引腳可以被配置為通用I/O 口為確保數(shù)據(jù)的完整,SCI 對(duì)接受到的數(shù)據(jù)進(jìn)行間斷檢測(cè)、奇偶校驗(yàn)、超時(shí)和幀出錯(cuò)校驗(yàn)通過一個(gè)16 位的波特率選擇寄存器,數(shù)據(jù)傳輸?shù)乃俣瓤梢员痪幊虨?5535 種不同的方式,在40MHz 的CPU 時(shí)鐘方式下,波特率范圍從76bps 到1875kbps無論接收還是發(fā)送,S

9、CI 接口模塊的數(shù)據(jù)都采用NRZ(非返回零)格式NRZ數(shù)據(jù)格式包括一個(gè)起始位,(18)位可編程選擇的數(shù)據(jù)位,可選擇的奇/偶/無校驗(yàn)位,(12)個(gè)停止位在地址位多處理器模式下還包括一個(gè)地址/數(shù)據(jù)位五 主函數(shù)程序流程串行通信接口初始化定時(shí)器初始化系統(tǒng)初始化接收服務(wù)程序發(fā)送服務(wù)程序,定義一段需要發(fā)送的字符串六 實(shí)驗(yàn)步驟1、用DB9直通電纜把DSP的串口和PC機(jī)的串口連接起來。打開PC機(jī)串口調(diào)試軟件,默認(rèn)設(shè)置為COM1,9600,N,8,1,選擇按16進(jìn)制發(fā)送和接收;2、將SCI目錄COPY到CCS開發(fā)環(huán)境中的myproject目錄下;3、CCS中用projectOpen命令,加載SCI目錄下的SCI

10、.pjt;4、瀏覽程序,打開工程目錄下的main.c文件,并理解每條語句的含義;5、編譯工程。單擊"Project"菜單,"Rebuild all"項(xiàng),編譯工程中的文件,生成*.out 文件;6、下載程序。在CCS中用File Load Program命令,加載SCI目錄中Debug目錄下的*.out文件;7、運(yùn)行程序觀察結(jié)果。調(diào)試程序過程中在合適位置設(shè)置斷點(diǎn),利用WATCH窗口觀察DSP接收到的PC機(jī)數(shù)據(jù);利用串口調(diào)試軟件觀察DSP發(fā)送到PC機(jī)的數(shù)據(jù);七 實(shí)驗(yàn)程序及結(jié)果1、實(shí)驗(yàn)程序#include "global.c" void S

11、ystemInit();void Timer1Init(); void KickDog(); void SCI_Init();void SCI_Send();int numled0=200; unsigned int t0=0; unsigned int SCI_RXDATA;main() SystemInit(); /系統(tǒng)初始化 MCRC=MCRC & 0xFF00; /IOPE0-7設(shè)為IO口模式 PEDATDIR=0xFF00; /所有LED=0, 所有l(wèi)ed燈滅 SCI_Init(); Timer1Init(); /*定時(shí)器初始化*/ asm(" CLRC INTM

12、"); while(1); /*進(jìn)入死循環(huán)*/ void SystemInit() asm(" SETCINTM ");/* 關(guān)閉總中斷 */asm(" CLRC SXM ");/* 禁止符號(hào)位擴(kuò)展 */ asm(" CLRC CNF "); /* B0塊映射為 on-chip DARAM*/asm(" CLRC OVM "); /* 累加器結(jié)果正常溢出*/SCSR1=0x83FE; /* 系統(tǒng)時(shí)鐘CLKOUT=20*2=40M */ /* 打開ADC,EVA,EVB,CAN和SCI的時(shí)鐘*/WDCR=0

13、x006F;/* 禁止看門狗,看門狗時(shí)鐘64分頻 */ KickDog(); /* 初始化看門狗 */ IFR=0xFFFF;/* 清除中斷標(biāo)志 */ IMR=0x0003;/* 打開中斷2 P44*/ void Timer1Init() EVAIMRA=0x0080;/ 定時(shí)器1周期中斷使能 EVAIFRA=0xFFFF; GPTCONA=0x0000; / 清除中斷標(biāo)志 T1PR=2500;/ 定時(shí)器1初值,定時(shí)0.4us*2500=1ms T1CNT=0;T1CON=0x144E; /增模式, TPS系數(shù)40M/16=2.5M,T1使能 void SCI_Init() MCRA=MCRA

14、 | 0x0003;/IOPA0, IOPA1為串口SCICCR=0x0007; /空閑多處理器模式,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位SCICTL1=0x0003; /接收,發(fā)送,內(nèi)部時(shí)鐘使能,SLEEP=1SCICTL2=0x0002; /接收中斷使能SCIPRI=0x0000; /高中斷優(yōu)先級(jí)SCIHBAUD=0x0002; /40M,波特率設(shè)置為9600SCILBAUD=0x0008; SCICTL1=0x0023; /串口初始化完成 void SCI_Send() /發(fā)送0x80-0x87, 共8個(gè)字節(jié)數(shù)據(jù) SCITXBUF=0x57;while(SCICTL2 & 0x0

15、080)=0); /*p301*/void c_int1() if(PIVR!=0x06) /高優(yōu)先級(jí)的SCI接收中斷 asm(" CLRC INTM ");return; SCI_RXDATA=(SCIRXBUF) & 0x00FF ; /串口接收的數(shù)據(jù)保存 IFR=0xFFFF; asm(" CLRC INTM "); void c_int2() /*定時(shí)器1中斷服務(wù)程序*/ if(PIVR!=0x27) asm(" CLRC INTM ");return;T1CNT=0; t0+;numled0-;if(numled0=0)numled0=200;if(PEDATDIR & 0x0002)=0x0002) PEDATDIR=PEDATDIR & 0xFFFD; /IOPE1=0;LED滅 elsePEDATDIR=PEDATDIR |0x0002; /IOPE1=1;LED亮 if(t0%100)=0) /定時(shí)循環(huán)100msSCI發(fā)送 SCI_Send();EVAIFRA=0x80; asm(" CLRCINTM "); void KickD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論