DSP-TMS320F2812-SPI接口_第1页
DSP-TMS320F2812-SPI接口_第2页
DSP-TMS320F2812-SPI接口_第3页
DSP-TMS320F2812-SPI接口_第4页
DSP-TMS320F2812-SPI接口_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

TMS320F2812TMS320F2812 SPISPI 接口接口 1212 电气电气 7 7 班班 825825 TMS320F2812 是 TI 公司推出的一款用于控制系统的高性能 多功能 高性 价比的 32 位定点 DSP 芯片 TMS320F2812 采用哈佛总线结构 具有密码保护机 制 可在一个周期内进行双 16 16 乘加和 32 32 乘加操作 从而兼顾控制和 快速运算的双重功能 芯片上集成了多种外设 尤其是 2 个事件管理器为电动 机以及功率变换控制提供了很大的便利 因此在控制系统中得到了很广泛的应 用 下面以 Microchip 公司的 EEPROM 25LC040 为例 介绍 TMS320F2812 的 SPI 接口设计 1 1 主要芯片简介 主要芯片简介 1 11 1 TMS320F2812TMS320F2812 SPISPI 模块模块 SPI 总线是一种同步串行外设接口 它可以使控制芯片以串行方式与各种外 围设备进行通信 该接口一般使用 4 条线 串行时钟线 SCK 主机输入 从机 输出数据线 MISO 主机输出 从机输入数据线 MOSI 和片选信号 STE TMS320F2812 的 SPI 模块有主从两种工作模式 可以通过寄存器来设置 其 数据长度可以配置为 1 16 位 具有 125 种可编程的波特率 通过时钟极性和 时钟相位可以将 SPI 模块配置成 4 种不同的时钟模式 有 16 级发送 接收 FIFO 并且具有延时发送的功能 可以通过中断或者查询的方式来完成数据的 发送和接收 SPI 模块有 8 个寄存器需要设置 用来控制 SPI 的操作 SPICCR SPICTL 用来配置 SPI 的工作状态 SPISTS 用来获取 SPI 的状态信息 包括 2 个接收状 态位和 1 个发送缓冲状态位 可以通过查询这些状态位来判断是否完成数据的 接收或者发送 SPIBRR 用来设置 SPI 的波特率 SPIRXBUF 和 SPITXBUF 分别用 来接收和发送数据 SPIDAT 装载 SPI 要发送的数据 SPIPRI 用来设置 SPI 中断 的优先级 1 21 2 EEPROMEEPROM 芯片芯片 25LC04025LC040 25LC040 是 SPI 接口的 4 Kb EEPROM 至少可以擦写 1 000 万次 数据至少 可以保存 200 年 可以满足大部分数据存储的要求 DSP 必须能通过相应的指 令实现对 25LC040 的访问 25LC040 的操作指令如表 1 所列 表 1 中 A8 是读 写开始地址的第 9 位 25LC040 是 512 8 位的 EEPROM 分成上下两页 每页 256 个字节 通过选择 A8 可以实现对不同页的操 作 1 2 11 2 1 读时序 读时序 当片选信号为低时 向 25LC040 传送 8 位的读指令 0000 A8011 紧接着 传送需要读取数据的低 8 位地址 当正确的读写指令和地址被识别后 EEPROM 中对应地址的数据将会由输出引脚顺次传出 若继续提供时钟信号 下一位地 址对应的数据也会依次读出 当片选信号为高时 读数据的操作将会被终止 其具体操作如图 1 所示 图中 CS 为片选信号 SCK 为时钟信号 SI 为输入引 脚信号 SO 为输出引脚信号 1 2 21 2 2 写时序 写时序 在对 25LC040 进行任何写操作之前 必须先执行 WREN 写使能 指令 写使 能指令的操作如图 2 所示 先使片选信号为低 然后传送写使能指令到 25LC040 中 指令传送完毕后 必须将片选信号设置为高以完成写使能操作 如果写指令传送结束后没有拉高片选信号 直接进行写操作 那么数据将不会 写入到存储阵列中 写使能操作完成后 片选信号应该被拉低以进行写操作 时序如图 3 所示 写指令 写入地址以及写入的数据会被依次传送到 25LC040 中 若要使数据正 确地写入到存储阵列中 片选信号应该在最后一个有效字节的 D0 位传送完毕后 被拉高 2 2 TMS320F2812TMS320F2812 的的 SPISPI 接口设计接口设计 TMS320F2812 与 25LC040 的硬件连接如图 4 所示 TMS320F2812 工作在主模 式 SPISIMO 为主模式下的数据输出接口 连接到 25LC040 的数据接收端口 SPISOMI 为主模式下的数据输入接口 连接到 25LC040 的数据发送端口 时钟 信号 SPICLK 和片选信号 SPISTE 均由 TMS320F2812 产生 写保护引脚 WP 直接接 高电平以确保 25LC040 总是可以被写入 2 12 1 SPISPI 模块的设置模块的设置 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 的数据应为 0 x0600 TMS320F2812 则是以右对齐的方式来接收数据的 8 位的数据被放在 SPITXBUF 的低 8 位上 SPI 模块有 4 种时钟模式 上升沿无延时模式 上升沿有延时模式 下降沿 无延时模式和下降沿有延时模式 25LC040 是在时钟的上升沿接收数据 下降 沿发送数据 所以 TMS320F2812 的 SPI 应该配置为上升沿发送数据 下降沿接 收数据 2 22 2 接收数据流程 接收数据流程 通过 SPI 读取数据比较简单 只需要依次传送读指令和待读数据的低位地 址 就可以在 SPISOMI 引脚上接收到 25LC040 中的数据 因为 TMS320F2812 为 主控制器 所以必须先发送一个无意义的数 才能够启动时钟 在 SPI 状态寄 存器 SPISTS 中有一个 SPI 中断标志位 SPIINT FLAG 该位是一个只读标志位 由硬件设置 当 SPI 已经完成数据发送或者接收 正在等待下一步的操作时 SPI 中断标志位被置 1 若使能 SPI 中断 将产生一个 SPI 中断请求 可以通过 查询 SPI 中断标志位来判断数据是否完成接收 若该标志为 1 已接收的数据 将被放入接收缓冲寄存器 SPIRXBUF 中 通过读 SPIRXBUF 寄存器即可得到需要 的数据 下面给出接收数据的子程序 其中 addr 为待读数据的低位地址 2 32 3 发送数据流程 发送数据流程 SPI 发送数据需要先完成写使能操作 然后依次传送写指令和低位地址 才 可以正确地进行数据写入 向 SPITXBUF 寄存器中写入待发的数据 SPI 时钟就 会自动启动 数据会由输出引脚顺次传出 数据传送完后 SPI 时钟自动停止 也可以通过查询 SPI 中断标志位来判断数据是否完成发送 若该标志位为 1 则可接着发送下一个数据 SPI 设置成主模式时 发送完一个数据 必须要空 读一下 SPIRXBUF 寄存器 以清除 SPI 中断标志位 由于在读取数据的过程中已 经包含读 SPIRXBUF 寄存器 因此在读取数据时不需要再空读 SPIRXBUF 寄存器 下面给出发送数据程序 其中 data 为待发送的数据 addr 为待发送数据将要 存放的地址 2 42 4 运行效率的提升 运行效率的提升 25LC040 要求在写操作之后有一定的写周期时间来存储数据 其间 TMS320F2812 对 25LC040 的所有访问会被忽略 每个器件都有规定的最坏情况 写周期时间 可以通过在再次访问 25LC040 之前插入不小于最坏情况写周期时 间的延时等待来确保遵守写周期时间 但是 25LC040 常常会在最大规定时间内 完成写周期 而此时 TMS320F2812 还在等待 会造成不必要的时间浪费 25LC040 内部有一个状态寄存器 其第 1 位为 WIP Write In

温馨提示

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

评论

0/150

提交评论