Project

General

Profile

Wiki DLP4100 » History » Version 57

Frédéric Blanc, 2017-05-05 10:43

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 44 Frédéric Blanc
|DLPR410|XCF16P|PROM for Discovery 4100 chipset|
19 6 Frédéric Blanc
|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 40 Frédéric Blanc
h2. LED1 - USB status
29
30 1 Frédéric Blanc
CY7C68013A_128
31 40 Frédéric Blanc
32
h2. LED2 - APPSFPGA status
33
34 12 Frédéric Blanc
(FPGA PIN N14) 
35
|_.LED|_.Status|
36 1 Frédéric Blanc
|RED|BAD|
37 12 Frédéric Blanc
|GREEN|OK|
38 1 Frédéric Blanc
39 40 Frédéric Blanc
h2. LED3 - DDC4000 status
40 1 Frédéric Blanc
41
|_.LED|_.Status|
42
|RED|BAD|
43
|GREEN|OK|
44
45 40 Frédéric Blanc
h2. LED9..12 - LED status
46
47
*LED9* - DDC_LED0 Status LED for the DDC4000
48
The LED9 signal is typically connected to an LED to show that the DLPC410 is operating normally.
49
The signal is 1 Hz with 50% duty cycle, otherwise known as the heartbeat 
50
51
*LED10* - DDC_LED1 Status
52 1 Frédéric Blanc
LED for the DDC4000. The LED1 signal is typically connected to an LED indicator to show the status
53
of system initialization and the status of the clock circuits. The LED1 signalis asserted only 
54 39 Frédéric Blanc
when system initialization is complete and clock circuits are initialized. Logically, these 
55
signals are ANDed together to show an indication of the health of the system. If the Phase Locked 
56 1 Frédéric Blanc
Loop (PLL) connected to the data clock and the DMDclock are functioning correctly after system
57
initialization, the LED will be illuminated
58 39 Frédéric Blanc
59 40 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
60 13 Frédéric Blanc
turn off the led(FPGA PIN AK19).
61 40 Frédéric Blanc
62
*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 40 Frédéric Blanc
h2. JUMPERS
66
67 2 Frédéric Blanc
*J2 – EXP Voltage Select*
68
69 8 Frédéric Blanc
*J4 – Used to select the revision of firmware loaded from the PROM to the APPSFPGA.*
70 2 Frédéric Blanc
71
|_.Jumper Position|_.Revision Version|
72
|open|0|
73
|close|1|
74
75
*J5 – Shared USB signal disabled*
76
77
|_.Jumper Position|_.USB Signals|
78
|0-1|Disconnected from FPGA |
79
|1-2|Connected to FPGA|
80
|2-3|Automatically connect USB signals 
81
     to FPGA when USB is connected to 
82
     host PC |
83
 
84
*J7 – USB EEPROM Programming Header* 
85
86
Used to temporally disconnect the USB EEPROM fromthe device so the device can load its internal 
87
boot loader rather than any code in the EEPROM. Install J8 for Cypress internal boot loader. 
88
 
89
*J10 – DAD2000 B Output Enable*
90
91
Used to enable the outputs for DAD2000 B. This needs to be enabled only if using the 1080p DMD, 
92
otherwise this can be disabled. 
93
94 1 Frédéric Blanc
|_.Jumper Position|_.DAD2000 B Outputs|
95
|open|Disabled|
96 2 Frédéric Blanc
|close|Enabled|
97 8 Frédéric Blanc
98 1 Frédéric Blanc
*J11 – Used to select the revision of firmware loaded from the PROM to the DDC4100 (FPGA X5VLX30).*
99
100
|_.Jumper Position|_.Revision Version|
101
|open|0|
102
|close|1|
103 40 Frédéric Blanc
104
h2. SWITCH
105 1 Frédéric Blanc
106 12 Frédéric Blanc
*SW1 - Dipswitches*
107 1 Frédéric Blanc
108 12 Frédéric Blanc
Functionality defined by APPSFPGA programming. In default test pattern code:
109 27 Frédéric Blanc
|_.Switch Number|_.Effect|_.FPGA PIN|
110 16 Frédéric Blanc
|1 |ON = float – float all mirrors|G20|
111
|2 |ON = counter halt – stop counter, this will freeze the image on the DMD|G21|
112
|3 |ON = complement data – causes DDC 4000 to complement all data it receives|F20|
113 12 Frédéric Blanc
|4 |ON = north/south flip – causes the DDC 4000
114
to reverse order of row loading, effectively
115 16 Frédéric Blanc
flipping the image|G22|
116
|5 |Dictates the type of reset being used LSB ON = 1|H15|
117
|6 |Dictates the type of reset being used MSB ON = 1|H14|
118 12 Frédéric Blanc
||00 : single block phased reset|
119
||01 : dual block phased reset|
120
||10 : global reset|
121
||11 : quad block phased reset|
122 16 Frédéric Blanc
|7 |ON = Row Address Mode|H12|
123
|8 |ON = WDT Enable, disables other resets|J14|
124 1 Frédéric Blanc
125 12 Frédéric Blanc
*SW2 - Push Button Momentary Switch*
126
127 14 Frédéric Blanc
Functionality defined by APPSFPGA. This switch is used for *APPS_LOGIC_RESET* in the default code.
128 16 Frédéric Blanc
(FPGA PIN T24)
129 12 Frédéric Blanc
*SW3 - Push Button Momentary Switch*
130
131 14 Frédéric Blanc
Functionality defined by APPSFPGA. This switch is used for *APPS_LOGIC_MIRROR_FLOAT* in the default code.
132 16 Frédéric Blanc
(FPGA PIN P10)
133 14 Frédéric Blanc
*SW4 - POWER STANDBY*
134 17 Frédéric Blanc
135 29 Frédéric Blanc
h1. Power Down
136
137
*%{background:yellow}To ensure long term reliability of the DMD, a shutdown procedure must be executed.%*
138
Prior to power removal, assert the PWR_FLOAT (Table 1) signal and allow approximately 300μs for the procedure to
139
complete. This procedure will assure the mirrors are in a flat state. For more details, please refer to the
140
appropriate DMD document.
141
142 30 Frédéric Blanc
h1. APPSFPGA 
143
144 31 Frédéric Blanc
The APPSFPGA contains the Applications FPGA Sample Code for the DDC4100. This sample code
145
cycles through test patterns and is meant to offer an example of code that meets the DDC4100
146
specification. It has been written to implement all features of the DDC4100, such as the complement
147
function and all mirror reset types, as explained in later sections. This sample code also addresses
148
additional operational requirements for the DDC4100 interface which should be observed.
149 30 Frédéric Blanc
150 32 Frédéric Blanc
|_.Signal Name |_.Description|
151
|CLK_I |Input clock (50 MHz)|
152
|ARSTZ |Active low, asynchronous system reset (connected to flip switch)|
153
|IN_PWR_FLOAT_I |Float all mirrors in preparation for system shutdown (connect to push-button switch)|
154
|FINISHED_IV_O |Indicates when applications FPGA has finished initialization (connected to LED)|
155
|IN_RST_ACTIVE_I |Asserted while a mirror reset is being executed|
156
|IN_INIT_ACTIVE_I |Asserted while DDC4100 is initializing|
157
|IN_DIP_SW_I |Dip switch inputs|
158
|FINISHED_IV_O |Indicates when applications FPGA has finished initialization (connected to LED)|
159
|CLK_R |Reference clock to DDC4100 (50MHz)|
160
|DOUT_A[15:0] |Output data A to DDC4100 (400MHz DDR)|
161
|DOUT_B[15:0] |Output data B to DDC4100 (400MHz DDR)|
162
|DOUT_C[15:0] |Output data C to DDC4100 (400MHz DDR)|
163
|DOUT_D[15:0] |Output data D to DDC4100 (400MHz DDR)|
164
|DCLK_A |Output data clock to DDC4100 (400MHz)|
165
|DVALID_A |Output data valid to DDC4100 used to qualify data|
166
|ROWMD[1:0] |Output row mode to DDC4100|
167
|ROWAD[10:0] |Output row address to DDC4100|
168
|STEPVCC |Output to indicate status of vcc step|
169
|COMP_DATA |Output to cause DDC4100 to complement all data|
170
|NS_FLIP |Output to cause DDC4100 to reverse order of row loading|
171
|BLKAD |Output block address to DDC4100|
172 34 Frédéric Blanc
|BLKMD |Output block mode to DDC4100|
173
|WDT_ENABLEZ |Output watch dog timer|
174 32 Frédéric Blanc
175 36 Frédéric Blanc
*Getting Started*
176
The following steps should be followed in starting board operation using the default APPSFPGA code installed at the
177
factory :
178
1.) Connect 5V, 5 A power supply to the supplied power cable. Connect the power cable to J12 with the power
179
supply OFF.
180
2.) Confirm all SW2 switches are in the OFF position. Confirm all 5 H1 jumpers are in place. If using a 1080p
181
DMD confirm J11 is installed.
182
3.) Connect the DMD to the board with the flex cable(s). One flex cable attached to J13 is used for XGA DMDs,
183
two flex cables attached to J14 and J14 are used for 1080p DMD.
184
4.) Turn the power supply ON. D2 and D3 should briefly display red then green to indicate APPSFPGA and
185
DDC4000 configuration. *D9 should flash green at 1 Hz*. D10 should display green. The DMD will repeatedly
186
cycle through several test patterns.
187
188
*%{background:yellow}To stop operation :
189
1.) Press SW3 to float the DMD, then turn power OFF.%*
190
191 34 Frédéric Blanc
document:"DDC4100 Applications FPGA Sample Code Guide [2510445.pdf]"
192 1 Frédéric Blanc
193 47 Frédéric Blanc
h2. DDC4100 GUI/MEM Applications FPGASample
194 48 Frédéric Blanc
195 43 Frédéric Blanc
!appsfpga_gui.png!
196 49 Frédéric Blanc
fig. System Overview of Example Design
197 51 Frédéric Blanc
198 46 Frédéric Blanc
!gui_appsfpga_block_diagram.png!
199 49 Frédéric Blanc
fig. GUI/MEM APPS FPGA Block Diagram
200 51 Frédéric Blanc
201 52 Frédéric Blanc
|_.Switch Number |_.Effect|
202 50 Frédéric Blanc
|1 |Inject error into the Memory BIST|
203
|2 |Unused|
204
|3 |Unused|
205
|4 |Unused|
206
|5 |Unused|
207
|6 |Unused|
208
|7 |Unused|
209 1 Frédéric Blanc
|8 |Unused|
210 52 Frédéric Blanc
211 50 Frédéric Blanc
*MEM APPS Design*
212
The DDR2 MEM APPS FPGA design contains sample code for testing a 2GB DDR2 SO-DIMM module at
213
150 MHz with a burst length of four. The DDR2 module has a 64-bit data interface. The target device
214
used in this design is the MT16HTF25664HY-667. The design consists of two blocks: Memory_BIST and
215
Memory Controller.
216 42 Frédéric Blanc
document:"Applications FPGA design that drives the DDC4100 system via USB/GUI [2510445_GUI.pdf]"
217 41 Frédéric Blanc
218 36 Frédéric Blanc
h1. EXP Expansion Connectors
219 1 Frédéric Blanc
220 36 Frédéric Blanc
To connect to an Avnet EXP compatible motherboard product.
221
Board design includes additional LVDS pairs to support 64 bit LVDS connection through EXP
222
connectors with a custom interface board.
223
224 38 Frédéric Blanc
64 IO LVDS
225
28 IO SE
226
2 CLK_IN LVDS (FPGA PIN H19,H20 ; H18,J17) and SE (FPGA PIN J20 ; J16)
227
2 CLK_OUT LVDS (FPGA PIN U31,U32 ; AC3,AB2) and SE (FPGA PIN J21 ; J15)
228
229 1 Frédéric Blanc
h1. RAM
230 36 Frédéric Blanc
231
A 64 bit DDR2 SODIMM connector provides high speed memory connection to the APPSFPGA. Memory
232
controller design for the APPSFPGA is not included. For a memory controller reference design
233 37 Frédéric Blanc
document:"Xilinx Memory Interface Generator (MIG) User Guide [ug086.pdf]"
234 35 Frédéric Blanc
235 53 Frédéric Blanc
h1. PROM
236
237
!pcb_prom_boot.png!
238
fig. pcb
239
240
!fpga_boot.png!
241
fig. Virtex 5 mode boot
242
243 57 Frédéric Blanc
Prom is configuration Master Internal Clock 40Mhz
244 55 Frédéric Blanc
document:"Virtex-5 FPGA Configuration Guide [ug191.pdf]"
245 53 Frédéric Blanc
246 56 Frédéric Blanc
h1. Encryption Key
247
248
FPGA XC5VLX30 (DDC4100)
249
*%{background:yellow}The encryption key memory cells are volatile and must receive continuous power to retain 
250
their contents.%*
251
252 19 Frédéric Blanc
h1. USB
253 17 Frédéric Blanc
254
The USB EEPROM does not have any code only VID/PID data.  Here is a sequence of USB initialization:    
255
256
    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.)
257
    Then it loads a program directly into the Cypress USB (not the EEPROM) and runs it.  (This loads the firmware through USB)
258
    This sets the Cypress VID/PID to show that the part is programmed and allows communication with the Board.
259
260
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.
261
262
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.
263
264
This program can also be loaded by invoking the DLL function directly from another program (see the API Programmer’s Guide)
265
266
Once loaded then the other API DLL functions can be used to load and reset image data. 
267 18 Frédéric Blanc
268 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.%*