DSP+单片机

2024-10-14

DSP+单片机(共5篇)

DSP+单片机 篇1

0前言

DSP,即数字信号处理器。其技术广泛运用于现代通信,通过与单片机相连,能实现相应的数据处理。单片机的外接串口规格通DSP不相符,进而无法进行数据连接,需对其进行相关设计。DSP与单片机之间进行串行通信,这能将单片机的灵活控制功能与DSP良好的数据处理能力进行有机结合。

1 DSP 与单片机的概述

1.1 DSP 的概述

DSP,即Digital Signal Processing,又称为数字信号处理器。其属于较为特殊的微型处理器,其主要对转换为数字信号的信息进行相应的处理。Digital SignalProcessing的工作原理十分简单,处理器接受模拟信号后,将其转化为二进制的数字信号,从而通过相应系统对数字信号进行各项操作。通过别的操作系统,可以将转化后的数字信号数据进行解析,还原为实际环境格式或模拟数据。DSP不仅可以进行二进制编程,从而对数据进行较好地处理。其与过去使用的微型处理器不同,运行速度得以很大的提高。这使得DSP的应用十分广泛。

1.2 单片机的概述

Micro-controllers,即单片机。其属于电子领域经常用到的电子芯片。因其本身具有的体积小、价格便宜等优点,广泛应用于电子领域。单片机可以分为通用型与专业型两类,如80C51式单片机就属于十分常见的通用型。

2 串行通信的相关内容

2.1 串行通信的传送方向

串行传送方式共分为单工、半双工和全双工三种方式。单工传送方式具有明显劣势,其只能进行单方向数据传送,且信息的传送与接收不能同时进行。传送方式为半双工传送时,通信数据可以进行双方向传送,但数据传送只能交替进行。传送方式为全双工传送时,通信数据可进行双方向的同时传送,在此情况下,需要拥有两条独立数据线。

2.2 串行通信的同步方式

串行通信分为两种同步方式,同步与异步。在进行串行通信时,必须对同步方式进行统一的规范,这样才能保证双方接收端进行正确接收。

3 DSP 与单片机串口介绍

3.1 以 TMS320VC5416 为例, 对多通道缓冲串口进行介绍

TMS320VC5416设有三个缓冲串口进行数据的收发,每个串行口可支持128通道。多通道缓冲串口以标准串行接口为基础,进行相应的功能扩展。因此,其部分功能与标准串行接口相同 :(1)全双工通讯 ;(2)配有可进行两级缓冲发送和三级缓冲接收数据寄存器,支持数据流的连续传输。

3.2 以 AT89S52 单片机为例,进行串口介绍

AT89S52单片机作为近代比较常用的单片机类型,其内部有一个可编程全双工串行通信接口。该接口串行通信的方式为全双工方式,同步方式为异步,通讯数据可进行双方向同时进行。

AT89S52单片机在进行通信时,数据的收发必须与字符位数的波特率保持一致,在此前提下,数据收发由各自的TCLK和RCLK进行控制。MCS-51串行口通过两种方式产生收发时钟,第一种是通过主机频率fosc的分频产生,第二种通过单片机内部的定时器溢出率,后经16分频产生。

4 DSP 与单片机串口通信的实例

以TMS320VC5416型DSP与AT89S52型单片机为例,进行两者间串口通信的设计与实现,具体实验如下 :

4.1通过将DSP的串口与AT89S52型单片机进行连接,DSP输入的帧同步信号由AT89S52发送的起始位提供,输入的采样信号在其内部产生。

4.2 单片机通信软件的设计

AT89S52与8051系列单片 机相互兼容。所以,AT89S52进行开发时可以参考8051的开发工具。AT89S52单片机通信程序采用ASM51汇编环境下编写,在MCS - 51单片机仿真调试软件下调试成功。

AT89S52单片机通过中断方式接收DSP发送过来的数据信号,并回送确认信号给DSP接收终端。波特率设置为T1方式2工作,计数常数为F3H,SMOD=1,波特率为58600b/s ;单片机串行口初始化为方式1,允许接收 ;中断服务程序入口地址为0023H。

4.3 在 AT89S52 端的发送和接收

(1)发送 :CPU对写入指令进行执行完成后,便对串行口进行开启,进而对执行完后的指令进行发出。AT89S52通过TXD对数据进行输出,当信息发送完一帧后,发送中断,此时标志置1。

(2)接收 :RXD端对置1命令执行后,AT89S52接收器便以波特率18倍速率对RXD端的电平进行采样工作。采样所得数据进行相应跳变后,便启动接收器进行数据接收,并对内部的16分频计数器进行复位,从而实现同步传输。在RI=0的状态下,接收到停止位为 (1或者SM2=0)时,将停止位送入RB8,8位数据进入接收缓冲器SBUF,并置RI=1中断标志。

4.4 在 TMS320VC5416 端的接收和发送

(1)发送 :对于所需要进行发送的数据,TMS320VC5416将其置于发送缓冲区,并进行相应的数据扩展 :TMS320VC5416进行数据发送时,每次只发送一个字节,并将此字节进行扩展,从何1bit扩展为16位bit。如“0”扩展为“0x0000”,“1”扩展为“0x FFFF”。信息进行相应扩展后,在数据开头位置上添加一个字,结尾位置上也相应的添加一个字,从而将所需要进行发送的一个字节进行十倍扩展,成为10个字。然后将这10个字组成一帧,由DSP外接的相应串口进行发送。

(2)接收 :TMS320VC5416的串口进行 数据接收 时,每一帧为9个字,即16bit。当每一帧 同步信号 到达接口 时,TMS320C5416便自动启动,进行数据相应的接收。根据上面讨论的结果,AT89S52的1 bit被TMS320VC5416采样成了16.03 bit,当收到9字后,TMS320C5416停止接收。

5 结束语

通过以上实验,我们可以得知,通过一定技术手段能实现TMS320VC5416型DSP和AT89S52型单片机之间的串口通信。两者之间进行串行通信,能够有效的将两者之间的优势有机结合起来。通过两者实现结合,既可体现出单片机的灵活控制功能,又可将DSP良好的数据处理能力发挥出来。

摘要:DSP技术在现代通信领域得到广泛应用,其实现方式可通过单片机进行,但需要对单片机进行串口设计。通过一定的技术设计,DSP与单片机之间的串口通信得以实现,此种通信方式能够有效降低电路设计难度,并让两者各自的优势得以充分发挥,进而提高运行速度。

关键词:DSP,单片机,串口通信

DSP+单片机 篇2

摘 要:介绍了一种利用双口RAM实现DSP与单片机高速数据通信的方法,给出了它们之间的接口电路以及软件实现方案。

关键词:DSP;双口RAM;接口电路;数据通信

1 引言

数字信号处理器(DSP)是一种适合于实现各种数字信号处理运算的微处理器,具有下列主要结构特点:(1)采用改进型哈佛(Harvard)结构,具有独立的程序总线和数据总线,可同时访问指令和数据空间,允许实际在程序存储器和数据存储器之间进行传输;(2)支持流水线处理,处理器对每条指令的操作分为取指、译码、执行等几个阶段,在某一时刻同时对若干条指令进行不同阶段的处理;(3)片内含有专门的硬件乘法器,使乘法可以在单周期内完成;(4)特殊的指令结构和寻址方式,满足数字信号处理FFT、卷积等运算要求;(5)快速的指令周期,能够在每秒钟内处理数以千万次乃至数亿次定点或浮点运算;(6)大多设置了单独的DMA总线及其控制器,可以在基本不影响数字信号处理速度的情况下进行高速的并行数据传送。

由一片DSP加上存储器、模/数转换单元和外设接口就可以构成一个完整的控制系统,但这种方案要达到高速实时控制是不可行的.。因为一个实时控制系统一般需要完成数据采集、模/数转换、分析计算、数/模转换、实时过程控制以及显示等任务,单靠一片DSP来完成这些工作势必会大大延长系统对控制对象的控制周期,从而影响整个系统的性能。所以我们添加一个CPU,负责数据采集、模/数转换、过程控制以及人机接口等任务,使DSP专注于系统控制算法的实现,充分利用它的高速数据处理能力。从性能价格比的角度出发,这个CPU采用8位的51系列单片机。这时,两个CPU之间的数据共享就成了一个重要的问题。

采用双口RAM(简称DRAM)是解决CPU之间的数据共享的有效办法。与串行通信相比,采用双口RAM不仅数据传输速度高,而且抗干扰性能好。在笔者实验室研制的电力有源滤波器中,选用了TI公司的第三代DSP芯片TMS320C32和51系列单片机89C52作为控制系统的CPU。两个CPU之间通过双口RAM CY7C133完成数据交换。但在实际使用过程中遇到了89C52 与双口RAM总线宽度不匹配的问题,需要进行接口电路的设计。

2 双口RAM CY7C133的内部结构和功能

CY7C133是CYPRESS公司研制的高速2K×16CMOS双端口静态RAM,具有两套相互独立、完全对称的地址总线、数据总线和控制总线,采用68脚 PLCC封装形式,最大访问时间可以为25/35/55 ns。采用主从模式可以方便地将数据总线扩展成32位或更宽。各引脚的功能如表1所示,内部功能框图如图1所示。

CY7C133允许两个CPU同时读取任何存储单元(包括同时读同一地址单元),但不允许同时写或一读一写同一地址单元,否则就会发生错误。双口RAM中引入了仲裁逻辑(忙逻辑)电路来解决这个问题:当左右两端口同时写入或一读一写同一地址单元时,先稳定的地址端口通过仲裁逻辑电路优先读写,同时内部电路使另一个端口的信号有效,并在内部禁止对方访问,直到本端口操作结束。BUSY信号可以作为中断源指明本次操作非法。在主从模式中,主芯片的信号接上拉电阻作为输出,从芯片的信号作为写禁止输入。

3 DSP、单片机与双口RAM之间的接口电路

89C52的地址总线宽度为16位,数据总线为8位;TMS320C32的数据总线宽度为32位,地址总线宽度为24位。而CY7C133的数据总线宽度为16位,地址总线宽度为11位,所以TMS320C32与双口RAM的接口并无特别之处,但是89C52与双口RAM之间的接口电路中就需要对89C

DSP+单片机 篇3

随着计算机和信息技术的飞速发展,数字信号处理技术得到了迅速的发展。数字控制使得电力电子变换控制更为灵活,在CPU计算速度允许的情况下,可实现模拟控制难以做到的复杂控制算法,设计者可以根据自己的系统需求,方便地更改控制器参数,即便是在控制对象改变的情况下,也无需对控制器硬件做修改,只要改变某些软件参数即可,从而大大增强了系统的兼容性。随着DSP的应用逐渐普及,用DSP取代模拟电路中的专用PWM集成电路,已广泛应用于UPS和逆变器控制中。

作为智能化设备,液晶屏和键盘等人机交互装置是数字化电源系统所必不可少的。而DSP的工作频率较高,读写周期很短,主要用于处理实时性要求苛刻、算法复杂的关键性任务,例如对功率开关管的控制,数据采集、分析、处理等,而液晶显示和键盘扫描的任务可由普通的51系列单片机来完成,而DSP和51单片机间的数据交流可采用异步通信方式,即系统采用双CPU结构。

1 系统的结构原理

本文中所采用的DSP和单片机型号分别是TI公司的TMS320F2812和MCS51系列。在系统中,DSP实现与单片机的串口异步通信,单片机将用户的原始设置数据传输到DSP,而DSP将采集到的实时数据信息返回给单片机,单片机不断刷新液晶的显示。系统的基本结构如图1所示。

1.1 串口介绍

本文中DSP是基于串行通信接口模块SCI实现通信的。SCI支持CPU与其他使用标准格式的异步外设之间的数据通信。SCI仅需要2根数据线进行数据传输,虽然传输速度不快,但已经能满足一般的通信要求,而且外围接口电路非常简单。传输的数据长度在一定范围内也是可变的[1]。

MCS51系列单片机内部具有一个全双工串行口,该串行口有4种工作方式,可以通过软件进行设置,由片内定时/计数器产生波特率。串行口的接收和发送数据均可以触发中断,并含有接收、发送缓冲器SBUF,二者共用一个地址[2]。

1.2 单片机与DSP的通信接口电路

SCI接口分为RXD和TXD两个管脚,传统的2个设备异步通信采用RS 232或RS 485的形式,须另配置对应的RS 232和RS 485驱动芯片。而本文所提及的采用双CPU结构的数字化电源设备,DSP和51单片机位于同一设备内,距离较短,可省去RS 232和RS 485驱动芯片,采用2个CPU的RXD和TXD直接交叉连接即可。但需注意的是,由于DSP的工作电压为3.3 V,而MCS51单片机的工作电压为5 V,因此二者之间的通信电路需要进行电平转换,如图2所示。

在该电路中,单片机的TXD端电压高于DSP的RXD端,故仅需要使用分压电路,计算出合适的阻值即可满足要求,而从DSP向单片机传送数据时,需要提升电平,因而采用了光耦电路,将电平提升到单片机的工作电平。这样就能以简单的电路实现电平的转换。需要注意的是,所采用的光耦速率要高于数据传输速率,这样才能保证数据准确高效的传输,以免出现数据丢失。

1.3 单片机与DSP通信的软件实现

在异步通信中必须先规定3件事:一是字符格式,即传输的每一帧数据的格式;二是通信双方要设置为相同的波特率,且该波特率能适应双方的时钟频率;三是通信双方要有约定的通信协议,也就是双方要互相确认后才能传输数据。

在本设计中,DSP和单片机采用的数据帧格式是1位起始位,8位数据位和1位停止位。由于数据包采用校验和的方式进行校验,因而在数据帧格式中没有设置奇偶校验位。因而MCS51单片机应设置工作在串口方式1状态下,此时串行口为8位异步通信接口。为了保证数据传输具有较高的速率,同时又有比较低的传输误码率,因而选择波特率为9 600 b/s。通过相应的波特率设置计算公式计算出DSP和单片机的初始化时寄存器的初值,即可完成设置。这样就保证了通信双方帧格式的统一和波特率的统一,从而使数据通信正确、可靠[3,4,5,6,7]。

DSP的串口初始化设置程序如下:

EALLOW;

GpioMuxRegs.GPGMUX.bit.SCIRXDB_GPIOG5 = 1;

//设置SCI-RX引脚外设功能

GpioMuxRegs.GPGMUX.bit.SCITXDB_GPIOG4 = 1;

//设置SCI-TX引脚外设功能EDIS;

ScibRegs.SCICCR.all =0x07; //1位停止位,无奇偶校验,

8位字符长度,使用空闲线模式协议

ScibRegs.SCICTL1.all =0x03;

//使能发送和接收缓冲

ScibRegs.SCICTL2.all=0x02;

//使能RXRDY中断,禁止TXRDY中断

ScibRegs.SCIPRI.all =0x0000;

//禁止接收错误中断和休眠模式

ScibRegs.SCIHBAUD=0x01;

//LSPCLK = 37.5 MHz,波特率设为9 600 b/s

ScibRegs.SCILBAUD = 0xE1;

ScibRegs.SCICTL1.all =0x0023;

//重新使能SCI

51单片机串口初始化程序如下:

TMOD=0x21;

//定时器1工作在方式2,用于产生0串口的波特率

SCON=0x50;

//串行口0工作在方式1,允许接收,清标志位

TH0=0xfd; //晶振12 MHz,设置波特率为9 600 b/s

TH1=0xfd;PS=1; //串口中断优先

PCON|=0x00; //波特率不加倍

TR1=1; //启动计数器1

ES=1; //允许串口中断

在本设计中,采用自己规定的通信协议,首先DSP发送出握手信号,C51收到握手信号后,进入中断子程序,判断握手信号是否正确,若正确才握手成功,开始接收数据包,接收完成后对数据进行和校验,正确后刷新液晶的显示数据存储区;若错误则放弃本次数据,并将接收数据存储区清零,等待下一次通信。其程序流程图如图3所示。

DSP向单片机的定时发送程序如下:

ScibRegs.SCITXBUF = Sci_VarRx[i];

//将数据包写入发送缓冲区

i++; //依次发送数据包

if(i= =12) i=0; //重新计数

IER |= M_INT1; //清除中断标志位

EINT;

PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;

51单片机串口中断服务程序如下:

Rx0_Buffer[Rx0_Ptr]=SBUF; //读取数据到接收数组

RI=0; //清除接收标志位

Rx0_Ptr++; //计数加1

Rx_flag=1; //接收标志置位,处理数据

1.4 单片机与液晶和键盘的接口

系统采用的是D6128×4图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成,既可以完成图形显示,也可以显示8×4个(16×16点阵)汉字。单片机与液晶模块和键盘的接口电路如图4所示。

单片机与液晶之间通过8位数据线进行并口通信,将DSP传来的实时数据传输到液晶显示器进行实时显示。对液晶驱动器的控制具体是通过各个内部寄存器和标志位的操作实现的,单片机写入不同的控制字就能让液晶执行各种不同的功能[8,9,10]。DG12864是点阵型液晶,它主要通过对点阵中各点的亮灭来显示不同的内容,通过取模软件可以方便地获得汉字和英文符号等的字模,将程序中所要用到的字模存储在特定的文件中,在程序中根据所要显示的内容调用相应的字模,最终通过并口传输到液晶驱动器的显示RAM区中实现显示。图5展示了系统实际运行时的界面。

2 结 语

本文设计了TMS320F2812和MCS51单片机的串行异步通信接口,并通过单片机实现驱动液晶的实时显示和键盘设置功能。经过实验,证明这种设计能够高效准确地实现了上述功能,而且其硬件简单、操作方便。目前这种方案已经可靠地应用于智能充电器的人机界面模块中。

参考文献

[1]孙丽明.TMS320F2812原理及其C语言程序开发[M].北京:清华大学出版社,2010.

[2]李广弟,朱月秀,冷祖祁.单片机基础[M].北京:北京航空航天大学出版社,2007.

[3]陈晓东.基于单片机控制的具有串口通信的温控器[J].现代电子技术,2007,30(18):59-60.

[4]赵巍,刘汉奎.TMS320F240 DSP与C51单片机串行通信的实现[J].微处理机,2003(5):62-64.

[5]阿尔贡巴彦尔,金星,史雪峰.基于单片机和DSP的信号采集系统设计[J].现代电子技术,2007,30(6):30-32.

[6]王勇,肖学礼.数字化UPS中DSP与单片机的串行通信设计[J].通信电源技术,2006,23(1):36-38.

[7]安斯光,倪光正.TMS320LF2407A MCS-51 RS 485的串口通信设计[J].计算机工程与设计,2006,27(13):2476-2477.

[8]汪川,樊泽明.基于单片机的HT1621液晶显示系统设计[J].现代电子技术,2010,33(23):165-167.

[9]陈京培,徐永梅.基于AT89S52单片机的液晶显示控制电路设计[J].现代电子技术,2008,31(22):22-25.

DSP+单片机 篇4

伺服驱动器 (servo drives) 又称为“伺服控制器”、“伺服放大器”, 是用来控制伺服电机的一种控制器, 其作用类似于变频器作用于普通交流马达, 属于伺服系统的一部分, 主要应用于高精度的定位系统。一般是通过位置、速度和力矩三种方式对伺服马达进行控制, 实现高精度的传动系统定位, 目前是传动技术的高端产品。

伴随着电机由有刷电机、无刷电机以及永磁同步电机的发展历程, 伺服驱动器相应经历了模拟电路、8位单片机模数混合电路及高性能DSP电机专用控制解决方案等发展阶段。伺服进给系统的调速范围宽、定位精度高、有足够的传动刚性和高的速度稳定性、快速响应无超调、低速大转矩, 过载能力强、可靠性高等诸多特点对控制芯片提出了更高的要求。

2 DSP电路设计

伺服驱动器选用微芯公司高性能16位数字信号控制器ds PIC30F4011作为无刷电机的主控芯片, 它集DSP的高速运算处理能力与电机常用检测接口于一体, 成为很多伺服方案的首选。DSP在伺服系统中主要承担对实时输入数据按照某种控制规律、算法实时地计算、处理并且存储, 最后将实时结果输出。DSP的性能对整个伺服系统的控制性能起着至关重要的作用, 因此选择一款合适的DSP芯片变得尤为重要, 整个伺服驱动器硬件都是围绕DSP来设计的。

2.1 ds PIC30F4011芯片及功能

ds PIC30F4011是伺服驱动器的主控芯片。是Microchip公司为满足高性能, 高精度伺服要求而推出的一款电机专用芯片, 如图1所示, 外设资源比较丰富。

ds PIC30F4011采用改进的哈佛架构, 能提供最高30MIPS的工作速度[1], 指令宽度为24, 16位的数据总线宽度, 2KB数据RAM, 48KB程序FLASH, 除此之外:

(1) 高灌/拉电流I/O引脚, 25m A/25m A。

(2) 5个16位定时器/计数器, 需要时可组合成32位定时器。

(3) 10位高速模数转换器 (ADC) 模块。

(4) 6路PWM输出, 边沿对齐或中心对齐, 3个占空比发生器, 输出可改写。

(5) 可用于带霍尔传感器电机的输入捕捉模块。

(6) 可用于进行速度和位置测量的正交编码器接口 (QEI) , A相、B相、索引脉冲三输入信号。

(7) 通用异步收发器 (UART) 模块。

2.2 ds PIC30F4011开发环境及工具

ds PIC30F4011的开发环境由MPLAB IDE代码编辑器和ICD2程序下载和调试器构成, 前者主要完成控制程序代码编辑、修改, 经编译生成Hex文件后, 通过ICD2下载到器件中, 也可以使用ICD2进行调试。

2.2.1 MPLAB集成开发环境

MPLAB IDE是Microchip公司为单片机研发的一种能够在PC机上运行的软件[41], 它为嵌入式单片机开发程序提供了良好的环境。本课题所采用的ds PIC30F4011芯片的程序代码是在MPLAB IDE V7.62中生成的, 包括后续的编译, 调试。

MPLAB IDE中嵌入了很多常用的模块和组件, 为系统配置软硬件工具服务。常用的组件有:

(1) 编译器语言工具。

(2) 编程器。

(3) 在线仿真器。

(4) 在线调试器。MPLAB ICD2可以直接通过片上资源, 将程序代码下载到目标器件中, 并在集成环境中设置某些断点, 通过调试来观察寄存器及变量的变化。

常用的内置组件有:

(1) 项目管理器。

(2) 编辑器。

(3) 汇编器/链接器和语言工具。汇编器用来单独或和链接器组合使用, 将源文件、库、目标文件生成项目。链接器则用来在目标器件的存储单元中为编译后的代码分配空间。

(4) 调试器。通常与编辑器组合使用, 查看调试信息与源程序的关联性。

(5) 执行引擎。

2.2.2 ICD2在线调试器

MPLAB ICD2一端与PC的USB接口相连, 另一端与目标器件的编程模块接口相连[42]。连接检查无误后, 可以按照以下步骤进行程序烧写:

(1) 双击打开MPLAB IDE, 打开程序源文件窗口。

(2) 选择工程下的Quickbuild, 编译完成后, 确认无误信息。

(3) 选择Configure->Select Device, 弹出Select Device对话框, 选择ds PIC30F4011, 待MPLAB ICD2旁边的“灯”图标变成绿色。

(4) 选择Programmer->Settings->Power, 在弹出的对话框中, 勾选Power target circuit from MPLAB ICD2。

(5) 选择Programmer->Select Programmer->MPLAB ICD2。

配置好环境以后, 就可以导入刚才生成的Hex文件, 根据提示, 就可以对目标器件进行编写程序了。

3 伺服驱动器软件的研究

3.1 伺服系统控制程序总体框架

无刷直流电机位置伺服系统主要由无刷电机、功率驱动模块、电子换相单元、光电编码器、原点位置传感器、RS-485总线通讯单元[43]等组成。如图2。

3.2 伺服驱动器控制系统功能的实现

本课题研究的伺服驱动器电流闭环、位置闭环、速度闭环三环构成。

ds PIC30F4011各引脚作用如图

ds PIC30F4011接收来自PC端的位置指令参考输入, 读取光电编码器及原点传感器的绝对位置作为反馈输入, 误差值经过位置闭环PI调节后的输出作为速度闭环的参考输入, 与光电编码器的速度反馈值经速度闭环PI调节后, 输出值作为电流闭环的参考输入[3], 电流闭环的反馈值则是由电流传感器采样得到的, 这种电流传感器采样精度高, 采样范围大, 适合无刷电机电流的测量。这样经电流闭环PI调节后, 由ds PIC30F4011的占空比寄存器实现电机的PWM调制。

由于电流、速度、位置各环的比例, 积分系数值是在电机启动前通过串口设置的, 在电机运行过程中也随时可以更改, 增强了系统的稳定性, 减小了超调, 缩短了响应时间[4]。从而实现了无刷电机高要求的控制系统。

4 结语

本课题来源在于研究ds PIC30F4011做为控制核心芯片解决了伺服驱动器的调速范围宽、定位精度高、有足够的传动刚性和高的速度稳定性、快速响应无超调、低速大转矩, 过载能力强、可靠性高等诸多特点在设计与运用的问题。从而提高了生产率和加工质量, 也满足了定位精度高, 响应速度快的要求。

参考文献

[1]孙振源.基于dspic30F4011的BLDC模糊自适应PID控制研究[D].青岛:青岛大学硕士学位论文, 2011:35.

[2]朱信舜, 林明耀, 刘文勇.无刷直流电动机的正弦波电流驱动方法[J].微电机, 2011, 44 (11) :51-55.

[3]崔兵兵.基于DSP及轴角数字转换器的直流无刷电机控制系统研究与设计[D].西安:陕西科技大学硕士学位论文, 2008:40-43.

DSP+单片机 篇5

关键词:流体设备,位置控制,单片机,DSP,嵌入式

0 引言

随着社会的发展、科学技术的进步以及现代制造工业水平的不断提高, 自动化技术的覆盖面越来越广, 控制技术渗入到流体传动技术中的比重越来越大, 使流体设备的位置控制进入了新的发展阶段。流体设备位置控制包括液压传动位置控制和气压传动位置控制, 广泛应用于物流传送、自动化生产线各工位零部件的精确传送与定位、机器人等领域。这些应用需要在工作过程中快速、准确地完成预先指定的任务, 因而必须对之提出高精度、快速反应、灵活的自由度以及能在任意位置自动精确定位等要求。其中快速性和定位精度是2项重要的性能指标, 而提高快速性与提高定位精度总是存在着矛盾。为了解决这一矛盾, 可采用分任务并行处理的双处理器嵌入式数字控制系统来加以解决, 同时实现任意位置的定位, 其工作原理如图1所示。

根据上述控制原理, 笔者设计的一种基于单片机和DSP的流体设备位置嵌入式控制系统可实现上述要求。

1 系统硬件设计

流体设备的高精度控制系统往往需要分析、运算大量的数据, 对CPU 的处理能力提出很高的要求, 需采用高速的CPU 完成运算功能。单片DSP 加上存储器、模/ 数转换单元和外设接口就可构成一个完整的控制系统, 但不能进行高速实时控制, 因为单靠1片DSP 完成数据采集、模/ 数转换、分析计算、数/ 模转换、实时过程控制、人机接口及显示等任务, 势必会大大延长控制周期, 影响整个系统的性能。因此, 本系统采用单片机和DSP双处理器进行分任务并行处理:由单片机控制按键与人机界面, 以达到控制与管理整个系统的目的;DSP专门负责优化算法运算, 承担系统的核心运算任务;单片机与DSP之间采用多通道缓冲串口McBSP串行通信方式。基于单片机和DSP的流体设备位置嵌入式控制系统结构如图2所示。

1.1 A/D与单片机硬件结构

系统的A/D转换器选用ADS8344, 它是一个高速、低功耗、16位逐次逼近型ADC, 采用2.7~5 V单电源供电方式, 最大采样速率为100 kHz, 信噪比为84 dB, 带有串行接口, 包含8个单端模拟输入通道 (CH0~CH7) , 也可合成为4个差分输入, 100 kHz时的典型功耗为10 mV。单片机选用美国ATMEL公司生产的低电压、高性能的AT89C51。ADS8344与AT89C51的连接电路如图3所示。

1.2 D/A硬件电路结构

系统的D/A转换器选用BURR-BROWN公司生产的DAC7611, 它是12位串行输入数模转换器, 工作电压为5 V, 功耗仅为2.5 mW, 内部包括有串并转换移位器、DAC寄存器、2.435 V片内参考电压、12位的DAC和高速的轨到轨输出放大器等部分。DSP选用TMS320F2812芯片, 其工作电压为3.3 V。DAC7611与TMS320F2812采用串行通信方式传送数据, 其连接电路如图4所示。

该电路利用了TMS320F2812的串行外围接口SPI, DAC7611接收来自TMS320F2812的数据, 经D/A转换, 从Vout引脚输出模拟电压信号;TMS320F2812的信号进入DAC7611之前, 需要将3.3 V标准的电压信号处理成5 V标准的逻辑信号, 因此, 选用了TI公司生产的SN74LVTH245双向电平转换器, 并通过光隔离器隔离。从DAC7611出来的信号电压范围为0~5 V, 还需要在DAC7611后面加上一个G=2的放大电路, 从而得到0~10 V的模拟信号输出到执行机构。

1.3 DSP与单片机通信硬件结构

AT89C51与TMS320F2812之间采用多通道缓冲串口McBSP串行通信方式。McBSP具有全双工通信功能, 有两级缓冲发送和三级缓冲接收, 允许传输连续的数据流, 为数据发送和接收提供独立的帧同步脉冲和时钟信号。AT89C51与TMS320F2812通信的串口连接如图5所示。串行接口充分利用TMS320F2812多功能串行接口和DMA搬移数据的能力, 使TMS320F2812在处理串口通信时不会占用太多的处理时间, 节约了TMS320F2812的资源。TMS320F2812的McBSP的数据搬移工作由其DMA负责, 其输入的帧同步信号由AT89C51发送的起始位提供, 输入的时钟采样信号由其内部产生;TMS320F2812输出的帧同步信号和时钟由其内部产生。AT89C51的串行口主要由2个物理上独立的串行数据缓冲器SBUF、发送控制器、接收控制器、输入移位寄存器和输出控制门组成。

2 系统软件设计

基于单片机和DSP的流体设备位置嵌入式控制系统软件采用TI公司生产的DSP集成开发软件CCS (Code Composer Studio) v3.1集成开发环境作为开发工具, 单片机部分采用汇编语言编程, DSP部分采用C语言和汇编语言的混合编程方法:对硬件接口控制采用汇编语言, 对于算法复杂、计算量大的控制采用C语言, 图6为系统软件开发流程图。该程序可缩短运行时间、提高程序的可移植性并满足系统实时控制的要求。

3 结语

本文介绍的基于单片机和DSP的流体设备位置嵌入式控制系统由单片机负责人机交互界面, 控制与管理整个系统;由DSP专门负责运行控制程序, 承担系统的核心运算任务。实际运行表明, 该系统与传统的模拟控制系统相比, 具有响应速度快、实时性强、方便扩展、可移植性强、体积小、功耗低等特点。在该系统中加入相应的算法并配合人机交互界面, 还可实现流体设备的速度和力控制。

参考文献

[1]胡广书.数字信号处理:理论、算法与实现[M].北京:清华大学出版社, 1997.

[2]阿日贡巴彦尔, 史雪峰.基于单片机和DSP的信号采集系统设计[J].现代电子技术, 2008 (6) :37-39.

[3]徐晓龙, 林善明, 宋凤琴, 等.实现DSP与单片机串行通信的一种简易方法[J].科技信息, 2008 (16) :68-69.

[4]杨荣, 王林斗.DSP与单片机的一种高速通信方案[J].电子测量技术, 2006 (2) :80-81.

上一篇:职能关系下一篇:中国新兴企业