关键词不能为空

当前您在: 主页 > 英语 >

DSP串口通信

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

-

2021年3月3日发(作者:付之一笑)










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


提出


TMS3 20VC5402 DSP



AT89C51

< br>单片机


通信的三种设计方案。


利用


TMS320VC5402


的多通道缓冲串口


MCBSP


分别实现


TM


S320VC5402



AT89C51



SCI



SPI


串行通信,

< p>
以及通过


TMS320VC5402


< p>
8



增强主机接口


HPI



8


实现


TM S320VC5402



AT89C5l


并行通信。就硬件接口电


路和软件编程进行详细的阐述。



关键词


:单片机


DSP MCBSP HPI





DSP


和单片机构成双


CPU


处理器 平台,


可以充分利用


DSP


对大容量数 据和复杂


算法的处理能力,


以及单片机接口的控制能力。



DSP


与单片机之间快速正确的

< p>
通信是构建双


CPU


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


SCI



SPI



并行


HPI


三种 连接方式。





1


串行通信设计与实现




1 1 SCI


串行通信设计




1.1.1


多通道缓冲串行口


McB SP


原理




TMS320VC5402(


简称


VC5402)


提供了


2


个支持高速、全双工、带缓冲、多种数据< /p>


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


McBSP



MCESP


分为数据通路和控制通路。①数


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


CPU



DMAC


能够向数据发送寄存器


DXR


写入数据,


DXR


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


XSR


输出到


DX


引 脚。


DR


引脚接收数据到接收


移位寄存 器


RSR


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


R BR


,最后复制到数据接收寄存器


DR


R


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


制通路负责内部时钟产生,


帧同步信号产生,


信 号控制和多通道选择。


另外.



具有向


CPU


发送中断信号和向


DMAC


发送同步事件的功能。


MCBSP


时钟和帧 同步


信号通过


CLKR



CLKX



FXR



FSX


引脚进行控制,接收器和发送器可以相互独立

< br>地选择外部时钟和帧同步信号,


也可以选择由内部采样率发生器产生时钟和帧同< /p>


步信号。帧同步脉冲有效表示传输的开始。




1.1.2 SC


I


串行接口设计




设置


VC5402

< br>的


McRSP


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


部数据时钟


CLKG


和帧同步 信号


FSG


驱动发送时钟


CLKX


和帧同步


FSX(CLKXM=l



FSXM=l



FSGM=1)


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


CLKG


驱动接收时钟


CLKR(CLKRM=1)


,同时由


CPU


时钟驱动采样率发生器


(CLK SM=1)



考虑到


AT89C51(


简称


C51)


串口发送数据帧中第


l


位为起始位,因此可以利用该


位驱动输入 帧同步信号


FSR


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

< p>
1


。其中


FSG


帧同


步脉冲宽度=(FWID+1)·CLKG;


FSG


帧同步脉冲周期=(FPER+1)·CLKG;采样率发


生器分频系数


(


采样率


=


波特率< /p>


)=FIN



(CLKGDV+1)





SCI


串口连接如图


l


所示。



1.1.3


波特率不一致的处理




VC5402


初始化


(


以图


1


为例


)


:< /p>



STM#SRGRl,SPSAl


S TM#ooFEH



SPSDl



FSG


帧同步脉冲宽度位为


1



CLKG


;波特率为


100 MHz



(0X(OFF)=392 156 b



s


STM#SRGR2



SPSAl < /p>


STM#3D00H,SPSDl;


内部采样率发生器时钟由


CPU


驱动



C51


初始化:



MOV TMOD,#20H


MOVTLl,#FFH


MOVTHl



#FFH

< p>


C51


波特率


=(2S MOD



32)*(fosc



12)[1



(256


一初值


)]



24


509 b



s


MOV SCON



#50H


;置串口方式


l


,每一帧

10


位数据.允许接收



MOV PCON



#80H


;设置


SMOD=1


VC5402< /p>


波特率/


C51


波特率

< br>=(392 156



24 509)=16



000 49


< /p>


VC5402


每发送


16


位数据,


C51


只采样


1


位数据。



VC5402

< br>存储器中开辟一个空


间对每次发送的


8

< br>位数据进行扩展,


1


位扩为


16


位,


0



00 00H



l



FFFFH



共扩为


128

< p>
位。在数据头部填加


16


位起始位


0000H


,数据尾部填加停止位


FFFF

< p>
H




VC5402


发送控制寄存器


XCR


中设置


XWDLEN=000(1


字含


8

< br>位


)



即可将要发


送的


8


位数据封装成


1



10


字的数据。


这也符合


C51


串口


1


方式下


1



10


位的


数据格式。


C51


以< /p>


1



16



VC5402


采样速率接收数据,


0000 H


采样为


0



FFFFH


采样为


1


,由此可以将接收 到的


200


位恢复为


8


位数据,停止位进入


RB8





C51


每发送


1


位数据,


VC5402


要采样为< /p>


16


位数据。


C51

一次发送的


10


位数据的


起始位触 发


VC5402


的接收帧同步。由于


V C5402



16


< br>C51


的采样速率接收数


据,


1


位采样为


16


位,

0


采样为


0000H


< p>
1


采样为


FFFFH


.只 采样发送来的


10



中的前

< p>
9


位,


9


位封装成


144


位,即接收的


1


帧数据完成。


VC5402


将收到的


144


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


16

< p>
位,在剩下的


128


位里分成

8


组,


每组


16

< br>位。比较其中间的


8


位,若有


4


位以上为


1


,则该

16


位为


1


,反之则为

< p>
0


。由此将接收到的


144


位恢复为


8


位数据。




为了不让


CPU

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



DMA

< br>和


MCBSP


联合使用来控制数


据的接收和发送。


RRDY


直接驱动


M CBSP



DMAC


接收数据事件


(REVENT


事件


)


X


RDY


直接驱动


MCBSP



DMAC


发送 数据事件


(XEVENT


事件


)





SCI


通信协议如图


2


所示




1. 2 SPI


串行通信设计



-


-


-


-


-


-


-


-



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

DSP串口通信的相关文章