当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]DSP 与PC 机串行通讯的设计

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

1 引言

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 的方式就可以实现单句汇编语言的嵌入。[!--empirenews.page--]

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]=’’;

nlen=k+1;

Set();

Break;

}

k++; k%=16;

}

}
[!--empirenews.page--]
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 单片机相比,其电路简单、设置灵活、运行速度快,性能可靠稳定。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭