4.DSP56800外围功能模块.ppt

DSP56800系列的外部结构 1.串行通信接口SCI 一、串行通信协议RS-232标准 RS-232C异步串行通信标准,是DTE和DCE之间的连接定义,包括接口的电气特性、机械特性等。 目前RS-232标准使用简化了的9芯D型插头。 精简的RS-232通信只用3根线:RXD、TXD和GND。 电气特性:逻辑1:-3V~-15V,逻辑0:+3V~+15V 二、DSP56F800系列的串行通信接口SCI DSP56F800系列串行口通过RS-232等串行通信协议与主机系统通信。 DSP56F801、DSP56F803有一个SCI模块SCI0,外部引脚为TXD0和RXD0。DSP56F805和DSP56F807有两个SCI模块,引脚为TXD0、TXD1、RXD0和RXD1。 DSP56F800系列DSP提供4个16位寄存器来监视和控制SCI的工作状态,他们是:SCI波特率寄存器SCIBR、SCI控制寄存器SCICR、SCI状态寄存器SCISR、SCI数据寄存器SCIDR。 波特率指信号传输速率,是衡量数据通信能力的一个重要指标。单位是波特。在信号为二进制的情况下,表征的是每秒钟所传送的二进制的位数。 五、计算机与终端精简RS-232连接 六、控制和监视SCI工作状态的寄存器 DSP56800系列DSP提供4个16位寄存器来监视和控制SCI的工作状态:SCI波特率寄存器SCIBR、SCI控制寄存器 SCICR 、 SCI状态寄存器 SCISR 、 SCI数据寄存器SCIDR。 每个寄存器的地址是基地址加上偏移地址之和。SCI0模块的基地址SCI0_BASE是$0F00,四个寄存器的地址分别是基地址加上$0、$1、$2、$3,SCI1模块的基地址是$0F10。 七、SCI应用开发实例 实验内容:实现DSP与PC机之间通过串口进行通信。 #include “port.h” #include “sci.h” #include “io.h” #include “bsp.h” #include “assert.h” Int sci1,redats; Uword16 datar; Char data1[]={“I’m DSP!\n”}; Void main( ) {uword16 scireadlength; sci_sConfig sciconfig; sci配置 Sciconfig.scicntl1=sci_cntl_word_8bit….;写到SCI控制寄 存器的数据 Sciconfig.scihibit=sci_hibit_1; Sciconfig.baudrate=sci_baud_9600;写到SCI波特率寄存器的值 Sci1=open(….); 打开SCI设备,建立通信,同时定义一个外设描述符,可以被read等函数调用,作为该外设的标志。 If(sci1==-1) {assert(“open/sci1 device failed”);} Ioctl(sci1,sci_dataformat_eightbitchars,null); Scireadlength=1; Ioctl(sci1,sci_set_read_length,scireadlength);用于改变 SCI的工作模式和状态 Loop: redata=read(sci1,datar,sizeof(datar));读取PC发来的字符 If(redata) { write(sci1,data1,sizeof(data1); 字符串发送给PC write(sci1,datar,sizeof(datar); goto loop; } Else {goto loop;} } 二、SPI简介 同步串行外部设备接口SPI DSP56F801/803/805/807均带有1个SPI模块, SPI有4个外部引脚,这些引脚在不使用SPI时 可以作为普通I/O引脚使用。 SPI的主要功能: 利用DSP的SPI可实现与具有SPI接口的芯片的 直接连接,这些芯片有存储器、A/D转换器,D/A 转换器、LED、LCD、实时时钟、I/O口等。因此,用SPI可对DSP进行外部扩展。 三、SPI功能框图 四、SPI组成框图 4个引脚:MISO、MOSI、SCLK、SS SPI控制: 控制位MODFEN(工作模式错误使能位) 控制位E

文档评论(0)

1亿VIP精品文档

相关文档