基于TMS320VC33的磁悬浮列车速控系统
扫描二维码
随时随地手机看文章
基于DSP的磁悬浮列车速控系统采用速度控制系统后,驾驶台给出的不再是控制力的大小,而是速度大小,由速度控制平台根据算法动态改变列车牵引力。司机只需要改变级位,其它工作都由速控系统来完成。这样既减轻了司机的工作负担,同时又有助于提高列车的驾驶质量。考虑到主控PLC并不适合进行数学运算,我们为速控系统专门设计了硬件平台,它以TMS320VC33(以下简称VC33)DSP为核心,配以相应的接口,实现速度控制。
1 速控系统总体结构
磁悬浮列车的运行速度很高,因此要求速度控制系统具有极高的实时处理速度。VC33 DSP是一种32位浮点处理器,它采用0.18微米制造工艺,是C3X家族的最新一代产品。VC33的功能结构与C31相似,但由于在时钟、电源、存储区设计上做了优化,其工作速度更快(每条指令执行只需13ns)、功耗更小,并集成了较大的片内存储区。
图1虚线框中是速度控制系统的硬件平台。它分为三部分:与驾驶台的接口、DSP处理器、与PLC的接口。驾驶台和PLC都是对数字I/O量进行操作,I/O量使用的是110V电源电压,而DSP平台的数字I/O量都为3.3V~5V,因此必须在I/O接口实现110V I/O量与3.3V I/O量之间的转换。检测系统测量并通过CAN总线上传列车的速度与位置信息,主控PLC和DSP使用RS485接口接收。
2 数字I/O量接口板的设计
I/O接口板(见图2)用光耦芯片TLP521-4实现110V开关量与3.3V开关量之间的电平转换。用LVT16245作为DSP目标板与数字I/O转换接口之间的锁存器,控制数据流的方向,同时用作数据驱动器。它为三态输出,未被选通时呈现高阻状态。指示灯指示开关量信息。需要注意,R1、R2是限流电阻,考虑到功耗的关系,应选用大功率电阻(如2W)。
3 DSP控制面板的设计
3.1 电源时钟电路
不同于C3X家族的其它成员,VC33使用两种电源供电,3.3V作为芯片的工作电压,1.8V作为芯片核心的工作电压。采用两种供电电压既可以保证芯片对外围电路的驱动能力,又可以有效地降低芯片功耗,减小发热量。通常的电源仅提供5V的标准电源电压,因此使用TPS767D318进行5V到3.3V和1.8V的电压转换,它可同时输出3.3V和1.8V两种电压,最大可提供1A的电流。电源时钟电路如图3所示,图中的二极管起保持输出端电压差的作用。
VC33 DSP强化了时钟电路的作用,共有5个引脚作为时钟电路的接入引脚。EXTCLK接外部时钟源,此时DSP使用外部时钟作为系统时钟,不用时该引脚接地;XIN、XOUT接外部晶体振荡器,作为DSP的基准时钟源;CLKMD0、CLKMD1为时钟模式选择引脚,可基于基准时钟源调整DSP的运行频率,可选时钟模式见表1。
[!--empirenews.page--] 3.2 存储区电路设计
加大了片载存储区容量是VC33明显优于C3X家族其它成员的地方。VC33共有34K32位存储区,24位地址线最大可访问16M存储空间。微处理器模式和微计算机模式分别定义了不同的存储空间分配方式。处于微处理器模式时,DSP在仿真器监控的条件下运行经仿真器下载到SRAM存储区中的程序;当处于微计算机模式时,DSP中的BOOTLOADER将存储在ROM或FLASH中的程序下载至SRAM区并开始运行,此时仿真器不起作用。
VC33的片内存储区在实际应用中难以满足运行程序与存储数据的需要,因此必须为系统扩展外部存储区,包括静态SRAM区和永久ROM区。SRAM区在系统工作时与VC33内部存储区结合使用,作为系统的工作区,ROM区则永久保存运行程序和特定参数,系统上电时由引导程序将ROM区中的程序和数据读至SRAM区中。
VC33的高速特点要求扩展的SRAM必须有极高的存取速度,这里选用两片64K×16bit的IDT71V016 SRAM组成64K×32bit片外存储区,其地址访问时间仅为12ns,能够满足存取速度的要求。
由于系统只在上电和复位时访问永久ROM,对它的存取时间要求不太高,采用一片512K×16bit的am29lv800b FLASH ROM,其访问时间为60~120ns。FLASHROM可多次重复擦拭,数据保存时间长,写入程序不需要额外的工具。瑞泰创新公司提供了专用的FLASH写入程序,也可根据实际情况自己编写,灵活性很好。
图4是电路设计原理图,用G20V8B进行地址选通,后面还会详细介绍DSP板的地址选通逻辑。图中CLKR0是串口式时钟引脚,这里作I/O端口(可通过设置串口控制寄存器实现),接收FLASH状态信号。
3.3 数字I/O接口设计
数字I/O接口用来与I/O接口板相连,发送和接收32位开关量控制信息。LVT16245用作32位数据线的总线驱动与数据锁存器,保证信号的传输质量。32位信号经32位数据总线发送和接收,由相应的地址选通逻辑控制信号的读取方向。因为DSP从驾驶台读取数据,然后将数据发送至PLC,地址选通逻辑在控制LVT16245的数据方向的同时,还必须兼顾I/O接口板的数据流方向。
3.4 串口设计
DSP系统板需要采集来自RS485端口的速度位置信息。DSP自身带有串口引脚,但其传输为同步方式,无法与异步方式的RS485接口相连。因此选用有自动流控功能的异步通信芯片TL16C550C实现DSP的串口通信(见图5)。
TL16C550C(ACE)在从外设或Modem接收数据时实现从串口到并口的转换,当从CPU接收数据时实现并口到串口的转换,CPU可在任何时候读取芯片的状态。ACE包含完全的Modem控制能力和处理器中断系统,可配合来最小化通信连接软件管理。
ACE包含波特率发生器,可对输入时钟分频和倍频,规则包含了接收器的16倍频时钟,ACE有1M波特的串口传输率,因此每一位耗时1μs,一个字节耗时10μs。
ACE包含了12个完全可访问的寄存器,DSP可通过对这些寄存器的读写操作控制ACE的工作状态。用A0~A2选择寄存器地址,D0~D7读写寄存器内容。
ACE可直接进行9线模式的串口通信。为提高串口的驱动能力,适应RS232和RS485标准,额外为其增加了两片串口芯片MAX232、MAX485,使DSP板通过串口传递信息时不再需要额外的设备。通过跳线进行不同串口通信模式的转换。
3.5 地址的分配与选通
上面介绍的存储区、数字I/O端口、串口都需要占用DSP的16M地址空间,合理分配地址和选通引脚成为关键。VC33提供了一个专用的地址选通引脚STRB,它与预解码引脚PAGE0~PAGE3配合使用,能够快速访问特定地址。本系统的地址分布比较复杂,使用GAL20V8B进行逻辑运算。表2是地址空间分配表。