本文记录关于 一个治疗仪增加为可以远程显示信息与控制的设备
这个设备原先显示用的是一个lcd屏幕 现在需要获取lcd屏幕的显示信息
这里插入图片
这是lcd段码屏,显示驱动用的是HT1621B。最开始方案是直接读取输入HT1621B驱动的信号,这是最简单直接的获取信息。
尝试发现几个问题
1.HT1621B使用的协议不是标准的spi,一帧数据位数长度不是8的整数倍,命令模式最短9位,数据模式最短13位。
2.因为不是标准spi所以无法使用单片机的硬件spi进行捕捉,尝试软件捕捉。软件捕捉过程中发现数据传输过快无法软件捕捉到数据,尝试优化了stm32的gpio读取函数改为寄存器直接操作,有提升但是速度还是不够快。
3.无法用软件捕捉,也不能用通用spi硬件外设捕捉。还有一个方案是fpag捕捉,fpag成本过高搁置。
目前为止无法直接读取发给HT1621B数据
新方案直接读取显示屏
LCD液晶屏幕是交流电驱动的 用万用表尝试读取可以区分,考虑到转换电路复杂 搁置
转换思路后的方案
原始信号控制显示后有较长的时间空闲,是否可以直接与HT1621B通信直接读出数据。原始电路没有连接RD时钟线,飞线引出
插入图片 飞线的图片
这里vcc电平是5V,如果用stm32或者esp系列芯片需要转换芯片 ,这里用ArduinoUNO进行测试 ArduinoUNO 是5V的电平
用原先系统点亮屏幕显示
断开屏幕信号线
插入 ArduinoUNO
编写读取用程序 网上搜索到的参考程序但是不使用读接口,没有读取程序
读取数据 打印数据
读取方案成功
发表回复