4D SYSTEMS FORUM

Register New Posts
 
 
 


Reply
 
Author Comment
 
android78

Registered: 23/08/11
Posts: 8
Reply with quote  #1 
These products are a fantastic idea, the only problem is the interface that has been decided on (UART) is a 1-1 Master to slave which is inefficient for having multiple devices attached to the one micro.  For example, you might want to have a micro that is capturing information from a GPS, motion sensor and compass and then displaying it on a screen.  To do this, with the current interface, you will need to have 4 UART on the micro, and separate wires for each.
If all devices were to use I2C (or at least have the option to use I2C) then you can daisy chain the devices and access them through the single I2C on the micro (which can be a lower pin count micro) addressing them individually.  While not ideal for all situations (capturing video from a camera and streaming it live to display), this would be much more convenient for low bandwidth applications... just sending basic drawing and text commands to the devices/display.

As an alternative, you could include I2C emulation of the I/O and include this in the 4DGL.

Are there any plans for anything like this?
android78

Registered: 23/08/11
Posts: 8
Reply with quote  #2 
On further review, I see that the Picaso GFX2 has this, but not goldelox.  The problem is that the available modules with screen only come with the goldelox controller. 
Is a bit banging i2c interface going to be included in any future version of the goldelox pmmc?
avenue33

Avatar / Picture

Registered: 02/04/11
Posts: 117
Reply with quote  #3 
I've interfaced 4D screens —including uOLED 1.7", uLCD 3.2" and 4.3"— through I2C by just adding a SC16IS750 I2C/SPI to UART bridge.

Sparkfun has this nice breakout board that works very well.


I use it successfully: see my implementation with libraries, examples, documentation and code.

__________________
— avenue33
meldavia

Registered: 18/03/07
Posts: 900
Reply with quote  #4 
Even though I2C gives a lot of flexibility for multiple addresses, it may be hopelessly slow in a real life situation except if it was for simle metering or indicator apps.
If you are using 4DGL, a simple protocol could be established for multiple device communication using serial which would be far superior to I2C.
There are no plans to add I2C to Goldelox, other than the few bit-banged solutions that have been submitted to the forum in the past - mainly for sensor interfacing,
but if you dont expect mind blowing performance and its just a metering app etc,
using bit banged I2C is a perfectly good solution.



__________________
Regards,
Dave
avenue33

Avatar / Picture

Registered: 02/04/11
Posts: 117
Reply with quote  #5 
Sorry, I'm not sure I haven't missed the point.

I2C standard speed is 100 kbit/s comparable to a standard serial speed of 115 bps.

The SC16IS750 I2C/SPI to UART interface supports fast I2C 4 Mbit/s [•1].

4 Mbit/s is by far speedier than the maximum speed of 
  • 0Fhex : 256000 Baud for Picaso-based screen [•2] 
  • or 256K baud for Goldelox-based screen [•3].
As an additional benefit, the SC16IS750 I2C/SPI to UART interface has a built-in 64 bytes FIFO (transmitter and receiver) buffer.


References:

__________________
— avenue33
meldavia

Registered: 18/03/07
Posts: 900
Reply with quote  #6 
Hmm yep, impressive if I2C speed has reached that level,
of course at that sort of speed it would be impossible to bit bang.
Having the FIFO would be great for buffered protocol so it's approaching or equalling a 'old school' serial multidrop.

However, so we can implement more robust copper interfaces such as RS485 multidrop etc, standard serial comms was
the choice for the physical layer, so it is highly unlikelely that we will be implementing any form of I2C for direct comms.

Of course if their is sufficient demand we would think twice



__________________
Regards,
Dave
avenue33

Avatar / Picture

Registered: 02/04/11
Posts: 117
Reply with quote  #7 
The serial interface is perfect and very flexible as it is. 

Please don't overload today's configuration!

Should a user need an I2C connection, he could find and add the SC16IS750 I2C/SPI to UART breakout board from Sparkfun. It's easy and cheap (USD15).

And the libraries to manage the SC16IS750 are available and bundled within my Serial_LCD project! 


__________________
— avenue33
meldavia

Registered: 18/03/07
Posts: 900
Reply with quote  #8 
oh duh - my bad, I should have looked at the links, I understand what you are saying now

__________________
Regards,
Dave
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Powered by Website Toolbox - Create a Website Forum Hosting, Guestbook Hosting, or Website Chat Room for your website.