More than two decades ago Nokia created their first digital satellite receivers. People were willing to pay handsomely for those machines back then. That's why Nokia could afford to put a relatively expensive display in their DVB-9200, DVB-9500 and DVB-9600 receivers.
The Siemens SDA5708-24 display is a beautiful 8 character 7x5 dot matrix LED display with bright green light.
Its serial interface can control every individual LED of the display, which allows any desirable dot pattern to be displayed.
Needless to say that this is quite a nice display to be used in many a hobby project. If only you know how to control it........
Well, here is the description.
SDA5708-24 Rear view (not to any scale)
Pin 1 is connected to the Vcc supply (+5V).
The Load pin is an active low input used to enable data transfer into the display.
When Load is low, data is clocked into the 8 bit serial data register.
When Load goes high, the contents of the 8 bit serial data register are evaluated by the display controller.
While Load remains high the Data and SDCLK pins may be used to control other serial devices on the same bus.
The Data pin holds the bits to be clocked into the serial data register whenever the SDCLK line goes high. The least significant bit D0 is loaded first.
SDCLK is the serial clock line.
Data is accepted by the display's serial data register when the SDCLK line goes high.
The Load pin must be low for the serial data register to accept any data.
The minimum clock period is 200ns. Setup time, the time between a stable Data line and a rising SDCLK signal, should be a minimum of 50ns.
When the Reset pin is held low, the display will be reset.
The multiplex counter, the address register, the control word and the display bit patterns are all cleared.
This means that the display will be blank and the display is set to 100% brightness and maximum peak current.
During normal operation the Reset pin is only made low for a short period when power is applied to the circuit and is left at high level from then on.
This is simply the ground connection.
Typical waveform of serial input signals
PS: For what it's worth, the connector to be used to plug into the back of the display is a Molex type 51065-0600. The complete wire should be known as Molex part number SM1277.
The SDA5708 is controlled by sending a series of bytes to it. All these bytes are written in registers. Three different types of registers are defined:
The Control register is used to set general display properties. The Control register is addressed whenever the two most significant bits of a byte are both "1".
Writing a "0" to D5 will erase the entire display at once. You'll have to write "1" to D5 in order to use the display normally.
The bits D4 to D0 control the brightness of the LEDs. It is best to experiment with the possible settings to get the result you like best.
The Address register selects one of the 8 digits to be written to. After writing a value to the Address register all subsequent Column Data is written to that particular digit.
Writing to the Address register also resets the Column Data pointer (see below).
The Address register is selected whenever D7 and D5 of the byte are "1" and D6 is "0".
The Column Data register is used to write the actual bit patterns to the display RAM. Writing starts at the top row of the digit (after writing to the Address register). The whole digit is transferred by writing 7 bytes to the Column Data register.
The Column Data register is selected by leaving the three most significant bits of the byte "0". All other bits are treated as bit pattern for a single display row as indicated by the diagram on the left.
Below you'll find a sample program written for my 6802 Nano Computer.
Needless to say that the program was written using my SB-Assembler, which is free B.T.W.
I think the program should explain itself.
You can download the sda5708.asm program by right clicking on this link or you can copy it from the listing. If you run the program you should be able to see the following message on the display. You could show just about anything on the display with this program, by changing the string on the line starting with the lable TEXT.