Subversion Repositories svn.mios

Rev

Rev 1181 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1181 Rev 1228
Line 64... Line 64...
64
64
65
<P CLASS=DESC>Softwarewise the number of connected CLCDs has to be configured with the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A>. This application can be uploaded at any time to change the LCD parameters, and to store them in a special flash location which won't be overwritten by applications, so that the configuration is permanently available.</P>
65
<P CLASS=DESC>Softwarewise the number of connected CLCDs has to be configured with the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A>. This application can be uploaded at any time to change the LCD parameters, and to store them in a special flash location which won't be overwritten by applications, so that the configuration is permanently available.</P>
66
66
67
<P CLASS=DESC>After this application has been uploaded, enter following commands to configure 6 2x20 LCDs:
67
<P CLASS=DESC>After this application has been uploaded, enter following commands to configure 6 2x20 LCDs:
68
<TT><PRE style="margin-left:50px; font-size:8pt">
68
<TT><PRE style="margin-left:50px; font-size:8pt">
69
lcd_type CLCD
69
set lcd_type CLCD
70
lcd_num_x 6
70
set lcd_num_x 6
71
lcd_num_y 1
71
set lcd_num_y 1
72
lcd_width 20
72
set lcd_width 20
73
lcd_height 2
73
set lcd_height 2
74
store
74
store
75
</PRE></TT>
75
</PRE></TT>
76
76
77
With this configuration, the CLCDs can be accessed in the .NGC file with:
77
With this configuration, the CLCDs can be accessed in the .NGC file with:
78
<TT><PRE style="margin-left:50px; font-size:8pt">
78
<TT><PRE style="margin-left:50px; font-size:8pt">
Line 90... Line 90...
90
Long text messages will be combined in a single 'X' line with an overall dimension of 120x2:
90
Long text messages will be combined in a single 'X' line with an overall dimension of 120x2:
91
<IMG SRC="midibox_ng/cs/lcdhw3.gif" width=781 height=19 ALT="Screen"></IMG><BR>
91
<IMG SRC="midibox_ng/cs/lcdhw3.gif" width=781 height=19 ALT="Screen"></IMG><BR>
92
92
93
With following configuration:
93
With following configuration:
94
<TT><PRE style="margin-left:50px; font-size:8pt">
94
<TT><PRE style="margin-left:50px; font-size:8pt">
95
lcd_type CLCD
95
set lcd_type CLCD
96
lcd_num_x 3
96
set lcd_num_x 3
97
lcd_num_y 2
97
set lcd_num_y 2
98
lcd_width 20
98
set lcd_width 20
99
lcd_height 2
99
set lcd_height 2
100
store
100
store
101
</PRE></TT>
101
</PRE></TT>
102
102
103
we would get a 60x4 screen instead:<BR>
103
we would get a 60x4 screen instead:<BR>
104
<IMG SRC="midibox_ng/cs/lcdhw4_1.gif" width=385 height=19 ALT="Screen"></IMG><BR>
104
<IMG SRC="midibox_ng/cs/lcdhw4_1.gif" width=385 height=19 ALT="Screen"></IMG><BR>
Line 174... Line 174...
174
All graphical LCDs require a negative voltage to drive the Liquid Crystal cells. Some LCDs provide an inbuild DC converter, some others not. The schematic below shows a MAX759 voltage converter which can be used if a Vout pin is not provided by the GLCD.<BR>
174
All graphical LCDs require a negative voltage to drive the Liquid Crystal cells. Some LCDs provide an inbuild DC converter, some others not. The schematic below shows a MAX759 voltage converter which can be used if a Vout pin is not provided by the GLCD.<BR>
175
Schematic: <A HREF="mbhp/mbhp_lcd_ks0108_mios32.pdf">mbhp_lcd_ks0108_mios32.pdf</A>
175
Schematic: <A HREF="mbhp/mbhp_lcd_ks0108_mios32.pdf">mbhp_lcd_ks0108_mios32.pdf</A>
176
176
177
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a 128x64 GLCD (2 CS lines):
177
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a 128x64 GLCD (2 CS lines):
178
<TT><PRE style="margin-left:50px; font-size:8pt">
178
<TT><PRE style="margin-left:50px; font-size:8pt">
179
lcd_type GLCD_KS0108
179
set lcd_type GLCD_KS0108
180
lcd_num_x 1
180
set lcd_num_x 1
181
lcd_num_y 1
181
set lcd_num_y 1
182
lcd_width 128
182
set lcd_width 128
183
lcd_height 64
183
set lcd_height 64
184
store
184
store
185
</PRE></TT>
185
</PRE></TT>
186
186
187
<P CLASS=DESC>If the CS lines of your GLCD are inverted (=low-active), then enter following configuration:
187
<P CLASS=DESC>If the CS lines of your GLCD are inverted (=low-active), then enter following configuration:
188
<TT><PRE style="margin-left:50px; font-size:8pt">
188
<TT><PRE style="margin-left:50px; font-size:8pt">
189
lcd_type GLCD_KS0108_INVCS
189
set lcd_type GLCD_KS0108_INVCS
190
lcd_num_x 1
190
set lcd_num_x 1
191
lcd_num_y 1
191
set lcd_num_y 1
192
lcd_width 128
192
set lcd_width 128
193
lcd_height 64
193
set lcd_height 64
194
store
194
store
195
</PRE></TT>
195
</PRE></TT>
196
196
197
197
198
<P CLASS=DESC>For a 240x64 GLCD (with 4 CS lines) like used for the original <A HREF="midibox_lc/midibox_lc_1.jpg">MIDIbox LC</A> enter:
198
<P CLASS=DESC>For a 240x64 GLCD (with 4 CS lines) like used for the original <A HREF="midibox_lc/midibox_lc_1.jpg">MIDIbox LC</A> enter:
199
<TT><PRE style="margin-left:50px; font-size:8pt">
199
<TT><PRE style="margin-left:50px; font-size:8pt">
200
lcd_type GLCD_KS0108
200
set lcd_type GLCD_KS0108
201
lcd_num_x 1
201
set lcd_num_x 1
202
lcd_num_y 1
202
set lcd_num_y 1
203
lcd_width 240
203
set lcd_width 240
204
lcd_height 64
204
set lcd_height 64
205
store
205
store
206
</PRE></TT>
206
</PRE></TT>
207
207
208
<P CLASS=DESC>Note that lcd_num_x/num_y have no effect yet; only 4 CS lines are supported for KS0108 based GLCDs!</P>
208
<P CLASS=DESC>Note that lcd_num_x/num_y have no effect yet; only 4 CS lines are supported for KS0108 based GLCDs!</P>
209
209
Line 222... Line 222...
222
Schematic: <A HREF="mbhp/mbhp_lcd_sed1520_mios32.pdf">mbhp_lcd_sed1520_mios32.pdf</A>
222
Schematic: <A HREF="mbhp/mbhp_lcd_sed1520_mios32.pdf">mbhp_lcd_sed1520_mios32.pdf</A>
223
Picture: <A HREF="mbhp/mbhp_lcd_sed1520.jpg">mbhp_lcd_sed1520.jpg</A>
223
Picture: <A HREF="mbhp/mbhp_lcd_sed1520.jpg">mbhp_lcd_sed1520.jpg</A>
224
224
225
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a 122x32 GLCD (2 CS lines):
225
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a 122x32 GLCD (2 CS lines):
226
<TT><PRE style="margin-left:50px; font-size:8pt">
226
<TT><PRE style="margin-left:50px; font-size:8pt">
227
lcd_type GLCD_SED1520
227
set lcd_type GLCD_SED1520
228
lcd_num_x 1
228
set lcd_num_x 1
229
lcd_num_y 1
229
set lcd_num_y 1
230
lcd_width 122
230
set lcd_width 122
231
lcd_height 32
231
set lcd_height 32
232
store
232
store
233
</PRE></TT>
233
</PRE></TT>
234
234
235
<P CLASS=DESC>It's possible to combine two SED1520 LCDs by connecting all signals (beside of CS) in parallel to J15A. The two CS lines of the second display have to be connected to the CS3 and CS4 output at J28. Configuration:
235
<P CLASS=DESC>It's possible to combine two SED1520 LCDs by connecting all signals (beside of CS) in parallel to J15A. The two CS lines of the second display have to be connected to the CS3 and CS4 output at J28. Configuration:
236
<TT><PRE style="margin-left:50px; font-size:8pt">
236
<TT><PRE style="margin-left:50px; font-size:8pt">
237
lcd_type GLCD_SED1520
237
set lcd_type GLCD_SED1520
238
lcd_num_x 1
238
set lcd_num_x 1
239
lcd_num_y 1
239
set lcd_num_y 1
240
lcd_width 244
240
set lcd_width 244
241
lcd_height 32
241
set lcd_height 32
242
store
242
store
243
</PRE></TT>
243
</PRE></TT>
244
244
245
<P CLASS=DESC>It's also possible to combine four SED1520 LCDs by
245
<P CLASS=DESC>It's also possible to combine four SED1520 LCDs by
246
<UL CLASS=CL>
246
<UL CLASS=CL>
247
  <LI>connecting all signals of the first and second display (beside of CS) in parallel to J15A. The four CS lines have to be connected to J28.
247
  <LI>connecting all signals of the first and second display (beside of CS) in parallel to J15A. The four CS lines have to be connected to J28.
248
  <LI>connecting all signals of the third and fourth display (beside of CS) in parallel to J15B. The four CS lines have to be connected to J28 (in parallel to the CS lines of the first and second display
248
  <LI>connecting all signals of the third and fourth display (beside of CS) in parallel to J15B. The four CS lines have to be connected to J28 (in parallel to the CS lines of the first and second display
249
</UL>
249
</UL>
250
Configuration:
250
Configuration:
251
<TT><PRE style="margin-left:50px; font-size:8pt">
251
<TT><PRE style="margin-left:50px; font-size:8pt">
252
lcd_type GLCD_SED1520
252
set lcd_type GLCD_SED1520
253
lcd_num_x 2
253
set lcd_num_x 2
254
lcd_num_y 1
254
set lcd_num_y 1
255
lcd_width 244
255
set lcd_width 244
256
lcd_height 32
256
set lcd_height 32
257
store
257
store
258
</PRE></TT>
258
</PRE></TT>
259
259
260
<P CLASS=DESC><B>Limitations:</B> up to 8 LCD segments are supported (limited by the number of E pins at J15A/B, and the 4 pins at J28)
260
<P CLASS=DESC><B>Limitations:</B> up to 8 LCD segments are supported (limited by the number of E pins at J15A/B, and the 4 pins at J28)
261
Each segment has a size of 61x32, makes 488x32 in total.<BR>
261
Each segment has a size of 61x32, makes 488x32 in total.<BR>
Line 267... Line 267...
267
<P CLASS=DESC>This 128x64 graphical LCD is really nice, because it provides a serial interface, so that the data pins of the J15 socket can be used as chip-select pins! Accordingly, it's possible to connect up to 8 GLCDs to J15A.<BR>
267
<P CLASS=DESC>This 128x64 graphical LCD is really nice, because it provides a serial interface, so that the data pins of the J15 socket can be used as chip-select pins! Accordingly, it's possible to connect up to 8 GLCDs to J15A.<BR>
268
Schematic: <A HREF="mbhp/mbhp_lcd_dogm128_mios32.pdf">mbhp_lcd_dogm128_mios32.pdf</A>
268
Schematic: <A HREF="mbhp/mbhp_lcd_dogm128_mios32.pdf">mbhp_lcd_dogm128_mios32.pdf</A>
269
269
270
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a single DOGM GLCD:
270
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a single DOGM GLCD:
271
<TT><PRE style="margin-left:50px; font-size:8pt">
271
<TT><PRE style="margin-left:50px; font-size:8pt">
272
lcd_type GLCD_DOG
272
set lcd_type GLCD_DOG
273
lcd_num_x 1
273
set lcd_num_x 1
274
lcd_num_y 1
274
set lcd_num_y 1
275
lcd_width 128
275
set lcd_width 128
276
lcd_height 64
276
set lcd_height 64
277
store
277
store
278
</PRE></TT>
278
</PRE></TT>
279
279
280
280
281
<P CLASS=DESC>Following configuration for 8 DOGM GLCDs:
281
<P CLASS=DESC>Following configuration for 8 DOGM GLCDs:
282
<TT><PRE style="margin-left:50px; font-size:8pt">
282
<TT><PRE style="margin-left:50px; font-size:8pt">
283
lcd_type GLCD_DOG
283
set lcd_type GLCD_DOG
284
lcd_num_x 8
284
set lcd_num_x 8
285
lcd_num_y 1
285
set lcd_num_y 1
286
lcd_width 128
286
set lcd_width 128
287
lcd_height 64
287
set lcd_height 64
288
store
288
store
289
</PRE></TT>
289
</PRE></TT>
290
290
291
<P CLASS=DESC>Following configuration for 12 DOGM GLCDs (remaining CS pins connected to J28):
291
<P CLASS=DESC>Following configuration for 12 DOGM GLCDs (remaining CS pins connected to J28):
292
<TT><PRE style="margin-left:50px; font-size:8pt">
292
<TT><PRE style="margin-left:50px; font-size:8pt">
293
lcd_type GLCD_DOG
293
set lcd_type GLCD_DOG
294
lcd_num_x 12
294
set lcd_num_x 12
295
lcd_num_y 1
295
set lcd_num_y 1
296
lcd_width 128
296
set lcd_width 128
297
lcd_height 64
297
set lcd_height 64
298
store
298
store
299
</PRE></TT>
299
</PRE></TT>
300
300
301
<P CLASS=DESC>Following configuration for 16 DOGM GLCDs (remaining CS pins connected to a 74HC595 based shift register at J28):
301
<P CLASS=DESC>Following configuration for 16 DOGM GLCDs (remaining CS pins connected to a 74HC595 based shift register at J28):
302
<TT><PRE style="margin-left:50px; font-size:8pt">
302
<TT><PRE style="margin-left:50px; font-size:8pt">
303
lcd_type GLCD_DOG
303
set lcd_type GLCD_DOG
304
lcd_num_x 16
304
set lcd_num_x 16
305
lcd_num_y 1
305
set lcd_num_y 1
306
lcd_width 128
306
set lcd_width 128
307
lcd_height 64
307
set lcd_height 64
308
store
308
store
309
</PRE></TT>
309
</PRE></TT>
310
310
311
<P CLASS=DESC>Following configuration for 64 DOGM GLCDs (remaining CS pins connected to seven chained 74HC595 based shift register at J28):
311
<P CLASS=DESC>Following configuration for 64 DOGM GLCDs (remaining CS pins connected to seven chained 74HC595 based shift register at J28):
312
<TT><PRE style="margin-left:50px; font-size:8pt">
312
<TT><PRE style="margin-left:50px; font-size:8pt">
313
lcd_type GLCD_DOG
313
set lcd_type GLCD_DOG
314
lcd_num_x 64
314
set lcd_num_x 64
315
lcd_num_y 1
315
set lcd_num_y 1
316
lcd_width 128
316
set lcd_width 128
317
lcd_height 64
317
set lcd_height 64
318
store
318
store
319
</PRE></TT>
319
</PRE></TT>
320
320
321
<P CLASS=DESC><B>IMPORTANT:</B> please power-cycle the MBHP_CORE_LPC17 module whenever the lcd_type has been changed, otherwise the GLCD won't be initialized correctly (it has to be reset!)</P>
321
<P CLASS=DESC><B>IMPORTANT:</B> please power-cycle the MBHP_CORE_LPC17 module whenever the lcd_type has been changed, otherwise the GLCD won't be initialized correctly (it has to be reset!)</P>
322
322
Line 330... Line 330...
330
Schematics: <A HREF="mbhp/mbhp_lcd_ssd1306_single_mios32.pdf">mbhp_lcd_ssd1306_single_mios32.pdf</A>, <A HREF="mbhp/mbhp_lcd_ssd1306_multiple_mios32.pdf">mbhp_lcd_ssd1306_multiple_mios32.pdf</A><BR>
330
Schematics: <A HREF="mbhp/mbhp_lcd_ssd1306_single_mios32.pdf">mbhp_lcd_ssd1306_single_mios32.pdf</A>, <A HREF="mbhp/mbhp_lcd_ssd1306_multiple_mios32.pdf">mbhp_lcd_ssd1306_multiple_mios32.pdf</A><BR>
331
Photo: <A HREF="mbhp/mbhp_glcd_ssd1306.jpg">follow this link</A> and <A HREF="mbhp/mbhp_glcd_ssd1306_sideview.jpg">this link</A>
331
Photo: <A HREF="mbhp/mbhp_glcd_ssd1306.jpg">follow this link</A> and <A HREF="mbhp/mbhp_glcd_ssd1306_sideview.jpg">this link</A>
332
332
333
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a single SSD1306 GLCD:
333
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a single SSD1306 GLCD:
334
<TT><PRE style="margin-left:50px; font-size:8pt">
334
<TT><PRE style="margin-left:50px; font-size:8pt">
335
lcd_type GLCD_SSD1306
335
set lcd_type GLCD_SSD1306
336
lcd_num_x 1
336
set lcd_num_x 1
337
lcd_num_y 1
337
set lcd_num_y 1
338
lcd_width 128
338
set lcd_width 128
339
lcd_height 64
339
set lcd_height 64
340
store
340
store
341
</PRE></TT>
341
</PRE></TT>
342
342
343
<P CLASS=DESC>Following configuration for 8 SSD1306 GLCDs:
343
<P CLASS=DESC>Following configuration for 8 SSD1306 GLCDs:
344
<TT><PRE style="margin-left:50px; font-size:8pt">
344
<TT><PRE style="margin-left:50px; font-size:8pt">
345
lcd_type GLCD_SSD1306
345
set lcd_type GLCD_SSD1306
346
lcd_num_x 8
346
set lcd_num_x 8
347
lcd_num_y 1
347
set lcd_num_y 1
348
lcd_width 128
348
set lcd_width 128
349
lcd_height 64
349
set lcd_height 64
350
store
350
store
351
</PRE></TT>
351
</PRE></TT>
352
352
353
<P CLASS=DESC>Following configuration for 12 SSD1306 GLCDs (remaining CS pins connected to J28):
353
<P CLASS=DESC>Following configuration for 12 SSD1306 GLCDs (remaining CS pins connected to J28):
354
<TT><PRE style="margin-left:50px; font-size:8pt">
354
<TT><PRE style="margin-left:50px; font-size:8pt">
355
lcd_type GLCD_SSD1306
355
set lcd_type GLCD_SSD1306
356
lcd_num_x 12
356
set lcd_num_x 12
357
lcd_num_y 1
357
set lcd_num_y 1
358
lcd_width 128
358
set lcd_width 128
359
lcd_height 64
359
set lcd_height 64
360
store
360
store
361
</PRE></TT>
361
</PRE></TT>
362
362
363
<P CLASS=DESC>Following configuration for 16 SSD1306 GLCDs (remaining CS pins connected to a 74HC595 based shift register at J28):
363
<P CLASS=DESC>Following configuration for 16 SSD1306 GLCDs (remaining CS pins connected to a 74HC595 based shift register at J28):
364
<TT><PRE style="margin-left:50px; font-size:8pt">
364
<TT><PRE style="margin-left:50px; font-size:8pt">
365
lcd_type GLCD_SSD1306
365
set lcd_type GLCD_SSD1306
366
lcd_num_x 16
366
set lcd_num_x 16
367
lcd_num_y 1
367
set lcd_num_y 1
368
lcd_width 128
368
set lcd_width 128
369
lcd_height 64
369
set lcd_height 64
370
store
370
store
371
</PRE></TT>
371
</PRE></TT>
372
372
373
<P CLASS=DESC>Following configuration for 64 SSD1306 GLCDs (remaining CS pins connected to seven chained 74HC595 based shift register at J28):
373
<P CLASS=DESC>Following configuration for 64 SSD1306 GLCDs (remaining CS pins connected to seven chained 74HC595 based shift register at J28):
374
<TT><PRE style="margin-left:50px; font-size:8pt">
374
<TT><PRE style="margin-left:50px; font-size:8pt">
375
lcd_type GLCD_SSD1306
375
set lcd_type GLCD_SSD1306
376
lcd_num_x 64
376
set lcd_num_x 64
377
lcd_num_y 1
377
set lcd_num_y 1
378
lcd_width 128
378
set lcd_width 128
379
lcd_height 64
379
set lcd_height 64
380
store
380
store
381
</PRE></TT>
381
</PRE></TT>
382
382
383
383
384
<P CLASS=DESC>Alternatively the SSD1306 screen can be rotated by 180 degrees, which might be useful in some cases (e.g. if it has been mounted the wrong way). In this case, please enter following lcd_type into the bootloader:
384
<P CLASS=DESC>Alternatively the SSD1306 screen can be rotated by 180 degrees, which might be useful in some cases (e.g. if it has been mounted the wrong way). In this case, please enter following lcd_type into the bootloader:
385
<TT><PRE style="margin-left:50px; font-size:8pt">
385
<TT><PRE style="margin-left:50px; font-size:8pt">
386
lcd_type GLCD_SSD1306_ROTATED
386
set lcd_type GLCD_SSD1306_ROTATED
387
store
387
store
388
</PRE></TT>
388
</PRE></TT>
389
resp. "lcd_type 0x85" if you are using Bootloader V1.010 (V1.011 hasn't been released yet...)
389
resp. "lcd_type 0x85" if you are using Bootloader V1.010 (V1.011 hasn't been released yet...)
390
390
391
<P CLASS=DESC><B>IMPORTANT:</B> please power-cycle the MBHP_CORE_LPC17 module whenever the lcd_type has been changed, otherwise the GLCD won't be initialized correctly (it has to be reset!)</P>
391
<P CLASS=DESC><B>IMPORTANT:</B> please power-cycle the MBHP_CORE_LPC17 module whenever the lcd_type has been changed, otherwise the GLCD won't be initialized correctly (it has to be reset!)</P>