主要内容

使用SPI读取和写入数据到SPI EEPROM

本例展示如何配置和使用SPI块来读取和写入数据。

在本例中,您将学习以下任务:

  • SPI环回使用主传输块

  • 使用主传输块读取和写入数据到SPI EEPROM

  • 使用SPI发送块、SPI接收块和中断进行SPI环回

  • 使用SPI发送块、SPI接收块和中断向SPI EEPROM读取和写入数据

所需的硬件

  • 德州仪器™C2000控制卡或发射台

  • 德州仪器外设资源管理器或CAT25256 256kB SPI EEPROM内存。该设备使用标准SPI协议,该协议对于不同供应商提供的许多其他eeprom都是通用的。有关设备的详细信息,请参见CAT25256数据表

硬件连接

SPI EEPROM使用以下8位操作码来启用、写入数据、读取数据和读取状态。

命令|操作码|操作  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 雷恩| 6 |支持写操作写| 2 |写数据到内存读| 3 |读取数据从内存RDSR | 5 |读状态寄存器  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

所做的硬件连接取决于EEPROM的使用情况。您可以使用TI外设资源管理器中提供的SPI EEPROM或单独的EEPROM芯片,如CAT25256 256kB SPI EEPROM。

德州仪器外围资源管理器

  • 如果将ControlCARD插入到外设资源管理器提供的插槽中,则不需要额外的连接。

  • 如果ControlCARD插入到对接站或使用发射台,则必须在外设资源管理器和所列的对接站或发射台之间建立SPI连接。

Peripheral Explorer | C2000 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ECAP-1 / SPISIMO | SPISIMO ECAP-2 / SPISOMI | SPISOMI ECAP-3 / SPICLK | SPICLK EPWM-6B / SPISTE | SPISTE GND | GND _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

CAT25256 256kB SPI EEPROM内存

将芯片连接到C2000 LaunchPad或ControlCARD上。

SPI eepm销| C2000  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ / CS(销1)| SPISTE所以(销2)| SPIMISO / WP(销3)| 3.3 V VSS(销4)|接地SI(销5)| SPIMOSI SCK(销6)| SPICLK /持有(销7)| 3.3 V VCC(销8)| 3.3 V  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

SPI环回使用主传输块

计数器限制块将计数器值作为输入发送到SPI主传输块,并且接收到的输出数据被发送到作用域。当以外部模式运行模型时,您可以在Scope块中观察计数器值。

运行模型:

  1. 打开c28x_spitest_ert模型。该型号配置在TI F28379D LaunchPad硬件板上。若要将模型配置为在其他TI C2000处理器上运行,请更改硬件板参数中的配置参数>硬件实现窗格。

  2. 浏览到硬件实现>目标硬件资源> SPI_A .,并选择使环回.或者,您可以连接而且SOMI物理上使用GPIO引脚来启用外部环回。

  3. SOMICLK,STE引脚分配,这取决于处理器。

  4. 配置参数窗口中,单击硬件实现>目标硬件资源>外部模式并设置串行端口参数输入COM端口设备管理器>港口(COM & LTP)在Windows。有关更多信息,请参见串行通信的参数调优和信号记录

  5. 开放硬件选择并单击监视和调优.观察范围上的计数器值。

使用主传输块读取和写入数据到SPI EEPROM

该模型将各种类型的数据值写入EEPROM,并从相应的EEPROM地址读取数据以显示通信成功。

属性配置SPI块数据位参数设置为8发送8位操作码并写入/读取8位数据。如果选择的STE引脚由SPI外设提供配置参数,则在数据传输之间取消从机的选择。在这种情况下,显式GPIO调用Option用于选择从选择引脚作为GPIO1,以确保为多个数据传输连续选择从机。

该模型由触发子系统、写入EEPROM数据子系统和读取EEPROM数据子系统以及显示块组成。读取EEPROM数据子系统总是被触发,而写入EEPROM数据子系统仅在从EEPROM读取的数据与要写入EEPROM的输入数据不匹配时才被触发。

写入EEPROM数据子系统在每个写入周期之前执行EEPROM写入使能操作。使用Byte Pack块将不同类型的输入数据打包成8位包,然后将数据转换为uint16。然后使用主传输块将数据写入地址位置0x0020的EEPROM。在此之后,程序通过监视EEPROM的状态标志等待EEPROM写入操作完成。

读取EEPROM数据子系统从内存位置0x0020读取数据,并使用字节解包块将8位包数据解压缩为所需类型的数据。然后使用显示块显示这些数据。

运行模型:

  1. 打开c28x_spi_eeprom模型。此模型配置用于TI F28379D发射台硬件板。若要将模型配置为在其他TI C2000处理器上运行,请更改硬件板参数中的配置参数>硬件实现窗格。

  2. 浏览到硬件实现>目标硬件资源> SPI_A .

  3. 为输入值期望波特率(比特/秒)作为2000000,并设置STE引脚分配没有一个

  4. 配置参数窗口中,单击硬件实现然后转到目标硬件资源>外部模式并设置串行端口参数输入COM端口设备管理器>港口(COM & LTP)在Windows。有关更多信息,请参见串行通信的参数调优和信号记录

  5. 开放硬件选择并单击监视和调优.观察显示块中的输出数据。

  6. 更改输入数据值并观察变化。

SPI环回使用SPI发送块、SPI接收块和中断

计数器限制块将计数器值发送到SPI传输块作为输入。接收FIFO被配置为触发FIFO长度为4的中断。从SPI Receive块接收到的长度为4的输出数据被重新对齐为单个流并发送到作用域。在外部模式下运行时,可以观察范围块中的计数器值。

运行模型:

  1. 打开c28x_spi_interrupt_test_ert模型。该型号配置在TI F28379D LaunchPad硬件板上。若要将模型配置为在其他TI C2000处理器上运行,可以更改硬件板参数中的配置参数>硬件实现窗格。

  2. 浏览到硬件实现>目标硬件资源> SPI_A .,并选择使环回.另外,连接而且SOMI物理上使用GPIO引脚来启用外部环回。

  3. SOMICLK,STE引脚分配,这取决于处理器。

  4. 选择启用Rx中断,并设置FIFO中断级别(Rx)4

  5. 配置参数窗口中,单击硬件实现并导航到目标硬件资源>外部模式并设置串行端口参数输入COM端口设备管理器>港口(COM & LTP)在Windows。有关更多信息,请参见串行通信的参数调优和信号记录

  6. 开放硬件选择并单击监视和调优.观察范围上的计数器值。

使用SPI发送块、SPI接收块和中断将数据读写到SPI EEPROM

该模型将各种类型的数据值写入EEPROM,并从相应的EEPROM地址中读取数据以显示通信成功。此型号只能用于SPI FIFO长度为15的硬件板。

属性配置SPI块数据位参数设置为8发送8位操作码并写入/读取8位数据。如果选择的STE引脚由SPI外设提供配置参数,则在数据传输之间取消从机的选择。在这种情况下,显式GPIO调用选项用于设置从选择引脚到GPIO1,以确保为多个数据传输连续选择从机。接收FIFO被配置为触发FIFO长度为15的中断。

该模型由写入EEPROM数据、传输读取命令、读取EEPROM数据和数据调整子系统以及显示块组成。写入和读取数据操作可以使用STATVAR变量交替触发。

写入EEPROM数据子系统使用SPI发送和SPI接收块执行EEPROM写入使能操作。在每个写周期之前,块优先级被设置,以确保SPI传输首先执行。不同类型的输入数据使用Byte Pack块打包成8位包,并转换为uint16。然后使用SPI传输块将数据写入地址位置0x0020的EEPROM。在此之后,程序等待直到接收中断被触发。当接收中断触发时,从接收FIFO读取数据并丢弃。

然后触发传输读取命令子系统,它发送一个读取命令和一个地址,其中包含要读取的数据大小的虚拟数据。在此之后,程序等待直到接收中断被触发。当接收中断被触发时,从接收FIFO读取数据。

数据重组子系统执行字节重排序来创建8位字包,使用字节解包块将其解压缩为所需类型的数据。然后使用显示块显示这些数据。

运行模型:

  1. 打开c28x_spi_eeprom_interrupt模型。该型号配置在TI F28379D LaunchPad硬件板上。若要将模型配置为在其他TI C2000处理器上运行,请更改硬件板参数中的配置参数>硬件实现窗格。

  2. 浏览到硬件实现>目标硬件资源> SPI_A .

  3. 为输入值期望波特率(比特/秒)作为2000000,并设置STE引脚分配没有一个

  4. 选择启用Rx中断,并设置FIFO中断级别(Rx)15

  5. 配置参数窗口中,单击硬件实现并导航到目标硬件资源>外部模式并设置串行端口参数输入COM端口设备管理器>港口(COM & LTP)在Windows。有关更多信息,请参见串行通信的参数调优和信号记录

  6. 开放硬件选择并单击监视和调优.使用显示块观察输出数据。

  7. 更改输入数据值并观察变化。

更多关于