国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

DSP與單片機(jī)通信的多種方案設(shè)計(jì)

發(fā)布時(shí)間:2010-9-14 15:39    發(fā)布者:techshare
關(guān)鍵詞: dsp , 單片機(jī) , 通信
DSP單片機(jī)構(gòu)成雙CPU處理器平臺(tái),可以充分利用DSP對(duì)大容量數(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(簡(jiǎn)稱VC5402)提供了2個(gè)支持高速、全雙工、帶緩沖、多種數(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,再?gòu)?fù)制到接收緩沖寄存器RBR,最后復(fù)制到數(shù)據(jù)接收寄存器DRR。這兩種數(shù)據(jù)多級(jí)緩沖方式使得數(shù)據(jù)搬移和片外數(shù)據(jù)通信能夠同時(shí)進(jìn)行。②控制通路負(fù)責(zé)內(nèi)部時(shí)鐘產(chǎn)生,幀同步信號(hào)產(chǎn)生,信號(hào)控制和多通道選擇。另外.還具有向CPU發(fā)送中斷信號(hào)和向DMAC發(fā)送同步事件的功能。MCBSP時(shí)鐘和幀同步信號(hào)通過CLKR、CLKX、FXR、FSX引腳進(jìn)行控制,接收器和發(fā)送器可以相互獨(dú)立地選擇外部時(shí)鐘和幀同步信號(hào),也可以選擇由內(nèi)部采樣率發(fā)生器產(chǎn)生時(shí)鐘和幀同步信號(hào)。幀同步脈沖有效表示傳輸?shù)拈_始。

1.1.2 SCI串行接口設(shè)計(jì)

設(shè)置VC5402的McRSP輸出時(shí)鐘和幀同步信號(hào)由內(nèi)部采樣率發(fā)生器產(chǎn)生,內(nèi)部數(shù)據(jù)時(shí)鐘CLKG和幀同步信號(hào)FSG驅(qū)動(dòng)發(fā)送時(shí)鐘CLKX和幀同步FSX(CLKXM=l,F(xiàn)SXM=l,F(xiàn)SGM=1),輸入時(shí)鐘也由內(nèi)部采樣率發(fā)生器產(chǎn)生,內(nèi)部數(shù)據(jù)時(shí)鐘CLKG驅(qū)動(dòng)接收時(shí)鐘CLKR(CLKRM=1),同時(shí)由CPU時(shí)鐘驅(qū)動(dòng)采樣率發(fā)生器(CLKSM=1)?紤]到AT89C51(簡(jiǎn)稱C51)串口發(fā)送數(shù)據(jù)幀中第l位為起始位,因此可以利用該位驅(qū)動(dòng)輸入幀同步信號(hào)FSR,同時(shí)要置忽略幀同步信號(hào)標(biāo)志為1。其中FSG幀同步脈沖寬度=(FWID+1)·CLKG;FSG幀同步脈沖周期=(FPER+1)·CLKG;采樣率發(fā)生器分頻系數(shù)(采樣率=波特率)=FIN/(CLKGDV+1)。

SCI串口連接如圖1所示。



1.1.3 波特率不一致的處理  

VC5402初始化(以圖1為例):

STM#SRGRl,SPSAl

STM#ooFEH,SPSDl;FSG幀同步脈沖寬度位為1個(gè)CLKG

;波特率為100 MHz/(0X(OFF)=392 156 b/s

STM#SRGR2,SPSAl

STM#3D00H,SPSDl;內(nèi)部采樣率發(fā)生器時(shí)鐘由CPU驅(qū)動(dòng)

C51初始化:

MOV TMOD,#20H

MOVTLl,#FFH

MOVTHl,#FFH ;C51波特率=(2SMOD/32)*(fosc/12)[1/(256一初值)]一24 509 b/s

MOV SCON,#50H ;置串口方式l,每一幀10位數(shù)據(jù).允許接收

MOV PCON,#80H ;設(shè)置SMOD=1

VC5402波特率/C51波特率=(392 156/24 509)=16.000 49

VC5402每發(fā)送16位數(shù)據(jù),C51只采樣1位數(shù)據(jù)。在VC5402存儲(chǔ)器中開辟一個(gè)空間對(duì)每次發(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以1/16的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ù)在開辟的存儲(chǔ)器空間存放,拋棄前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ū)動(dòng)MCBSP向DMAC接收數(shù)據(jù)事件(REVENT事件),XRDY直接驅(qū)動(dòng)MCBSP向DMAC發(fā)送數(shù)據(jù)事件(XEVENT事件)。

SCI通信協(xié)議如圖2所示

1. 2 SPI串行通信設(shè)計(jì)  

將C51置為主機(jī),VC5402為從機(jī)。McBSP的時(shí)鐘停止模式(CLKSTP=1X)兼容SPI模式,接收部分和發(fā)送部分內(nèi)部同步。McBSP可以作為SPI的從機(jī)或主機(jī)。發(fā)送時(shí)鐘BCLKX作為SPI協(xié)議的移位時(shí)鐘SCK使用,發(fā)送幀同步信號(hào)BFSX作為從機(jī)使能信號(hào)nSS使用,接收時(shí)鐘BCLKR和接收幀同步信號(hào)BFSR不使用。它們?cè)趦?nèi)部分別與BCLKX和BFSX直接連接。BDX作為MISO,而BDR作為MOSI,發(fā)送和接收具有相同字長(zhǎng)。

C51中的并口P1.1和P1.2作為擴(kuò)展串行SPI輸人輸出口與VC5402連接,P1.0作為串行時(shí)鐘輸出口,P1.3作為幀同步信號(hào)輸出口。

SPI串口連接如圖3所示。


VC5402初始化程序(以圖3為例):

STM#SPCRll,SPSAl;設(shè)置時(shí)鐘停止位進(jìn)入MCBSP的SPI模式

STM#0X1000,SPSDl;時(shí)鐘開始于上升沿(無延遲)

STM#SPCRl2,SPSAl

STM#0X0040,SPSDl;XINT由XRDY(即字尾)驅(qū)動(dòng)

STM#PCRl,SPSAl

STM#0X000C,SPSDl;對(duì)發(fā)送和接收時(shí)鐘,同步幀進(jìn)行設(shè)置

STM#RCRll.SPSAl

STM#0X0000,SPSDl;接收數(shù)據(jù)l幀1字.1字8位

STM#XCRll,SPSAl

STM#0X0000,SPSDl;;發(fā)送數(shù)據(jù)1幀1字.1字8位;

P1.0發(fā)送到VC5402的移位時(shí)鐘是保證DSP正確采樣接收和發(fā)送數(shù)據(jù)的時(shí)鐘。它要保證和C51的采樣接收和發(fā)送數(shù)據(jù)的時(shí)鐘一致.才能使主從機(jī)同步。  

2 并行通信設(shè)計(jì)與實(shí)現(xiàn)

2.1 VC5402的HPI接口原理

HPI一8是一個(gè)8位(HD0~HD7)的連接DSP與主機(jī)設(shè)備或主處理器的并行接口。DSP與主機(jī)通過DSP的片內(nèi)RAM交換數(shù)據(jù),整個(gè)片內(nèi)RAM都可以作為HPI一8的存儲(chǔ)器。HPIA地址寄存器只能由主機(jī)直接訪問,存放當(dāng)前尋址的存儲(chǔ)器的地址;HPID數(shù)據(jù)鎖存器只能由主機(jī)直接訪問,存放當(dāng)前要寫入或讀出的數(shù)據(jù);HPIC控制寄存器可以被主機(jī)和VC5402共同訪問。HPI本身的硬件中斷邏輯可以完成主從設(shè)備之間的握手,主機(jī)通過置HPIC中的特定位產(chǎn)生DSP中斷,同樣DSP通過nHINT引腳對(duì)主機(jī)產(chǎn)生中斷。HRDY引腳用于自動(dòng)調(diào)節(jié)主機(jī)訪問HPI的速度,使慢速外部主機(jī)與DSP能很好地匹配。HRDY由HCS使能,即當(dāng)HCS為高時(shí)HRDY一直為高,而當(dāng)EMUl/nOFF為低時(shí),HDRY輸出高阻。

HPI連接如圖4所示。


2.2 并行接口設(shè)計(jì)

將C51置為主機(jī),VC5402置為從機(jī)。C51的PO口和HPI的8位數(shù)據(jù)線HD0~HD7相連作為數(shù)據(jù)傳輸通道,P1.0~P1.3設(shè)置為輸出控制HPI口的操作。其中P1.0作為讀寫控制選通信號(hào)連接HR/W;P1.1連接字節(jié)識(shí)別信號(hào)HBIL,控制讀寫數(shù)據(jù)是屬于16位字的第1還是第2字節(jié);P1.2和P1.3分別連接HCNTL0和HCNTLl,以實(shí)現(xiàn)對(duì)HPIC、HPIA和HPID寄存器的訪問;nRD和nWR連接nHDSl和nHDS2作為數(shù)據(jù)選通信號(hào)來鎖存有效的HCNTLO/1、HBIL和HR/W信號(hào)。nINTl作為輸入,與HPI口的主機(jī)中斷信號(hào)nHINT相連。nHCS一直接地,而nHAS口和ALE口相連接,在HCNTL0/I、HBIL和HR/W信號(hào)有效之后,設(shè)置nHDSl為低電平,則實(shí)現(xiàn)了讀寫的數(shù)據(jù)選通,從而完成C51對(duì)VC5402 HPI口的讀寫操作。在數(shù)據(jù)交換過程中,C51向HPI發(fā)送數(shù)據(jù)時(shí),通過置VC5402的HPI控制寄存器HPIC中的DSPINT位為l來中斷VC5402。C51接收來自HPI的數(shù)據(jù)時(shí)通過查詢方式,當(dāng)VC5402 DSP準(zhǔn)備發(fā)送數(shù)據(jù)時(shí),置nHINT信號(hào)為低;C51查詢到nlNTl為低時(shí),調(diào)用接收數(shù)據(jù)子程序來實(shí)現(xiàn)數(shù)據(jù)的接收。

C51與VC5402的并行連接如圖5所示。


主機(jī)接收和發(fā)送初始化程序(以圖5連接為例):

RTITEADDRESS: ;寫入VC5402存儲(chǔ)器地址信息

CLR P1.2

注:①HBlL腳在傳輸過程中指示當(dāng)前字節(jié)為第l還是第2字節(jié)。

②為方便DSP自舉引導(dǎo)加載程序.常采用將nHlNT腳直接與INT2

腳相連。


圖5 AT89C51與V05402的并行連接

SETB P1.3 ;主機(jī)可讀寫HPlA地址寄存器

CLR P1.0 ;主機(jī)要求寫選通HPI一8

MOV P0,A ;寫入8位地址

CALL DELAY ;等待地址寫入完成

READDATA: ;讀出VC5402存儲(chǔ)器數(shù)據(jù)信息

SETB P1.2

CLR P1.3 ;主機(jī)可讀寫HPID數(shù)據(jù)寄存器

SET P1.0 ;主機(jī)要求讀選通HPI一8

MOVA,P0 ;讀出8位數(shù)據(jù)

CALL DELAY ;等待數(shù)據(jù)讀出完成

WRITEDATA: ;寫入VC5402存儲(chǔ)器數(shù)據(jù)信息

SETB Pl.2

CLR P1.3 ;主機(jī)可讀寫HPID數(shù)據(jù)寄存器

CLR P1.0 ;主機(jī)要求寫選通HPI一8

MOV P0,A ;寫入8位數(shù)據(jù)

CALL DELAY ;等待數(shù)據(jù)寫入完成

不管是串行連接還是并行連接,都要考慮到VC5402是采用3.3 V供電,C51采用5 V供電。兩者之間存在信號(hào)電平的差異而不能直接相連,應(yīng)互連接口隔離器件。  

結(jié) 語  

在SCI串行通信調(diào)試中,發(fā)現(xiàn)由于DSP的運(yùn)行頻率在100 MHz左右,造成內(nèi)部數(shù)據(jù)時(shí)鐘CLKG過快,不能與C51串口采樣頻率保持一致,需要軟件加以處理,這樣會(huì)額外消耗DSP資源。因此可以考慮將發(fā)送時(shí)鐘CLKX和接收時(shí)鐘CLKR接外部時(shí)鐘源(慢于DSP時(shí)鐘),以保證與C51串口采樣頻率的一致。另外在并行通信的調(diào)試中,可以知道通過HPI-8口并行通信完全沒有硬件和軟件開銷,由DSP自身的硬件來協(xié)調(diào)沖突,因此HPI-8口使用于與單片機(jī)構(gòu)件較好的主從雙CPU處理器平臺(tái)。
本文地址:http://www.qingdxww.cn/thread-26574-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 更佳設(shè)計(jì)的解決方案——Microchip模擬開發(fā)生態(tài)系統(tǒng)
  • 你仿真過嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 我們是Microchip
  • 利用模擬開發(fā)工具生態(tài)系統(tǒng)進(jìn)行安全電路設(shè)計(jì)
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本视频免费高清一本18 | 国产精品亚洲国产三区 | www.黄色在线观看 | 我不卡伦理 | eeuss影院在线观看第一页 | 国产在线麻豆精品观看 | 久久精品国产日本波多麻结衣 | 草逼视频免费观看 | 色版网站| 噜噜噜私人影院 | 久久福利一区 | 麻豆视频网址 | 国产私密视频 | 男女午夜特黄毛片免费 | 欧美视频在线免费看 | 成人午夜精品网站在线观看 | 九九九九在线精品免费视频 | 国产国语一级毛片 | 一级特黄女人生活片 | 你操综合| 国产日韩在线观看视频网站 | 日本国产视频 | 亚洲第十色 | 精品国产一区二区三区不卡在线 | 欧美伊人久久综合网 | 国产精品欧美一区二区三区不卡 | 一区二区三区四区在线播放 | 日本在线观看一级高清片 | 热久久影院| 九九九热视频 | 欧美黄色片免费看 | 国产成人精品高清不卡在线 | 国产特级毛片aaaaaa高清 | 亚洲福利一区二区三区 | 国产欧美另类久久精品91 | 青草园网站在线观看 | 在线免费观看国产 | 九九色播 | 四虎国产永久在线精品免费观看 | 久久精品国产99国产精品免费看 | 国产黄毛片 |