Wiki DLP4100 » History » Version 31
Frédéric Blanc, 2017-04-27 09:33
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 | 19 | Frédéric Blanc | h1. USB |
147 | 17 | Frédéric Blanc | |
148 | The USB EEPROM does not have any code only VID/PID data. Here is a sequence of USB initialization: |
||
149 | |||
150 | 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.) |
||
151 | Then it loads a program directly into the Cypress USB (not the EEPROM) and runs it. (This loads the firmware through USB) |
||
152 | This sets the Cypress VID/PID to show that the part is programmed and allows communication with the Board. |
||
153 | |||
154 | 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. |
||
155 | |||
156 | 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. |
||
157 | |||
158 | This program can also be loaded by invoking the DLL function directly from another program (see the API Programmer’s Guide) |
||
159 | |||
160 | Once loaded then the other API DLL functions can be used to load and reset image data. |
||
161 | 18 | Frédéric Blanc | |
162 | 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.%* |