基于双DSP的磁悬浮控制器的设计
国防科学技术大学磁悬浮中心 邹东升 佘龙华
引言
DSP芯片是专门为快速实现各种数字信号处理算法而设计的,具有特殊结构的微处理器。随着信息技术革命的深入和计算机技术的飞速发展,数字信号处理技术已经逐渐发展成为一门关键的技术学科。在当今的数字化时代背景下,DSP已成为通信、计算机、控制器类产品等领域的基础器件,已成为信息社会革命的标志。在国外,DSP芯片已经广泛地应用于当今技术革命的各个领域;在国内,DSP技术也正以极快的速度应用在通信、自动控制、军事、医疗器械等许多领域中。因此基于DSP技术的开发应用正成为数字时代的应用技术潮流。本文介绍TI公司的DSP TMS320VC33和TMS320F2812在磁悬浮系统中的典型应用。
芯片介绍
TMS320VC33内部包含了2K 32位的快速RAM块。分开的程序总线、数据总线和DMA总线使得取指、读写数据和DMA操作可同时进行。24位地址线,32位数据线,75MHz主频以其大容量、高度、高速度,使得一般的数据处理可以毫无限制的运行。标准JTAG线使得加载程序、在线调试都非常方便。此外,丰富的指令系统,灵活的程序控制,多样的寻址方式使得软件编程非常方便。
TMS320F2812芯片有18K RAM,128K FLASH,16通道的PWM,16通道12位ADC,3个定时器,19位地址线,16位数据线。串行口有CAN,McBSP,SPI,2 SCI。
由以上两个芯片的功能可以看到,TMS320VC33的计算功能是非常强大的,而TMS320F2812在管理功能以及电机控制功能方面则显示了巨大的优势,如果两者强强联合所能达到的效果无疑是让人非常满意的。
硬件设计
由于在磁悬浮系统中,所要求采集的传感器信号速度、和相位差都非常高,MS320F2812内部的ADC虽然号称是同时采样的,但其多只能有两路同时转换,显然不能满足磁悬浮系统中多个传感器信号无相位差采集的需求。故特别选取了TI公司的ADS7800,12位、 10V、3 s采样模数转换器,见图1。由于ADS7800是单通道的,所以可以根据需要扩展芯片,在本硬件中扩展了六片。又由于ADS7800供电电压是5V,参考电压是15V,而TMS320VC33控制电压是3.3V,故接口需要加电压转换芯片LVTH16245。因为控制系统所要求的传感器信号之间没有相位差,所以所有模数转换器必须同时转换,因此控制转换开始的信号必须是同一个信号,这可以由GAL20V8产生的地址信号来承担这一任务。同时,转换结束后的数字量又要可以分开一个个的读取,这个任务可以由GAL20V8和LVTH16245巧妙的配合来完成。
在ADS7800中,可以让片选信号/CS一直有效,由GAL产生的地址信号ADC连接转换开始引脚。这样,只要由DSP向ADC所指向的地址进行写操作,所以扩展的ADS7800同时都启动了模数转换。由于LVTH16245的方向引脚/DIR一直接低电平,所以只要向GAL产生的地址读取数据,就可以读到相应ADS7800转换结束后的数据。而在没有选通LVTH6245的时候,GAL产生的相应地址信号是高电平,LVTH16245的总线和DSP的总线是隔离的。
GAL译码所产生的地址从XINTF Zone 2(0x080000――0x100000)开始,每个片选信号占用0x800的地址空间。
磁悬浮系统中,根据需要选择的数模转换器是TI公司的DAC7625U。虽然DAC7625供电电压是5V,但是数据的传递方向是从DSP到转换器,故不需要另加电压转换电路。DAC7625四个输出通道占用了DSP从CS7开始的四个存储单元。
双口RAM以其双接口、大容量、超高速的数据交换所提供的优势作为双DSP之间数据传递的交换场地是很好的选择。由于TMS320VC33和TMS320F2812的接口都是3.3V,故选择了3.3V的双口RAM IDT70V24,这样就不必加电压转换模块,简化了系统之间的接口,提高了可靠性,见图2。
对于TMS320F2812,由于它有非常多的功能模块在磁悬浮控制系统的电路板中没有用,故可以把那些没有用的功能引脚作为通用输入输出引脚(GPIO),引入开关和发光二极管。为了保护处理器,加入了LVTH16245作为隔离以及方向控制芯片,开关量为输入量,发光二极管为输出量。硬件原理框图见图3。
TI的TPS767D318可以通过5V稳压电源,提供DSP内核所需的1.8V电压和DSP的外设及LVTH16245等芯片构成的电路所需的3.3V电压。因此对于TMS320F2812和TMS320VC33这些典型的快速、低电压DSP,可分别用两块TPS767D318来供电。而对于双口RAM块,可以用TI公司的3.3V的电源芯片7333来供电。三个比较大的芯片由三块电源芯片供电,可以有效解决功率问题,又可以使系统之间具有相对独立性,提高子系统的安全性。DAC7625所需的正负2.5V电压则由电源芯片MC1403提供。这样,目标板上的所有基本电源就可以用一个5V的稳压电源模块提供。
软件设计
试验目的:通过一个试验,同时考验扩展的模数和数模转换器及双口RAM。
试验原理:通过信号发生器产生一个正弦波,通过TMS320F2812扩展的ADS7800进行采样转换,转换结果通过双口RAM送到TMS320VC33,不经过任何处理,送还TMS320F2812,由DAC7625进行转换输出,在同一示波器上看信号是否失真。这样,模数和数模转换器以及双口RAM同时得到了检验。
为了测试双口RAM与两个DSP之间数据传递的快速性、可靠性以及对同一地址同时操作所带来的不确定性,TMS320VC33可以不停的对双口RAM进行读写数据,看双口RAM能否经得起这样的考验。而TMS320F2812定时中断,在中断服务程序内启动模数转换器,从双口RAM读取数据,对所读取的数据利用数模转换器进行数模转换。虽然双口RAM的接口和可靠性有非常多的文章都进行了描述,但经过这样的试验,双口RAM才真正的进行了强有力的检验。
根据流程图(见图4)编写程序,编译连接并通过。然后对目标板上电,通过JTAG及仿真器加载上面的程序,运行。把信号发生器所产生的正弦波和DAC转换后的信号接到示波器的两个通道上,并让两个通道并行的显示,看两个信号是否失真。
试验结果显示(见图5):输入信号为200kHz的正弦波,输出也是200kHz的正弦波,波形并没有失真。
[1]. TMS320F2812 datasheet https://www.dzsc.com/datasheet/TMS320F2812_1116432.html.
[2]. ADS7800 datasheet https://www.dzsc.com/datasheet/ADS7800_1056160.html.
[3]. GAL20V8 datasheet https://www.dzsc.com/datasheet/GAL20V8_346056.html.
[4]. DAC7625U datasheet https://www.dzsc.com/datasheet/DAC7625U_209070.html.
[5]. DAC7625 datasheet https://www.dzsc.com/datasheet/DAC7625_209067.html.
[6]. TPS767D318 datasheet https://www.dzsc.com/datasheet/TPS767D318_891323.html.
[7]. MC1403 datasheet https://www.dzsc.com/datasheet/MC1403_1059946.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。