AVR + LCD + USB memory stick.

Go To Last Post
12 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi there,

My new project specs are:

A non-rechargeable battery based data loger. The plastic enclosure is been chosen by the customer and can contaqin up to four AA batteries in series. There will be an LCD display with 35 segments and a USB A female connector, for connecting a USB memory stick.

The product must be able to hold the LCD always on and also to wait for a USB memory stick connection to store data. SD cards or other type of memories aborted from the customer.

I have enough experience on low power consumption battery systems. I have chosen the ATmega3290P for controlling the LCD, the sensor and other circuits. My problem is that I don't know what can I do in order to comunicate and write to memory sticks.

The circuit must have low consumption in order to save energy and to live with the same batteries for as long as possible (at least 1 year).

Can you give me a hand???

Thanks.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

My problem is that I don't know what can I do in order to comunicate and write to memory sticks.

You need a device that will act as a USB host to do this. In the AVR range that means either AT90USB647 or AT90USB1287

If you are tied to the 3290 for the segmented LCD then another option is a standlaone USB host controller added to the 3290 such as the FTDI Vinculum:

http://www.vinculum.com/

Personally I'd rethink the display and use a AT90USB. In fact I'd maybe consider:

http://www.atmel.com/dyn/product...

with a display bolted on top.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Or if cost is no big issue, use both an AT90USB and a M3290P.

Is this LCD multiplexed? If it's not there is no real need to use a dedicated LCD controller, just 36 I/Os are sufficient. I believe if it has got 2 backplanes you can bitbang it too; I remember an appnote doing that. Only a couple of resistors needed. So you could use only a AT90USB which has plenty of I/O.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hallo clawson,

I have almost seen the FTDI Vinculum ic, but it seems that it's consumption is high enough (2mA in stundby mode). I have also seen another one from MAXIM, but it also consumpts enough for me.

Quote:
Personally I'd rethink the display and use a AT90USB.

What do you mean? If I understand you well, you are trying to tell me to use a USB AVR and to build the hardware for the LCD myself.

Please confirm this.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Michael - you have two issues - the usb to the memory stick and your display. The USB is the harder problem to solve so by using the AT90USB you solve the memory stick issue. As for power consumption, I'm not sure if the average memory stick is considered 'low power'.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

A completely different approach to this would be to forget USB memory sticks all together and use SD/MMC cards for the mass storage, far, far simpler and easier to implement and you won't then be tied to a USB host/OTG solution.

(and yes I did mean forget the segment LCD and perhaps use a small 8x1 character LCD instead with an AT90USB if you chose to go that route)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Another possibility is to use SD/MMC, DataFlash or NOR Flash and let your device act as a mass storage device when it's connected to USB. It depends on how much storage you need and how fast it needs to be.

DisplayTech make very cheap small LCD displays that are not too difficult to use; they are not high of quality though [e.g. slow, low contrast, striping when lots of black is displayed]

I used this approach for a handheld programmer for some board. It never got further then a concept prototype based on an Atmel USBKEY before it got canceled.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For now I have no idea about how to comunicate with a USB memory stick, but the truth is that I never thought it was so hard.
I have started working on this project and I really have to decide which way to go the easy USB or easy LCD.
As I told you the power consumption is an issue with very high priority for me, that's why I was talking about an LCD AVR. Doind the driving circuit for the LCD could consumpt more enough than an AVR which can hold the readings while it is in power save mode (please correct me if I'm wrong, because I never used an LCD AVR).
Please let me know if there is any way or posibility to comunicate with a USB memory stick with a simple AVR. I have also a small stock of FT232RL ics that they could be used as UART to USB converters. If yes, then please let me know how could I begin and where to search, read and learn.

Thanks for your time.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The FT232RL chips won't do it. You need to emulate a USB HOST, not a generic USB device. Big Difference! It seems it's the Vinculum and LCD AVR or USB AVR and other display.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Do you have a datasheet or link to the 35 segment display?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

but the truth is that I never thought it was so hard.

There speaks someone who's not done it yet.

As both JayJay and I have said SD/MMC is probably 100 if not 1000 times easier than USB flash and yet you still end up with a data device that most PCs these days can read (though maybe with the aid of a USB->SD reader - but at least it moves the problem away from the AVR design).

The alternative as I see it is to use a 647/1287 and either double up with a segment controller or change the display technology.

Ever heard of bistable LCD by the way? It's an emerging technology and like the e-ink in something like the Sony eBook reader it only consumes power when the display pixels are changing state but it retains the image without power after that. See:

http://en.wikipedia.org/wiki/Liq...

This is about to take off in a BIG way (read reduced component costs!) as all the Tesco's and Walmart's of this world are going to work towards "intelligent" shelf edge labelling systems. They want labels that will run for years off a very small cell and only actually consume power once in a while when the price of a tin of baked beans is changed overnight (they likely will also use RFID for the comms)

There are several manufacturers of Cholesteric Liquid Crystals (ChLCD) now. Here's some examples:

http://www.kentdisplays.com/prod...
http://www.nemoptic.com/content....
http://www.zbdsolutions.com/
http://www.sipix.com/products/di...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Clawson,

Your suggestion seems to be the stronger one, so following it, I am designing the product based on the AT90USB647.
No I never heard about this new type of technology in LCD's area.

I will try to order a sample to test it.

Thank you all guys.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer