柴油发电机组DSP控制系统人机界面设计精.docx
《柴油发电机组DSP控制系统人机界面设计精.docx》由会员分享,可在线阅读,更多相关《柴油发电机组DSP控制系统人机界面设计精.docx(9页珍藏版)》请在冰豆网上搜索。
柴油发电机组DSP控制系统人机界面设计精
Jan.2012,总第132期
现代显示AdvancedDisplay
柴油发电机组DSP控制系统
人机界面设计
张奇志,康
杰
(西安石油大学电子工程学院,陕西省钻机控制技术重点实验室,陕西西安710065)
摘要:
文章采用以ST7920为控制器的点阵式液晶,设计了应用于柴油发电机组控制的人机界面,给
出了DSP芯片TMS320F2812与液晶模块的硬件接口电路。
软件的编写采用模块化方法,分为驱动层、功能层和应用层三个部分。
其中驱动层为面向硬件的底层驱动程序,功能层是以底层驱动为基础编写的中层功能函数,最后通过应用层对功能函数的调用完成了人机界面的菜单设计。
关键词:
柴油发电机组;DSP;液晶模块;人机界面中图分类号:
TN949.199
文献标识码:
B
DesignofHumanMachineInterfacefortheDSPControlledDiesel
GeneratorSet
ZHANGQi-zhi,KANGJie
(ShaanxiProvincialKeyLaboratoryofRigControlTechnology,InstituteofElectronic
Engineering,Xi'anShiyouUniversity,Xi'anShaanxi710065,China
Abstract:
ThispaperintroducesadesignofhumanmachineinterfaceforthedieselgeneratorsetbyST7920-controlledLCD.ThehardwarecircuitbetweenDSPandLCDisgiven.Thesoftwaredesignisseparatedinto3parts:
driver,functionandapplication,inwhichthedrivepartisfacedtohardwareandthewritingoffunctionpartisbasedonthedrive.Explainedindetailishowtousethethreepartstoestablishthemenuofhumanmachineinterface.Keywords:
dieselgeneratorset;DSP;LCD;HMI
文章编号:
1006-6268(2012)01-0005-05收稿日期:
2011-12-09
引言
柴油发电机组是油田钻井设备的重要组成部分,是电动钻机的动力之源,柴油发电机组的运行状态直接影响到柴油发电机组供电的电能质量[1]。
因此,发电机组DSP控制系统人机界面
需要显示柴油发电机组的各个参数,精确地实
现信息的采集,监视柴油发电机组的运行状况,能根据实际需要进行调节,及时发现故障并报警。
本文针对以DSP为控制核心的柴油发电机组控制器,选用128×64点阵式液晶作为其人机界
基金项目:
陕西省科技厅项目(2006K04-G20)
技术交流
5
Jan.2012,总第132期
现代显示AdvancedDisplay技术交流
面显示部分,设计了该液晶模块与DSP的硬件接口电路,并通过菜单及按键功能的实现完成人机界面的设计。
1
硬件组成
1.1
DSP模块
使用TI公司的TMS320F2812作为控制芯片。
TMS320F2812的片内外设模块有:
数字输入输出模块(I/O)、事件管理模块(EV)、模数转换模块(ADC)、串行外设模块(SPI)、串行通信模块
(SCI)、局域网控制器模块(CAN)[2]
。
根据柴油发电机组控制器所需用到的接口以及人机界面设计的需要,选择数字输入输出模块的GPIO8~GPIO11作为与液晶模块连接的引脚。
TMS320F2812的供电电压为3.3V,而液晶模块采用的是5V电压,为了保证系统正常工作,必须进行电平相互转换。
采用SN74CBT3384作为DSP与液晶模块连接时的电平转换芯片,它由两个5位总线开关构成,以1、2作为使能端。
当为低电平时,总线
开关使能,
A端就可以和B端相连接,使得数据可以在两端口间双向传输;而当为高电平时,A端和B端之间呈高阻态,总线开关关闭[3]。
1.2液晶模块
选用成都飞宇达公司的FYD12864-0402B液
晶显示模块。
FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,其显示分辨率为128×64,内置8,192个16×16点汉字和128个16×8点ASCII字符集。
利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,可以显示8×4行16×16点阵的汉字,也可完成图形显示[4]。
LCD与微控制器的连接方式有串口连接和并口连接,考虑到系统其它各模块所用的接口,选用串口方式连接以节省引脚,LCD与DSP的连接如图1所示。
在串口方式下,LCD控制芯片ST7920的CS、SID与SCLK分别接到DSP的GPIO8~GPIO10,PSB接低电平为选择串口方式,V0接5K可调电阻作为背光控制,RST接GPIO11上电复位。
2软件设计
人机界面需要对机组的各种运行参数以及状态进行实时采集和显示,并对异常状态进行报警和处理。
同时,将采集到的参数和状态存放在与上位监控
图1LCD
硬件连接图
6
Jan.2012,总第132期
现代显示AdvancedDisplay
主机通讯的指定数据区内,以便在通讯时使用。
人机界面的菜单设计采用模块化设计,以便于编程和调用。
软件编写流程如下:
首先编写底层驱动程序,包括I/O端口的配置、液晶屏的读写命令、液晶模块的初始化、清除GDRAM以及延时子程序
等,然后在此基础上编写字符串显示、
点阵显示、反白指令等中层功能函数,最后通过各模块的调用编写上层应用程序,即人机界面的菜单程序。
软件结构如图2所示。
2.1底层驱动
向液晶模块发送数据和命令的驱动程序是系统显示软件的基础,根据液晶屏生产厂家提供的技术文档编写液晶模块的读写程序。
在串口工作模式下,CS作为片选端,低电平有效,SID是数据输入
端,
SCLK则作为串行同步时钟为数据的读写提供使能信号。
进行写入操作时给CS高电平,在时钟脉冲的上升沿将数据写入液晶模块。
每写入一次数据需要给时钟一个低电平以保证下一次写入数据正常。
ST7920的读写操作时序需要合适的使能信号,在读写时,使能信号需要保持高电平140ns以
上;在写操作时,信号需在使能信号变为低电平前保持40ns以上;读写两个数据之间的间隔必须大于1,200ns[5]。
2.2
中层功能函数
中层功能函数是在底层驱动的基础上编写的,是实现菜单程序所需的各个模块函数。
中层函数包括:
(1)字符串显示。
在液晶屏的指定位置显示一
串字符,中文字符占两个标准字符,英文字符和标点占一个字符。
编写软件时先确定字符串起始位置的行列,然后逐个字节写入字符串数据。
(2)图形显示。
在液晶屏任意位置显示任意点
阵图形,写入绘图RAM时,
首先关闭绘图指令,然后设置GDRAM垂直地址Y和GDRAM水平地址X。
写点阵数据时,先写高位再写低位,最后打开绘图指令。
(3)反白指令。
反白功能用来表示不同选项被选中的状态,从使用手册上可知,扩展指令里的0x03+行号即可实现反白对应行,但ST7920控制器的128×64点阵液晶其实原理上等同256×32点阵,第3行对应的文本显示(DDRAM)地址紧接
着第1行,
第4行对应的文本显示(DDRAM)地址紧接第2行。
因此,用户对第1行执行反白显示操
作时,第3行必然也反白显示;
对第2行执行反白操作时,第4行也必然反白。
为了能够实现任意行的反白,需要混用图形显示和字符显示[6]。
反白时在需要反白的区域进行绘图,即在这个区域写进0xff,当字符RAM上有点阵时(数据为1),异或的结果为0,效果就是反白显示;当字符RAM上没有点阵时(数据为0),异或的结果为1,则显示绘图的背景即画点。
如果需要取消反白,就重新用全0擦掉那个地方的绘图,即在这个区域写进0x00。
这样一来就可以实现任何地方、任意大小的反白显
示。
在整个绘图的过程中,
横向地址指针是自动进行加1运算的,所以只需要确定这一行的首地址横坐标;而纵坐标的地址不进行自动加1运算,需要在程序中修正,每次修正以像素为基本单位。
2.3上层应用
人机界面菜单的设计是通过对中层功能函数的调用实现的。
在多级菜单的界面中,要实现上下级菜单的切换和菜单选项的移动,需要菜单显示与按键相互配合。
选择I2C总线连接DSP与键盘,
技术
交
流
7
Jan.2012,总第132期
现代显示AdvancedDisplayI2C总线只有两条总线线路,串行数据线SDA和串行时钟线SCL,可以节省GPIO口。
人机界面主
程序流程如图3所示,
菜单选项流程如图4所示。
3结论
本文所设计的人机界面随发电机组控制器安
装于控制柜上,实现了对柴油发电机组运行状态的监视,能够根据现场的情况对柴油发电机组的参数进行修改和设定。
这种液晶模块的接口电路小巧方便,节省空间,便于安装和调试,模块化的软件设计提高了代码的可读性、可靠性和维护性。
参考文献
[1]张奇志,李琳.电动钻机自动化技术[M].北京:
石油工
业出版社,2006.
[2]苏奎峰等.TMS320F2812原理与开发[M].北京:
电子工业出版社,2005.
[3]TexasInstruments.SN74CBTD3384C10-BITFET
(下转第27页)
技术交
流
8
Jan.2012,总第132期
现代显示AdvancedDisplay
坠
(c)0V(d)30V
(e)0V
图4
显示阵列在不同电压下的显示效果图
BUSSWITCH5-VBUSSWITCHWITH-2-VUNDERSHOOTPROTECTION[Z].2003.
[4]FYDCorporation.FYD12864-0402BLCDdatasheet[Z].
2002.
[5]廖丽莹,李啸骢,罗涛,孔令怡.基于TMS320F2812的
液晶显示的设计[J].微计算机信息,2008(20):
196-198.
[6]舒鑫,郭其一.ST7920点阵式液晶显示模块的应用研
究和编程[J].液晶与显示,2007(02):
192-196.
作者简介:
张奇志(1965-),女,陕西西安人,教授,
博士研究生,主要从事电力拖动自动控制系统方面
的教学及科研工作,E-mail:
zhangqz@xsyu.edu.cn。
康杰(1987-),男,硕士研究生,研究方向为检测技术与自动化装置。
[2]张立国,陈迪,杨帆等.SU-8胶光刻工艺研究[J].光
学精密工程,2002,10(3):
266-269.
[3]ZhouK,HeikenfeldJ,DeanKA,etal.Afulldescrip-
tionofasimpleandscalablefabricationprocessforelectrowettingdisplays[J].JouralofMicromechanicsandMicroengineering,2009,