论与单片机通信的多种方案设计_第1页
论与单片机通信的多种方案设计_第2页
论与单片机通信的多种方案设计_第3页
论与单片机通信的多种方案设计_第4页
论与单片机通信的多种方案设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、论与单片机通信的多种方案设计单片机方案设计摘要:本文将探索基于嵌入式系统发展的需要,提出TMS320VC5402 DSP与AT89C51单片机通信的三种设计方案。利用TMS320VC5402的多通道缓冲串口MCBSP分别实现TMS320VC5402与AT89C51的SCI和SPI串行通信,以及通过TMS320VC5402的8位增强主机接口HPI一8实现TMS320VC5402与AT89C5l并行通信。就硬件接口电路和软件编程进行详细的阐述。关键词:单片机;DSP;MCBSP;HPI中图分类号:TP393文献标识码:A文章编号:1009-31576-01DSP and Microcontroll

2、er Design A Variety of CommunicationsHUANG Zheng-pengAbstract:Based on the embedded system development needs to TMS320VC5402 DSP and the three AT89C51 Communication Design program. Use TMS320VC5402 McBSP MCBSP respectively TMS320VC5402 and AT89C51 of SCI and SPI serial communications, as well as thr

3、ough enhanced TMS320VC5402 eight HPI TMS320VC5402 and achieve an 8 AT89C5l parallel communication. The hardware and software programming interface circuit elaborated.Key words:MCU DSP HPI MCBSP1 引言将DSP和单片机构成双CPU处理器平台,可以充分利用DSP对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而DSP与单片机之间快速正确的通信是构建双CPU处理器的关键问题。下面就此问题分别设计串

4、行SCI、SPI和并行HPI三种连接方式。2 串行通信设计与实现 SCI串行通信设计 多通道缓冲串行口McBSP原理TMS320VC5402提供了2个支持高速、全双工、带缓冲、多种数据格式等优点的多通道缓冲串行口McBSP。MCESP分为数据通路和控制通路。数据通路负责完成数据的收发。CPU或DMAC能够向数据发送寄存器DXR写入数据,DXR中的数据通过发送移位寄存器XSR输出到DX引脚。DR引脚接收数据到接收移位寄存器RSR,再复制到接收缓冲寄存器RBR,最后复制到数据接收寄存器DRR。这两种数据多级缓冲方式使得数据搬移和片外数据通信能够同时进行。控制通路负责内部时钟产生,帧同步信号产生,信

5、号控制和多通道选择。另外还具有向CPU发送中断信号和向DMAC发送同步事件的功能。MCBSP时钟和帧同步信号通过CLKR、CLKX、FXR、FSX引脚进行控制,接收器和发送器可以相互独立地选择外部时钟和帧同步信号,也可以选择由内部采样率发生器产生时钟和帧同步信号。帧同步脉冲有效表示传输的开始。SCI串行接口设计设置VC5402的McRSP输出时钟和帧同步信号由内部采样率发生器产生,内部数据时钟CLKG和帧同步信号FSG驱动发送时钟CLKX和帧同步FSX,输入时钟也由内部采样率发生器产生,内部数据时钟CLKG驱动接收时钟CLKR,同时由CPU时钟驱动采样率发生器。考虑到AT89C51串口发送数据

6、帧中第l位为起始位,因此可以利用该位驱动输入帧同步信号FSR,同时要置忽略帧同步信号标志为1。其中FSG帧同步脉冲宽度=CLKG;FSG帧同步脉冲周期=CLKG;采样率发生器分频系数=FIN/。波特率不一致的处理VC5402初始化:STM#SRGRl,SPSAl;STM#ooFEH,SPSDl;FSG帧同步脉冲宽度位为1个CLKG;波特率为100 MHz/=392 156 b/s;STM#SRGR2,SPSAlSTM#3D00H,SPSDl;内部采样率发生器时钟由CPU驱动;C51初始化:MOV TMOD,#20H;MOVTLl,#FFH;MOVTHl,#FFH;C51波特率=*1/-24 5

7、09 b/s;MOV SCON,#50H;置串口方式l,每一帧10位数据,允许接收;MOV PCON,#80H;设置SMOD=1;VC5402波特率/C51波特率=16. 000 49;VC5402每发送16位数据,C51只采样1位数据。在VC5402存储器中开辟一个空间对每次发送的8位数据进行扩展,1位扩为16位,0为0000H,l为FFFFH,共扩为128位。在数据头部填加16位起始位0000H,数据尾部填加停止位FFFFH。在VC5402发送控制寄存器XCR中设置XWDLEN=000,即可将要发送的8位数据封装成1帧10字的数据。这也符合C51串口1方式下1帧10位的数据格式。C51以1

8、/16的VC5402采样速率接收数据,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,反

9、之则为0。由此将接收到的144位恢复为8位数据。为了不让CPU频繁地被数据接收和发送打断,将DMA和MCBSP联合使用来控制数据的接收和发送。RRDY直接驱动MCBSP向DMAC接收数据事件,XRDY直接驱动MCBSP向DMAC发送数据事件。SPI串行通信设计将C51置为主机,VC5402为从机。McBSP的时钟停止模式兼容SPI模式,接收部分和发送部分内部同步。McBSP可以作为SPI的从机或主机。发送时钟BCLKX作为SPI协议的移位时钟SCK使用,发送帧同步信号BFSX作为从机使能信号nSS使用,接收时钟BCLKR和接收帧同步信号BFSR不使用。它们在内部分别与BCLKX和BFSX直接连

10、接。BDX作为MISO,而BDR作为MOSI,发送和接收具有相同字长。C51中的并口和作为扩展串行SPI输人输出口与VC5402连接,作为串行时钟输出口,作为帧同步信号输出口。VC5402初始化程序:STM#SPCRll,SPSAl;设置时钟停止位进入MCBSP的SPI模式;STM#0X1000,SPSDl;时钟开始于上升沿;STM#SPCRl2,SPSAl;STM#0X0040,SPSDl;XINT由XRDY驱动;STM#PCRl,SPSAl;STM#0X000C,SPSDl;对发送和接收时钟,同步帧进行设置STM#RCRll. SPSAl;STM#0X0000,SPSDl;接收数据l帧1字

11、。1字8位;STM#XCRll,SPSAl;STM#0X0000,SPSDl;发送数据1帧1字。1字8位;发送到VC5402的移位时钟是保证DSP正确采样接收和发送数据的时钟。它要保证和C51的采样接收和发送数据的时钟一致。才能使主从机同步。3 并行通信设计与实现 VC5402的HPI接口原理 HPI8是一个8位的连接DSP与主机设备或主处理器的并行接口。DSP与主机通过DSP的片内RAM交换数据,整个片内RAM都可以作为HPI8的存储器。HPIA地址寄存器只能由主机直接访问,存放当前寻址的存储器的地址;HPID数据锁存器只能由主机直接访问,存放当前要写入或读出的数据;HPIC控制寄存器可以被

12、主机和VC5402共同访问。HPI本身的硬件中断逻辑可以完成主从设备之间的握手,主机通过置HPIC中的特定位产生DSP中断,同样DSP通过nHINT引脚对主机产生中断。HRDY引脚用于自动调节主机访问HPI的速度,使慢速外部主机与DSP能很好地匹配。HRDY由HCS使能,即当HCS为高时HRDY一直为高,而当EMUl/nOFF为低时,HDRY输出高阻。并行接口设计将C51置为主机,VC5402置为从机。C51的PO口和HPI的8位数据线HD0HD7相连作为数据传输通道,设置为输出控制HPI口的操作。其中P10作为读写控制选通信号连接HR/W;连接字节识别信号HBIL,控制读写数据是属于16位字

13、的第1还是第2字节;和分别连接HCNTL0和HCNTLl,以实现对HPIC、HPIA和HPID寄存器的访问;nRD和nWR连接nHDSl和nHDS2作为数据选通信号来锁存有效的HCNTLO/1、HBIL和HR/W信号。nINTl作为输入,与HPI口的主机中断信号nHINT相连。nHCS直接地,而nHAS口和ALE口相连接,在HCNTL0/I、HBIL和HR/W信号有效之后,设置nHDSl为低电平,则实现了读写的数据选通,从而完成C51对VC5402 HPI口的读写操作。在数据交换过程中,C51向HPI发送数据时,通过置VC5402的HPI控制寄存器HPIC中的DSPINT位为l来中断VC540

14、2。C51接收来自HPI的数据时通过查询方式,当VC5402 DSP准备发送数据时,置nHINT信号为低;C51查询到nlNTl为低时,调用接收数据子程序来实现数据的接收。主机接收和发送初始化程序:RTITEADDRESS:;写入VC5402存储器地址信息CLR 。注:HBlL脚在传输过程中指示当前字节为第l还是第2字节。为方便DSP自举引导加载程序。常采用将nHlNT脚直接与INT2脚相连。AT89C51与V05402的并行连接;SETB ;主机可读写HPlA地址寄存器;CLR ;主机要求写选通HPI8;MOV P0,A;写入8位地址;CALL DELAY;等待地址写入完成;READDATA:;读出VC5402存储器数据信息;SETB ;CLR ;主机可读写HPID数据寄存器;SET ;主机要求读选通HPI一8;MOVA,P0;读出8位数据;CALL DELAY ;等待数据读出完成;WRITEDATA:;写入VC5402存储器数据信息;SETB ;CLR ;主机可读写HPID数据寄存器;CLR ;主机要求写选通HPI8;MOV P0,A;写入8位数据;CALL DELAY;等待数据写入完成。不管是串行连接还是并行连接,都要考虑到VC5402是采用供电,C51采用5V供电。两者之间存在信号电平的差异而不能直接相连,应互连接

温馨提示

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

评论

0/150

提交评论