当前位置:首页 >> 信息与通信 >>

DSP实验报告8


DSP 技术与应用实验报告

学 姓 学 班

院: 名: 号: 级:

指导老师:

完成时间:2011-11-26

实验八 实验八、UART 串口通信实验
一、实验目的 1. 了解 RS232 通信接口的基本原理; 2. 熟悉通信接口芯片(TL16C550C)在 DSP I/O 空间寄存器的地址映射及工作原 理; 3.了解异步通信中串口模式选择、设置数据传输格式、设置波特率、建立连接、 传输数据和断开连接等功能。

二、实验设备 1. 集成开发环境 CCS 2. 实验开发板 TMS320VC5402DSK、RS232 接口电缆线及附件 3.程序“串口调试程序 v2.2.exe”

三、实验内容及步骤 1、 在实验七已经装好 DSK 板的驱动的前提下, 接通 DSK 板电源, 配置工作环境: 双 击打开 Code Composer (Studio)配置程序,点击“Clear”按钮,清除原有配置。然后, 在列表框“Available Configurations”中加亮“ICETEK-5100 USB Emulator”选项,点击 对话框中的“Import”按钮,然后点击“Save and Quit”按钮,退出并确认同时打开 CCS 主程序。 2.、建立项目,添加代码,编译并连接 1) 在汇编环境调试 Uart:(实现字符或文件的发送和回发功能) a. 实验代码 main.s54、uartasm.cmd 和 uart_init.s54、dsp_init.s54 以及 uartasm.h54,c5402_dsk.gel(说明同前)。 b. 串口调试程序“串口调试程序 v2.2.exe” , 汇编调试中 Build option 设置情 况与 CODEC 实验中的汇编调试设置及出错情况相同。 c. 程序文件介绍: 1) “uart.h54”定义了一些寄存器的地址以及函数类型。 2) “dsp_init.s54”与 dsp 工作有关的寄存器 ST1、 PMST、 IMR、 和 SWWSR, IFR 并且清除 INTM 位以及设定时钟模式。 3) “uart_init.s54” 先检测 UART 模块是否工作正常, 然后设定 UART 模块的 寄存器,如 CNTL1、CNTL2、LCR、MSB&LSB(设定波特率) 、FCR、IER 等。 4) “main.s54”主程序查看标志位, 检测是否 UART 存在有效接收数据。 若有, 则执行一定的处理,包括亮 LED 以及将接收的数据从 UART 回发。 d. 执行程序时, 只要发送数据时, 可在串口调试程序的接收窗口立即看到回发的数

据。 e. 程序中 UART 工作参数设置如下: 1) 波特率 9600(或更低)、无数据校验、字符长度 8 比特、停止位 1、2 均可; 2) 接收区自动清空不选、 十六进制显示可选可不选; 发送区不能选十六进制发

送,可发送字符和文件两种方式; 3) IER 允许数据就绪中断和线路状态中断; 4) FIFO 不使能,所以,在用串口程序调试时,只能单个字符发送,如“x”。 若采用 16 进制发送,应 2 位发送,如“a4”。 f. 用汇编语句编写 UART 应用程序基本步骤: 1) 在 UART 初始化程序中设置 UART 寄存器,特别是 IER、LCR、FCR 和除数寄存 器 LSB&MSB;并且检测 UART 工作是否正常。 2) 设置寄存器 CNTL2,选择 UART 作为信号源,这也放在 UART 初始程序中。 3) 在 DSP 初始程序中设定 DSP 工作方式,这主要通过设置寄存器 ST1、ST0、 INTM、IFR、SWWSR、PMST、IMR、CLKMD 等。 4) 编写主程序和中断程序,通常在中断程序中把数据从 UART 中读到 CPU,然 后在主程序中对数据进行处理。

2) 用 C 函数库调试 Uart: (通过 UART 串行口实现对 DSK 板的控制) a. 实验代码 uartc.c、 5402.cmd 和 c5402_dsk.gel, 另外还有库函数 drv5402.lib、 dsk5402.lib、rts.lib 以及头文件 board.h、mcbsp54.h、regs54xx.h、regs.h、type.h、 uart.h。 b. 串口调试程序“串口调试程序 v2.2.exe” ,混合编程下 Build option 中 Autoinit Model 用 Load-time Initialization 或 Run-time Initialization 及 No Initializationc 均为 0 Errors, 0 Warnings。但用 No Initializationc 与 C 的编译环境 不符,将做不出实验结果。 c. 程序中 UART 工作参数与汇编调试设置相同。运行程序后,串口程序窗口会出现 提示“Select a leed to light? 0/1/2,Or,press 5 to end the program ”,这是通过 函数“uart_fputs()”输出的。在键入指定的数字时,相应的 LED 将亮大约一秒钟。 d. 本程序中用到了如下驱动函数,分别为: 1)brd_init(int):dsk 板初始化,输入参数是工作主频; 2)uart_init(void):uart 模块初始化,不带参数,不过在调用前需设定好一些 全局变 量,如波特率、字长、停止位、校验方式、fifo 控制方式、数字环使能等; 3)uart_fputs(string):向 uart 输出字符串; 4)uart_fgetc():从 uart 中读取一个字符; 5)brd_led_enable(BRD_LED):打开指定的 led;

6)brd_led_disable(BRD_LED):关闭指定的 led。 e. 程序中还自定义了一些函数: 1)void delay(int):实现延时功能; 2)int initpro(struct uartset):初始化 uart 模块,其中结构体参量定义了 uart 的一些; 3)void lightled(void):按照用户的选择亮相应的 led 灯。 f. 此外,TI 公司还提供了许多函数方便对 uart 的使用,这些函数的使用说明见头 文件“uart.h”。 g. 看懂源程序,修改实现发送字符“3”后同时点亮 3 个 LED 灯,或实现字符或文 件的发送及回发功能。

四、实验结果 1、在汇编环境下,执行 Uart 程序时,只要发送单个字符的数据时,可在串口调试 程序的接收窗口立即看到回发的数据。 实验结果图如下:

2、在 C 函数库调试 Uart 程序时,通过 UART 串行口实现对 DSK 板的控制,当串口程 序窗口出现提示“Select a leed to light? 0/1/2,Or,press 5 to end the program ”, 在键入指定的数字时,相应的 LED 将亮大约一秒钟。 3 、 通 过 对 程 序 进 行修 改, 在 源 程 序 中的 void lightled(void) 函 数 内, switch (userInput)语句中添加了一个 case 语句,如下: case '3': brd_led_enable(BRD_LED0); brd_led_enable(BRD_LED1); brd_led_enable(BRD_LED2);

delay(1000); brd_led_disable(BRD_LED0); brd_led_disable(BRD_LED1); brd_led_disable(BRD_LED2); break; 修改后,发送字符“3”后,同时点亮 3 个 LED 灯。 五.实验流程图

初始化、设置 UART 工作参数

dsk 板初始化,输入参数是工作主频

初始化 uart 模块,设定工作参数及工作标志
no endofpro=OK?

输出 Select a led to light? 0/1/2

输出 press 5 to end the program

读入数据,按数据亮相应 LED 灯或置 endofpro=Error

结束

六、实验心得

通过本次实验, 我进一步熟悉了 DSK 板的结构和配置, 并且初步了解 RS232 通信接口的基本原理以及熟悉通信接口芯片(TL16C550C)在 DSP I/O 空间寄存 器的地址映射及工作原理。同时通过实验中串口模式的设置,我了解异步通信中 串口模式选择、设置数据传输格式、设置波特率、建立连接、传输数据和断开连 接等功能。在实验中,我们还是遇到了或多或少的问题,在我们自己一同的努力 下,最终将实验现象成功做了出来,在实验中我们学到了不少课外的知识,而且 提高了我们的一些基本知识和课堂知识。同时也提高了我们的动手能力。


相关文章:
湖南工业大学DSP实验报告word版
DSP 实验报告 姓名: 班级: 学号: 指导老师: 湖南工业大学电气与信息工程学院 ...SysCtrlRegs.PLLCR.all=0x8; SysCtrlRegs.HISPCP.all = 0x3; // HSPCLK...
南邮DSP实验报告
Q2.3 8 2014-2015 第二学期 DSP 上机实验报告 当 M 取 15 时,图像如下信 号 #1 2 1 振幅 信号 #2 2 1 振幅 0 -1 -2 0 -1 -2 0 50 时间...
DSP综合实验报告
DSP综合实验报告_电子/电路_工程科技_专业资料。基于DSP的三段式电流保护 ...(1).ADC 编程 TMS320F2812 带有两个 8 选 1 多路切换器和双采样/保持器...
DSP实验报告
DSP 课程设计实验报告——— 利用 DSP 实现实时信号 FIR 滤波 学院:电子信息工程学院 专业:自动化(信号)1201 小组成员:12212150 洪恩杯 12212154 金夏垚 指导老师...
DSP实验报告(张卫宁版)
DSP实验报告 8页 5财富值 DSP实验报告 21页 1财富值 DSP 实验报告 20页 2财富值 DSP实验报告二 13页 2财富值 DSP实验报告2 5页 20财富值喜欢...
DSP实验报告作业_图文
DSP实验报告作业_计算机软件及应用_IT/计算机_专业资料。TMS320VC5402定时器实验...8 五、实验步骤 1、根据实验要求编写 256 点 FFT 的 C 语言代码, 中断向量...
DSP实验报告
DSP实验报告_调查/报告_表格/模板_实用文档。实验 0 实验目的: 实验设备安装才...12 8) 9) 清除所有断点,关闭除波形显示窗口外的所有窗口,并关闭工程文件。 ...
DSP实验报告
DSP实验报告_理学_高等教育_教育专区。北 京 科 技 大 学 《DSP 原理及应用...重新编译 DSP Server。 Host # make clean Host # make 8. 复制编译生成的....
DSP技术实验报告
DSP技术实验报告_实习总结_总结/汇报_应用文书。福计算机与信息学院 信息工程类 ...讲师 2011 年 11 月 21 日 实验项目列表 序号 1 2 3 4 5 6 7 8 9 ...
DSP实验报告(完美版)_图文
DSP实验报告(完美版)_调查/报告_表格/模板_实用文档。dsp实验报告,属于你的...其他变量同理; ○ 8 选择 Debug/Breakpoints,在 Breakpoints 中,单击 Delete ...
更多相关标签: