关键词不能为空

当前您在: 主页 > 英语 >

DSP与单片机通信的多种方案设计(精)

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-03 22:05
tags:

-

2021年3月3日发(作者:glay)


DSP


与单片机通信的多种方案设计









要:基于嵌入式系统发展的需要, 提出


TMS320VC5402 DSP


AT89C51


单片机通信的三种设计方案。利用


TMS3 20VC5402


的多通道缓冲串口


MCBSP


分别实现


TMS320VC5402



AT89C51



SCI


和< /p>


SPI


串行通信,以及通过


TMS320 VC5402



8


位增强主机接口


HPI



8


实现< /p>


TMS320VC5402



AT89C 5l



行通信。就硬件接口电路和软件编程进行详细的阐述。< /p>



关键词:单片机


DSP


MCBSP HPI








DSP


和单片机构成双


CPU


处理器平台,可以充分利用


DSP


对大容量


数据和复杂算法的处理能力,以及单片机接口的控制能力。而


DSP


与单片机之


间快速正确的通信是构建双


CP U


处理器的关键问题。下面就此问题分别设计串



SCI



SPI


和并行


HPI


三种连接方式。



1


串行通信设计与实现







1 1 SCI


串行通信设计







1.1.1


多通道缓冲串行口


McB SP


原理







TMS320VC5402(


简称


VC5402)


提供了


2


个支持高速、全双工、带缓冲、


多种数据格式等优点 的多通道缓冲串行口


McBSP



MC ESP


分为数据通路和控制通


路。①数据通路负责完成数据的收 发。


CPU



DMAC


能够向数据发送寄存器


DXR


写入数据,


DXR


中的数据通过发送移位寄存器


XSR


输出到


DX


引脚。


DR


引脚接收


数据到接收移位寄存器


RSR


,再复制到接收缓冲寄存器


RBR


,最 后复制到数据接


收寄存器


DRR


。这两 种数据多级缓冲方式使得数据搬移和片外数据通信能够同


时进行。②控制通路负责内部时 钟产生,帧同步信号产生,信号控制和多通道


选择。另外.还具有向

CPU


发送中断信号和向


DMAC


发送同步事件的功能。


MCBSP


时钟和帧同步信号通过


CLKR



CLKX



FXR



FSX

引脚进行控制,接收器和


发送器可以相互独立地选择外部时钟和帧同步信号,也可以 选择由内部采样率


发生器产生时钟和帧同步信号。帧同步脉冲有效表示传输的开始。


1.1.2 SCI


串行接口设计







设置


VC5402



McRSP


输出时钟和帧同步信号由内部采样率发生器产


生, 内部数据时钟


CLKG


和帧同步信号


F SG


驱动发送时钟


CLKX


和帧同步< /p>


FSX(CLKXM=l



FSXM=l



FSGM=1)


,输入时钟也由内部 采样率发生器产生,内部


数据时钟


CLKG

驱动接收时钟


CLKR(CLKRM=1)


,同时由


CPU


时钟驱动采样率发生



(CLKSM=1)


。考虑到


AT89C51(


简称


C51)


串口发送数据帧中第

< p>
l


位为起始位,


因此可以利用该位驱动输入帧同步 信号


FSR


,同时要置忽略帧同步信号标志为

< br>1


。其中


FSG


帧同步脉冲宽度


=(FWID 1)?CLKG



FS G


帧同步脉冲周期


=(FPER


1) ?CLKG


;采样率发生器分频系数


(


采样率


=


波特率


)=FIN

< p>


(CLKGDV 1)








SCI


串 口连接如图


l


所示。







1.1.3


波特率不一致的处理







VC5402


初始化


(

以图


1


为例


)


STM#SRGRl,SPSAl STM#ooFEH



SPSDl



FSG


帧同步脉冲宽度位为


1



C LKG


;波特率为


100 MHz



(0X(OFF)=392 156 b



s STM#SRGR2



SPSAl STM#3D00H,SP SDl;


内部采样率发生


器时钟由


CP U


驱动







C51


初始化:


MOV TMOD,#20H MOVTLl,#FFH MOVTHl



#FFH



C51


波特



=(2S MOD



32)*(fosc



12)[1



(256


一初值


)]



24 509 b



s MOV SCON



#50H


;置串口方式< /p>


l


,每一帧


10


位数据.允许接收


MOV PCON



#80H


;设置


SMOD=1 VC5402


波 特率/


C51


波特率


=(392 156



24 509)=16



000 49






VC5 402


每发送


16


位数据,

< p>
C51


只采样


1


位数据。 在


VC5402


存储器中


开辟一个空间 对每次发送的


8


位数据进行扩展,


1< /p>


位扩为


16


位,


0



0000H


l



FFFFH


,共扩为


128


位。在数据头部填加


16


位起始位


0000H


,数据尾部填加

< br>停止位


FFFFH


。在


VC54 02


发送控制寄存器


XCR


中设置


XWDLEN=000(1


字含


8



)


,即可将要发送的


8


位数据封装成


1


< br>10


字的数据。这也符合


C51


串口


1


方式下


1



10


位的数据格式。


C51



1



16



VC5402


采样速率接收数据,

< p>
0000H


采样为


0


,< /p>


FFFFH


采样为


1

,由此可以将接收到的


200


位恢复为

8


位数


据,停止位进入


RB8








C51


每 发送


1


位数据,


VC5402


要采样为


16


位数据。


C51


一次发送的


10


位数据的起始位 触发


VC5402


的接收帧同步。由于


VC5402



16



C51


的采样速


率接收数据,


1


位采样为


16


位,

< br>0


采样为


0000H



1


采样为


FFFFH


. 只采样发送


来的


10


位中的前


9


位,


9


位封装成


144


位,即接收的


1

帧数据完成。


VC5402



收到 的


144


位数据在开辟的存储器空间存放,抛弃前


16


位,在剩下的


128


位 里


分成


8


组,每组

16


位。比较其中间的


8


位,若有


4


位以上为


1


,则该


16


位为


1

,反之则为


0


。由此将接收到的


1 44


位恢复为


8


位数据。







为了不让


CPU

频繁地被数据接收和发送打断,将


DMA



MCBSP


联合使


用来控制数据的接收和发送。


RRDY


直接驱动


MCBSP



DMAC


接收数据事件


(R EVENT


事件


)


< br>XRDY


直接驱动


MCBSP



DMAC


发送数据事件


(XEVENT


事件


)








SCI


通信协议如图


2

所示







1. 2 SPI


串行通信设计








C51


置为主机,


VC5402

< p>
为从机。


McBSP


的时钟停止模式


(CLKSTP=1X)


兼容


SPI


模式,接收部分和发送部分内部同步。


McBSP


可以 作为


SPI


的从机或


主机。发送时钟< /p>


BCLKX


作为


SPI

< br>协议的移位时钟


SCK


使用,发送帧同步信号

< p>
BFSX


作为从机使能信号


nSS


使用,接收时钟


BCLKR


和接收帧同步信号


BFSR



使用。它们在内部分别与

< p>
BCLKX



BFSX


直 接连接。


BDX


作为


MISO


,而


BDR


作为


MOS I


,发送和接收具有相同字长。







C51


中的并口


P1



1



P1



2


作为扩展串行


SPI


输人输出口与< /p>


VC5402


连接,


P1



0


作为串行时钟输出口,


P 1



3


作为帧同步信号输出口


_








SPI


串口连接如图


3


所示。







VC5402


初始化程序

< p>
(


以图


3


为例

< p>
)



STM#SPCRll


SPSAl


;设置时钟停


止位进 入


MCBSP



SPI


模式


STM#0X1000



SPSDl


;时钟开始于上升沿


(


无 延迟


)


STM#SPCRl2,SPSAl STM#0X0 040



SPSDl



XINT



XRDY(


即字尾


)


驱动



STM#PCRl



SPSAl ST M#0X000C



SPSDl


;对发 送和接收时钟,同步帧进行设置



STM#RCRll



SPSAl S TM#0X0000



SPSDl


;接 收数据


l



1


字.


1



8




STM#XCRll



SPSAl S TM#0X0000



SPSDl


;; 发送数据


1



1


字.


1



8


位;







P1



0< /p>


发送到


VC5402


的移位时钟是保证< /p>


DSP


正确采样接收和发送数据


的时钟。 它要保证和


C51


的采样接收和发送数据的时钟一致.才能使主 从机同


步。








2


并行通信设计与实现







2.1 VC5402



HPI


接口原理







HPI



8


是一个


8



(HD0



HD7)

< br>的连接


DSP


与主机设备或主处理器的

< br>并行接口。


DSP


与主机通过


D SP


的片内


RAM


交换数据,整个片内


RAM


都可以作


HPI



8


的存储器。

< p>
HPIA


地址寄存器只能由主机直接访问,存放当前寻址的


存储器的地址;


HPID


数据锁存器只能由主机直接访 问,存放当前要写入或读出

-


-


-


-


-


-


-


-



本文更新与2021-03-03 22:05,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/703522.html

DSP与单片机通信的多种方案设计(精)的相关文章