CCS下异步串口实验:DSP与TL16C752B通讯解析

需积分: 15 2 下载量 190 浏览量 更新于2024-08-24 收藏 892KB PPT 举报
"该实验是关于异步串口通信的实践,主要涉及CCS开发环境的使用、SEED-DTK5416硬件的理解、TL16C752B UART通讯原理及其与DSP的交互。实验内容涵盖DSP和UART的初始化、错误处理、数据传输及中断处理。" 在实验程序结构中,主要包含以下几个关键文件: 1. **uartt.c**:这是实验的主要代码,负责系统的初始化,包括异步串口的配置和系统时钟设置,实现与SEED-MMI5402系统的异步通信。 2. **dec5416.c**:这个文件包含了一系列针对SEED-DEC5416的函数,用于操作UART和其他资源,如CODEC的控制,并执行系统初始化。 3. **boot.asm**:这是一个C环境的引导程序,用于启动整个系统。 4. **memory.asm**:此文件处理对FLASH的操作,包括读写程序空间MEMORY。 5. **sysreg.asm**:包含了对DSP的各种控制,如中断设置、系统时钟配置和寄存器操作。 实验目的旨在让学习者: 1. 熟悉CCS集成开发环境的使用。 2. 了解SEED-DTK5416硬件平台的架构。 3. 掌握串口电路的设计,特别是与TL16C752B UART的配合。 4. 理解TL16C752B通用异步收发器的工作原理。 5. 学会利用DSP访问I/O空间。 6. 熟悉如何在DSP的C语言和汇编程序之间共享数据。 实验内容包括: 1. DSP初始化,确保系统准备好进行串口通信。 2. UART的初始化,设置波特率、数据位、停止位等参数。 3. 容错处理,确保数据传输的可靠性。 4. 实现UART的发送和接收程序,包括数据的打包和解包。 5. 中断处理,有效地响应UART产生的中断事件,如数据接收完成或发送错误。 实验涉及的UART芯片TL16C752BPT有以下特性: - 3.3V供电,支持双通道UART。 - 兼容RS485/RS422和RS232接口。 - 使用4线连接方式,包括RXD、TXD、RTS和CTS。 - 与DSP通过中断方式交换数据,中断请求信号INTA和INTB分别对应通道A和B。 UART与DSP的接口细节如下: - UART占用DSP的I/O空间,两个通道共享外部中断1。 - 24MHz的外频输入可以达到最高1.5Mbps的波特率。 - 寄存器通过地址线A0~A2进行寻址,通道A和B由独立的片选信号CSA和CSB选通。 TL16C752B的寄存器设置对于配置波特率至关重要,DLL和DLM寄存器用于设置波特率发生器的除数,计算公式为DLM、DLL = Fpclk / 16 × baud,其中Fpclk是系统时钟频率,baud是所需的波特率。 LCR寄存器则用于选择数据位长度和停止位: - 00:5位数据 - 01:6位数据 - 10:7位数据 - 11:8位数据 停止位选择则通过LCR的其他位来配置,通常可以选择1位或2位停止位。这些配置是实现有效串口通信的基础。