基于DSP的液晶显示通用控制器设计
扫描二维码
随时随地手机看文章
引言
电力电子装置在调试和研发的过程中,需要经常性地改动相关的控制参数,同时需要实时监测装置运行过程中的各关键点处的电量波形。现在的电力电子装置,其控制板的主控芯片通常采用 DSP(数字信号处理器),由于其硬件条件的限制,进行控制参数(如 PID的各控制系数)的修改时,往往需要不断地更改和烧写程序,很难实时地在线进行参数修改,同时也很难向装置发送复杂的控制指令;另外,现在装置的调试过程中,在需要监测相关点处的电量波形时,往往采用多通道隔离示波器进行。这一方面大大增加了装置的研发成本,同时由于示波器的通道数有限,不能随时增加和变更所监测的波形点,另外示波器的探头受到电磁兼容性的制约,长度有限,调试时使用起来也造成了很多不便。
笔者所在的课题组承担了 100%低地板轻轨车的研制任务,在装置的开发过程中,由于前述的原因,需要开发一款用于参数设定、装置控制和实现模拟波形输出的通用控制器。该控制器利用装置所支持的通讯协议向装置发送命令以及进行参数的在线修改,同时实时查看装置的工况,接收装置发送的数字量和数字化的模拟量等运行数据。此外,控制器具有多路 DA输出,在 DA输出端接上示波器就可以通过按键选择查看远程装置上模拟量的基本情况,以实现示波器的远距离电量监测。控制器可以灵活更改各 DA通道所对应的电量,大大增加了示波器采样通道的利用率。在通讯协议上,控制器支持 RS232、RS485、CAN总线和以太网协议以最大限度地满足不同装置的通讯需求。同时,控制器对于相关装置所发送过来的数字量参数,可以使用液晶进行实时显示。对于数字化的模拟量参数,控制器一方面可以实时计算出其平均值、有效值等特征量使用液晶单元进行显示,另一方面可通过 8路 DA转换器进行转换后输出到示波器的采样通道进行显示。控制器的液晶单元在显示数据时,可以自动根据该数据的大小决定其小数部分的位数,以始终保留 4位有效数字。所有相关的参数设置和接收到的数据,控制器均可以储存到铁电存储器中,掉电后数据不丢失,方便下次继续使用。
2 控制器的硬件组成及功能
通用控制器系统硬件组成如图 1所示。
500)this.style.width=500;" border="0" />
其中,控制器的 CPU单元采用 TMS320C28X系列中的 DSP2812,它具有串行外围接口(SPI)、两个串行通信接口( SCIs)、改进的局域网络( eCAN)、多通道缓冲串行接口(McBSP)。DSP2812主频高,能够满足通用控制器的通讯速率,同时可以很好地支持通用控制器所需要的 RS232、RS485、CAN总线、以太网、 DA转换等外围设备,降低了系统的开发难度。
系统中的液晶显示单元采用 LCM128645ZK型中文液晶显示模块。该模块电源操作范围宽(2.7V to 5.5V),其低功耗设计可满足产品的省电要求;同时,模块与微控器的接口界面灵活(三种模式:并行 8 位/4位,串行 3 线/2线),可实现汉字、 ASCII 码、点阵图形的同屏显示, 支持所有的主流液晶操作指令,预留多种控制线(复位/串并选择/亮度调整)供用户灵活使用。DSP2812使用通用 I/O口与 LCM128645ZK进行通讯,发送相关的控制指令和数据控制其执行相应的操作。
控制器所包括的功能键,包括页面和菜单项的向上/向下移动、参数数据的增加/减少、当前参数的修改 /确认、系统各项功能的选择等。按键采取行列扫描方式进行排列。在扫描按键时,先进行行扫描,再进行列扫描。通过行列扫描的结构共同判定当前是哪个按键被按下。同时,通过软件实现了按键消抖,提高了操作的准确性和可靠性。按键与 DSP2812的 I/O接口相连,最大可扩展为 16个(4*4)按键阵列,以满足各项操作的要求。
D/A转换选择了 12位 8路的 DA芯片 AD5328,其 DAC更新速率为 167ksps,DAC设置时间为 6μs,DAC形式为电压型。DA转换器通过 DSP2812的 SPI总线进行数据交互,并用 DSP的 2个 I/O接口与之相连作为控制信号。
RS232通讯模块使用 MAX232作为总线的接口芯片,与 DSP的 SCI接口相连。 RS232主要用于控制器与 PC机之间的通讯及实现 DSP程序的远程烧写。
RS485通讯模块使用 MAX485作为总线的接口芯片,与 DSP的 SCI接口相连。模块内部采用了 HCPL2610高速隔离光耦用作电平转换和信号隔离,模块的输出侧装设了的防过压涌流和抗干扰电路,以提高通讯的可靠性。
CAN通讯模块选用了 DSP2812的增强型区域网络控制器( eCAN),与现行的 CAN2.0标准兼容。它可强电子噪声的环境中与其他控制器可靠地进行通讯。借助 32个完全可配置的邮箱和时间标志特性,eCAN模块提供了一种具有通用性和鲁棒性的串行通信接口。
以太网通讯模块选用 LAN91C111作为控制芯片,使用数据线、地址线以及 I/O口与DSP2812相连接。 LAN91C111的主要功能如下:自适应的传输速率,支持 100M/10Mbps;支持突发数据的传输;8kb的内部存储器件用于接收和发送的缓存;支持 8位,16位,32位的数据传输方式;提前发送和接收功能。
除此之外,我们还选用铁电存储器 FRAM,通过 I/O接口扩展了 DSP 2812的 RAM。 TMS320F2812内部已经集成了 18KB的 RAM,对于一般的应用来说,已经无须再扩展外部 RAM。片内 RAM能以 150MIPS的速度进行访问,在对运算速度要求很高的处理程序中,通常将经常访问的程序段放到内部 RAM中运行,这样能大大提高运行速度。而本系统是一个网络通信系统,将来会用于进行大量数据的网络传输,因而应外扩 RAM作为数据缓冲区。RAM选用 Ramtron公司的FRAM,FRAM具有 RAM和 ROM优点,读写速度快,并可以像非易失性存储器一样使用。
通用控制器的实物图如图 2所示。
[!--empirenews.page--]500)this.style.width=500;" border="0" />
500)this.style.width=500;" border="0" />
3 控制器的软件设计
实际使用过程中,下级电力电子装置的通讯协议可以选择 RS232/RS485/CAN/以太网中的任意一种。图 3为使用控制器时,某电力电子装置系统的网络结构图。
如图 3所示,系统由主控单元 MCU和辅助控制单元 ACU组成,其中 MCU使用 2个 DSP作为主控芯片。图中每个 DSP都配置了相应的通讯模块。用户需要对 MCU或 ACU的相应参数进行高采样频率的实时监测时,通过控制器的以太网接口使能目标单元中的以太网模块,该模块即可以通过以太网开始向控制器传输指定的参数和数据。图中使用控制器的 CAN通讯接口连接了 MCU和 ACU的内部 CAN控制网络,进行控制指令的发送、相关运行参数的查看和设置、系统控制过程中时间和指令的同步以及发送周期性的心跳帧进行系统通讯状态的判断,同时 CAN网络也可以传输某些低采样频率的运行数据。图中的 RS485总线作为备用通讯总线,在 CAN总线出现故障时投入运行。
3.1 系统总体软件流程
根据上述的通讯网络结构,可设计系统总体软件流程,系统的软件流程如图 4所示。
系统首先上电初始化,初始化后系统先对 CPU和液晶进行初始化,设置必要的寄存器,清空液晶的显示数据,使其进入相应的工作方式。
程序中每隔 10ms对按键扫描一次,检查是否有键按下,如果有按键按下,则根据预先确定的工作时序控制液晶的显示,实现页面的翻转、菜单项的移动、相关参数的修改和显示等功能。通讯数据的接收是通过相应通讯接口的标准位查询或接收中断进行的。
500)this.style.width=500;" border="0" />
图4 系统的软件流程图 图 5 CAN通讯子程序流程图
3.2 CAN通讯实现
控制器的软件设计涉及到基于 RS232总线、RS485总线、CAN总线以及以太网等 DSP数据通信接口设计,限于篇幅考虑,现仅简单介绍一下 CAN通信的实现,其他通讯协议的实现与之原理大致相同。
主程序中进入相应的通讯模块后,调用子程序,进行数据传输。子程序流程图如图 5所示。
初始化 CAN模块,使能 CAN模块时钟,设置波特率及发送接收邮箱标识符,配置发送接收邮箱指向及字节数,使能所有邮箱。
判断是否需要发送数据,如现在模式为向目标 DSP发送命令或者发送更改的参数,则进入发送数据程序,清除所有发送邮箱的发送响应位,把命令或参数数据写入邮箱数据区 ,置位发送请求寄存器中的响应标志来启动消息发送,直到相应邮箱的发送响应标志被置位。
如果无发送指令或发送已完成,则进入接收程序。当收发器接收到总线数据时,接收邮箱未决寄存器中的相应标志位被置位。查询这一位状态,即可判断是否收到数据,读取接收邮箱里的数据后重置接收标志 RMP,等待下一次接收。
接收到数据后,数字量即可在液晶上显示,模拟量可以通过 DA转换器用示波器观察。
4 总结
本文作者的创新点为该通用控制器可以通过 CAN、以太网、RS485、RS232等通讯方式实现对电力电子设备参数的修改及设置,并可通过液晶显示。经过实际的调试和使用,本文设计的通用控制器已经应用于某牵引供电系统的电力电子装置上,运行良好,抗干扰性和可靠性达到了设计要求。根据其它电力电子装置的调试需求,本通用控制器可以灵活进行更改,操作简便。