文档详情

DSP处理器原理与应用第6章 利用DSP实现外部控制与通信.ppt

发布:2017-03-28约2.19万字共172页下载文档
文本预览下载声明
  一个DSP系统一般都需要对外部的设备进行一些控制或者与外部设备之间进行通信来达到系统设计的要求。在本章里,我们介绍DSP是如何通过通用输入/输出端口(GPIO)、EMIF来实现对外部的控制的,以及多通道缓冲串口(McBSP)和通用异步串口(UART)的一些知识。      5509A提供8个专门的通用输入/输出管脚,分别是GPIO0~GPIO7。每个管脚可以通过I/O方向寄存器(IODIR)被独立设置为输入或者输出。I/O数据寄存器(IODATA)在管脚被设置为输入状态时用来监测管脚逻辑电平的变化,在管脚被设置为输出状态时用来控制输出的逻辑状态。IODIR的地址为0x3400,IODATA 的地址为0x3401。   IODIR寄存器的描述如图6-1所示,IODATA寄存器的描述如图6-2所示。    图6-1 IODIR寄存器   将IODIR寄存器的对应位清0,可以将对应的GPIO管脚设置为输入,其输入可以从IODATA寄存器相应的位读出。反之,将IODIR寄存器的对应位置1,可以将对应的GPIO管脚设置为输出,其输出可以通过IODATA寄存器相应的位设置。   除了上述的专门的GPIO管脚之外,EMIF的地址总线A[15~0]、增强主机接口(EHPI)、McBSP的部分管脚也可以被设置为GPIO功能。      TMS320C55X DSP提供了多个高速的多通道缓冲串口(McBSP),使得TMS320C55X DSP可以直接和其他的C55X DSP、多媒体数字信号编解码器以及系统中的其他设备接口。 6.2.1 同步串行通信基础知识   在介绍McBSP之前,我们先来回顾一下同步串行通信的基础知识。   根据信息的传送方向,串行通信可以分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。   串行通信又分为异步通信和同步通信两种方式。串行通信中发送器将并行数据逐位移出成为串行数据位流,接收器将串行数据位流逐位接收组合成并行数据,串行数据位流以一定时序和一定格式呈现在连接收/发器的数据线上。串口通信有以下一些基本概念:   (1) 帧同步:串行数据位流起始条件。   (2) 位时钟:每个串行数据位持续的时间。   (3) 数据元:?一次串并变换所产生的串行数据位流长度,是串行通信最基本的数据单位,   以数据位长度为单位,一般为8、12、16、20、24、32位。   (4) 数据相:由多个数据元组成的一串连续不间断的串行数据位流,以数据元个数为单位。在数据相中每个数据元的数据位长度均相同。   (5) 数据帧:由多个独立的数据相组成的一串连续不间断的串行数据位流。以数据相的个数为单位。在数据帧中不同数据相所包含的数据元的个数和数据元的数据位长度可以不同。   (6) 同步串行通信:发送器和接收器以统一的位时钟工作。   同步串行通信接口信号有:   (1) 位时钟:CLKR(CLKX)。   (2) 帧同步:FSR(FSX)。   (3) 串行数据:DR(DX)。   同步串行通信标准如下:   (1) 串行数据流位起始条件称为帧同步事件。帧同步事件由位时钟采样帧同步信号给出。   (2) 串行数据位流长度:串行传输的数据流位数达到设定的长度后(由数据元、数据相和数据帧设定),结束本次传输,等待下一个帧同步信号达到时,再发起另一次串行传输。   (3) 串行数据流传输速度:即每一个串行位的持续时间,由位时钟决定。   (4) 接口信号及其极性、帧同步事件、帧同步与串行位流起始时刻的关系、串行数据位流的格式(数据元、数据相和数据帧的格式)、串行数据位流传输速率等的不同,构成多种不同的同步串行通信标准。   (5) 常见的同步串行通信标准有:SPI、IIS、T1/E1、ST-BUS等。 6.2.2 TMS320C55X DSP的McBSP   1.? McBSP的特点   McBSP是Multichannel Buffered Serial Port的缩写,即多通道缓冲型串行接口,是一种多功能的同步串行接口,具有很强的可编程能力,可以配置为多种同步串口标准,直接与各种器件高速接口。McBSP可以配置为以下串口标准:   ● ?T1/E1标准:通信器件;   ● ?MVIP和ST-BUS标准:通信器件;   ● ?IOM-2标准:ISDN器件;   ● ?AC97标准:PC Audio Codec器件;   ● ?IIS标准:Codec器件;   ● ?SPI:串行A/D、D/A,串行存储器等器件。   如果采用特殊配置再配合软件,McBSP就可与特殊器件接口。如将McBSP引脚配置为通用I/O引脚,可用软件实现I2C标准;
显示全部
相似文档