HDSP 2000 Display Controller Board

Introduction: HDSP 2000 Display Controller Board

About: Electronics Hobbyist
This project is for the design of a HDSP 2000 Alphanumeric display driver board.

The clock picture demonstrates a typical example of how such boards may be used. The six pack was for my friend.

The board will provide the circuitry for two, four character HDSP-2000 displays. The communication to the display driver boards will be in the form of RS232.

Only eight characters are visible per data packet.

I designed this project for a friend who had a number of HDSP displays in his workshop. I also had a few of my own. The task was to design a simple interface board which performed all the required control signals for the displays and interface via a simple RS232 connection.

I've attached the following;

1. Schematic Diagram

2. Board General Arrangement Drawing

3. PIC18F14k22 HEX file (the file to upload to the PIC to run the firmware)

4. Gerber Files

5. Project Documentation

How the Circuit Works

The driver IC performs three key functions.

The first is the strobing of of the HDSP-2000 columns. This is achieved by use of five PNP LED driver transistors. The strobing rate is approximately 500 Hz, 100 Hz per dot matrix column. One column of each character matrix is displayed at a time. For example, if column driver zero is active the first column on all eight character matrixes is active.

The second function, which occurs between each column change is a 56 bit serial data stream which is sent to the HDSP-2000 shift registers. This reloads the new column dot matrix information. All columns are switched off during the shift register updates. Due to the ‘daisy chain’ connection between the two HDSP-2000 displays this represents 28 bits per display.

The third function is to check the received RS232 data for a genuine packet of data. If the carriage return is present on byte 9 then the data is cleared for translation. Translation cross references the received ASCII codes to characters. The character dot matirx data is in turn looked up from the onboard ASCII dot matrix data array and arranged for transmission for the HDSP-2000 display.

How to use

The display driver controls the HDSP-2000 displays to display upto eight characters. The characters to display are sent to the driver IC via RS232. The RS232 must contain the following sequence of bytes.

Byte Number

1: Character 1 (Left most character on the display)

2: Character 2

3: Character 3

4: Character 4

5: Character 5

6: Character 6

7: Character 7

8: Character 8 (Right most character on the display)

9: Carriage Return (ASCII = 13)

It paramount that data transfer is not disturbed as there is no start of packet syncronisation byte. A short delay of several milliseconds must be present post display power up before sending the first data packet. This ensures syncronisation.

The BAUD rate is 1200 bits per second. No others are supported.

Source code is included within the Project Documentation PDF, it is written using MikroBasic.

Have Fun!

for more projects feel free to visit my website at;

www.rkelectronics.org

Be the First to Share

    Recommendations

    • 3D Printed Student Design Challenge

      3D Printed Student Design Challenge
    • Reclaimed Materials Contest

      Reclaimed Materials Contest
    • Home Cooked Speed Challenge

      Home Cooked Speed Challenge

    10 Comments

    0
    eburman
    eburman

    6 weeks ago

    This may be too broad of a question. But I'm not familiar with using the old style RS232 serial interface. I don't have any old PC's that still use it. USB-RS232 converters are common so I suppose I could use one of those. But how do I send character bytes to the display board? Would I use a terminal application on my computer (I'm using a Mac computer by the way)? I went ahead and had PCB's manufactured and I have all the parts including the HDSP 2000 displays. But now I realize that I let my enthusiasm get ahead of me. I can easily assemble the board but I really have no clear idea how to proceed from there. I'm starting at rock bottom in terms of understanding how the RS232 interface should be utilized. Can you help?

    0
    RussellKelly84
    RussellKelly84

    Reply 6 weeks ago

    Hi great to hear some one else has built my project! In terms of RS232 you don't need to worry about the older standard of +/-12v, this circuit is fine with 0-5v method with 5v representing logical high and 0v representing logical low. It was originally designed to communicate directly with other microcontrollers like an Audrino or PIC. But you can connect to a computer as well. The easiest method and the one I use personally is a terminal program like Termite and a USB to RS232 converter. I use an FTDI232RL board. These are inexpensive and provides the 5v levels so no voltage conversation is needed. I think Amazon and eBay sell them. Just need to make sure that the terminal program sends the carriage return at the end of the 8 characters. Have fun!

    0
    eburman
    eburman

    Reply 5 weeks ago

    Thank you! That's very helpful. Now I think I can go ahead and build it. Perhaps I can write a simple Arduino sketch to send 8 characters plus the CR over to the controller board? Can I just tie into the RX, 5V and GND lines directly from an Arduino board? Or does it need to receive data structured to match standard RS232 protocol? You mention that it was designed to work with an Arduino. Do you have a sketch that you would like to share? Cheers!

    0
    RussellKelly84
    RussellKelly84

    Reply 5 weeks ago

    Yes you are correct if you tie the audrino tx to the display board rx, tie both grounds together and both 5v lines together that should work. Just make sure your 5v supply can support the current demand from the hdsp displays they consume quite a bit of current. The on-board audrino 5v supply may not be enough. In which case the hdsp may need its own 5v supply. If this is the case make sure you tie all the grounds together so that the rs232 has a common ground. You will still need to use the rs232 protocol on the audrino using the on-board uart peripheral. The audrino should have an rs232 library somewhere.

    0
    larrwill
    larrwill

    2 years ago

    I am curious about your update. The HDSP-2000 datasheet states the operating voltage is 5v and that the LED's have constant current sink drivers built in. It sounds like you are under-driveing the LEDs not over-driving.

    0
    RussellKelly84
    RussellKelly84

    Reply 2 years ago

    Well spotted thank you! I've removed my amendment in the description. My colleague at work raised the concern, dispite following the datasheet instructions myself. You're right 5v is correct. Thanks again

    0
    larrwill
    larrwill

    Reply 1 year ago

    Thanks for the response, I am sorry this follow up has taken so long! I had been working on a similar project that got set aside for awhile. It seems there are different versions of the data sheet out there. One version recommended operating conditions states Vcol max as Vcc and the other states Vcol max 3.5v. It seems that the constant current sink drivers can drive the columns at Vcc but it is best to run at 3.5v max to limit the heat that the drivers would need to dissipate at 5v. So your amendment was correct!

    0
    TinLethax
    TinLethax

    2 years ago

    Cool.I just order this display !

    0
    RussellKelly84
    RussellKelly84

    Reply 2 years ago

    Thanks for the like, glad you managed to get hold of some of those displays they are quite rare to find!

    0
    TinLethax
    TinLethax

    Reply 2 years ago

    I got this on for about 12 bucks on Aliexpress.(I order for 1 of them)