DSP与单片机通信的多种方案设计_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、dsp与单片机通信的多种方案设计将和构成双cpu处理器平台,可以充分利用dsp对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而dsp与单片机之间迅速正确的通信是构建双cpu处理器的关键问题。下面就此问题分离设计串行sci、spi和并行hpi三种衔接方式。1 串行通信设计与实现1 1 sci串行通信设计1.1.1 多通道缓冲串行口mcbsp原理tms320vc5402(简称vc5402)提供了2个支持高速、全双工、带缓冲、多种数据格式等优点的多通道缓冲串行口mcbsp。mcesp分为数据通路和控制通路。数据通路负责完成数据的收发。cpu或dmac能够向数据发送寄存器dxr写入数据,

2、dxr中的数据通过发送移位寄存器xsr输出到dx引脚。dr引脚接收数据到接收移位寄存器rsr,再复制到接收缓冲寄存器rbr,最后复制到数据接收寄存器drr。这两种数据多级缓冲方式使得数据搬移和片外数据通信能够同时举行。控制通路负责内部时钟产生,帧同步信号产生,信号控制和多通道挑选。另外还具有向cpu发送中断信号和向dmac发送同步大事的功能。mcbsp时钟和帧同步信号通过clkr、clkx、fxr、fsx引脚举行控制,接收器和发送器可以互相自立地挑选外部时钟和帧同步信号,也可以挑选由内部采样率发生器产生时钟和帧同步信号。帧同步脉冲有效表示传输的开头。1.1.2 sci串行接口设计设置vc540

3、2的mcrsp输出时钟和帧同步信号由内部采样率发生器产生,内部数据时钟clkg和帧同步信号fsg驱动发送时钟clkx和帧同步fsx(clkxm=l,fsxm=l,fsgm=1),输入时钟也由内部采样率发生器产生,内部数据时钟clkg驱动接收时钟clkr(clkrm=1),同时由cpu时钟驱动采样率发生器(clksm=1)。考虑到at89c51(简称c51)串口发送数据帧中第l位为起始位,因此可以利用该位驱动输入帧同步信号fsr,同时要置忽视帧同步信号标记为1。其中fsg帧同步脉冲宽度=(fwid+1)·clkg;fsg帧同步脉冲周期=(fper+1)·clkg;采样率发生器

4、分频系数(采样率=波特率)=fin(clkgdv+1)。sci串口衔接1所示。1.1.3 波特率不全都的处理vc5402初始化(以图1为例):stmsrgrl,spsalstmoofeh,spsdl;fsg帧同步脉冲宽度位为1个clkg;波特率为100 mhz(0x(off)=392 156 bsstmsrgr2,spsalstm3d00h,spsdl;内部采样率发生器时钟由cpu驱动c51初始化:mov tmod,20hmovtll,ffhmovthl,ffh ;c51波特率=(2smod32)*(fosc12)1(256一初值)一24 509 bsmov scon,50h ;置串口方式l,

5、每一帧10位数据允许接收mov pcon,80h ;设置smod=1vc5402波特率c51波特率=(392 15624 509)=16000 49vc5402每发送16位数据,c51只采样1位数据。在vc5402存储器中开拓一个空间对每次发送的8位数据举行扩展,1位扩为16位,0为0000h,l为ffffh,共扩为128位。在数据头部填加16位起始位0000h,数据尾部填加停止位ffffh。在vc5402发送控制寄存器xcr中设置xwdlen=000(1字含8位),即可将要发送的8位数据封装成1帧10字的数据。这也符合c51串口1方式下1帧10位的数据格式。c51以116的vc5402采样速

6、率接收数据,0000h采样为0,ffffh采样为1,由此可以将接收到的200位复原为8位数据,停止位进入rb8。c51每发送1位数据,vc5402要采样为16位数据。c51一次发送的10位数据的起始位触发vc5402的接收帧同步。因为vc5402以16倍c51的采样速率接收数据,1位采样为16位,0采样为0000h,1采样为ffffh只采样发送来的10位中的前9位,9位封装成144位,即接收的1帧数据完成。vc5402将收到的144位数据在开拓的存储器空间存放,抛弃前16位,在剩下的128位里分成8组,每组16位。比较其中间的8位,若有4位以上为1,则该16位为1,反之则为0。由此将接收到的1

7、44位复原为8位数据。为了不让cpu频繁地被数据接收和发送打断,将dma和mcbsp联合用法来控制数据的接收和发送。rrdy挺直驱动mcbsp向dmac接收数据大事(revent大事),xrdy挺直驱动mcbsp向dmac发送数据大事(xevent大事)。sci通信协议2所示1. 2 spi串行通信设计将c51置为主机,vc5402为从机。mcbsp的时钟停止模式(clkstp=1x)兼容spi模式,接收部分和发送部分内部同步。mcbsp可以作为spi的从机或主机。发送时钟bclkx作为spi协议的移位时钟sck用法,发送帧同步信号bfsx作为从机使能信号nss用法,接收时钟bclkr和接收帧

8、同步信号bfsr不用法。它们在内部分离与bclkx和bfsx挺直衔接。bdx作为miso,而bdr作为mosi,发送和接收具有相同字长。c51中的并口p11和p12作为扩展串行spi输人输出口与vc5402衔接,p10作为串行时钟输出口,p13作为帧同步信号输出口。spi串口衔接3所示。vc5402初始化程序(以图3为例):stmspcrll,spsal;设置时钟停止位进入mcbsp的spi模式stm0x1000,spsdl;时钟开头于升高沿(无延迟)stmspcrl2,spsalstm0x0040,spsdl;xint由xrdy(即字尾)驱动stmpcrl,spsalstm0x000c,sp

9、sdl;对发送和接收时钟,同步帧举行设置stmrcrllspsalstm0x0000,spsdl;接收数据l帧1字1字8位stmxcrll,spsalstm0x0000,spsdl;发送数据1帧1字1字8位;p10发送到vc5402的移位时钟是保证dsp正确采样接收和发送数据的时钟。它要保证和c51的采样接收和发送数据的时钟全都才干使主从机同步。2 并行通信设计与实现2.1 vc5402的hpi接口原理hpi一8是一个8位(hd0hd7)的衔接dsp与主机设备或主处理器的并行接口。dsp与主机通过dsp的片内ram交换数据,囫囵片内ram都可以作为hpi一8的存储器。hpia地址寄存器只能由主

10、机挺直拜访,存放当前寻址的存储器的地址;hpid数据锁存器只能由主机挺直拜访,存放当前要写入或读出的数据;h控制寄存器可以被主机和vc5402共同拜访。hpi本身的硬件中断规律可以完成主从设备之间的握手,主机通过置hpic中的特定位产生dsp中断,同样dsp通过nhint引脚对主机产生中断。hrdy引脚用于自动调整主机拜访hpi的速度,使慢速外部主机与dsp能很好地匹配。hrdy由hcs使能,即当hcs为高时hrdy向来为高,而当emulnoff为低时,hdry输出高阻。hpi衔接4所示。2.2 并行接口设计将c51置为主机,vc5402置为从机。c51的po口和hpi的8位数据线hd0hd7

11、相连作为数据传输通道,p10p13设置为输出控制hpi口的操作。其中p10作为读写控制选通信号衔接hrw;p11衔接字节识别信号hbil,控制读写数据是属于16位字的第1还是第2字节;p12和p13分离衔接hcntl0和hcntll,以实现对hpic、hpia和hpid寄存器的拜访;nrd和nwr衔接nhdsl和nhds2作为数据选通信号来锁存有效的hcntlo1、hbil和hrw信号。nintl作为输入,与hpi口的主机中断信号nhint相连。nhcs向来接地,而nhas口和ale口相衔接,在hcntl0i、hbil和hrw信号有效之后,设置nhdsl为低电平,则实现了读写的数据选通,从而完

12、成c51对vc5402 hpi口的读写操作。在数据交换过程中,c51向hpi发送数据时,通过置vc5402的hpi控制寄存器hpic中的dspint位为l来中断vc5402。c51接收来自hpi的数据时通过查询方式,当vc5402 dsp预备发送数据时,置nhint信号为低;c51查询到nlntl为低时,调用接收数据子程序来实现数据的接收。c51与vc5402的并行衔接5所示。主机接收和发送初始化程序(以图5衔接为例):rtiteaddress: ;写入vc5402存储器地址信息clr p12注:hbll脚在传输过程中指示当前字节为第l还是第2字节。为便利dsp自举引导加载程序常采纳将nhln

13、t脚挺直与int2脚相连。图5 at89c51与v05402的并行衔接setb p13 ;主机可读写hpla地址寄存器clr p10 ;主机要求写选通hpi一8mov p0,a ;写入8位地址call delay ;等待地址写入完成readdata: ;读出vc5402存储器数据信息setb p12clr p13 ;主机可读写hpid数据寄存器set p10 ;主机要求读选通hpi一8mova,p0 ;读出8位数据call delay ;等待数据读出完成writta: ;写入vc5402存储器数据信息setb pl2clr p13 ;主机可读写hpid数据寄存器clr p10 ;主机要求写选通hpi一8mov p0,a ;写入8位数据call delay ;等待数据写入完成不管是串行衔接还是并行衔接,都要考虑到vc5402是采纳33 v供电,c51采纳5 v供电。两者之间存在信号电平的差异而不能挺直相连,应互衔接口隔离器件。结 语在sci串行通信调试中,发觉因为dsp的运行频率在100 mh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论