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.%* |