Display controller

Thread Starter

Edmunds

Joined Sep 27, 2010
85
Hi all,

I have the following (pics below) displays laying around that I salvaged from CISCO IP phones nobody wanter anymore. I have built a CNC mill/engraver/laser cutter/plotter/3D printer thing and now want to make the "control box" of the beast to look nice and complete with a display. I would like to use the aforementioned thing. It could potentially show 100+ different things about the state of the machine, but printing a "HELLO!" for starters would be cool :).

I have no previous experience with displays like this. I have done several projects with 7 segment displays, but I believe this is the type of thing, where you draw each pixel separately. First, I need to figure out, what or at least what kind of thing this is. Please help.

Next, I need to know which way to look for a suitable driver chip. What would work with this particular display and what experiences people have with different options. If there are different options.

The logic will be driven by PICAXE chip, since this is what I feel most comfortable with and I can see no rocket science tasks for the particular application to try to learn something more powerful at this point. Feel free to correct me, if you think I'm wrong.

Thank you all for your time reading or more so, replying! And have a good weekend :).

http://s1243.photobucket.com/user/sprudzsedmunds/embed/slideshow/
 

MrChips

Joined Oct 2, 2009
30,821
I believe this chip is already on your display and is used to drive the LCD.
You need this info in order to control it from your mcu. A PICAXE is too slow for this application.
 

Thread Starter

Edmunds

Joined Sep 27, 2010
85
I believe this chip is already on your display and is used to drive the LCD.
Thank you and sorry for an early question maybe as I worked that out while waiting for your answer :).

A PICAXE is too slow for this application.
Can you pls explain why picaxe would be too slow? Is there anything I can read online to understand how these displays are driven? The data sheet you pointed to gives some clues, but is a bit over my head without the basic knowledge, I think.

Thank you,

Edmunds
 

MrChips

Joined Oct 2, 2009
30,821
First of all, I have no knowledge and experience working with PICAXE.

What is so great about PICAXE?

It can be programmed using the BASIC language which was introduced by Dartmouth College in order to introduce basic concepts of computer programming. The instruction set and language syntax is easy to learn.

BASIC can be implemented in three ways:

1) It is usually interpreted.
2) It can be optimized using p-code.
3) It can be compiled.

I have no idea how it is implemented in PICAXE. If it is interpreted, it can slow down code execution 100 times or more compared with compiled code execution.

Because of the overhead of running BASIC, the PICAXE has limited space for both program code and data storage.

I presume that the LCD module you have indicated is a graphics display. In order to generate pixel graphics or even alphanumeric fonts you have to be able to manipulate individual pixels or rows of pixels. A typical 5x7 font would require having to output 7 or 8 bytes plus positioning data for each character. That can translate to about 20 bytes of data just for a single character to be displayed. Combine that with the lower throughput of a BASIC interpreter and you will find that display generation is painfully slow.

In summary, PICAXE is not a suitable platform for interfacing to a graphics LCD module.
 
Last edited:

Thread Starter

Edmunds

Joined Sep 27, 2010
85
First of all, I have no knowledge and experience working with PICAXE.

What is so great about PICAXE?

It can be programmed using the BASIC language which was introduced by Dartmouth College in order to introduce basic concepts of computer programming. The instruction set and language syntax is easy to learn.

BASIC can be implemented in three ways:

1) It is usually interpreted.
2) It can be optimized using p-code.
3) It can be compiled.

I have no idea how it is implemented in PICAXE. If it is interpreted, it can slow down code execution 100 times or more compared with compiled code execution.

Because of the overhead of running BASIC, the PICAXE has limited space for both program code and data storage.

I presume that the LCD module you have indicated is a graphics display. In order to generate pixel graphics or even alphanumeric fonts you have to be able to manipulate individual pixels or rows of pixels. A typical 5x7 font would require having to output 7 or 8 bytes plus positioning data for each character. That can translate to about 20 bytes of data just for a single character to be displayed. Combine that with the lower throughput of a BASIC interpreter and you will find that display generation is painfully slow.

In summary, PICAXE is not a suitable platform for interfacing to a graphics LCD module.
Thank you for your reply. From what you are writing about the actual requirements, it sounds perfectly within reach of PICAXE chips. Even if it started out as an education project, it has grown a lot by now and is a powerful platform. I don't see many differences from the so popular Arduino. Having tried to learn basic stuff on both, it was far simpler to continue to advanced levels with PICAXE, but I did not miss any functionality by now. Maybe this is the day, but maybe not. Not to make this a PICAXE vs. something-else thread, I will continue to investigate this direction and will let you know if anything works :).

I have attached a document I stumbled across on Picaxe forum that might be of interest.

Thank you once again,

Edmunds
 

Attachments

Last edited:

MrChips

Joined Oct 2, 2009
30,821
Using the same benchmark data supplied in the pdf which you have provided, a typical PICAXE running at 4MHz executing a basic output high-low loop takes 780μs.

Rich (BB code):
MAIN:
  HIGH 1
  LOW 1
GOTO MAIN
Arduino with an ATmega328 with a 16MHz xtal takes 8.6μs. The equivalent time at 4MHz is 34.4μs.

TI MSP430G2553 running at 4MHz takes 2.5μs. Program is written in C language. The assembled program executes in the same time, i.e. 100% compilation efficiency.

The PICAXE is 300 times slower.

You be the judge.
 

Thread Starter

Edmunds

Joined Sep 27, 2010
85
Using the same benchmark data supplied in the pdf which you have provided, a typical PICAXE running at 4MHz executing a basic output high-low loop takes 780μs.

Rich (BB code):
MAIN:
  HIGH 1
  LOW 1
GOTO MAIN
Arduino with an ATmega328 with a 16MHz xtal takes 8.6μs. The equivalent time at 4MHz is 34.4μs.

TI MSP430G2553 running at 4MHz takes 2.5μs. Program is written in C language. The assembled program executes in the same time, i.e. 100% compilation efficiency.

The PICAXE is 300 times slower.

You be the judge.
Thanks'.

MSP430G2553 seems an extremely powerful and thus interesting thing. Will look into it. C language. The mother of all. Brrr :confused:

I could speed picaxe thing up to 32MHz and even 64MHz, so that would help a little. But I understand what you are saying.

Edmunds
 

MrChips

Joined Oct 2, 2009
30,821
No. The power is not in the MSP430.

The problem is that PICAXE implements BASIC partially as an interpreter, partially using tokens, both of which are slow.

A good C compiler can generate reasonably optimum assembler code.
 
Top