APP下载

一种RS485接口多国语言LCD12864显示器的设计

2020-02-03赵建新

电子技术与软件工程 2020年19期
关键词:字库低电平字符

赵建新

(哈尔滨华德学院 黑龙江省哈尔滨市 150025)

RS485 通信标准自从上世纪80年代以来,以其传输距离远、抗干扰能力强、布线成本低等优点,在工业控制领域中得到了广泛应用[1]。工业领域中的PLC、变频器、电能表等设备大多采用RS485 通信标准,为了方便用户实时监测这些设备的状态信息,设计了一种RS485 通信标准的显示屏,可以读取工控设备的状态信息并实时显示到显示屏上,在工控领域有着广阔的应用空间。

1 系统硬件设计

系统硬件组成框图如图1所示。

如图1所示,工控设备通过RS485 接口把数据传输至MCU,MCU 将数据解包后,得到需要显示的数据,如果数据中包含文字则会从字库芯片中查找字模,最后将数据显示到12864 液晶屏上[2]。

1.1 MAX3485通信芯片

MAX3485 是MAXIM 公司生产的一款3.3V 供电的RS485 电平收发芯片,静态电流仅300uA,最高可达到2.5Mbps 传输速度,使用广泛。MAX3485 应用电路如图2所示。

MAX3485 的2 脚和3 脚是使能管脚,低电平为接收状态,高电平为发送状态,因此2 脚和3 脚可以短接,仅需MCU 一个IO口即可控制。

1.2 STC12LE5A60S2单片机芯片

STC12LE5A60S2 是STC 公司生产的一款3.3V 供电的单时钟/机器周期(1T)的MCU芯片,指令集和管脚兼容传统8051单片机(如图3所示),速度比传统51 单片机快6~12 倍,在工业控制,强干扰场合比较适用。

本系统运行中涉及到字库读取、字模运算等操作,对MCU 运算性能要求高,因此速度快性能强的STC12LE5A60S2 是系统正常工作的保障。

1.3 GT30L24A3W字库芯片

本系统选用GT30L24A3W 为字库芯片,2.7~3.6V 供电,功耗低,SPI 串行总线接口,操作方便。该字库芯片内建12*12、16*16、24*24、32*32 点阵字库,支持GB18030 简繁体汉字、JIS0208日文字符集、KSC5601 韩文字符集等180 国外文字符,并且兼容以上各种文字的Unicode 字符集。横置横排的字模排列格式[3]。用户通过字符内码,计算出该字符所对应点阵在芯片中的地址,然后可以从该地址连续读出字符点阵信息。

片选输入(CS#):CS#的下降沿为串行数据传输开始信号,传输期间必须保持低电平,两条指令之间为高电平。

串行数据输出(SO):数据从芯片输出,在时钟的下降沿移出。

串行数据输入(SI):数据从串行输入芯片,在时钟的上升沿移入。

串行时钟输入(SCLK):数据在时钟上升沿移入,在下降沿移出。

总线挂起输入(HOLD#):该信号变低电平并且SCLK 信号为低电平时,进入挂起状态;该信号变高电平并且SCLK 信号为低电平时,结束挂起状态。

表1:GT30L24A3W 指令参数表

图1:系统硬件电路框图

图2:MAX3485 应用电路图

图3:STC12LE5A60S2 管脚图

1.4 LCD12864液晶屏

本系统选用深圳晶联讯电子有限公司生产的JLX12864G-1503型号的液晶屏,使用方便,显示清晰,广泛应用于人机交互面板。

JLX12864G-1503 液晶模块选用矽创公司生产的ST7567 驱动IC,功能强,稳定性好,接口丰富,可以采用4 线SPI 或并口连接外部MCU(6800 时序和8080 时序可选)。

图4:系统整体运行流程图

2 软件部分设计

2.1 串口超时接收

工业领域中的PLC、变频器、电能表等设备通信协议一般为MODBUS 协议,这种协议没有包头包尾作为标志,不知道该帧是否接收完成,一般采用超时方式。接收超时应根据自己实际应用加入,现在大多数都是硬件中断接收,一进中断就将数据拷到接收缓存中,等有空再处理这些数据就可。但是如果利用循环查询时,最好加入超时,让接收函数能够在一段时间内持续检测是否有数据过来。

大部分串口应用程序都是以一字节为单位传输,当检测到特定字符(如换行)才判定一帧数据结束。这样做的问题在于一旦特定字符受干扰丢失,会导致MCU 误判。该系统需要以帧为单位传输数据,只要字符与字符之间间隔超过一定的时间,那么就判定这一帧数据结束。

2.2 字库芯片GT30L24A3W读取操作

GT30L24A3W 使用SPI 接口和MCU 通信,该字库芯片的读取操作只有两种模式:正常模式和快速模式。指令参数如表1所示。

正常模式下,需要用指令码来执行每一次操作。读取操作如下:

(1)首先将片选信号(CS#)拉低,串行数据输入(SI)发送1 字节的命令字(0x03)和3 个地址,每一位在串行时钟输入(SCLK)上升沿被锁存。

(2)然后该地址的字节数据通过串行数据输出引脚(SO)移位输出,每一位在串行时钟输入(SCLK)下降沿被移出。(3)读取字节结束后,将片选信号(CS#)拉高,结束本次操作。快速模式下,同样需要用指令码来执行每一次操作。读取操作如下:

(1)首先将片选信号(CS#)拉低,串行数据输入(SI)发送1 字节的命令字(0x0B)和3 个地址以及一个字节的Dummy,每一位在串行时钟输入(SCLK)上升沿被锁存。

(2)然后该地址的字节数据通过串行数据输出引脚(SO)移位输出,每一位在串行时钟输入(SCLK)下降沿被移出。

(3)如果片选信号(CS#)持续保持为低,则下一个地址的字节数据继续通过串行数据输出引脚(SO)移位输出。

以12×12 点阵为例,给出从首地址fontaddr 读出12×12 点阵字符数据的程序操作。

(1)text[i]为汉字GB2312 编码的高8 位。

(2)text[i+1]为汉字GB2312 编码的低8 位。

(3)fontaddr 为汉字首地址。

(4)0x3cf80 + 376*24 为12×12 汉字点阵起始地址。

(5)0x3cf80 为12×12 全角字符点阵起始地址。

2.3 系统整体运行流程

串口接收到一帧数据后,根据这一帧数据中的字符GB2312 码,计算出该字符在字库芯片中的首地址,取出字模并显示到液晶屏上。系统整体运行流程图如图4所示。

3 结束语

使用STC12LE5A60S2 单片机芯片和GT30L24A3W 多国语言字库芯片设计的LCD12864 显示器,显示正常,稳定可靠。不足之处在于屏幕尺寸小,显示文本内容有限。

猜你喜欢

字库低电平字符
铁道车辆高/低电平信号智能发生器设计
No.2 喜茶联合汉仪字库推出微型书和书签
字符代表几
一种USB接口字符液晶控制器设计
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
消失的殖民村庄和神秘字符
某型号产品的字库迁移优化设计
15-MeV电子直线加速器的低电平系统
相同字库条件下激光打印文件特征的变化规律和特点
再议字库知识产权保护