SPI总线在XF-S4240与MCS51通信中的设计-设计应用_第1页
SPI总线在XF-S4240与MCS51通信中的设计-设计应用_第2页
SPI总线在XF-S4240与MCS51通信中的设计-设计应用_第3页
SPI总线在XF-S4240与MCS51通信中的设计-设计应用_第4页
SPI总线在XF-S4240与MCS51通信中的设计-设计应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

精品文档-下载后可编辑SPI总线在XF-S4240与MCS51通信中的设计-设计应用

同步外设接口(SPI)是由摩托罗拉公司开发的全双工同步串行总线,该总线大量用在与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设器件通信。SPI(SerialPeripheralInterface)是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI接口由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS决定了的与主设备通信的从设备,如没有CS信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由SDO输出,SDI输入,数据在时钟的上升或下降沿由SDO输出,在紧接着的下降或上升沿由SDI读入,这样经过8/16次时钟的改变,完成8/16位数据的传输。

本文介绍的C51软件模拟实现SPI通信接口的方法,编程简单,有效降低了系统的成本。该方法已在项目开发中得到了验证。

1语音模块XF-S4240

XF-S4240语音合成模块是一款高端中文语音合成模块。该模块可通过UART、SPI和I2C三种接口接收待朗读的文本,将文本转换为语音输出,具有非常好的文本朗读效果。模块采用COB(ChipOnBoard)封装,可方便的集成到需要中文语音合成功能的嵌入式设备之中。此模块面向无法利用软件实现语音合成的嵌入式应用环境提供一套效果卓越的语音技术解决方案。

XF-S4240语音模块封装成16引脚形式,其13~16脚就是SPI通信接口。

其命令格式由帧头、数据长度区及数据区3部分组成。如要合成"欢迎您参观莫高窟。",只需对模块发送格式为GB2312的文本代码:

其中0xFD为帧头,0x00为数据区长度的高字节,0x14为数据区长度的低字节(注意:长度字节为合成代码字节长+2),0x01为语音合成命令,0x00为GB2312的命令码。0xBB、0xB6为"欢"的GB2312码,0xD3、0xAD为"迎"的G132312码……0xA1、0xA3为"."的GB2312码。

2XF-S4240的SPl通信方式

2.1XF-S4240的SPI通信说明

XF-S4240模块的SPI接口是4线全双工同步串行通信接口。模块在SPI通信中设置为Slave身份,SPI通信所需的时钟信号由上位机提供,即上位机作为SPI通信中的Master身份,传输数据的位数为8位。

图1是SPI通信的时序。SPI通信属于同步串行通信。在与模块的通信中,上位机将提供SCK同步时钟信号。在SCK的上升沿,模块和上位机同时锁存1位数据,每传输8位数据完成1字节数据的传输。使用SSEL选择使能信号,是为了方便用户在SPI通信接口上挂接多个XF-S4240板卡(或其他SPI接口的设备)。在与选定的XF-S4240板卡通信时,要将此设备的SSEL置为低电平,否则无法正常通信。

在本项目中,单片机是主设备,语音模块是从设备。主模式的显着特征是:不论是发送还是接收,始终有SPI-CLK信号,SPISTE信号不是必需的。因为SPI串口只能有1片主机,因而不存在主机选择问题,而且主模式下,同步时钟SPICLK应由主机提供。

2.2SPI通信的工作原理

要模拟SPI接口的工作过程,必须先了解SPI通信的工作原理。

在主机发送数据时,直接将要发送的数据写到主机的数据发送寄存器SPIDAT.这个写操作就自动地启动了主机的发送过程,即在同步时钟SPICLK的节拍下将SPIDAT的内容按位送到引脚SPISIMO上。经过8位时钟周期完成1字节的发送。当SPIDAT的内容移送完毕时,硬件将置一个中断标志SPIINTFLAG,通知主机这个数据块发送完毕。

对于从机,在同步时钟SPICLK的作用下,将引脚SPISI-MO上的数据按位接收到移位寄存器SPIDAT.当一个完整的数据块接收完毕后,将置一个中断标志SPIINTFLAG,通知从机这个数据块接收完毕;同时将这个数据块的内容复制到从机的SPI数据接收寄存器SPIRXBUF中,并进行右对齐。SPI通信中主机和从机的连接如图2所示。

3软件模拟SPI接口的实现

3.1XF-S4240语音模块与单片机的连接

本设计中,AT89C51的SCI接口已被RFID读卡模块WM-01TA占用,由于AT89C51不带有SPI接口,需要用I/O口模拟实现SPI接口来实现与XF-S4240的通信。为了保持电路与AT89S8252电路的一致性,在AT89C51的P1口(其中的P1.4~P1.7)上扩展了SPI接口。

SS(P1.4):从使能输入脚,低电平有效。

MOSI(P1.5):主数据输出或从数据输入脚。

MISO(P1.6):主数据输入或从数据输出脚。

SCK(P1.7):主时钟输出或从时钟输入脚。

CS(P1.1):片选。

RST(P1.0):语音模块复位。

XF-S4240与单片机的连接如图3所示。

3.2虚拟SPI通信的软件模拟流程及验证

虚拟与SPI流程如图4所示。

虚拟SPI通信程序及验证如下:利用此SPI通信子程序,实现了需要的语音合成功能。结语

温馨提示

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

评论

0/150

提交评论