dsp与pc机串行通信的设计

上传人:好** 文档编号:115367705 上传时间:2019-11-13 格式:DOC 页数:8 大小:34.50KB
返回 下载 相关 举报
dsp与pc机串行通信的设计_第1页
第1页 / 共8页
dsp与pc机串行通信的设计_第2页
第2页 / 共8页
dsp与pc机串行通信的设计_第3页
第3页 / 共8页
dsp与pc机串行通信的设计_第4页
第4页 / 共8页
dsp与pc机串行通信的设计_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《dsp与pc机串行通信的设计》由会员分享,可在线阅读,更多相关《dsp与pc机串行通信的设计(8页珍藏版)》请在金锄头文库上搜索。

1、DSP与PC机串行通信的设计摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTAC)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 MHz,阻带抑制率大于35 dB,带内波纹小于05 dB,采用18 V电源,TSMC 018m CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte摘要:以TMS320F240 系列为例,简要介绍了数字信号处理器串行通信接口SCI 模块和RS485 串口通信,并编程实现了TMS320

2、F240 与PC 机串行通信接口电路。1 引言DSP 既是Digital Signal Pricessing 的缩写,也是Digital Signal Pricessor 的缩写。前者是指数字信号处理的理论和方法,后者则是指用于数字信号处理的可编程微处理器。TMS320F240 系列是在TMS320F2000TM 平台下的一种定点DSP 芯片,是专为数字电机控制和其他控制应用系统而设计的16位定点运算的DSP。它集合了DSP 的高速运算功能与电机的强大控制能力,为控制系统应用提供了一种理想的解决方案。TMS320F240 片内外设有一个16 位的同步串行外围接口(SPI),一个用于串行通讯接口

3、的SCI 模块,双10 位A/D 转换器,带中断的看门狗定时器模块(WDT),带有锁相环(PLL)时钟发生器。另外,还集成了两个事件管理模块EVA 和EVB。因此,TMS320F240 不仅具有高速数据处理能力,还具有控制和事件管理能力,可完成人机界面、与上位机进行串行通信等功能。2 串行通讯接口(SCI)模块SCI 接收器和发送器是双缓冲的,每一个都有他自己单独的使能和中断标志位。两者可单独工作,或在全双工的方式下同时工作。为了确保数据的完整性,SCI 对接收到的数据进行间断检测、奇偶性校验、超时和帧出错的检查。通过一个16 位的波特率选择寄存器,数据传输的速度可以被编程为65535多种不同

4、的方式。SCI 的串行通信接口包括SCIRXD(串行通信数据接收)和SCITXD(串行通信数据发送),在不使用SCI 时,这两个引脚也可作通用I/O 口。发送和接收的操作可以利用状态标志位通过中断驱动或查询算法来完成。与之相关的主要寄存器:发送缓冲寄存器SCITXBUF、接收缓冲寄存器 SCIRCBUF、接收仿真缓冲寄存器SCIRXEMU;通信控制寄存器SCICCR、中断使能和内部时钟使能SCICTL1 和SCICTL2 、波特率选择高字节寄存器SCIHBAUD、波特率选择低字节寄存器SCILBAUD、优先级控制寄存器SCIPRI、引脚控制功能SCIPC2 以及反映通信状态SCIXST 等。串

5、行通信接口模块有两个多处理器通信协议:空闲线多处理器模式和地址多处理器模式。空闲线模式在地址前留有一个固定空间,该模式没有附加的地址 /数据位,它在处理包含多于10 个字节的数据块方面比地址位模式更有效;地址位模式在每个字节中加入一个额外位(地址位)来区分地址和数据,这种模式在处理多个小数据块时更有效。3 RS-485串口通信RS-232 虽然被广泛接受,但其数据传送的速度慢、在现代网络通信中已暴露出的接口处各信号间容易产生干扰等明显的缺点。RS-232 只能传输15 米,不能满足远距离传输要求,而RS-485 最大传输距离为1200 米,最大传送速率可达10Mb/s。因此,RS-485 在远

6、程通信和多机总线系统中具有很大吸引力。MAX48X49X 系列收发器芯片适合于RS 一422RS 485 通信标准。其主要有以下特点:单+5V 电源供电; 低功耗:工作电流120 500A : 驱动过载保护; 通信传输线上可挂32 个收发器方便组成半双工通信电路; 共模输入电压范围:-7V + l2VMAX485 为8 脚封装,引脚配置如图l 所示,各引脚功能说明如表l 所示。表1摘要:以TMS320F240 系列为例,简要介绍了数字信号处理器串行通信接口SCI 模块和RS485 串口通信,并编程实现了TMS320F240 与PC 机串行通信接口电路。1 引言DSP 既是Digital Sig

7、nal Pricessing 的缩写,也是Digital Signal Pricessor 的缩写。前者是指数字信号处理的理论和方法,后者则是指用于数字信号处理的可编程微处理器。TMS320F240 系列是在TMS320F2000TM 平台下的一种定点DSP 芯片,是专为数字电机控制和其他控制应用系统而设计的16位定点运算的DSP。它集合了DSP 的高速运算功能与电机的强大控制能力,为控制系统应用提供了一种理想的解决方案。TMS320F240 片内外设有一个16 位的同步串行外围接口(SPI),一个用于串行通讯接口的SCI 模块,双10 位A/D 转换器,带中断的看门狗定时器模块(WDT),带

8、有锁相环(PLL)时钟发生器。另外,还集成了两个事件管理模块EVA 和EVB。因此,TMS320F240 不仅具有高速数据处理能力,还具有控制和事件管理能力,可完成人机界面、与上位机进行串行通信等功能。2 串行通讯接口(SCI)模块SCI 接收器和发送器是双缓冲的,每一个都有他自己单独的使能和中断标志位。两者可单独工作,或在全双工的方式下同时工作。为了确保数据的完整性,SCI 对接收到的数据进行间断检测、奇偶性校验、超时和帧出错的检查。通过一个16 位的波特率选择寄存器,数据传输的速度可以被编程为65535多种不同的方式。SCI 的串行通信接口包括SCIRXD(串行通信数据接收)和SCITXD

9、(串行通信数据发送),在不使用SCI 时,这两个引脚也可作通用I/O 口。发送和接收的操作可以利用状态标志位通过中断驱动或查询算法来完成。与之相关的主要寄存器:发送缓冲寄存器SCITXBUF、接收缓冲寄存器 SCIRCBUF、接收仿真缓冲寄存器SCIRXEMU;通信控制寄存器SCICCR、中断使能和内部时钟使能SCICTL1 和SCICTL2 、波特率选择高字节寄存器SCIHBAUD、波特率选择低字节寄存器SCILBAUD、优先级控制寄存器SCIPRI、引脚控制功能SCIPC2 以及反映通信状态SCIXST 等。串行通信接口模块有两个多处理器通信协议:空闲线多处理器模式和地址多处理器模式。空闲

10、线模式在地址前留有一个固定空间,该模式没有附加的地址 /数据位,它在处理包含多于10 个字节的数据块方面比地址位模式更有效;地址位模式在每个字节中加入一个额外位(地址位)来区分地址和数据,这种模式在处理多个小数据块时更有效。3 RS-485串口通信RS-232 虽然被广泛接受,但其数据传送的速度慢、在现代网络通信中已暴露出的接口处各信号间容易产生干扰等明显的缺点。RS-232 只能传输15 米,不能满足远距离传输要求,而RS-485 最大传输距离为1200 米,最大传送速率可达10Mb/s。因此,RS-485 在远程通信和多机总线系统中具有很大吸引力。MAX48X49X 系列收发器芯片适合于R

11、S 一422RS 485 通信标准。其主要有以下特点:单+5V 电源供电; 低功耗:工作电流120 500A : 驱动过载保护; 通信传输线上可挂32 个收发器方便组成半双工通信电路; 共模输入电压范围:-7V + l2VMAX485 为8 脚封装,引脚配置如图l 所示,各引脚功能说明如表l 所示。表1本设计以PC 机为主机,TMS320F240 为从机,主从机之间进行串口通信。TMS320F240 与PC 机之间采用RS 一485 标准进行半双工通信的接口电路如图2 所示。其中,接收器和驱动器的选择由TMS320F240 的XFIOPC2 引脚控制。由于一般PC 机上提供的是标准的RS 23

12、2 C 串行接口,因此,需要RS 232CRS485 转换器进行接口转换。4 上位机PC机的软件设计上位机PC 采用高级语言C,在用C 语言开发DSP 应用程序时,需要嵌入一句或几句汇编语言,如在程序的初始化阶段对INTM、SXM 等位的配置。用asm 的方式就可以实现单句汇编语言的嵌入。Code Composer Studio 简称CCS,是TI 公司推出的为开发TMS320 系列DSP 软件的集成开发环境(IDE)。CCS 工作在Windows 操作系统下,类似于VC+的集成开发环境,采用图形接口界面,提供有编辑工具和工程管理工具。在CC 环境下串行通信有两种方式:即同步方式和异步方式,在

13、此仅讨论异步方式中的串行通信。PC 串行口发送器输出端和接收器输入端的数据格式为帧信息格式,与TMS320F240的SCI 口格式相同。通信时,双方必须约定通信数据传输格式、传输速率及各自工作方式等。本文设计,当上位机请求通讯时,先发请求通讯命令,下位机有效接收并判断,确认后向上位机发响应码。上位机在收到响应码后,再发操作命令。双方约定:波特率208h;8 位字符,一位停止位,无校验;传送方式:PC 机采用查询方式接收数据,TMS320F240 采用中断方式接收数据。5 DSP软件设计5.1 串口初始化首先对寄存器地址、波特率、数据位、停止位、奇偶校验位进行设置。void Set()*SCIC

14、CR=0x7; /8 位字符,1 停止位,无校验*SCICTL1=0X13; /使能发送和接受*SCICTL2=0x03; /使能接受和发送中断*SCIHBAUD=0x02; /波特率=208h,40MHZ*SCILBAUD=0x08; /208h=40*106/(9600*8)-1*SCICTL1=0x33; /使能发送和接受,复位*SCIPRI=0X60; /SCI 中断(接受和发送中断)为低优先级中断5.2 中断初始化a)禁止总中断子程序void inline disable()asm(setc INTM);asm(setc SXM);b)使能总中断子程序void inline enab

15、le()asm(clrc INTM) ;c)中断服务程序void interrupt uarttr()switch (*PVIR)/根据中断向量寄存器PVIR 的值区别是接收还是发送中断case 6:UartRec();/如果PVIR=6,则发生了接受中断,执行接受中断服务程序d)当由于干扰而引起其它中断时,中断进入此程序直接返回主程序void interrupt nothing()return; 5.3中断处理void UartRec()unsigned int uwork;int I, k;k=0;while(1) douwork=(*SCIRXST);while(uwork&0x40= =0);cReceive=(*SCIRXBUF);cBufferk= cReceive;if(cReceive= =。) cBufferk+1=;nlen=k+1;Set();Break;k+; k%=16;5.4程序初始化# include 2407c.h/初始化子程序Initial()*IFR=0xFFFF; /清除中断标志*WDCR=0Xe8; /不使能看门狗*SCSR1=0x81FE; /CLKIN=6M, CLKO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号