基于TMS320VC33速度控制系统硬件平台设计
时间:2023-09-29 10:35来源: 作者: 点击: 次长沙国防科大磁悬浮中心的磁悬浮铁路试验线是我国首条通过中试评审的磁悬浮线路,拥有自主的知识产权。列车的驾驶系统由S7_300系列PLC组网而成,主控PLC处理来自驾驶台的控制命令,将处理后的控制信息通过FDL网传给底层控制PLC,底层控制PLC根据网络传输过来的命令控制车辆设备。驾驶台上有一个12级位的控制手柄,列车的运行状态由它来控制,通过调节级位间接改变牵引力的大小来控制列车运行速度。列车的驾驶主要依赖于驾驶员的经验,增加了驾驶员的负担,在短途往返运行线路上极易疲劳。
基于的磁悬浮列车速控系统就是在上述背景下提出的,采用系统后,驾驶台给出的不再是控制力的大小,而是速度大小,由平台根据算法动态改变列车牵引力。司机只需要改变级位,其它工作都由速控系统来完成。这样既减轻了司机的工作负担,同时又有助于提高列车的驾驶质量。考虑到主控PLC并不适合进行数学运算,我们为速控系统专门设计了硬件平台,它以TMS320VC33(以下简称VC33)为核心,配以相应的接口,实现。
1 速控系统总体结构
磁悬浮列车的运行速度很高,因此要求速度控制系统具有极高的实时处理速度。VC33 是一种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。
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是地址空间分配表。