comparison FC-handset-spec @ 44:a415ae467c6d

FC-handset-spec: main keypad and its backlight documented
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 10 Jun 2021 18:10:35 +0000
parents e1b75668a706
children 9df8683daec4
comparison
equal deleted inserted replaced
43:e1b75668a706 44:a415ae467c6d
232 special chip takes the place of "dumb" ballast resistors: connect Vbat (battery 232 special chip takes the place of "dumb" ballast resistors: connect Vbat (battery
233 positive terminal) directly to the common anode of the 3 LEDs, but instead of 233 positive terminal) directly to the common anode of the 3 LEDs, but instead of
234 series resistors, connect each cathode to the corresponding LEDn pin of MAX1916 234 series resistors, connect each cathode to the corresponding LEDn pin of MAX1916
235 - *without* any resistors or transistors! FETs inside the MAX1916 take the 235 - *without* any resistors or transistors! FETs inside the MAX1916 take the
236 place of resistors as current-limiting elements, and the chip's global on/off 236 place of resistors as current-limiting elements, and the chip's global on/off
237 control takes the place of a separate switching transistor. 237 control (which will be driven with a Calypso GPIO) takes the place of a separate
238 switching transistor.
238 239
239 The special quality of MAX1916 is that it produces constant current through each 240 The special quality of MAX1916 is that it produces constant current through each
240 LED (based on a set reference current and 230x current multiplication circuit 241 LED (based on a set reference current and 230x current multiplication circuit
241 inside the chip) regardless of variations in both Vbat and Vf! Of course the 242 inside the chip) regardless of variations in both Vbat and Vf! Of course the
242 requested current can only be sustained as long as Vbat >= Vf + Vds, where Vds 243 requested current can only be sustained as long as Vbat >= Vf + Vds, where Vds
319 induced reductions, just the natural one. 320 induced reductions, just the natural one.
320 321
321 Thus based on all of the above considerations, I feel justified in my design 322 Thus based on all of the above considerations, I feel justified in my design
322 choice of foregoing PWM control of backlight intensity in favor of fixed current 323 choice of foregoing PWM control of backlight intensity in favor of fixed current
323 switching with much more limited selection. 324 switching with much more limited selection.
325
326 1.5. Main keypad
327
328 The main keypad on our FC Libre Dumbphone handset will have the following
329 21-button arrangement:
330
331 left soft key ^ right soft key
332 <O>
333 green call V red power/hang-up
334 button button
335
336 1 2 3
337 4 5 6
338 7 8 9
339 * 0 #
340
341 The top section above the traditional numeric dial buttons (12) consists of left
342 and right soft keys, green and red buttons (classically called SEND/END), and a
343 5-way navigation button group (left, right, up, down and center), for a total of
344 9 buttons in this section. The red hang-up button is also the hardware power-on
345 button; having the same button effect power-off when held down for some time is
346 a firmware function.
347
348 This 21-button main keypad arrangement is exactly the same as featured on
349 Motorola C1xx and Pirelli DP-L10 phones, on TI's D-Sample development platform,
350 and also on many other phones (non-Calypso) from the appropriate era, such as
351 Samsung E2232.
352
353 1.5.1. Keypad backlight
354
355 All traditional phones including Mot C1xx and Pirelli DP-L10 feature keypad
356 backlights, hence we need to include one as well. The exact structure of this
357 backlight won't be known until we enter the mechanical design phase for the
358 actual handset (as opposed to intermediate development boards), which will be
359 much later in the project, but the Mother's understanding is that keypad
360 backlights are made up of some number of LEDs (2 on Pirelli DP-L10, unknown
361 number on Mot C139) and some kind of light diffuser.
362
363 Given the discovery of MAX1916 constant-current-sink LED driver chip (see
364 section 1.4.4), the optimal electrical design of the keypad backlight becomes
365 clear: use 3 LEDs, and drive them using another MAX1916 chip, separate from the
366 one used for the LCD backlight.
367
368 Backlight intensity: neither Mot C139 nor Pirelli DP-L10 provides any way to
369 vary keypad backlight intensity, and no such variability is deemed necessary.
370 In the long-call state when the LCD backlight is dimmed, the keypad backlight
371 is fully off. We shall use a fixed LED current setting for our keypad
372 backlight, set with a single fixed resistor between the keypad MAX1916 chip's
373 SET pin and the V-IO rail, and the actual current value will be determined in a
374 much later phase of the project, when we have the actual keypad backlight LEDs
375 and a better idea of the mechanical design.
376
377 Backlight color: Mot C139 uses blue LEDs, Pirelli DP-L10 uses white LEDs.
378 Because blue and white LEDs have very similar electrical characteristics
379 (current needed for appropriate brightness, Vf at this current), the choice
380 between the two can be made in a much later project phase, based on input from
381 other team members who are better at aesthetics.
382
383 1.5.1.1. Comparison with Mot C139 and Pirelli DP-L10
384
385 Both of these two pre-existing reference phones feature keypad backlights that
386 are switched on/off via Iota LEDB; the actual circuit design is unknown.
387 However, in our design we forego Iota LEDB altogether (it won't be used for
388 anything), and use two MAX1916 chips for our LCD and keypad backlights, with
389 each chip's on/off control being a Calypso GPIO.
390
391 The actual workings of the LEDB driver or switch inside the Iota chip are a
392 mystery. On the one hand it appears to be nothing more than a "dumb" transistor
393 on/off switch, no different from an external "digital transistor" (BJT with bias
394 resistors) controlled by a Calypso GPIO: a resistor still seems to be required
395 for current control, and at least on the Pirelli DP-L10 the keypad backlight
396 intensity visibly varies with Vbat ranging over the Li-ion discharge range. But
397 on the other hand, LEDB requires the 13 MHz clock to be running, and the light
398 goes out when this clock is stopped. Why in the world would any kind of clock
399 be required if the circuit is only a transistor on/off switch controlled by a
400 static register bit? Other parts of TI's Iota datasheet describe its LEDA, LEDB
401 and LEDC as "current drivers" - but in the absence of any way to actually set
402 the desired current without depending on Vbat or Vf variations, whatever the
403 Iota chip actually provides can't be anything like MAX1916.
404
405 Poorly documented, non-understood mystery hardware is best avoided, hence we are
406 not going to use Iota LEDB, and shall only use MAX1916 instead. We also gain a
407 functional improvement over Pirelli DP-L10 by using MAX1916: our keypad
408 backlight intensity will remain the same over the battery discharge range.