首页  技术文章  SLM液晶空间光调制器控制方法

SLM液晶空间光调制器控制方法

发布时间:2021-09-29 13:36:25 浏览量:3127 作者:Paul

正文


我们以Meadowlark的液晶空间光调制为例,主要由两个接口,一个是虚拟串口,负责SLM于电脑之间的通信,例如查询温度,设置

RGB通道,上传LUT文件等等。另一个是HDMI接口,负责图像传输,SLM本身相当于第二个显示器,使用方法完全一致。


虚拟串口

默认波特率是115200。不同型号的串口命令不一致,现在新出的型号为1920*1200, 因此以这一为例。串口内容含有一套帮助命令,

输入字符“h”可以查看帮助菜单,注意所有命令末尾都不需要回车符号。当输入命令h后得到如下现已结果

Bandicoot Menu Ver 1.0 : Enter Command after Prompt > 

help : type h 

register read: g address[4 char hex]

multiple register read: r address[4 char hex] count[4 char decimal] 

register write: w address[4 char hex] data[8 char hex]

xadc channel read : x channel[1 char decimal]

ADC channel read : a channel[2 char decimal]

DAC channel write : d channel[1 char decimal] data[3 char hex]

save Gamma to eeprom : s 

可以通过虚拟串口助手,对设备进行调试。通过对设备串口的监视,可以看到1200这台SLM的串口主要分为三部分工作。


第一部分:是初始化的过程。

其中w000c00000000控制SLM选择通道的作用,意思即HDMI传输的是RGB彩色图像,但是SLM只能显示灰度图,因此SLM只会选择

RGB通道中的一个通道作为他需要显示的图像。其他都是采用默认的行为。带时间所在的行为发送命令的内容,底下不带时间所在的行

为命令返回的部分。

13:28:21.755 a02

a 02 \LF\CR3.387V\LF\CR>

13:28:22.417 r00040001\NUL

r 0004 0001 \LF\CR0x013000\LF\CR >Wrong command!!!, Thye h for help! \LF\CR>

13:28:23.070 w000c00000000

13:28.23.218 d04a0

13:28.23.230 d18f9

13:28:23.230 d28f9

13:28:23.242 d3d6b

13:28:24.095 a12

a 12 \LF\CR0.025V\LF\CR>

13.28:24.610 a12

a 12 \LF\CR0.025V\LF\CR>

13:28:25.125 a12

a 12 \LF\CR0.021V\LF\CR>

13:28:25.641 a12

a 12 \LF\CR0.045V\LF\CR>

13:28:26.157 a12

a 12 \LF\CR5.042V\LF\CR>

13:28:27.188 a12

a 12 \LF\CR5.045V\LF\CR>

13:28:27.704 a12

a 12 \LF\CR0.028V\LF\CR>

13:28:28.220 a12

a 12 \LF\CR5.045V\LF\CR>

13:28:28.735 a12

a 12 \LF\CR5.039V\LF\CR>

RGB选择的三个命令分别是

w000c00000000

w000c00000001

w000c00000010


第二部分 上传LUT文件

LUT文件分为两列,左边一列是对应的像素会读,从0到255之间,右边一列可以认为是SLM实际的电压值,8bit的SLM是0~255之

间,12bit的SLM对应的是0~4096之间等等。串口写入LUT的顺序是直接将灰度值和电压值并入到一行内,正如下面格式一样,然后

写入SLM。命令没有返回结果,也没有在末尾添加回车。完成写入后可以继续写入LUT文件的第二行,直到末尾。

13:28:29.382 w1000350a0000

上述格式中前两个字节w是固定格式。后面两个字节1000对应的LUT的灰度值*8的十六进制加1000。例如灰度值为3,3与8的积为

24,24的十六进制为0018,因此前半部分为w10018,后面两个字节对应LUT的后一列,若一个数字2613,对应十六进制显示为

0a35,将前后两个字节的顺序转换后变成350a,在末尾继续添加0000,最终便能够得到LUT文件对应行的命令。


第三部分,温度查询

Meadowlark公司采用间隔1秒中时间查询一次温度的方法,查询命令如下:

13:28.32.504 a04

a 04 \LF\CR25.66C\LF\CR>

HDMI

SLM可以作为一块同样的普通显示器使用,因此讲一个窗口放置在SLM是上,全屏显示就可以正常使用SLM。显示器显示的方式也有

所不同,通过资料可以查到三种。

第一种方式

通常连接电脑之外的显示器后,电脑自身的显示屏幕,以及第二块屏幕之间几乎没有关联的。一个软件不能跨屏幕显示,而且只能在一

个屏幕下全屏。所以当连接2个或者3个以上的SLM时,需要为每个SLM设置单独的窗口。我们以一个电脑外接两个屏幕做测试,每个

屏幕都能够达到60Hz的刷新速度。


第二种方式

需要借助英伟达的显卡,在显卡设置软件中,可以将几个屏幕合并成一个超大分辨率的显示器。这么做,当初只是为了解决不同屏幕的

同步显示问题,但是实际效果暂时还没有试过。


第三种方式

现在网上常卖的HDMI一转二,一转三的适配器。有种适配器,图像转出来的是完全相同的。其次因为Meadowlark的显示器,因为能

够只显示RGB中的一种颜色,而且颜色可以通过串口任意选择。因此通过一转二或三的适配器,将图像首先转换为三个相同的图像,然

后每个SLM只占用RGB中的某一个通道。同时在软件上显示的时候,需要常常将不同图像合并成一幅彩色的图像。这种方法是根据

SLM自身特性去做的,也暂时没有尝试过。