嗅探到的i2c通讯内容:
用“Bus Pirate”尝试了一下操作I2C向tw8816的寄存器写入内容,读取内容都没问题。于是开始参照手册设置一些寄存器的内容,以便能支持模拟信号输入
通过不懈的努力,最终需要对输入选择,输入信号格式,各种缩放,边距等寄存器的设置。最终让接入的av信号,正常的显示在了屏幕正中
这个时候,A板的唯一的用途就是上面的stm8单片机向B板的tw8816做寄存器设置,以及一些12v转5v。如果去掉A板,用一片单片机取代,然后直接在B板输入5V应该就可以做到的
为了验证这个想法,需要自己先用脱离A板的单片机,手动设置几百个寄存器的值。看看是否可行
手动设置的工作量太大,这个时候也不可能直接就上单片机编程。于是就用神器“Bus Pirate”的python库来实现
下图是python环境jupyter-nb的界面:
大概就是用电脑操作“Bus Pirate”,写入所有寄存器的值。python很方便易用,是俺的主要编程工具之一。几下就完成了验证工作。验证的结果就是,脱离了A板单片机,直接通过“Bus Pirate”的i2c向tw8816设置寄存器后,画面可以正确显示。
但过程中有一些插曲,去掉A板后发现背光不亮,结果发现是还有屏幕12V的背光供电控制,直接接地即可亮屏。另外就是设置完所有寄存器后还是白屏,折腾一天发现是VGH VGL电压没出来进屏幕。这个也是受控于A板的,直接找到这部分电压驱动,飞线强行启动。
脱离A板和B板的排线: