历史上的今天
今天是:2024年12月14日(星期六)
2021年12月14日 | 用于动态地面投影的评估模块和软件工具入门
2021-12-14 来源:EEWORLD
用于动态地面投影的评估模块和软件工具入门
近年来,随着标识投影仪的加入,车辆周围的地面投影取得了长足的进步。汽车制造商已经利用标识投影帮助车主实现汽车定制化,同时也通过照亮车门周围的地面来提供其他功能。但是,这些系统目前只能显示单一图案,不支持除基本样式之外的任何功能。随着汽车发展得越来越高级,OEMS正在寻找其他方法让汽车与驾驶员和乘客进行交互,同时仍提供定制和样式等特点,如图 1 所示。

图1:动态地面投影用于与驾驶员和乘客进行交互
随着DLP3021-Q1数字微镜器件(DMD)的推出,TI进一步推动了标识投影的发展,该器件能通过拇指大小的模块完全投影红绿蓝(RGB)格式的视频。内部FLASH可以将本地存储的图像和视频内容直接发送到DMD,简化了车辆集成DMD模块的要求,并且无需附加图形处理单元(GPU)。但没有GPU,如何在器件上显示视频或连续图像呢?本文将讨论如何使用TI的动态地面投影工具来显示存储在闪存中的图像和视频。
DLP3021LEQ1EVM动态地面投影仪评估模块(EVM)(如图2所示)是一种投影就绪型EVM,可仿真产品系统,因此提供了一种快速评估动态地面投影的方法。该EVM集成了制作动态地面投影仪所需的所有关键系统,可在接收到EVM(包括照明驱动器、紧凑型光引擎和带有DMD控制器的格式化单元)时立即评估。DMD控制器可让您通过个人计算机(使用FTDI电缆)或串行外设接口适配器板(这两者都包含在EVM中)修改投影内容。该板通过USB与计算机连接,但无需连接计算机即可开始投影内容。通电后,该单元将开始显示闪存中存储的内容,从而使EVM成为支持快速评估DLP3021-Q1 DMD的即插即用系统。

图2:DLP3021-Q1动态地面投影仪EVM
DLP Composer是一种图形用户界面(GUI)工具,可让您自定义加载到闪存中的内容,甚至不限于图像。找到您希望加载到器件的视频或静止图像后,程序将获取该内容,自动缩放并将其转换为DMD本征格式。为实现进一步定制,您可以调整序列集以调整帧速率和特定的RGB占空比。该界面可让您轻松更改值,通过单独的占空比调整使内容适合不同的环境。
例如,如果您的投影需要高亮度但颜色精度较低,您可以将绿色占空比设置为其他通道的两倍以上。EVM预装了示例视频和序列以用作参考。您还可以在GUI中编辑默认寄存器配置。其中一些寄存器具有读写权限,您无需重新编程闪存即可更改设置,有助于快速选择要加载的内容和进行DMD上电配置。
在对内容进行编程并设置默认配置后,您可开始使用DLP3021-Q1 EVM投影内容。使用DLP Control Program编程闪存或通过DLP Composer控制加载内容的播放后,您还可执行其他系统配置。首先,将适配器板连接到您的计算机并确保程序识别您的器件。建立连接后,您可以导航到“Scripting”页面,在该页面中将命令发送到DMD控制器。终端使用Python编程语言,另外还包含一个特定于程序的函数库。您可以通过在代码中指定暂停条件或使用窗口顶部的按钮来运行和暂停您的脚本。在该软件的其他“Registers”页面中,您能够单独读取和写入可修改的寄存器。您还可通过转到“Commands”页面并获取或设置组中的值,一次修改多个寄存器。
根据定制级别,您首先要知道何种规格是必要的。应用报告“动态地面投影应用要求”介绍了公式和估算,可以帮助您根据环境质量(例如环境照度和投影表面反射率)确定必要的光输出。有关投影内容的详细信息,请参阅“DLP3021-Q1 动态地面投影系统设计”,该应用报告重点介绍了闪存的存储要求以及必要的压缩因素。
在包含的硬件、在线资源和软件工具(例如DLP Composer 和DLP Control Program)中,有多种方法可以测试和演示DLP3021-Q1 DMD的功能。DLP3021-Q1 EVM可通过其即插即用功能加速您的设计周期和开发进程。由于您无需开发电路板和光学引擎即可测试不同的应用和亮度级别,因此EVM是一款用于原型设计和开发的理想工具。
史海拾趣
|
大家好,我仿照北京奥尔斯的pxa270开发板做了一个板子。按照他们的开发板,电源没有用任何电源管理芯片,全都是LDO直接恒定输出各个电压(不用PWR_EN和SYS_EN控制),他的开发板能跑,按道理来说这种设计应该没有问题。 现在我的板子能JTAG烧写boo ...… 查看全部问答> |
|
各位大哥们,我还是一个大一的学生,现在听说嵌入开发还可以,所以就有一点想向这一方面发展,但是现在在我面前的一个问题就是 我不知道要学那些东西,我也是一个计算机班的学生,这是不是有很大的优点. 所以就想问一下大哥们的应该出什么方向入手好一 ...… 查看全部问答> |
|
#include<LPC21xx.h> #define uint8 unsigned char#define uint32 unsigned intvoid Timer0_ISR(void) __attribute__ ((interrupt));uint8 num; void DelayNs(uint32 dly){ uint32 i; for(;dly>0;dly--) &nbs ...… 查看全部问答> |
|
你好,我使用的是stm32,外围带mcp2551,做为节点的时候,通讯一般都是没有问题的,可以接收和发送。接收是采用中断方式。 但是目前遇到一个问题,整个总线有5个节点,一个是监听的,方便pc得到信息。 我使用STM32的can来代替一个节点进行数 ...… 查看全部问答> |
|
我AD采样的范围是0 - 2.5 V , 采样肯定是小数, 其类型应该是 float 型吧? 假如其采样点储存在float型数组内, 经过一系列运算后 如何使其转换成十进制数据 输出? 是有固定程序么? 比如将其转换成BCD码! 还请高手指点!… 查看全部问答> |
|
因为9B96有Port J,可是Startup.s里的中断向量表里没有Port J的“IntDefaultHandler”,所以进不去中断。如果谁有麻烦给我一份啊。谢谢先。 zzgezi@126.com. … 查看全部问答> |




