Connect with us

Some Questions About Workings of a GLCD

Discussion in 'Microcontrollers, Programming and IoT' started by Utku, Dec 15, 2014.

Scroll to continue with content
  1. Utku


    Dec 15, 2014

    I am trying to use a GLCD for my project. Looking at the module's and its drivers' datasheets, some questions have formed in my mind. The links to datasheets are as follows:

    Link for the datasheet of the GLCD module.
    Link for the datasheet of the GLCD module's segment drivers.
    Link for the datasheet of the GLCD module's com driver.

    My questions are a bit lengthy but if you could have time to answer them, I would be very very grateful. So if you would excuse, my questions are as follows:

    1) First of all, why aren't pin numbers of the drivers shown at the block diagram at p.10 of the LCD module's datasheet? Also, not every signal's name is shown as well. Am I supposed to be able to understand how the module works without knowing which signal goes to where in the module?

    2) In the display module's block diagram (at p.10 of the module's datasheet), CS1 and CS2 are connected to their respective segment drivers. Also, there are 8+5 pins connected to each segment driver from the MPU. On the other hand, in the application circuit given in p.20 of the NT7108C datasheet, all CS1B, CS2B and CS3 signals are connected to all segment drivers. Furthermore, there are 8+7 pins connected to each segment driver from the MPU, instead of 8+5 pins. Now what is the meaning of this? Where are the remaining 2 pins connected from in the display module's diagram? Also, why aren't CS1 and CS2 connected to both segment drivers in module's diagram, unlike the application circuit given in p.20 of NT7108C?

    3) In the p.6 of the datasheet of NT7108C, pins; CS1B, CS2B and CS3 are defined as follows:

    "Chip selection
    In order to interface data for input or output, the terminals have to be CS1B=L, CS2B=L, and CS3=H."

    and throughout the entire document, only that given combination of CS1B, CS2B and CS3 is mentioned. My question is: If only a single combination is being used, why are there 3 pins provided for a single task, instead of just 1?

    4) Another point is, I couldn't figure out how am I supposed to connect the GLCD module to my MCU, an ATmega32. I heard that conventionally, SPI is used to connect peripherals to an MCU, but thing is, SPI uses serial connection and the GLCD module that I use has a parallel port for data transfer. So I am a bit confused here also.

    5) My last question is, I came across a tutorial on this page about the use of the GLCD. They put an architecture diagram (named: "GLCD pages") in the website and it explains the form of the architecture very well. My question is, how were they able to understand that architecture is in that way? If that's by looking at the datasheets, could you please underline the places in the datasheets that helped them coming with that architecture diagram? If the sources were not the datasheets, but the experiments they have performed using the module, then my question is: Are there many cases where datasheets of components does not provide enough information and hence, one needs to understand the architecture by conducting experiments, rather then by thoroughly reading the provided datasheets?

    I realize that the questions I asked have been lengthy but if you could have time to explain the answers of these questions, I would be really grateful. Thank you very much in advance.

  2. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    Nov 28, 2011
    Hi there and welcome to Electronics Point :)

    Sorry for the very slow reply.

    I guess no one here has direct experience doing what you want to do. I will try to answer your questions though.
    As I understand it, the Winstar LCD module's data sheet refers to the Neotec NT7107C and NT7108C common and segment drivers, and recommends them for driving the display, but it doesn't provide full details of how they should be connected together. There wouldn't be enough room to list most of the pin numbers anyway.

    It does list the five signals that go directly from the NT7107C to the two NT7108Cs, and it does give the names of the signals that come from the microcontroller. It's up to you to match those names to the pin numbers, using the Neotec data sheets.
    You mean the 8-bit data bus, and E, D/I, R/W and RST, plus the -CS signal?
    OK, as far as I can tell from the IC data sheets, each one needs to be selected separately. Therefore you don't connect all of the CS signals together; each one needs a separate drive from the MCU. But there is only one CS signal needed for each IC; the extra two signals are just provided to simplify the selection scheme if you have a number of these ICs. Each device will only "select" itself if its CS1B input is low, AND its CS2B input is low, and its CS3 input is high, simultaneously.

    For example, if you have six of these ICs, as in the diagram on page 20 of the NT7108C data sheet, you could have a separate chip select signal from the MCU for each one, but that would require six signals. The alternative is to have an external one-of-eight selector such as a 74LVC138, which takes a three-wire input and selects one of eight outputs by pulling it low. Six of those would go to the CS1B inputs of six NT710x devices, and all of the CS2B inputs would be commoned together and driven directly by the MCU. That's a total of four signals at the MCU, instead of six.

    When the MCU wanted to address a device, it would write the device number to the 74LVC138, which would drive one of its outputs low to provide the low CS1B input at one NT710x device, then the MCU would drive the commoned CS2B signal low to select whichever device had its CS1B input low.

    All of the devices would also need their CS3 inputs tied high.

    At least, that's how I interpret it all. I think that diagram, which implies that all the CS1B inputs are connected together and driven by the MCU, and ditto for the CS2B inputs and the CS3 inputs, is wrong or at least misleading.
    This is related to the previous issue. AFAIK each NT710x device needs to be able to be selected independently. If you're only using three of them, it's simplest to have one output on the MCU for each NT710x device, i.e. three I/O pins on the MCU. These need to be connected to one of the CSxx pins on each NT710x. I would use the CS1B pins, which are active low (active low is the convention for chip enable signals). Each NT710x also needs its CS2B tied low, and its CS3 tied high. Then the MCU drives one (and only one) of the three signals low each time it wants to talk to an NT710x.
    That's the question I answered back at the start.
    The NT710x devices are designed to be connected onto an 8-bit processor bus - the type that's used to connect between an MCU and its associated external RAM, ROM and peripherals. These devices, specifically, are designed to connect to a Motorola type bus, because they have an E clock and a R/-W signal. The other type of bus uses a -RD and -WR signal instead.

    If you're using a fully integrated device, with RAM, ROM and peripherals built into the same chip, that bus is not available externally. So you need to provide a set of signals that are compatible with that bus, for use by the NT710x ICs. You can use an 8-bit I/O port for the data bus, and individual I/O pins for the other signals: E, R/-W, and RS, as well as the RSTB signal (which will also be common to all NT710x devices) and the -CS signals (which won't).
    I figured it out because I have background knowledge from prior experience of how devices are interfaced. I don't have time to be more specific.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Similar Threads
Electronics Point Logo
Continue to site
Quote of the day