无源液晶光学器件的低成本驱动电路设计
2022-11-24陈梅蕊毛红敏彭建涛孙会娟徐国定陆焕钧曹召良
陈梅蕊,杜 莹,毛红敏,彭建涛,孙会娟,徐国定,陆焕钧,曹召良
(1.苏州科技大学物理科学与技术学院江苏省微纳热流技术与能源应用重点实验室,江苏 苏州 215009;2.中国航天科技集团公司 上海卫星工程研究所,上海 201109;3.北京联合大学 数理部,北京 100101)
1 引 言
液晶光学器件,如空间光调制器、光延迟器、光衰减器、光隔离器、光开关等[1-8]被广泛应用于各种光学仪器和设备中。液晶光学器件的驱动方式主要分为有源驱动和无源驱动两大类。有源驱动是通过器件每个像素携带的电荷存储电容进行供电,每个像素都配备薄膜晶体管,制作工艺复杂,且成本较高[9-10]。无源驱动通过外接驱动电路的方式对器件供电,制作工艺简单且成本低[11-12]。无源驱动适合于低像素数的液晶调光器件和多个单像素器件的并行控制。随着光的智能控制发展,在复杂的光学系统中,通常包含多像素或多个单像素液晶光学器件。比如,被广泛研究的全电控制的激光雷达,其采用液晶空间光调制器和液晶偏振光栅组实现激光光束大角度连续扫描[13-19]。其中,液晶偏振光栅组是由多片液晶偏振光栅和液晶半波片组成,需要多路驱动电路进行控制。此外,低像素数的液晶空间光调制器也可采用无源驱动,从而降低成本[11]。若每个液晶器件均配置独立的电路进行驱动,其成本及系统的复杂程度均相应增加。因此,需采用多通道信号对多像素或多个单像素器件进行同步控制。
多路同步驱动通常采用数模转换器(DAC)将数字信号转换为模拟信号,从而实现数字系统对模拟系统的控制[20-21]。目前常用的多路DAC系统普遍采用现场可编程门阵列(FPGA)系统进行控制。FPGA系统控制的DA输出有两种:一种是集成FPGA芯片的板卡直接插在电脑的主板上,然后利用信号传输接口传出模拟信号,但该方法输出的模拟信号路数受限,目前最多输出32路[22];另一种是在电脑主板上插一块数字信号发送卡,先把数字信号通过PCI或PCI-E接口高速传输到集成FPGA芯片的数模转换器,然后再进行多路数模转换和多路模拟信号的输出,该方式可以实现更多模拟信号的输出[23-24]。但基于FPGA实现多路输出的成本及开发难度比较高,并且使用不便。
为此,本文提出一种低复杂度、低成本的多路液晶光学器件驱动电路设计方法。其采用STM32作为主控,降低设计难度和成本;采用通用串行总线(USB)接口的通信方式,降低使用复杂度。同时,采用可插拔多子板加母板的设计思想,依据实际需求灵活选取子板数目,从而进一步降低成本和系统复杂度。
2 总体方案设计
无源液晶光学器件的驱动电压通常在10 V以内,驱动频率为千赫兹量级,电压调制精度为8~10 bit。为满足通常液晶器件及双频液晶高低频切换的驱动要求,本文的设计目标为:电压±10 V,频率2~10 kHz可调,电压调制精度10 bit。此外,为了满足普通应用需求,本文设计了192路的并行输出控制信号。
总体驱动方案设计如图1所示,主要分为上位机、驱动板卡及输出板3部分。为降低驱动电路的复杂度,上位机通过USB接口进行数据传输和驱动板卡的控制。驱动板卡采用母板与多子板组合模式,子板和母板间采用串行外设接口(SPI)进行数据传输。每个子板控制32路信号输出,并且以可插拔方式与母板连接,从而实现子板个数自由选择,降低驱动电路成本及简化产品。每个子板通过2个SPI接口将数据分发给各自的2个DAC芯片进行数模转换,从而实现幅值可调及10 bit的电压调制精度。输出板与驱动板卡通过BTB连接器进行连接,便于对液晶器件进行控制。
图1 总体驱动方案设计Fig.1 Design of overall drive scheme
多路模拟信号的时序流程图如图2所示。在系统开始运行时,PC首先将驱动数据通过USB发送给母板,母板将数据分成对应的组之后再发送给相应的子板,子板接收到数据之后将数据写入到DAC芯片的寄存器中,DAC芯片等待刷新命令,在全部命令都发送完毕之后,母板主控芯片向每个子板按顺序发出刷新命令,子板主控芯片在接收到刷新命令之后立即向DAC芯片发出刷新命令,之后DAC芯片将存储在寄存器当中的数据按照既定顺序刷新到每个管脚,输出对应的电压。
图2 多路模拟信号时序流程图Fig.2 Flow chart of multiplex analog signal timing
3 硬件电路设计
3.1 USB接口电路
本文采用USB3300作为USB接口通信芯片,实现PC机与驱动板卡的数据交互,其具体连接示意图如图3所示。以USB2.0的方式进行通信协议,满速率高达480 Mbit/s。经计算,理论上传 输192个10 bit数据的延迟为3.8 μs,该 时间可忽略不计,因而满足应用需求。此外,它包含一套集成的内置电源管理功能,即内部调节器使芯片可以由单个3.3 V电源供电,减少成本并简化产品设计;同时,其即插即用,使用方便,连接灵活。USB3300使用一个24 MHz内部晶体驱动器和锁相环子系统来提供480 MHz的参考时钟,一旦锁相环锁定到正确频率,它将使用60 MHz时钟驱动CLK引脚,使物理层可以正常收发数据。该芯片具有8位数据总线,总线所有权由DIR位决定,链路和物理层通过在总线上驱动非零模式来启动数据传输,NXT用于控制进出设备的数据流,最后输入到STP终止传输。
图3 USB芯片连接示意图Fig.3 Schematic diagram of the USB chip connection
3.2 SPI接口
为了实现驱动电路的低成本、低复杂度设计,采用STM32F429ZET6作为母板控制芯片,STM32F411CEU6作为子板控制芯片。母板与子板之间通过SPI接口进行数据传输,并以主从方式进行工作,如图4所示。其中母板作为主机,子板为从机,共有4根连接线,分别为MOSI(主机输出,从机输入)、MISO(主机输入,从机输出)、SCLK(串行时钟信号,由主机产生发送给从机)和NSS(片选信号,由主机发送,以控制与从机通信)。SPI在全双工模式下,具有单独的发送和接收路线,因此,可以在同一时间发送和接收数据。SPI的接收硬件可以是一个简单的移位寄存器,相比于异步串行通信所需的完整UART,该方案简单且成本低。母板控制芯片包括6个SPI接口,子板控制芯片包括3个SPI接口,接口速率统一采用22.5 Mbit/s,母板的6个SPI接口与分别6个子板的1个SPI接口相连,每个子板的其余两个SPI接口分别与2个DA转换芯片相连,以此控制多路数据传输。
图4 主从器件SPI接口连接示意图Fig.4 Schematic diagram of primary and slave device SPI interface connection
3.3 主控电路设计
子板以可插拔的方式与母板进行连接,实现子板个数自由选择,从而降低驱动电路的复杂度及成本。母板与子板的设计包括晶振电路、电源电路、下载电路及复位电路,具体如图5所示。晶振的频率为16 MHz,并将其作为锁相环电路的时钟源,对16 MHz的频率进行倍频,提升系统所需要的时钟频率,使系统更加快速稳定运行。XI与XO引脚串联两个电容用来削弱谐波对电路的稳定性的影响。本设计中在母板处外接一个电源,向母板提供±15 V及5 V的电源,经稳压电路和LT76ES芯片转换为12 V及3.3 V,向各芯片提供所需电压,使设备正常工作。电源电路的电容用来稳定电压输出及消除电压的高频成分,确保输出电压纯净。下载电路采用SWD接口,其比传统JTAG调试更适用于高速模式,并且所需要的引脚少,节省PCB空间。母板与子板均含两个DMA控制器,总共有16个数据流,每个数据流有多达8个通道。DMA用于存储器与外设之间提供高速数据传输,可以在无需任何中央处理器(CPU)操作的情况下通过DMA快速移动数据,这样CPU节省的资源可供其他操作使用。
图5 主控芯片及附加电路示意图Fig.5 Schematic diagram of the main control chip and the additional circuit
3.4 DAC控制模块
本设计采用16通道、±10 V,能实现电压范围内双极性信号摆幅,电压调制精度可达10 bit的数模转换器LTC2668进行数字信号到模拟信号的转换,经多路复用器MUX控制VOUT[0-15]输出16路模拟电压,其具体原理图如图6所示。每个DAC通道有两组双缓冲寄存器,一组用于代码数据,一组用于DAC的输出范围,双缓冲提供了同时更新量程和代码的能力,从而允许在改变输出范围时进行平滑的电压转换。为保证电压的稳定性和低噪声,REF等引脚外接0.1 μF的电容。LTC2668采用可级联的3线式SPI/Microwire兼容接口进行控制,最高时钟速率可达50 MHz。
图6 DAC原理图Fig.6 Schematic diagram of DAC
4 软件设计
4.1 下位机设计
多路DA系统的实现不仅依赖于硬件设计,还与控制软件的设计密切相关。在控制软件设计方面,母板软件设计主要起到将PC与子板进行链接的作用。由于传输的数据量较大,本文使用DMA控制器,无需CPU直接进行数据传输,控制简单,节约系统资源,适用于数据传输率很高的设备进行成组传送。具体过程如图7所示,USB接收到数据后按照顺序使能各SPI接口的DMA请求,将数据输出到每一个子板,最后再向子板发送刷新输出的命令。
图7 STM32F429控制软件流程图Fig.7 Flow chart of the STM32F429 control software
子板控制软件设计的具体实现过程如图8所示。首先判断母板发送的信息是数据还是刷新命令。如果是数据,就将数据通过SPI写入到DAC芯片当中;如果接收到的信息是刷新命令,就通过SPI将DAC芯片的刷新命令写入,将模拟数据刷新到相应的引脚。
图8 STM32F411控制软件流程图Fig.8 Flow chart of STM32F411 control software
4.2 上位机设计
上位机的软件界面程序用Qt开发,利用USB3300动态链接库提供的函数,编程实现PC与下位机通信,界面如图9所示。图9中192个六边形即对应192路。界面具体操作过程如下:首先选择文件,文件为Excel表,Excel表里的第一个数字对应的是第一路DA,输入的范围为0~1 023的电压灰度级。由于USB接口只能进行8位数据传输,而发送一个电压灰度值为10 bit,因此在嵌入式与上位机中均对数据进行了分配,每4个数据用5个字节,即前4个字节存储4个数据的高8位,第5个字节按顺序存储4个数据的低2位,以此对数据进行传输。其次,在周期设置框中输入方波翻转周期,范围为50~255 μs。最后,点击确定及开始发送,即可得到多路幅频可调的方波。
图9 上位机应用软件界面Fig.9 Upper-computer application software interface
5 功能测试
基于上述设计,进行制板和控制软件编写,研制出的液晶器件驱动控制电路如图10所示。硬件部分主要包括母板、子板、外接电源以及输出板。母板与子板根据软件设计流程实现192路信号输出。输出板设计了32路,以便于对每个子板控制的32路进行测试。测试时,上位机通过母板的USB接口进行数据传输,通过上位机实现幅值与频率可调。
图10 硬件设计实物图Fig.10 Physical design of hardware design
通过上位机给下位机同时发送不同的电压灰度值与周期对驱动电路进行测试。灰度值从0~1 023设置了8个值,用示波器对外接板FA0路分别进行测试,结果如图11(a)所示。其中“·”表示实测电压,其范围在0~10 V。从图11可以看出,电压与灰度值符合线性关系,拟合得到的直线斜率为0.010,与理论10 V、1 024级电压灰度线性关系相对应。由于测试环境的影响,如示波器测量及线路误差,实际测量过程中存在0.003 V的静态误差。实测电压值与拟合直线的误差结果如图11(b)所示,误差在0.010 V左右,在去除0.003 V静态误差的情况下,大多数误差接近于0。
图11 测试结果Fig.11 Test results
6 结 论
本文针对无源液晶调光器件的驱动控制要求,设计了一种低成本、低复杂度的多路DA同步控制方法。以STM32作为主控芯片,USB与电脑通信的方式进行数据传输,降低系统复杂度,并通过上位机实现幅频可调。子板以可插拔形式与母板进行连接,实现子板个数自由选择,从而降低系统成本。然后,用DAC芯片进行数模转换,实现192路模拟信号的输出。测试结果显示,不同电压灰度值与模拟电压符合线性比例关系,并且其误差在0.010 V左右,符合10 bit、1 024级电压灰度值调制精度,说明该驱动电路输出信号的精度及稳定性高,满足无源液晶器件的驱动控制要求。该研究结果为多路无源液晶光学器件的驱动控制提供了强有力的技术支撑,从而扩展了其应用场景,加快其产品化进程。