DLP3010EVM-LC and DLP2010EVM-LC常见问题答疑
希望本FAQ可以幫助您快速上手Light Control EVMs。本FAQ會持續地進行更新來糾正可能存在的一些誤差并且提供更多的信息。對于更加準確的規格需求,請參考控制器和DMD的數據手冊。如果有其他的問題,歡迎您在E2E論壇提問,如果希望閱讀原帖,請參考如下鏈接:
1.什么是DLP3010EVM-LC和DLP2010EVM_LC產品?
這些產品是基于德州儀器DLP?技術的新的評估模塊,可以應用在投影顯示和光控制(比如結構光,3D打印等)的應用當中。DLP3010EVM-LC使用0.3 720p DMD,DLPC3478控制器和DLPA2005電源管理、LED驅動芯片。DLP2010EVM-LC使用0.2 WVGA DMD,DLPC3470控制器和DLPA2005電源管理、LED驅動芯片。結構光特性包含支持輸入輸出觸發信號,1-bit和8-bit pattern,內部pattern模式等等。
2.如何開始使用這些EVMs?
首先請下載DLP3010EVM-LC或者DLP2010EVM-LC的用戶指導手冊,同時需要下載EVM的GUI控制軟件以及GUI軟件的用戶指導手冊。如果想要下載更多的設計文件,可以參考德州儀器的參考設計,DLP3010EVM-LC的參考設計是TIDA-080003,DLP2010EVM-LC的參考設計是TIDA-080001.這些軟件以及說明文檔,包括本FAQ都可以幫助您開始使用和設計您的光控制應用。
3. 如何編寫DLPC3470和DLPC3478程序?
首先推薦您使用GUI軟件來熟悉控制器的操作。接著您可以在“Debug”標簽下,或者進入GUI advanced mode來更加了解GUI操作中產生的相應的I2C命令。最后參考控制器的程序員指南來了解每一個I2C命令的含義。
4. 什么是Internal Pattern Streaming模式?
內部的pattern模式允許在沒有外部數據流輸入的情形下迅速投影pattern。1D的pattern會被控制器載入到Flash存儲器中,然后投影出來。由于使用了這種1D的pattern的方式,從而支持多種不同的pattern幀速以及可以在Flash存儲器中保存非常多不同的pattern。這些pattern可以配置成不同的曝光時間也可以配置成不同的顏色。
5. 什么是1D pattern?
1D pattern是指可以使用1維信息來完全描述的pattern。換句話說就是一個水平的1D pattern是列重復的圖片,而一個垂直的1D pattern則是行重復的圖片。
水平的1D pattern示例:
1-bit位深
?
8-bit位深
垂直的1D pattern示例:
1-bit位深
?
8-bit位深
?
6. 為什么希望使用1D pattern?
由于各種各樣的原因使得1D的pattern有非常多的用處。第一,非常多的時間編碼的結構光會使用到1D pattern(比如灰度編碼和相移pattern)。第二,1D pattern可以使用1 by x的圖片完全表示(x可以是行也可以是列),這也就意味著不需要保存pattern所有的數據到flash存儲器中就可以得到pattern的全部信息。正是因為這一點,DLPC347x控制器才可以實現快速投影非常多不同的pattern的功能。
7. 什么是1-bit和8-bit pattern?
1-bit pattern意味著每一個pattern的pixel都由一個bit位表示,并且只有兩個不同的值(on或者off)。一個pixel處于off狀態意味著該pixel不會被LED照亮,而一個pixel處于on狀態則意味著該pixel會被紅色、綠色或者藍色LED照亮。當然如果想要顯示白色,處于on狀態的pixel也可以被三個LED照亮(這里需要注意的是RGB三個LED不是同時點亮的,而是按照時間順序依次點亮的)。
8-bit pattern意味著每一個pattern的pixel會由8-bits表示。這會提供一個二進制的脈沖調制信號來控制每一個pixel的on或者off一段特定的時間從而實現二進制加權的照明。下圖表示了每一個bit照明的相應時間,需要注意的是下圖只是在8-bit pattern中每一個bit顯示相應的時間的一個示例,在實際的顯示中順序可能會有不同。
?
8. 如何來配置投影Internal pattern?
請參考GUI用戶指導手冊第4.3.2章。首先需要創建一個包含各種不同1D pattern的pattern set,接著選擇pattern的曝光時間以及需要使用的LED,最后配置輸入輸出的觸發信號。
9. 什么是pattern set?
Pattern set是一些列具有相似特性的pattern的組合。特別地,每一個pattern set可以是1-bit或者8-bit的1D pattern,可以是水平的也可以是垂直的。Pattern set最初保存在flash中,然后在顯示前被載入到控制器的內部存儲器中。如果只使用了一個pattern set,那么pattern可以在最快的速度下顯示。如果使用了多個pattern set,那么在切換不同的pattern set的時候會有一個載入時間開銷。用戶可以通過修改pattern order table來改變pattern set的投影順序。
10. 每一個pattern set中可以存儲多少個pattern?
每一個pattern set最多可以存儲多少個pattern是由DLPC347x內部存儲器大小限制的。下表中提供了針對不同pattern的限制。外部flash存儲器中可以保存多個pattern set并且能夠動態地載入到DLPC347x控制器中。因此,在Internal streaming 模式中最多可以使用多少個pattern是由外部的flash存儲器的大小決定的。
DLPC3478(DLP3010EVM-LC)
| 1D Pattern Type | Max # of Patterns |
| 8-bits vertical patterns | 6 |
| 8-bits horizontal patterns | 8 |
| 1-bits vertical patterns | 51 |
| 1-bits horizontal patterns | 64 |
DLPC3470(DLP2010EVM-LC)
| 1D Pattern Type | Max # of Patterns |
| 8-bits vertical patterns | 8 |
| 8-bits horizontal patterns | 8 |
| 1-bits vertical patterns | 64 |
| 1-bits horizontal patterns | 64 |
11. 如何改變內部pattern的幀速?
?
用戶可以對每一個pattern set設置曝光時間,曝光時間是指pattern顯示,同時照明打開的的時間。另外,用戶需要設置pre-exposure dark time和post-exposure dark time,其中pre-exposure dark time是指pattern曝光前,沒有pattern顯示而且照明關閉的時間,post-exposure dark time是指pattern曝光后,沒有pattern顯示而且照明關閉的時間。從而可以得到Pattern frame rate=1/(pre-exposure dark time + exposure time + post-exposure dark time)。需要注意的是僅管可以計算得到最終有效的幀速,但是實際的曝光時間是小于1/(frame rate)的,這是因為pre和post dark time的存在造成的。
12. 為什么有最小的pre-exposure dark time和post-exposure dark time限制?
Pre-exposure dark time和post-exposure dark time是該系統實現所必須的。系統使用這些沒有照明的時間將pattern加載到DMD上,用戶使用這些沒有照明的時間來使外部的相機可以正確地捕捉圖片和處理圖片。
13. 在pre-exposure dark time和post-exposure dark time中實際發生了什么?
在DLP控制器內部會使用PWM序列。PWM序列是一個專門的指令集用于告訴LED什么時候打開、什么時候關閉,以及打開多長的時間。這個指令集同時也幫助控制將實際的pattern數據載入到DMD上。一旦設置了想要的曝光時間以及pre-exposure dark time和post-exposure dark time,控制器會在內部尋找支持該時序的PWM序列。如果控制器無法找到一個匹配該時序的PWM序列,那么DLPC347x控制器會將Short Status寄存器中的Light Control Sequence Error bit (bit 6)置高,該寄存器可以通過I2C命令讀取(0xD0)。
14. Internal pattern streaming mode支持哪些時序?
對于想要的曝光時間,首先根據曝光時間的范圍在下表中找到正確的sequence號碼。接著使用下面兩個公式來計算最小的pre-exposure dark time和post-exposure dark time。
Tmin pre-exposure dark time? = tsequence min pre-exposure dark time?* (Tdesired exposure?/ Tsequence exposure minimum)
Tmin post-exposure dark time?= tsequence min post-exposure dark time?* (Tdesired exposure?/ Tsequence exposure minimum)
舉個例子,如果需要的曝光時間是300us,那么
Tmin pre-exposure dark time?= 170us * (300us / 200us) = 255us
Tmin post-exposure dark time?= 30us * (300us / 200us) = 45us
注意:表格中的數字可能會相差1,I2C命令與直接使用GUI可能會存在不同。
注意:序列的具體時序取決于使用了哪一個版本的序列二進制文件。在當前1.0.0版本的EVM固件中使用的是0.5.46版本。您可以通過GUI軟件或者使用I2C總線(0x9B)來獲取使用的版本號。
| Internal Pattern Streaming? Mode Timings (Sequence Version 0.5.46) | |||||
| Num. Bits | Illumination | Sequence Number | Exposure Time Range | Sequence Min Pre-Exposure Dark Time | Sequence Min Post-Exposure Dark Time |
| 1 | Mono | 17 | 200us-400us | 170us | 30us |
| 16 | 401us-799us | 170us | 30us | ||
| 15 | 800us-1799us | 170us | 30us | ||
| 14 | 1800us-3799us | 170us | 30us | ||
| 13 | 3800us-TBD | 170us | 30us | ||
| RGB | 22 | 600us-1799us | 170us | 30us | |
| 21 | 1800us-3799us | 170us | 30us | ||
| 20 | 3799us-TBD | 170us | 30us | ||
| 8 | Mono | 18 | 3464us-TBD | 170us | 30us |
| RGB | 19 | 10912us-TBD | 170us | 30us | |
15. 是否必須計算這些最小暗場時間?
?
不,客戶不需要手動計算這些最小暗場時間。在GUI軟件中手動輸入期望的曝光時間并且點擊Program pattern data, 控制器會返回最小的pre-exposure dark time和post-exposure dark time。該功能是在I2C命令的幫助下完成的,在DLPC347x控制器中是0x9D。
16. 如何驗證曝光時間是否有效?
最簡單的驗證辦法是使用上述提到的GUI軟件中的Program pattern data按鈕。另外,也可以進入GUI軟件中的Advanced Mode來更好地了解驗證過程中具體發生了什么,參考如下步驟。事實上,這兩種模式都是用了0x9D這個I2C命令。
1. 確保EVM已經正確上電,并且通過USB線連接到了電腦端。
2. 打開Advanced GUI軟件,會與GUI軟件同時安裝。
3. 在屏幕左邊的Project Explorer下,選擇Light Control選項。
4. 找到如下圖示所示的Read Validate Exposure time模塊。
5.選擇期望的Pattern Mode, Bit Depth和曝光時間,然后選擇Get
6.如果選擇的曝光時間可以被支持,GUI軟件會在Exposure Time Supported下返回0x1-True。否則會返回0x0-False
7. 如果能夠支持所選的曝光時間,控制器會同時返回最小的pre-exposure dark time和post-exposure dark time
17. 如何實現快速投影2D pattern?
使用external pattern streaming mode。這種模式下,DLPC347x控制器會使用外部并行數據輸入接口。如果希望在EVM上使用該功能,可以通過HDMI接口輸入視頻信號(在EVM上會有額外的電路將HDMI信號轉換為并行RGB接口信號,并輸入到DLPC347x控制器上)。在這種模式下,每一個pattern會被編碼到bit-plane中。
18. External pattern streaming mode支持哪些時序?
首先根據期望的曝光時間,使用下表中的曝光時間范圍找到正確的序列號。接著,使用與上文Internal pattern streaming mode中的公式計算最小pre-exposure dark time和post-exposure dark time。
| External Pattern Streaming? Mode Timings (Sequence Version 0.5.46) | |||||
| Num. Bits | Illumination | Sequence Number | Exposure Time Range | Sequence Min Pre-Exposure Dark Time | Sequence Min Post-Exposure Dark Time |
| 1 | Mono | 5 | 200us-400us | 170us | 30us |
| 4 | 401us-799us | 170us | 30us | ||
| 3 | 800us-1799us | 170us | 30us | ||
| 2 | 1800us-3799us | 170us | 30us | ||
| 1 | 3800us-TBD | 170us | 30us | ||
| RGB | 10 | 451us-799us | 170us | 30us | |
| 9 | 800us-1799us | 170us | 30us | ||
| 8 | 1800us-3799us | 170us | 30us | ||
| 7 | 3800us-TBD | 170us | 30us | ||
| 8 | Mono | 6 | 2545us-TBD | 170us | 40us |
| RGB | 0 | 10902us-TBD | 170us | 40us | |
19. 如何顯示保存在Flash中的2D pattern?
?
客戶可以使用splash pattern mode,該模式主要應用在一些不需要非常高pattern速度的應用當中,比如說3D打印。需要注意的是,在使用splash pattern mode的時候,在切換不同的splash pattern時會有一個額外的時間開銷,該開銷來自于從flash載入pattern到控制器內部的時間。
20. Splash pattern mode支持哪些時序?
首先根據期望的曝光時間,使用下表中的曝光時間范圍找到正確的序列號。接著,使用與上文Internal pattern streaming mode中的公式計算最小pre-exposure dark time和post-exposure dark time。
注意1:最大的pattern周期(pre-exposure + exposure + post-exposure)在1-bit pattern的情況下不能超過2184us,在8-bit pattern的情況下不能超過10464us。
注意2:目前的GUI版本中存在一個已知的bug,在8-bit pattern的情況下,最大的曝光時間只能設置到10464us,該bug會在下一版本的GUI軟件中修復。
| Splash Pattern Mode Timings (Sequence Version 0.5.46) | |||||
| Num. Bits | Illumination | Sequence Number | Exposure Time Range | Sequence Min Pre-Exposure Dark Time | Sequence Min Post-Exposure Dark Time |
| 1 | Mono | 12 | 793us - 1744us | 170us | 30us |
| 8 | 11 | 7737us - 17034us | 170us | 30us | |
21. 03/27/2019更新
?
目前ti.com有關DLPC3470和DLPC3478的固件版本是V7.0.1,其中序列文件的版本號為V0.5.70,該序列文件支持的時序如下:
| Internal Pattern Streaming? Mode Timings (Sequence Version 0.5.70) | |||||
| Num. Bits | Illumination | Sequence Number | Exposure Time Range | Sequence Min Pre-Exposure Dark Time | Sequence Min Post-Exposure Dark Time |
| 1 | Mono | 18 | 200μs - 399μs | 171μs | 31μs |
| 17 | 400μs - 799μs | 171μs | 31μs | ||
| 16 | 800μs - 1799μs | 171μs | 31μs | ||
| 15 | 1800μs - 3799μs | 171μs | 31μs | ||
| 14 | 3800μs - 7600μs | 171μs | 31μs | ||
| RGB | 25 | 600μs - 1799μs | 171μs | 31μs | |
| 24 | 1800μs - 3799μs | 171μs | 31μs | ||
| 23 | 3800μs - 7600μs | 171μs | 31μs | ||
| 8 | Mono | 21(注1) | 1677μs - 3463μs | 171μs | 31μs |
| 20 | 3464μs - 7600μs | 171μs | 31μs | ||
| RGB | 22 | 10912μs - 13024μs | 171μs | 31μs | |
注1:該序列是一個特殊的序列,只使用了7個bits。8-bit 1Dpattern中的最低位(LSB-least significant bit)會被自動忽略。當配置曝光時間在1677-2463 μs時,系統會自動選擇該序列。
| External Pattern Streaming? Mode Timings (Sequence Version 0.5.70) | |||||
| Num. Bits | Illumination | Sequence Number | Exposure Time Range | Sequence Min Pre-Exposure Dark Time | Sequence Min Post-Exposure Dark Time |
| 1 | Mono | 5 | 200μs - 399μs | 171μs | 31μs |
| 4 | 400μs - 799μs | 171μs | 31μs | ||
| 3 | 800μs - 1799μs | 171μs | 31μs | ||
| 2 | 1800μs - 3799μs | 171μs | 31μs | ||
| 1 | 3800μs - 7600μs | 171μs | 31μs | ||
| RGB | 11 | 451μs - 799μs | 171μs | 31μs | |
| 10 | 800μs - 1799μs | 171μs | 31μs | ||
| 9 | 1800μs - 3799μs | 171μs | 31μs | ||
| 8 | 3800μs - 7600μs | 171μs | 31μs | ||
| 8 | Mono | 7 | 2555μs - 5110μs | 171μs | 31μs |
| RGB | 0 | 10912μs - 21824μs | 171μs | 31μs | |
| External Pattern Streaming? Mode Timings (Sequence Version 0.5.70) | |||||
| Num. Bits | Illumination | Sequence Number | Exposure Time Range | Sequence Min Pre-Exposure Dark Time | Sequence Min Post-Exposure Dark Time |
| 1 | Mono | 13 | 793μs - 1744μs | 170μs | 31μs |
| 8 | 12 | 7737μs - 17034μs | 170μs | 31μs | |
?
總結
以上是生活随笔為你收集整理的DLP3010EVM-LC and DLP2010EVM-LC常见问题答疑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FFmpeg之视频转码
- 下一篇: 基于TI DLP技术的工业级DLP301