| 院别 | 电子信息学院 | 课程名称 | DSP芯片原理与应用 |
| 班级 | 实验名称 | 实验四、2407通讯(SPI) | |
| 姓名 | 实验时间 | ||
| 学号 | 指导教师 | ||
| 成绩 | |||
| 报 告 内 容 | |||
| 一、实验目的和任务 1.熟悉 CCS 的开发环境; 2.熟悉 LF2407的硬件结构和软件设计; 3.了解 DSP 的 SPI 外设的使用 二、实验原理介绍 1. SPI 串口是一种高速同步串口,允许数据长度为 1 到 16 位的串行数据输入或输出。在正常情况下,SPI 用来作为 DSP 控制器和外设或另一个处理器之间通讯。典型的应用包括外部 I/O 或外设扩展。 2. SPI 的结构和特点: ●外部引脚:4 个 SPI 从发/主收引脚: SPISOMI SPI 从收/主发引脚: SPISIMO SPI 从发使能引脚: SPISTE SPI 串行时钟引脚: SPICLK ●两种可选模式: 主/从 ●波特率可编程: 126 种不同的发送波特率 ●BRR=3~127: 波特率=CLKOUT÷\u65288XSPIBRR+1) ●BRR=0,1,2: 波特率=CLKOUT÷4 ●数据长度: 1 到 16 位 ●时钟模式: 4 种 ●同时发送和接收操作 ●发送或接收可通过中断或查询方式 ●16 级发送/接收 FIFO ●延迟发送控制 3. SPI 控制寄存器定义: 三、实验设备介绍 实验设备主要有:SEED-DTK DAD实验箱,PC机,CCS软件。具体使用请参考相关文献。 在SPI串口实验中主要有以下文件: 1. SPI_DTK.c:这是实验的主程序,包含了系统的初始化,主要是同步串口的初始化、以及系统时钟的设置;完成与 SEED-MMI5402 系统的同步通讯。 2. vector.asm:'LF2407A 的中断向量表。vector.asm 只是示例文件,在本程序中没有实际用处,只是帮助大家理解二级中断跳转的概念。 3. boot_vec.asm:’LF2407A 的第二级中断向量表。 4. SPI_DTK.cmd:声明了系统的存贮器配置与程序各段的连接关系。 5. SEED-DSK2407.h: 声明了 LF2407A 的片内寄存器的地址与设置的常量定义。 同步串口实验主要完成的功能: 在这个实验中主要是在 SEED-DSK2407 与 MMI5402 之间的同步串口通讯。由用户通过 LCD 显示的字符串中选择一段字符串,由SEED-MMI5402发送到SEED-DSK2407;然后由 SEED-DSK2407 再发回到 SEED-MMI5402 进行 LCD 显示。 6.程序流程图 四、实验内容和步骤 1、实验内容 ●DSP 的初始化; ●SPI 的初始化设置; ●SPI 的发送; ●SPI 的接收; 2、实验步骤 实验的演示: 在脱机(不接 CCS)的情况下,可以进行实验的演示。在 SEED-DTK 的实验选项的菜单下,选择 2407 通讯实验一项。等待装载程序后,可按菜单操作,完成同步实验的演示。 实验的调试: ●将 DSP 仿真器与计算机连接好; ●将 DSP 仿真器的 JTAG 插头与 SEED-DSK2407 单元的 J1 相连接; ●启动计算机,当计算机启动后,打开 SEED-DTK 的电源。观察 SEED-DTK_IO1单元的+5V、+3.3V、+15V、-15V 的电源指示灯是否均亮;若有不亮的,请断开电源,检查电源; ●将 SPI_DTK 目录拷贝到 CC 集成开发环境下的 myprojects 目录下; ●选择 2407 通讯实验,等待 LCD 显示器上出现“2407 通讯实验程序引导完成”之后,打开 CC2000,进入 CC 的操作环境; ●在 CC 中用 Project→Open…命令,加载 SPI_DTK 目录下的 SPI_DTK.mak; ●在 CC 中用 File→Load GEL…命令,加载 SPI_DTK 目录下的 DTK.gel; ●在 CC 中 用 File → Load Program… 命 令 , 加 载 SPI_DTK 目 录 下 的SPI_DTK.out; ●在 CC 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; ●按 F5 运行程序,通过实验箱的液晶和键盘进行实验操作。]\ 五、实验数据记录
六、实验结论与心得 通过本次试验我了解了DSP2407芯片在通信情况,实际观察到了试验的结果。相信今后能方便我对DSP2407芯片通信关于通信方面的程序理解。 | |||