首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
TMS320F2812SPI接口设计
来源:本站整理  作者:佚名  2010-06-20 10:28:14







1.2.2写时序

在对25LC040进行任何写操作之前,必须先执行WREN(写使能)指令。写使能指令的操作如图2所示。先使片选信号为低,然后传送写使能指令到25LC040中,指令传送完毕后,必须将片选信号设置为高以完成写使能操作。如果写指令传送结束后没有拉高片选信号,直接进行写操作,那么数据将不会写入到存储阵列中。



写使能操作完成后,片选信号应该被拉低以进行写操作,时序如图3所示。写指令、写入地址以及写入的数据会被依次传送到25LC040中。若要使数据正确地写入到存储阵列中,片选信号应该在最后一个有效字节的D0位传送完毕后被拉高。



2TMS320F2812的SPI接口设计

TMS320F2812与25LC040的硬件连接如图4所示。TMS320F2812工作在主模式,SPISIMO为主模式下的数据输出接口,连接到25LC040的数据接收端口;SPISOMI为主模式下的数据输入接口,连接到25LC040的数据发送端口;时钟信号SPICLK和片选信号SPISTE均由TMS320F2812产生。写保护引脚WP直接接高电平以确保25LC040总是可以被写入。



2.1 SPI模块的设置

SPI模块的波特率可由如下两种情况计算得出:
①SPIBRR=3~127,波特率的计算公式为:
SPI波特率=LSPCLK/(SPIBRR+1)
②SPIBRR=0~2,波特率的计算公式为:
SPI波特率=LSPCLK/4

LSPCLK是TMS320F2812的低速外设时钟频率;SPIBRR是SPIBRR寄存器的值。将LSPCLK设置成37.5 MHz,25LC040的最大时钟频率为2 MHz,SPI的波特率应该小于2 MHz,即37.5/(SPIBRR+1)≤2,SPIBRR的取值范围为SPIBRR≥18。

通信中将SPISIMO、SPISOMI和SPICLK设置为基本功能SPI口,SPISTE设置为一般I/O口。作为25LC040的片选信号,当主/从控制器进行数据交换时,SPISTE配置成低电平,数据传输结束后再配置成高电平。

TMS320F2812的数据寄存器都是16位的,且接收和发送都是双缓冲的,而25LC040的地址和数据寄存器都是8位的,因此将SPI模块的数据长度设置成8位。发送缓冲寄存器SPITXBUF中的数据以左对齐的方式发送,先发送数据的最高位,因此在发送数据前必须将等待发送的数据放在SPITXBUF的高8位。当要对25LC040进行写使能操作时,写入SPITXBUF的数据应为0x0600。TMS320F2812则是以右对齐的方式来接收数据的,8位的数据被放在SPITXBUF的低8位上。

SPI模块有4种时钟模式:上升沿无延时模式、上升沿有延时模式、下降沿无延时模式和下降沿有延时模式。25LC040是在时钟的上升沿接收数据,下降沿发送数据,所以TMS320F2812的SPI应该配置为上升沿发送数据,下降沿接收数据。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:28,890.63000 毫秒