摘要: 本应用讨论了使用MAXQ615修复一个老式飞利浦万用表。原来的液晶显示器坏了,无法修理。MAXQ615用于监听显示驱动程序的数据,解码并将其显示到新的显示模块上。
不久前,我买了一个二手飞利浦系统万用表,有一个小缺陷。显示屏不再清晰了,但我想它很容易修复。事实远非如此!无论我怎么努力,都无法挽救液晶显示器。我需要一个使用现代组件的不同解决方案。我使用MAXQ615找到了这样的方法。本应用程序说明讨论了实现该解决方案所使用的步骤。
在研究了我的仪表(飞利浦PM2535(1))的使用手册后,我决定必须可以连接不同的显示模块。
仪表中的LCD模块由Philips PCF8576 LCD驱动IC控制,通过I(2)C总线接收来自主处理器的数据。我们的想法是挖掘这个数据流,解码它,然后在不同的模块上显示数据。
PCF8576可以在一个LCD模块上驱动多达160个段。服务手册准确地描述了显示段如何连接到驱动IC中的内存,驱动IC由40行4位小块组成的矩阵组成。内存中的每个比特决定相应的段是可见的还是隐藏的。
PCF8576(2)的数据表描述了使用I(2)C命令填充显示内存的协议。首先,发送一个或多个命令字节,然后是数据字节。在逻辑分析器的帮助下,它很快变得明显,数据在两个会话中被写入显示驱动程序。第一次是第6到39次,第二次是第0到5次。这些会话一遍又一遍地重复,以不断刷新显示。数据流如图1所示。
图1所示 I(2)C数据流到显示驱动程序
(mode set)、(device select)、(bank select)和(blink)命令是LCD驱动程序的配置命令。它们总是具有相同的价值,对于我们的目的来说并不重要。然而,(数据指针)命令很重要,因为它指示数据将被写入内存中的哪个位置。命令后面是数据字节,每个字节包含两个数据块。它们被自动写入显示存储器中的正确位置。
我选择了一个基于hd44780的显示模块,四行20个字符来代替原来的模块。它有足够的空间来显示所有的原始数据。作为I(2)C从设备的微控制器可用于将数据流输入到PCF8576。它还可以解码这些数据并将其写入新的显示模块。对于这个任务,我使用了MAXQ615。与I(2)C端口一起,MAXQ615具有足够的I/O引脚以4位模式驱动显示模块。
图2显示了硬件的简化示意图。它建立在MAXQ615评估板上,该评估板有一个perfboard原型区域,其中安装了额外的组件。
图2 驱动新显示器的硬件。显示模块集成了一个HD44780显示驱动程序,一个4行20字符的LCD和一个背光。与万用表通过4条线连接:5V和GND为电源线,SDA和SCL为数据链路
MAXQ615工作在3.3V,因此,与仪表中使用的5V逻辑电平不兼容。由于微控制器只需要接收信号,因此通过给SDA和SDL引脚提供自己的上拉电阻和隔离二极管,可以轻松解决不兼容性问题。当I(2)C主控将这些线拉低时,二极管的导电性和微控制器输入端的电平也很低。当I(2)C主控将这些线设置为高电平时,二极管反向偏置,电平被限制在3.3V。当MAXQ615将线拉低时(例如,确认一个命令),二极管也反向偏置。这可以防止MAXQ615“回讲”和干扰主处理器和PCF8576之间的通信。
MAXQ615具有基于硬件的I(2)C接口,因此固件只需要初始化几个寄存器以启用I(2)C功能并将IC配置为从设备。
在主程序中,微控制器等待I(2)C接口上的数据。当I(2)C硬件识别自己的从地址(与PCF8576相同)时,固件知道下一个字节将是命令字节。除了用于确定数据存储位置的数据指针命令外,下面的所有命令字节都将被忽略。数据字节位于字符串中最后一个命令字节之后。数据字节存储在一个20字节的数组中(每个字节两个小块)。在字节级,这个数组是PCF8576中显示存储器的副本,在小块级,相关的指针形成了数据指针的一半。
如前所述,数据在两个会话中发送。在这两个数据块都被接收之后,数据就可以被处理了。新显示的内容保存在一个80个字符的字符串中。固件通过接收到的数据滚动并确定必须在显示器上显示的内容以及必须显示的位置。这对于简单的开/关段来说很容易,但对于7段和16段字符来说就更复杂了。属于7段字符的位在数组中被分组为一个字节,而属于16段字符的位被分组为两个字节。通过使用查找表,可以直接从字节值中派生出字符。一旦最终字符被确定,显示字符串在一次操作中被复制到新的LCD模块。整个数据处理体系结构以示意图形式显示在图3中。
MAXQ615固件可在此处下载。
图3 数据处理体系结构的示意图
为了给新的显示器腾出空间,原来的显示器从电路板上锯下来,与MAXQ615评估板一起移动到外壳的不同位置。然后,新的显示器被粘在空出来的空间里。
正如你可以从原来有缺陷的显示器(图4)和新显示器(图5)的仪表照片中看到的那样,更换后的显示器不仅清晰可辨,而且由于背光,也明显更容易阅读。
图4 仪表显示有问题,无法修理
图5 仪表与修复显示
由于MAXQ615,它的评估板和一些创造性的工程,仪表再次全面运行。
脚注:
飞利浦系统万用表维修手册PM2534-PM2535,编号4822 872 35313 900205:www.download-service-manuals.com/download.php?file=Philips-6930.pdf。
PCF8576数据表:www.nxp.com。
2016年7月,Elektor杂志上出现了类似版本的申请说明。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308