




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
DSP與單片機(jī)通信的多種方案設(shè)計(jì)來源:中國論文下載中心 作者:未知編輯:studa20摘 要:基于嵌入式系統(tǒng)發(fā)展的需要,提出TMS320VC5402 DSP與AT89C51單片機(jī)通信的三種設(shè)計(jì)方案。利用TMS320VC5402的多通道緩沖串口MCBSP分別實(shí)現(xiàn)TMS320VC5402與AT89C51的SCI和SPI串行通信,以及通過TMS320VC5402的8位增強(qiáng)主機(jī)接口HPI一8實(shí)現(xiàn)TMS320VC5402與AT89C5l并行通信。就硬件接口電路和軟件編程進(jìn)行詳細(xì)的闡述。關(guān)鍵詞:單片機(jī) DSP MCBSP HPI 將DSP和單片機(jī)構(gòu)成雙CPU處理器平臺,可以充分利用DSP對大容量數(shù)據(jù)和復(fù)雜算法的處理能力,以及單片機(jī)接口的控制能力。而DSP與單片機(jī)之間快速正確的通信是構(gòu)建雙CPU處理器的關(guān)鍵問題。下面就此問題分別設(shè)計(jì)串行SCI、SPI和并行HPI三種連接方式。1 串行通信設(shè)計(jì)與實(shí)現(xiàn) 1 1 SCI串行通信設(shè)計(jì) 1.1.1 多通道緩沖串行口McBSP原理 TMS320VC5402(簡稱VC5402)提供了2個支持高速、全雙工、帶緩沖、多種數(shù)據(jù)格式等優(yōu)點(diǎn)的多通道緩沖串行口McBSP。MCESP分為數(shù)據(jù)通路和控制通路。數(shù)據(jù)通路負(fù)責(zé)完成數(shù)據(jù)的收發(fā)。CPU或DMAC能夠向數(shù)據(jù)發(fā)送寄存器DXR寫入數(shù)據(jù),DXR中的數(shù)據(jù)通過發(fā)送移位寄存器XSR輸出到DX引腳。DR引腳接收數(shù)據(jù)到接收移位寄存器RSR,再復(fù)制到接收緩沖寄存器RBR,最后復(fù)制到數(shù)據(jù)接收寄存器DRR。這兩種數(shù)據(jù)多級緩沖方式使得數(shù)據(jù)搬移和片外數(shù)據(jù)通信能夠同時進(jìn)行。控制通路負(fù)責(zé)內(nèi)部時鐘產(chǎn)生,幀同步信號產(chǎn)生,信號控制和多通道選擇。另外還具有向CPU發(fā)送中斷信號和向DMAC發(fā)送同步事件的功能。MCBSP時鐘和幀同步信號通過CLKR、CLKX、FXR、FSX引腳進(jìn)行控制,接收器和發(fā)送器可以相互獨(dú)立地選擇外部時鐘和幀同步信號,也可以選擇由內(nèi)部采樣率發(fā)生器產(chǎn)生時鐘和幀同步信號。幀同步脈沖有效表示傳輸?shù)拈_始。1.1.2 SCI串行接口設(shè)計(jì) 設(shè)置VC5402的McRSP輸出時鐘和幀同步信號由內(nèi)部采樣率發(fā)生器產(chǎn)生,內(nèi)部數(shù)據(jù)時鐘CLKG和幀同步信號FSG驅(qū)動發(fā)送時鐘CLKX和幀同步FSX(CLKXM=l,F(xiàn)SXM=l,F(xiàn)SGM=1),輸入時鐘也由內(nèi)部采樣率發(fā)生器產(chǎn)生,內(nèi)部數(shù)據(jù)時鐘CLKG驅(qū)動接收時鐘CLKR(CLKRM=1),同時由CPU時鐘驅(qū)動采樣率發(fā)生器(CLKSM=1)??紤]到AT89C51(簡稱C51)串口發(fā)送數(shù)據(jù)幀中第l位為起始位,因此可以利用該位驅(qū)動輸入幀同步信號FSR,同時要置忽略幀同步信號標(biāo)志為1。其中FSG幀同步脈沖寬度=(FWID+1)CLKG;FSG幀同步脈沖周期=(FPER+1)CLKG;采樣率發(fā)生器分頻系數(shù)(采樣率=波特率)=FIN(CLKGDV+1)。 SCI串口連接如圖l所示。1.1.3 波特率不一致的處理 VC5402初始化(以圖1為例):STM#SRGRl,SPSAlSTM#ooFEH,SPSDl;FSG幀同步脈沖寬度位為1個CLKG;波特率為100 MHz(0X(OFF)=392 156 bsSTM#SRGR2,SPSAlSTM#3D00H,SPSDl;內(nèi)部采樣率發(fā)生器時鐘由CPU驅(qū)動 C51初始化:MOV TMOD,#20HMOVTLl,#FFHMOVTHl,#FFH ;C51波特率=(2SMOD32)*(fosc12)1(256一初值)一24 509 bsMOV SCON,#50H ;置串口方式l,每一幀10位數(shù)據(jù)允許接收MOV PCON,#80H ;設(shè)置SMOD=1VC5402波特率C51波特率=(392 15624 509)=16000 49 VC5402每發(fā)送16位數(shù)據(jù),C51只采樣1位數(shù)據(jù)。在VC5402存儲器中開辟一個空間對每次發(fā)送的8位數(shù)據(jù)進(jìn)行擴(kuò)展,1位擴(kuò)為16位,0為0000H,l為FFFFH,共擴(kuò)為128位。在數(shù)據(jù)頭部填加16位起始位0000H,數(shù)據(jù)尾部填加停止位FFFFH。在VC5402發(fā)送控制寄存器XCR中設(shè)置XWDLEN=000(1字含8位),即可將要發(fā)送的8位數(shù)據(jù)封裝成1幀10字的數(shù)據(jù)。這也符合C51串口1方式下1幀10位的數(shù)據(jù)格式。C51以116的VC5402采樣速率接收數(shù)據(jù),0000H采樣為0,F(xiàn)FFFH采樣為1,由此可以將接收到的200位恢復(fù)為8位數(shù)據(jù),停止位進(jìn)入RB8。 C51每發(fā)送1位數(shù)據(jù),VC5402要采樣為16位數(shù)據(jù)。C51一次發(fā)送的10位數(shù)據(jù)的起始位觸發(fā)VC5402的接收幀同步。由于VC5402以16倍C51的采樣速率接收數(shù)據(jù),1位采樣為16位,0采樣為0000H,1采樣為FFFFH只采樣發(fā)送來的10位中的前9位,9位封裝成144位,即接收的1幀數(shù)據(jù)完成。VC5402將收到的144位數(shù)據(jù)在開辟的存儲器空間存放,拋棄前16位,在剩下的128位里分成8組,每組16位。比較其中間的8位,若有4位以上為1,則該16位為1,反之則為0。由此將接收到的144位恢復(fù)為8位數(shù)據(jù)。 為了不讓CPU頻繁地被數(shù)據(jù)接收和發(fā)送打斷,將DMA和MCBSP聯(lián)合使用來控制數(shù)據(jù)的接收和發(fā)送。RRDY直接驅(qū)動MCBSP向DMAC接收數(shù)據(jù)事件(REVENT事件),XRDY直接驅(qū)動MCBSP向DMAC發(fā)送數(shù)據(jù)事件(XEVENT事件)。 SCI通信協(xié)議如圖2所示1. 2 SPI串行通信設(shè)計(jì) 將C51置為主機(jī),VC5402為從機(jī)。McBSP的時鐘停止模式(CLKSTP=1X)兼容SPI模式,接收部分和發(fā)送部分內(nèi)部同步。McBSP可以作為SPI的從機(jī)或主機(jī)。發(fā)送時鐘BCLKX作為SPI協(xié)議的移位時鐘SCK使用,發(fā)送幀同步信號BFSX作為從機(jī)使能信號nSS使用,接收時鐘BCLKR和接收幀同步信號BFSR不使用。它們在內(nèi)部分別與BCLKX和BFSX直接連接。BDX作為MISO,而BDR作為MOSI,發(fā)送和接收具有相同字長。 C51中的并口P11和P12作為擴(kuò)展串行SPI輸人輸出口與VC5402連接,P10作為串行時鐘輸出口,P13作為幀同步信號輸出口_。 SPI串口連接如圖3所示。VC5402初始化程序(以圖3為例):STM#SPCRll,SPSAl;設(shè)置時鐘停止位進(jìn)入MCBSP的SPI模式STM#0X1000,SPSDl;時鐘開始于上升沿(無延遲)STM#SPCRl2,SPSAlSTM#0X0040,SPSDl;XINT由XRDY(即字尾)驅(qū)動STM#PCRl,SPSAlSTM#0X000C,SPSDl;對發(fā)送和接收時鐘,同步幀進(jìn)行設(shè)置STM#RCRllSPSAlSTM#0X0000,SPSDl;接收數(shù)據(jù)l幀1字1字8位STM#XCRll,SPSAlSTM#0X0000,SPSDl;發(fā)送數(shù)據(jù)1幀1字1字8位; P10發(fā)送到VC5402的移位時鐘是保證DSP正確采樣接收和發(fā)送數(shù)據(jù)的時鐘。它要保證和C51的采樣接收和發(fā)送數(shù)據(jù)的時鐘一致才能使主從機(jī)同步。2 并行通信設(shè)計(jì)與實(shí)現(xiàn) 2.1 VC5402的HPI接口原理 HPI一8是一個8位(HD0HD7)的連接DSP與主機(jī)設(shè)備或主處理器的并行接口。DSP與主機(jī)通過DSP的片內(nèi)RAM交換數(shù)據(jù),整個片內(nèi)RAM都可以作為HPI一8的存儲器。HPIA地址寄存器只能由主機(jī)直接訪問,存放當(dāng)前尋址的存儲器的地址;HPID數(shù)據(jù)鎖存器只能由主機(jī)直接訪問,存放當(dāng)前要寫入或讀出的數(shù)據(jù);HPIC控制寄存器可以被主機(jī)和VC5402共同訪問。HPI本身的硬件中斷邏輯可以完成主從設(shè)備之間的握手,主機(jī)通過置HPIC中的特定位產(chǎn)生DSP中斷,同樣DSP通過nHINT引腳對主機(jī)產(chǎn)生中斷。HRDY引腳用于自動調(diào)節(jié)主機(jī)訪問HPI的速度,使慢速外部主機(jī)與DSP能很好地匹配。HRDY由HCS使能,即當(dāng)HCS為高時HRDY一直為高,而當(dāng)EMUlnOFF為低時,HDRY輸出高阻。 HPI連接如圖4所示。2.2 并行接口設(shè)計(jì) 將C51置為主機(jī),VC5402置為從機(jī)。C51的PO口和HPI的8位數(shù)據(jù)線HD0HD7相連作為數(shù)據(jù)傳輸通道,P10P13設(shè)置為輸出控制HPI口的操作。其中P10作為讀寫控制選通信號連接HRW;P11連接字節(jié)識別信號HBIL,控制讀寫數(shù)據(jù)是屬于16位字的第1還是第2字節(jié);P12和P13分別連接HCNTL0和HCNTLl,以實(shí)現(xiàn)對HPIC、HPIA和HPID寄存器的訪問;nRD和nWR連接nHDSl和nHDS2作為數(shù)據(jù)選通信號來鎖存有效的HCNTLO1、HBIL和HRW信號。nINTl作為輸入,與HPI口的主機(jī)中斷信號nHINT相連。nHCS一直接地,而nHAS口和ALE口相連接,在HCNTL0I、HBIL和HRW信號有效之后,設(shè)置nHDSl為低電平,則實(shí)現(xiàn)了讀寫的數(shù)據(jù)選通,從而完成C51對VC5402 HPI口的讀寫操作。在數(shù)據(jù)交換過程中,C51向HPI發(fā)送數(shù)據(jù)時,通過置VC5402的HPI控制寄存器HPIC中的DSPINT位為l來中斷VC5402。C51接收來自HPI的數(shù)據(jù)時通過查詢方式,當(dāng)VC5402 DSP準(zhǔn)備發(fā)送數(shù)據(jù)時,置nHINT信號為低;C51查詢到nlNTl為低時,調(diào)用接收數(shù)據(jù)子程序來實(shí)現(xiàn)數(shù)據(jù)的接收。C51與VC5402的并行連接如圖5所示。 主機(jī)接收和發(fā)送初始化程序(以圖5連接為例):RTITEADDRESS: ;寫入VC5402存儲器地址信息 CLR P12注:HBlL腳在傳輸過程中指示當(dāng)前字節(jié)為第l還是第2字節(jié)。 為方便DSP自舉引導(dǎo)加載程序常采用將nHlNT腳直接與INT2 腳相連。 圖5 AT89C51與V05402的并行連接SETB P13 ;主機(jī)可讀寫HPlA地址寄存器CLR P10 ;主機(jī)要求寫選通HPI一8MOV P0,A ;寫入8位地址CALL DELAY ;等待地址寫入完成READDATA: ;讀出VC5402存儲器數(shù)據(jù)信息SETB P12CLR P13 ;主機(jī)可讀寫HPID數(shù)據(jù)寄存器SET P10 ;主機(jī)要求讀選通HPI一8MOVA,P0 ;讀出8位數(shù)據(jù)CALL DELAY ;等待數(shù)據(jù)讀出完成WRITEDATA: ;寫入VC5402存儲器數(shù)據(jù)信息SETB Pl2CLR P13 ;主機(jī)可讀寫HPID數(shù)據(jù)寄存器CLR P10 ;主機(jī)要求寫選通HPI一8MOV P0,A ;寫入8位數(shù)據(jù)CALL DELAY ;等待數(shù)據(jù)寫入完成 不管是串行連接還是并行連接,都要考慮到VC5402是采用33 V供電,C51采用5 V供電。兩者之間存在信號電平的差異而不能直接相連,應(yīng)互連接口隔離器件。結(jié) 語 在SCI串行通信調(diào)試中,發(fā)現(xiàn)由于DSP的運(yùn)行頻率在100 MHz左右,造成內(nèi)部數(shù)據(jù)時鐘CLKG過快,不能與C51串口采樣頻率保持一致,需要軟件加以處理,這樣會額外消耗DSP資源。因此可以考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學(xué)年阜陽市太和縣數(shù)學(xué)三上期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 2025-2026學(xué)年德惠市三年級數(shù)學(xué)第一學(xué)期期末復(fù)習(xí)檢測試題含解析
- 2024年徐州市沛縣三年級數(shù)學(xué)第一學(xué)期期末聯(lián)考模擬試題含解析
- 2024年瀘州市龍馬潭區(qū)數(shù)學(xué)三上期末復(fù)習(xí)檢測試題含解析
- 2024年嘉興市桐鄉(xiāng)市數(shù)學(xué)三年級第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 主管護(hù)師能力提升試題及答案
- 中國文化與全球化的關(guān)系研究試題及答案
- 藥物分類與臨床適應(yīng)癥解析試題及答案
- 行政管理的創(chuàng)新思維試題及答案
- 行政法學(xué)權(quán)威試題及答案匯集
- 少年中國說五線譜樂譜
- 上海建工集團(tuán)工具化、定型化、標(biāo)準(zhǔn)化安全防護(hù)設(shè)施圖集
- 化工裝置開車前檢查確認(rèn)表
- 隧道工程各施工階段質(zhì)量控制要點(diǎn)
- 旅游產(chǎn)品策劃與設(shè)計(jì)課件(完整版)
- 公共管理學(xué)(第3版)教學(xué)課件匯總完整版電子教案
- 一二三級配電箱原理圖、施工臨電平面圖
- 潔凈車間生產(chǎn)管理制度
- DB23∕T 1019-2020 黑龍江省建筑工程資料管理標(biāo)準(zhǔn)
- 杭州市市區(qū)歷年公房租金調(diào)整一覽表
- 熱力小室方案計(jì)劃全
評論
0/150
提交評論