當前位置:首頁 > 單片機 > 單片機
[導讀]基于嵌入式系統(tǒng)發(fā)展的需要,提出TMS320VC5402 DSP與AT89C51單片機通信的三種設計方案。

  :基于嵌入式系統(tǒng)發(fā)展的需要,提出TMS320VC5402 DSPAT89C51單片機通信的三種設計方案。利用TMS320VC5402的多通道緩沖串口MCBSP分別實現(xiàn)TMS320VC5402AT89C51SCISPI串行通信,以及通過TMS320VC54028位增強主機接口HPI8實現(xiàn)TMS320VC5402AT89C5l并行通信。就硬件接口電路和軟件編程進行詳細的闡述。

關(guān)鍵詞:單片機  DSP  MCBSP  HPI

 

    DSP和單片機構(gòu)成雙CPU處理器平臺,可以充分利用DSP對大容量數(shù)據(jù)和復雜算法的處理能力,以及單片機接口的控制能力。而DSP與單片機之間快速正確的通信是構(gòu)建雙CPU處理器的關(guān)鍵問題。下面就此問題分別設計串行SCI、SPI和并行HPI三種連接方式。

 

1  串行通信設計與實現(xiàn)

1 1 SCI串行通信設計

1.1.1  多通道緩沖串行口McBSP原理

    TMS320VC5402(簡稱VC5402)提供了2個支持高速、全雙工、帶緩沖、多種數(shù)據(jù)格式等優(yōu)點的多通道緩沖串行口McBSP。MCESP分為數(shù)據(jù)通路和控制通路。①數(shù)據(jù)通路負責完成數(shù)據(jù)的收發(fā)。CPUDMAC能夠向數(shù)據(jù)發(fā)送寄存器DXR寫入數(shù)據(jù),DXR中的數(shù)據(jù)通過發(fā)送移位寄存器XSR輸出到DX引腳。DR引腳接收數(shù)據(jù)到接收移位寄存器RSR,再復制到接收緩沖寄存器RBR,最后復制到數(shù)據(jù)接收寄存器DRR。這兩種數(shù)據(jù)多級緩沖方式使得數(shù)據(jù)搬移和片外數(shù)據(jù)通信能夠同時進行。②控制通路負責內(nèi)部時鐘產(chǎn)生,幀同步信號產(chǎn)生,信號控制和多通道選擇。另外.還具有向CPU發(fā)送中斷信號和向DMAC發(fā)送同步事件的功能。MCBSP時鐘和幀同步信號通過CLKR、CLKXFXR、FSX引腳進行控制,接收器和發(fā)送器可以相互獨立地選擇外部時鐘和幀同步信號,也可以選擇由內(nèi)部采樣率發(fā)生器產(chǎn)生時鐘和幀同步信號。幀同步脈沖有效表示傳輸?shù)拈_始。


1.1.2 SC
I串行接口設計

設置VC5402McRSP輸出時鐘和幀同步信號由內(nèi)部采樣率發(fā)生器產(chǎn)生,內(nèi)部數(shù)據(jù)時鐘CLKG和幀同步信號FSG驅(qū)動發(fā)送時鐘CLKX和幀同步FSX(CLKXM=lFSXM=l,FSGM=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,同時要置忽略幀同步信號標志為1。其中FSG幀同步脈沖寬度=(FWID+1)·CLKG;FSG幀同步脈沖周期=(FPER+1)·CLKG;采樣率發(fā)生器分頻系數(shù)(采樣率=波特率)=FIN(CLKGDV+1)。


    SCI
串口連接如圖l所示。

1.1.3  波特率不一致的處理

VC5402初始化(以圖1為例)

STM#SRGRl,SPSAl

STM#ooFEH,SPSDl;FSG幀同步脈沖寬度位為1CLKG

;波特率為100 MHz(0X(OFF)=392 156 bs

STM#SRGR2,SPSAl

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

    C51初始化:

MOV TMOD,#20H

MOVTLl,#FFH

MOVTHl,#FFH  ;C51波特率=(2SMOD32)*(fosc12)[1(256一初值)]24 509 bs

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

MOV PCON,#80H  ;設置SMOD=1

VC5402波特率/C51波特率=(392 15624 509)=16000 49


    VC5402
每發(fā)送16位數(shù)據(jù),C51只采樣1位數(shù)據(jù)。在VC5402存儲器中開辟一個空間對每次發(fā)送的8位數(shù)據(jù)進行擴展,1位擴為16位,00000H,lFFFFH,共擴為128位。在數(shù)據(jù)頭部填加16位起始位0000H,數(shù)據(jù)尾部填加停止位FFFFH。在VC5402發(fā)送控制寄存器XCR中設置XWDLEN=000(1字含8),即可將要發(fā)送的8位數(shù)據(jù)封裝成110字的數(shù)據(jù)。這也符合C51串口1方式下110位的數(shù)據(jù)格式。C51116VC5402采樣速率接收數(shù)據(jù),0000H采樣為0FFFFH采樣為1,由此可以將接收到的200位恢復為8位數(shù)據(jù),停止位進入RB8


    C51
每發(fā)送1位數(shù)據(jù),VC5402要采樣為16位數(shù)據(jù)。C51一次發(fā)送的10位數(shù)據(jù)的起始位觸發(fā)VC5402的接收幀同步。由于VC540216C51的采樣速率接收數(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位恢復為8位數(shù)據(jù)。


    為了不讓
CPU頻繁地被數(shù)據(jù)接收和發(fā)送打斷,將DMAMCBSP聯(lián)合使用來控制數(shù)據(jù)的接收和發(fā)送。RRDY直接驅(qū)動MCBSPDMAC接收數(shù)據(jù)事件(REVENT事件),XRDY直接驅(qū)動MCBSPDMAC發(fā)送數(shù)據(jù)事件(XEVENT事件)。


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

1. 2 SPI串行通信設計

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

   
     
C51
中的并口P11P12作為擴展串行SPI輸人輸出口與VC5402連接,P10作為串行時鐘輸出口,P13作為幀同步信號輸出口_。


    SPI
串口連接如圖3所示。

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

STM#SPCRllSPSAl;設置時鐘停止位進入MCBSPSPI模式

STM#0X1000SPSDl;時鐘開始于上升沿(無延遲)

STM#SPCRl2,SPSAl

STM#0X0040,SPSDlXINTXRDY(即字尾)驅(qū)動

STM#PCRl,SPSAl

STM#0X000CSPSDl;對發(fā)送和接收時鐘,同步幀進行設置

STM#RCRllSPSAl

STM#0X0000,SPSDl;接收數(shù)據(jù)l1字.18

STM#XCRll,SPSAl

STM#0X0000SPSDl;;發(fā)送數(shù)據(jù)11字.18位;

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

 

2  并行通信設計與實現(xiàn)

2.1 VC5402HPI接口原理

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


    HPI
連接如圖4所示。

2.2  并行接口設計

    C51置為主機,VC5402置為從機。C51PO口和HPI8位數(shù)據(jù)線HD0HD7相連作為數(shù)據(jù)傳輸通道,P10P13設置為輸出控制HPI口的操作。其中P10作為讀寫控制選通信號連接HRWP11連接字節(jié)識別信號HBIL,控制讀寫數(shù)據(jù)是屬于16位字的第1還是第2字節(jié);P12P13分別連接HCNTL0HCNTLl,以實現(xiàn)對HPIC、HPIAHPID寄存器的訪問;nRDnWR連接nHDSlnHDS2作為數(shù)據(jù)選通信號來鎖存有效的HCNTLO1、HBILHRW信號。nINTl作為輸入,與HPI口的主機中斷信號nHINT相連。nHCS一直接地,而nHAS口和ALE口相連接,在HCNTL0I、HBILHRW信號有效之后,設置nHDSl為低電平,則實現(xiàn)了讀寫的數(shù)據(jù)選通,從而完成C51VC5402 HPI口的讀寫操作。在數(shù)據(jù)交換過程中,C51HPI發(fā)送數(shù)據(jù)時,通過置VC5402HPI控制寄存器HPIC中的DSPINT位為l來中斷VC5402。C51接收來自HPI的數(shù)據(jù)時通過查詢方式,當VC5402 DSP準備發(fā)送數(shù)據(jù)時,置nHINT信號為低;C51查詢到nlNTl為低時,調(diào)用接收數(shù)據(jù)子程序來實現(xiàn)數(shù)據(jù)的接收。

C51VC5402的并行連接如圖5所示。

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

RTITEADDRESS    ;寫VC5402存儲器地址信息

    CLR P12

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

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

    腳相連。


    圖
5  AT89C51V05402的并行連接

SETB P13    ;主機可讀寫HPlA地址寄存器

CLR P10    ;主機要求寫選通HPI8

MOV P0,A    ;寫入8位地址

CALL DELAY  ;等待地址寫入完成

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

SETB P12

CLR P13    ;主機可讀寫HPID數(shù)據(jù)寄存器

SET P10    ;主機要求讀選通HPI8

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

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

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

SETB Pl2

CLR P13    ;主機可讀寫HPID數(shù)據(jù)寄存器

CLR P10    ;主機要求寫選通HPI8

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

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

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

 

結(jié) 

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉