家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生
当前位置: 电脑硬件维修培训网单片机技术DSP 与PC 机串行通讯的设计
文章内容

DSP 与PC 机串行通讯的设计

作者:佚名  来源:本站整理  发布时间:2011-06-15 10:28:51

     摘要:以TMS320F240 系列为例,简要介绍了数字信号处理器串行通信接口SCI 模块和RS485 串口通信,并编程实现了TMS320F240 与PC 机串行通信接口电路。

  1 引言

  DSP什么是DSP?DSP

  dsp是digital signal processor的简称,即数字信号处理器。它是用来完成实时信号处理的硬件平台,能够接受模拟信号将其转换成二进制的数字信号,并能进行一定形式的编辑,还具有可编程性。由于强大的数据处理能力和快捷的运行速度,dsp在信息科学领域发挥着越来越大的作用。 [全文]

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

  转换器从原理上可分为协议转换器、接口转换器两大类。从应用上又可以分光纤转换器、光电转换器、视频转换器等等。例如视频转换器就是一种连接电脑电视的设备,它可以把电脑上的内容转换并显示在电视机上,让人们可以在电视上学电脑,上网,玩游戏,做商业演示,看股票等等。 [全文]

,带中断的看门狗定时器模块(WDT),带有锁相环(PLL)时钟产生器。另外,还集成了两个事件治理模块EVA 和EVB。因此,TMS320F240 不仅具有高速数据处理能力,还具有操纵和事件治理能力,可完****机界面、与上位机进行串行通信等功能。

  2 串行通讯接口(SCI)模块

  SCI 接收器和发送器是双缓冲的,每一个都有他自己单独的使能和中断标志位。两者可单独工作,或在全双工的方式下同时工作。为了确保数据的完整**,SCI 对接收到的数据进行间断检测、奇偶**校验、超时和帧出错的彻查。通过一个16 位的波特率选择寄存器,数据传输的速度可以被编程为65535多种不同的方式。SCI 的串行通信接口包括SCIRXD(串行通信数据接收)和SCITXD(串行通信数据发送),在不使用SCI 时,这两个引脚也可作通用I/O 口。发送和接收的操作可以利用状态标志位通过中断驱动或查询算法来完成。与之相关的主要寄存器:发送缓冲寄存器SCITXBUF、接收缓冲寄存器SCIRCBUF、接收仿真缓冲寄存器SCIRXEMU;通信操纵寄存器SCICCR、中断使能和内部时钟使能SCICTL1 和SCICTL2 、波特率选择高字节寄存器SCIHBAUD、波特率选择低字节寄存器SCILBAUD、优先级操纵寄存器SCIPRI、引脚操纵功能SCIPC2 以及反映通信状态SCIXST 等。

  串行通信接口模块有两个多处理器通信协议:空闲线多处理器模式和地址多处理器模式。空闲线模式在地址前留有一个固定空间,该模式没有附加的地址/数据位,它在处理包含多于10 个字节的数据块方面比地址位模式更有效;地址位模式在每个字节中加入一个额外位(地址位)来区分地址和数据,这种模式在处理多个小数据块时更有效。

  3 RS-485串口通信

  RS-232 虽然被广泛接受,但其数据传送的速度慢、在现代网络通信中已暴露出的接口处各信号间轻易产生干扰等明显的缺点。RS-232 只能传输15 米,不能满足远距离传输要求,而RS-485 最大传输距离为1200 米,最大传送速率可达10Mb/s。因此,RS-485 在远程通信和多机总线系统中具有很大吸引力。MAX48X/49X 系列收发器芯片适合于RS 一422/RS 485 通信标准。其主要有以下特点:


  ·单+5V 电源什么是电源?电源

电源是向电子设备提供功率的装置,也称电源供给器,它提供计算机中所有部件所需要的电能。[全文]

供电;

  · 低功耗:工作电流120~ 500μA :

  · 驱动过载守护;

  · 通信传输线上可挂32 个收发器方便组成半双工通信电路;

  · 共模输入电压范围:-7V ~ + l2V

  MAX485 为8 脚封装,引脚配置如图l 所示,各引脚功能说明如表l 所示。

表1


  本设计以PC 机为主机,TMS320F240 为从机,主从机之间进行串口通信。TMS320F240 与PC 机之间采纳RS 一485 标准进行半双工通信的接口电路如图2 所示。其中,接收器和驱动器的选择由TMS320F240 的XF/IOPC2 引脚操纵。由于一般PC 机上提供的是标准的RS 232 C 串行接口,因此,需要RS 232C/RS485 转换器进行接口转换。


  4 上位机PC机的软件设计

  上位机PC 采纳高级语言C,在用C 语言开发DSP 应用程序时,需要嵌入一句或几句汇编语言,如在程序的初始化阶段对INTM、SXM 等位的配置。用asm 的方式就可以实现单句汇编语言的嵌入。

  Code Composer Studio 简称CCS,是TI 公司推出的为开发TMS320 系列DSP 软件的集成开发环境(IDE)。CCS 工作在Windows 操作系统下,类似于VC++的集成开发环境,采纳图形接口界面,提供有编辑工具和工程治理工具。在CC 环境下串行通信有两种方式:即同步方式和异步方式,在此仅讨论异步方式中的串行通信。PC 串行口发送器输出端和接收器输入端的数据格式为帧信息格式,与TMS320F240的SCI 口格式相同。通信时,双方必须约定通信数据传输格式、传输速率及各自工作方式等。本文设计,当上位机请求通讯时,先发请求通讯命令,下位机有效接收并推断,确认后向上位机发响应码。上位机在收到响应码后,再发操作命令。双方约定:波特率208h;8 位字符,一位停止位,无校验;传送方式:PC 机采纳查询方式接收数据,TMS320F240 采纳中断方式接收数据。

  5 DSP软件设计

  5.1 串口初始化

  首先对寄存器地址、波特率、数据位、停止位、奇偶校验位进行设置。

  void Set()

  {

  *SCICCR=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 enable()

  {

  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) {

  do{

  uwork=(*SCIRXST);

  }while((uwork&0x40= =0));

  cReceive=(*SCIRXBUF);

  cBuffer[k]= cReceive;

  if(cReceive= =’.’) {

  cBuffer[k+1]=’\0’;

  nlen=k+1;

  Set();

  Break;

  }

  k++; k%=16;

  }

  }

  5.4程序初始化

  # include "2407c.h"

  //初始化子程序

  Initial(){

  *IFR=0xFFFF; //清除中断标志

  *WDCR=0Xe8; //不使能看门狗

  *SCSR1=0x81FE; //CLKIN=6M, CLKOUT=24M

  *MCRA=0x3; //use SCITXD, SCIRXD

  *PADATDIR=0x100; //设置ADIR 为输出口

  }

  5.5主程序

  Main(){

  Set();

  Disable(); //屏蔽所有中断

  Initial(); //系统初始化

  Enable(); //使能总中断

  While(1) {

  unsigned int uwork;

  For (intI=0;I<10;I++){

  Do{

  Uwork=(*SCICTL2);

  }while (uwork&0x0c0!=0x0c0);

  (*SCITXBUF)=cAnswer[i];

  *IFR=0x0010;

  Enable();

  }

  Do{

  Uwork=(*SCICTL2);

  }while (uwork&0x0c0!=0x0c0);

  (*SCITXBUF)='\"';

  }

  For(;;){

  :

  }

  }

  6结束语

  本文作者创新点:利用DSP 的串行通信接口(SCI)和功能强大的开发环境CCS,可以方便地实现DSP 与PC 机间的单机或多机串行通信。通过实际运行表明,利用TMS320 的SCI 模块实现DSP 之间或与PC 机的通信,与传统的C51 单片机什么是单片机?单片机

  单片机是单片微型计算机(Single-Chip Microcomputer)的简称,是一种将中心处理器微处理器随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)采纳超大规模集成电路技术集成到一块硅片上构成的微型计算机系统。 [全文]

相比,其电路简洁、设置灵活、运行速度快,性能可靠稳定。



  来源:子集

该文章来至网络或用户,仅供学习交流之用,版权归原作者所有。
如有侵权,请及时与我们联系!现在联系我们

CAN总线在交通信号灯动态调整系统中的应用

国内交通操纵系统中红绿灯的切换时间广泛采纳固定及分时段变化的时间间隔,或者由交通指挥中心根据交通状况调整时间间隔。但是无法做到根据实际的交通状况进行动态切换,也...

基于C8051F020的实时检测和车辆散热系统参数测试电路设计

1 引言  车辆的系统散热性是衡量其先进性的一个重要标志,因为车辆的各个部件和系统都存在一个最佳的工作温度区间,在此温度范围内零部件的各项性能指标才能得以保证。...

基于DSP的光纤光栅解调系统的设计

0 引言  光纤布拉格光栅传感器(FBGS)是用光纤布拉格光栅(FBG)作敏感元件的功能型光纤传感器,可用于直接检测温度和应变,以及与温度和应变有关的其他许多物理量和化学量...

基于DSP+MCU的列车滚动轴承故障诊断系统设计与应用

0 引言  滚动轴承是列车转动机件的支撑,也是铁路车辆上最轻易危及行车安全的易损件。由于工作面接触应力的长期反复作用,极易引起轴承疲惫、裂纹、压痕等故障,导致轴...

DSP芯片TMS320C6712的外部内存自引导功能的实现

TMS320C6000系列与TMS320C54系列的引导方式有很大差别。在开发应用TMS320C6000系列DSP时,许多开发者,尤其是初涉及者对DSP ROM引导的实现有些困难,花费许多时间和精力摸...

在线报名
友情链接