Project

General

Profile

Wiki DLP4100 » History » Version 32

Frédéric Blanc, 2017-04-27 09:40

1 2 Frédéric Blanc
p=. *Wiki DLP4100*
2
 
3
h1. Overview 
4 24 Frédéric Blanc
5
6
!hyperholo.png! 
7 2 Frédéric Blanc
The DLP® Discovery™ 4100 (D4100) is the latest in a series of spatial light modulation development kits from Texas 
8
Instruments.  Users of the D4100 Starter Kit have the ability to manipulate visible, ultraviolet and near-infrared light 
9
with extremely high performance and high resolution. 
10
 The D4100 offers developers a flexible platform to design products to fit most any application using the proven 
11
reliability of DLP technology. 
12
13 25 Frédéric Blanc
!d4100_block_diagram.png!
14 3 Frédéric Blanc
Fig 1: System Overview 
15 1 Frédéric Blanc
16 21 Frédéric Blanc
|_.New version |_.Actual|_.Name|
17 6 Frédéric Blanc
|DLPC410|DDC4100 (FPGA X5VLX30)|Digital Controller for Discovery 4100 chipset|
18
|DLPR410|XCF16|PROM for Discovery 4100 chipset|
19
|DLPA200|DAD2000|DMD Micromirror Driver|
20
21 23 Frédéric Blanc
document:"DLPC410 DLP Digital Controller [dlps024c.pdf]"
22 22 Frédéric Blanc
23 20 Frédéric Blanc
h1. Configuration Jumpers, Switch and LED 
24 1 Frédéric Blanc
25 26 Frédéric Blanc
!d4100_configuration.png!
26 20 Frédéric Blanc
Fig 2: D4100 Controller Configuration Jumpers, Switch and LED
27 2 Frédéric Blanc
28 12 Frédéric Blanc
*LED1 - USB status*
29 14 Frédéric Blanc
CY7C68013A_128
30 12 Frédéric Blanc
*LED2 - APPSFPGA status*
31 15 Frédéric Blanc
(FPGA PIN N14) 
32 12 Frédéric Blanc
|_.LED|_.Status|
33
|RED|BAD|
34
|GREEN|OK|
35 1 Frédéric Blanc
36 12 Frédéric Blanc
*LED3 - DDC4000 status*
37 1 Frédéric Blanc
38 12 Frédéric Blanc
|_.LED|_.Status|
39
|RED|BAD|
40
|GREEN|OK|
41
42
*LED9..12 - LED status*
43
LED9 - DDC_LED0 Status LED for the DDC4000
44 13 Frédéric Blanc
The LED0 signal is typically connected
45
to an LED to show that the DLPC410
46
is operating normally.
47
The signal is 1 Hz with 50% duty cycle,
48
otherwise known as the heartbeat
49 12 Frédéric Blanc
LED10 - DDC_LED1 Status LED for the DDC4000
50 13 Frédéric Blanc
The LED1 signal is typically connected to an LED
51
indicator to show the status of system initialization
52
and the status of the clock circuits. The LED1 signal
53
is asserted only when system initialization is 
54
complete and clock circuits are initialized. Logically,
55
these signals are ANDed together to show an indication
56
of the health of the system. If the Phase Locked 
57
Loop (PLL) connected to the data clock and the DMD
58
clock are functioning correctly after system
59
initialization, the LED will be illuminated
60 12 Frédéric Blanc
LED11 - VLED0 This logic is to be defined by the APPSFPGA application. Drive low to turn on the led. Drive high to
61 15 Frédéric Blanc
turn off the led(FPGA PIN AK19).
62 12 Frédéric Blanc
LED12 - VLED1 This logic is to be defined by the APPSFPGA application. Drive low to turn on the led. Drive high to
63 15 Frédéric Blanc
turn off the led(FPGA PIN AJ19).
64 12 Frédéric Blanc
65 2 Frédéric Blanc
*J2 – EXP Voltage Select*
66
67 8 Frédéric Blanc
*J4 – Used to select the revision of firmware loaded from the PROM to the APPSFPGA.*
68 2 Frédéric Blanc
69
|_.Jumper Position|_.Revision Version|
70
|open|0|
71
|close|1|
72
73
*J5 – Shared USB signal disabled*
74
75
|_.Jumper Position|_.USB Signals|
76
|0-1|Disconnected from FPGA |
77
|1-2|Connected to FPGA|
78
|2-3|Automatically connect USB signals 
79
     to FPGA when USB is connected to 
80
     host PC |
81
 
82
*J7 – USB EEPROM Programming Header* 
83
84
Used to temporally disconnect the USB EEPROM fromthe device so the device can load its internal 
85
boot loader rather than any code in the EEPROM. Install J8 for Cypress internal boot loader. 
86
 
87
*J10 – DAD2000 B Output Enable*
88
89
Used to enable the outputs for DAD2000 B. This needs to be enabled only if using the 1080p DMD, 
90
otherwise this can be disabled. 
91
92
|_.Jumper Position|_.DAD2000 B Outputs|
93 8 Frédéric Blanc
|open|Disabled|
94 1 Frédéric Blanc
|close|Enabled|
95
96
*J11 – Used to select the revision of firmware loaded from the PROM to the DDC4100 (FPGA X5VLX30).*
97
98
|_.Jumper Position|_.Revision Version|
99
|open|0|
100
|close|1|
101
102 12 Frédéric Blanc
*SW1 - Dipswitches*
103 1 Frédéric Blanc
104 12 Frédéric Blanc
Functionality defined by APPSFPGA programming. In default test pattern code:
105 27 Frédéric Blanc
|_.Switch Number|_.Effect|_.FPGA PIN|
106 16 Frédéric Blanc
|1 |ON = float – float all mirrors|G20|
107
|2 |ON = counter halt – stop counter, this will freeze the image on the DMD|G21|
108
|3 |ON = complement data – causes DDC 4000 to complement all data it receives|F20|
109 12 Frédéric Blanc
|4 |ON = north/south flip – causes the DDC 4000
110
to reverse order of row loading, effectively
111 16 Frédéric Blanc
flipping the image|G22|
112
|5 |Dictates the type of reset being used LSB ON = 1|H15|
113
|6 |Dictates the type of reset being used MSB ON = 1|H14|
114 12 Frédéric Blanc
||00 : single block phased reset|
115
||01 : dual block phased reset|
116
||10 : global reset|
117
||11 : quad block phased reset|
118 16 Frédéric Blanc
|7 |ON = Row Address Mode|H12|
119
|8 |ON = WDT Enable, disables other resets|J14|
120 1 Frédéric Blanc
121 12 Frédéric Blanc
*SW2 - Push Button Momentary Switch*
122
123 14 Frédéric Blanc
Functionality defined by APPSFPGA. This switch is used for *APPS_LOGIC_RESET* in the default code.
124 16 Frédéric Blanc
(FPGA PIN T24)
125 12 Frédéric Blanc
*SW3 - Push Button Momentary Switch*
126
127 14 Frédéric Blanc
Functionality defined by APPSFPGA. This switch is used for *APPS_LOGIC_MIRROR_FLOAT* in the default code.
128 16 Frédéric Blanc
(FPGA PIN P10)
129 14 Frédéric Blanc
*SW4 - POWER STANDBY*
130 17 Frédéric Blanc
131 29 Frédéric Blanc
h1. Power Down
132
133
*%{background:yellow}To ensure long term reliability of the DMD, a shutdown procedure must be executed.%*
134
Prior to power removal, assert the PWR_FLOAT (Table 1) signal and allow approximately 300μs for the procedure to
135
complete. This procedure will assure the mirrors are in a flat state. For more details, please refer to the
136
appropriate DMD document.
137
138 30 Frédéric Blanc
h1. APPSFPGA 
139
140 31 Frédéric Blanc
The APPSFPGA contains the Applications FPGA Sample Code for the DDC4100. This sample code
141
cycles through test patterns and is meant to offer an example of code that meets the DDC4100
142
specification. It has been written to implement all features of the DDC4100, such as the complement
143
function and all mirror reset types, as explained in later sections. This sample code also addresses
144
additional operational requirements for the DDC4100 interface which should be observed.
145 30 Frédéric Blanc
146 32 Frédéric Blanc
|_.Signal Name |_.Description|
147
|CLK_I |Input clock (50 MHz)|
148
|ARSTZ |Active low, asynchronous system reset (connected to flip switch)|
149
|IN_PWR_FLOAT_I |Float all mirrors in preparation for system shutdown (connect to push-button switch)|
150
|FINISHED_IV_O |Indicates when applications FPGA has finished initialization (connected to LED)|
151
|IN_RST_ACTIVE_I |Asserted while a mirror reset is being executed|
152
|IN_INIT_ACTIVE_I |Asserted while DDC4100 is initializing|
153
|IN_DIP_SW_I |Dip switch inputs|
154
|FINISHED_IV_O |Indicates when applications FPGA has finished initialization (connected to LED)|
155
|CLK_R |Reference clock to DDC4100 (50MHz)|
156
|DOUT_A[15:0] |Output data A to DDC4100 (400MHz DDR)|
157
|DOUT_B[15:0] |Output data B to DDC4100 (400MHz DDR)|
158
|DOUT_C[15:0] |Output data C to DDC4100 (400MHz DDR)|
159
|DOUT_D[15:0] |Output data D to DDC4100 (400MHz DDR)|
160
|DCLK_A |Output data clock to DDC4100 (400MHz)|
161
|DVALID_A |Output data valid to DDC4100 used to qualify data|
162
|ROWMD[1:0] |Output row mode to DDC4100|
163
|ROWAD[10:0] |Output row address to DDC4100|
164
|STEPVCC |Output to indicate status of vcc step|
165
|COMP_DATA |Output to cause DDC4100 to complement all data|
166
|NS_FLIP |Output to cause DDC4100 to reverse order of row loading|
167
|BLKAD |Output block address to DDC4100|
168
169
document:"DLPC410 DLP Digital Controller [dlps024c.pdf]"
170
171 19 Frédéric Blanc
h1. USB
172 17 Frédéric Blanc
173
The USB EEPROM does not have any code only VID/PID data.  Here is a sequence of USB initialization:    
174
175
    When a board is plugged in by USB the Windows D4100 USB driver sees the unprogrammed TI VID/PID.  (The Windows D4100 USB driver is installed with the Explorer software.)
176
    Then it loads a program directly into the Cypress USB (not the EEPROM) and runs it.  (This loads the firmware through USB)
177
    This sets the Cypress VID/PID to show that the part is programmed and allows communication with the Board.
178
179
This is only the first part.  To communicate with the DMD a different APPS_FPGA program (D4100_GUI_FPGA.bin) must be loaded that can communicate with the Cypress USB.
180
181
When the D4100 Explorer is started it checks to see if D4100_GUI_FPGA.bin is loaded in the FPGA and programs the FPGA if it not.
182
183
This program can also be loaded by invoking the DLL function directly from another program (see the API Programmer’s Guide)
184
185
Once loaded then the other API DLL functions can be used to load and reset image data. 
186 18 Frédéric Blanc
187 28 Frédéric Blanc
*%{background:yellow}If you have one of the ViALUX ALP versions you will need to contact them concerning this since their software uses proprietary communication protocols with the D4100.%*