DLP投影技术是应用美国德州仪器公司开发的数字微镜元件——DMD(Digital Micromirror Device)作为主要关键处理元件以实现数字光学处理过程的技术。DLP显示的色彩清晰度高、艳丽、细腻、逼真,且为全数字显示即可靠性极高,能在各类产品(如大屏幕数字电视、公司/家庭/专业会议投影机和数码相机(DLP Cinema))中提供最佳图像效果。目前,大部分的家用或商用DLP投影机都采用了单片结构,使得其便于移动携带,因而得到越来越广泛的应用。在目前应用发展的基础上,又对其结构的精简性、携带的方便性提出了更高的要求。传统的DLP投影仪是通过DVI接口接收外部信号,并且经过信号转换传送给DLP控制器来控制DLP的显示,占用的空间较大,接收信号的模式较局限,难以整合到现有仪器设备中,如果能将现有仪器设备中的数字信号直接发给DLP,而不经过多次数据转换,则能减小体积和降低成本,并能将DLP方便的整合到仪表仪器中。
DLP投影仪使用三色LED作为光源,对LED的选择也至关重要,近年来由于RGB三色LLED在散热、可靠度、色彩饱和度以及能源效率上超越了其他发光器件,照明设计中对其的使用也越来越普遍。目前许多LED器件制造商都使用独立的红光、绿光和蓝光LED组合来提供所需的色彩,在应用上使用分立的LED封装存在一些缺点,例如为了符合封装结构所造成的空间浪费,以及使分离较远的光源取得有效色彩混合而需要的额外努力,因此需要一种整体封装的LED芯片来代替传统的独立光源,即单一封装内集成红光、绿光和蓝光LED芯片的产品,其中每一个LED芯片都可以独立控制,提供各种不同的色彩输出。
文中以DLP1700为例,从信号输入控制和显示的光源这两方面对传统的DLP投影系统进行改进,显示的光源方面采用大功率RGB三色LED替代传统的多颗单色LED,信号输人控制方面,取消传统的DVI接头、MSP430,用带有I2C功能的Stm32单片机产生控制信号和图像信号直接控制DLP1700的控制器DLPC100,进而控制DLP1700的显示。该设计能使DLP显示仪硬件电路结构更加精简,电路控制更易于实现,能够方便的整合到各种仪器中。
1 信号输入控制
传统的数字微镜显示技术的信号输入端是由DVI接口提供图像信号和行场同步信号,由MSP430单片机对DLPC100进行基本的控制,且是通过I2C总线进行控制信号的传输,整个过程涉及的芯片较多,线路较复杂,本文设计中我们采用基于Cortex_M3内核的STM32系列单片机对信号输入部分进行改进,将Stm32发送的图像信号和行场同步信号传送给DLPC100,来控制DLP1700的显示和LED的驱动。因为STM32内部本身携带有I2C总线接口,即可代替传统的MSP430和I2C总线对DLPC100内部进行一系列的控制。具体的电路连接方框图如图1所示。
2 显示光源
用整体封装的RGB三色LED代替传统的独立封装的多颗LED,与分立封装器件比较,这样的做法可以让光源更加紧凑,并且大幅度缩小每个独立光源间的距离。要取得良好的色彩混合,LED光源的最大间距不能超过5 mm,三合一作法可以将这个距离缩小到只有1.5mm。在LED间距缩小后,有效进行色彩混合的所需区域也可以同时缩小。经过研究发现,这种整体封装的LED在散热方面也有着良好效率。
文中设计采用的是安华高科技有限公司的Moonstone系列3W RGB三色LED,该光源具有光强更高、体积更小的特点。RGB三色LED光源性能参数如表1,单片RGB三色LED光源可替代传统的卤钨灯和多颗单色LED光源,达到相同光效所用的空间面积只有普通白光LED的几分之一,是传统卤钨灯的几十分之一。
利用光学设计软件进行照明系统设计,按照光源性能的参数对光源进行建模,RGB三色LED光源的模型如图2所示。图中三颗单色LED发光芯片的尺寸分别为0.8x0.8 mm2,单色光源分别为1个蓝色发光芯片,1个绿色发光芯片和1个红色发光芯片,分布情况见图2。光源出射角度为120°,出射光按表1提供的参数进行设定。利用该光源设计投影仪、背投电视、大屏幕显示等的照明系统可以使结构简化、体积减小、操作方便。
[page]
3 电路原理及整体电路图
传统的DLP1700显示系统电路图如图3所示,图中信号输入用到DVI接口、MSP430单片机、I2C总线,线路控制比较复杂;右边从DLPC100输出的RGB EN和RGB PWM信号控制LED驱动器进而控制多颗单色LED。改进后的系统电路如图4所示,由STM32单片机控制DLPC100并输入数据信号给DLPC100,继而驱动LED驱动器,当DLPC100对输入的信号数据进行如图5所示的数据格式转换、信号增强、DMD格式转换等处理后将信号传送给DMD芯片DLP1700,DMD芯片上的480x320个微镜在输入信号的控制下以一定的角度偏转,LED驱动器驱动三色LED为DLP显示提供光源,在屏幕上得到完美的图像显示。
4 结论
以上通过对DLP1700显示的电路、光路系统进行改进设计,得到一个更为简洁直观的系统,用STM32系列单片机代替复杂的输入模块设计,由它接收处理数字信号并生成图像信号,输入结构简单、易于编程控制;用新型的整体封装的大功率RGB三色LED代替传统多颗单色LED,与传统的分立式LED封装比较,三合一封装解决方案不管是在色彩混合度或空间需求上都有更好的表现,并拥有良好的散热能力和可靠性,可以为工程应用开发带来更高的灵活度。改进后的DMD显示仪器携带方便、结构简单、体积小、节能环保并且可以方便的整合到各种设备中,使DLP仪器设备更好的发挥其优势,即轻便、可靠性高、容易操作控制等,为其更大规模的应用提供坚实有力的条件。
关键字:Stm32 RGB三色LED DMD 驱动电路
引用地址:
基于STM32单片机的DLP驱动电路的研究
推荐阅读最新更新时间:2024-03-16 12:54
基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)
一、环境介绍 小车主控MCU: STM32F103ZET6 STM32程序开发IDE: keil5 STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植 手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解) 硬件包含: 淘宝购买的完整一套4轮遥控小车(采用STM32F103ZET6作为主控板)、DHT11温湿度传感器、中科微GPS模块、ESP8266 小车完整源码下载地址: https://download.csdn.net/download/xiaolong11266264
[单片机]
STM32 系统时钟和SysTick定时器
1.STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI、HSE、LSI、LSE、PLL (1)HSI是高速内部时钟,RC振荡器,频率为8MHz; (2)HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围是4MHz – 16MHz; (3)LSI是低速内部时钟,RC振荡器,频率为40KHz; (4)LSE是低速外部时钟,接频率为32.768KHz的石英晶体; (5)PLL为锁相环倍频输出,严格的来说并不算一个独立的时钟源,PLL的输入可以接HSI/2、HSE或者HSE/2。倍频可选择为2 – 16倍,但是其输出频率最大不得超过72MHz。 其中,40kHz的LSI供独
[单片机]
STM32—IWDG独立看门狗的使用
STM32---IWDG独立看门狗的使用 独立看门狗(IWDG)由专用的40kHz的低速时钟驱动, 即使主时钟发生故障它也仍然有效。 窗口看门狗由从APB1时钟分频后得到的时钟驱动, 通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。 IWDG最适合应用于那些需要看门狗作为一个在主程序之外, 能够完全独立工作,并且对时间精度要求较低的场合。 WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。 IWDG主要性能 ●自由运行的递减计数器 ●时钟由独立的RC振荡器提供(可在停止和待机模式下工作) ●看门狗被激活后,则在计数器计数至0x000时产生复位 在键寄存器(IWD
[单片机]
STM32学习笔记:外部中断的使用
中断对于开发嵌入式系统来讲的地位绝对是毋庸置疑的,在C51单片机时代,一共只有5个中断,其中2个外部中断,2个定时/计数器中断和一个串口中断,但是在STM32中,中断数量大大增加,而且中断的设置也更加复杂。今天就将来探讨一下关于STM32中的中断系统。 1 基本概念 ARM Coetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置。STM32目前支持的中断共84个(16个内部+68个外部),还有16级可编程的中断优先级的设置,仅使用中断优先级设置8bit中的高4位。 STM32可支持68个中断通道,已经固定分配给相应的外部设备,每个中断通道都具备自己的中断优先级控制字节PRI
[单片机]
STM32串口中断方式接收
void RCC_Configuration(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); } 首先中断的配置 void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; #ifdef VECT_TAB_RAM NVIC_SetVectorTable(NVIC_VectTab_RAM,
[单片机]
STM32单片机智能温控风扇设计简介
一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602液晶、按键、蜂鸣器、L298N电机驱动模块、直流电机、DS18B20温度传感器等。 系统功能: 系统运行后,LCD1602显示传感器检测的温度值;默认以自动模式运行,若按下K4键切换为手动模式,此时可以通过K1和K2控制风扇加减速,风扇档位共5档(0-5)。当再次按下K4键切换为自动模式;自动模式下,实时检测温度值,当温度高于上限且在2C范围内,以3档运行。当温度高于上限且在4C范围内,以4档运行。当温度高于上限且在6C范围内,以5挡运行。当温度高于上限且超过6C范围,以5档运行且蜂鸣器报警。若温度在上下限范围内,风扇以2档运行。若
[单片机]
STM32开发笔记5: miniUART的使用方法
单片机型号:STM32F407 本文介绍miniUART的使用方法,miniUART是一组轻量型代码,可以用于完成串口接收数据功能的快速实现。其可正确对2包数据按照时间间隔进行分割,使用简单,代码可靠。 可以按照下列步骤使用mininUART. 1、打开config.h文件,按照下图所示的内容代码进行设置,设置为1表示启用miniUART。 2、打开miniUART_config.h文件,对miniUART进行配置,如下图所示。MINIUART_PERIOD是指两包数据之间的最小时间间隔,说的通俗一些如果串口接收到的2个字节之间的时间间隔小于MINIUART_PERIOD的数值,则认为该2个字节
[单片机]
STM32的IIC库函数使用误区
HAL库里有很多的IIC的库函数,比如 HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t
[单片机]