uC Slection for a learner project

Hi all.

Yet another request for help in the selection of an appropriate uC.

I would like to construct a data logger. This data logger may be located in areas remote from power and human kind. It will read 1-Wire interfaced weather instruments at an interval of 2 seconds and store the weather data over an extended period of time, such as a year. The weather data acquired should be stored with the date and time. The stored data will have to be transferred to a PC at some point. The requirements for such a data logger would be:

  1. Very small power consumption. It would be nice if the uC would be capable of operating from the merest suggestion of a hint of a picowatt :)
  2. A 1-Wire interface would be nice. This would make the development process easier.
  3. The ability to store perhaps 2GB of data. I believe this would require the means to either write/read a MMC/SD card or a USB memory device (a memory stick, I believe these are called). It would be nice if the uC had the capability to access the MMC/SD or USB directly although using one of the more common uC interfaces (e.g. SPI) is probably all that can be expected.
  4. PROM - I do not know what size the program will be - yet.
  5. RAM - I think writing to MMC/SD/USB memory is probably more efficient in blocks of, say, 512 or 1024 bytes. Therefore there should be enough RAM to store at least 512 bytes of the data to be logged in addition to the RAM required for normal temporary storage. So, I guess the minimum should be at least 1.5k. If I wish to read back the data written for verification purposes then that would probably increase to
2k.
  1. The ability to transfer the stored data to a PC. If a USB memory device (stick) is used then this is already addressed, assuming that FAT is used. If MMC/SD then an appropriate reader could be used - but this would push up the overall cost. An alternative might be to have some form of high speed data transfer mechanism, e.g. 10/100/1000 ethernet or possibly a USB port for communication with the PC. A standard serial connection running at a sustained rate of 115k baud would take 48 hours to transfer 2GB, if I did the calculations correctly - a 10Mb connection 33 minutes, I think.
  2. A real time clock
  3. Some mechanism to configure the device - for example the date and time; this could be via a PC link or perhaps the use of on-board switches and an LCD. If switches/LCD then the ability to drive an LCD would be required. If a PC link then perhaps an RS232 interface, or the use of the previously mentioned USB/Ethernet interfaces (but this could perhaps make things a tad more complicated than they need to be). Of course, I could provide both an on-board mechanism to configure the device and a PC link.
  4. Reasonable overall cost.
  5. The availability of evaluation boards at perhaps 0 or less.
  6. Free or cheap development tools

  1. In addition to the above. I would prefer not to purchase any device that is made in a part of the world that does not treat its people well, if that is possible.

About me... I have discovered that the best way to learn a subject is to give oneself a project that is of real use - hence the above. I studied electronics in college in the early '80s. There, we did some work with the Intel 8085 and the Rockwell 6502. We used machine code and assembler with the 8085 and basic with the Rockwell device. RS232 did exist at that time, but USB, SPI, etc did not and I will have to learn what I will need to know about any of these that I might use. I have little knowledge about ethernet. I have had a long-term desire to pursue this field (uCs) but not the resources, particularly the time, until now. I taught myself C - I havn't been the same since :) - in the early '90s, but have not had much use of it since.

I do understand that uC selection is usually a compromise of the features available versus those required.

Perhaps some of you will know of a uC that fits the bill, or comes close. This is not urgent. I do not plan to start this project for a few months, but I would like to make use of the time to conduct research. I believe the most important decision that I need to make is which uC to use.

Thank you all. Take care.

Reply to
AC Me
Loading thread data ...

If you put the uC in standby between readings, it can extend battery life substantially. For example, our custom chip run at 800uA and standby at 80uA. It can run standby for 100 days and forever with a small solar cell.

We have 16K One Time Programmable PROM.

Yes.

Yes, we have LCD driver (up to 12 segments and 4 commons)

50 cents for the uC.

5 dollars for the evaluation board.

Yes, free C compiler.

Yes, it's a 6502 core in a 32 pins QFP (5mm x 5mm)

Reply to
linnix

That's not going to be cheap. You're talking about several tens of megabytes of data there!

That's at least 3 bytes for the time-stamp alone, and you would be storing 15 million samples per year. That makes 45 MB before you've stored the first bit of actual payload data.

I'm afraid that combination is flat-out impossible. The 1-wire protocol itself burns a lot more than a pico-watt on average, what with the line drivers fighting against the pull-up resistor every bit of the way.

A micro with a USB host implementation would be way beyond your power budget. Writing flash is in itself quite an energy-consuming operation.

No, those wouldn't be alternatives, cost-wise, to a simple memory card reader for the PC to be equipped with. Those are on the order of 10$ a pop, retail.

Reply to
Hans-Bernhard Bröker

A 45MB compact flash is less than $1, if you can still find it so small. A couple of Gs are reasonable in price too.

But you can buffer the data and only write every few minutes.

Reply to
linnix

(snip)

Reply to
Roland Latour

The initial batch is being die-bonded at the moment, but we should have them ready in a couple of week. The chip spec is at:

formatting link

There is a web contact form at the bottom.

Reply to
linnix

Sure it is possible. But as a beginners project? What is you power budget? How many what hours is the protect? Many small MCUs can do the job PIC, AVR, MP430. None can talk to a USB Stick without another chip. This should kill you power budget. None have a 1-wire interface. I am not sure any thing does. What do you know, any software or hardware? ASM, C, Basic?

Reply to
Neil

Interesting looking device.

What volumes is the 50c price point for ? is that price for the die, or the tested/packaged device ?

With OTP, what yields do you expect ? (as you cannot test the OTP)

What debug pathway is there for this device ?

SST had a Flash 28p Device with a 6502 core, called the SST65P542R, which targeted remote control. The 2001 data sheet can still be found, but the chip seems to no longer exist.

-jg

Reply to
Jim Granville

I believe about 2GB of data. Hence my desire to use an USB memory stick, which was mentioned later in the post. This can be used to log the data, which can then be transferred to a PC and the data on the USB memory device can be erased to allow re-use. A

2GB memory stick costs about =8012 ($18) here, and the price is reducing.

I was attempting to use humour to emphasise that low power consumtion is important. I guess I should stick to the day job :).

Is there an alternative means to store 2GB of data?

OK. So an Ethernet or USB comms capability to allow data transfer is out. But this has an impact on how I connect to the device (the data logger) for configuration purposes. The PC I am using to write this does not have a

9-pin, or 15-pin, serial port. Are there other, common, means to communicate with the device? Or should I consider the use of USB/Ethernet for this purpose?

Thanks for the reply.

Mike

Reply to
AC Me

=A0I

text -

Thanks for the response. I would like the power consumption to be as low as possible. The time taken to bring this to completion is not important to me. The primary purpose is so that I can learn. I have looked at lots and lots of uCs and just became even more bewildered than I am normally :). That's why I asked you guys - I though I might get a list of a few uCs that come close and from which I could choose the most appropriate device.

For instance, the PIC18F97J60 has 10BT ethernet, but no USB, no 1-Wire and no LCD drive capability. The PIC18F85J90 has an LCD drive capability, but no ethernet or USB. The PIC 18F13K50 has USB 2.0, but no ethernet or LCD. The MSP430CG4616 has LCD but no ethernet, no USB, etc. The Atmel AT32UC3A0512 has 10/100 ethernet and USB but no LCd and is knda high power (in my view although Atmel claim low power). The Maxim MAXQ2000 has a RTC, LCD, 1-Wire but no USB or ethernet.

=46rom other posts to this forum, I note that a company called FTDI manufacture a chip (well chips) to add a USB port to a uC using SPI, if I recall correctly.

So perhaps the MAXIM part might be the most suitable, if I add the FTDI part? That would still leave the matter of communicating with a PC for configuration purposes. Any ideas?

=46rom my original post, I did (a long time ago) use machine code, assembler and BASIC. I taught myself C in the early '90s, but havn't had much experience using this since then.

Mike

Reply to
AC Me

For the die: 50c for the OTP PROM version, 25c for the ROM version. They should be known good die. They can be die bonded to the PCB directly.

It doesn't matter, we will use the ROM for production anyway,

Not much. The OTP is the test chip at 50c at a time.

But this one has LCD controller, which is what we need.

Reply to
linnix

There are several. I'd start with MSP430 and AVR.

No mcu has a dedicated 1w port. You can make a 1-w master either with a single port pin or (easier) with an UART.

See AVR Appnote 318. Instead of the shown oc buffer you can simply use an

74HC125 or 74HC126 (can't remember which one has the non-inverted gate)

USB is too complex. SDs card can be switched to SPI mode, so this is your way.

-> #3

There are plenty of i2c or spi rtc chips. The Philips/NXP PCF8583 and PCF8593 are popular and cheap ones.

A serial port will be the easiest way.

If you go for AVR you don't need to buy anything. Grab AVRStudio from Atmel, the WinAVR GCC plus something like Ponyprog or avrdude for ISP programming. A parallel port programmer cable is easy to build. Or (better) obtain an AVRISPmk2 USB cable for 36$ (e.g. Digikey). If you want an eval board, go for the STK500. There are cheaper ones, but the STK500 is a programmer as well, and it is the only one to support high voltage programming, which you might need when messing around with the fuses.

Mit freundlichen Grüßen

Frank-Christian Krügel

Reply to
Frank-Christian Kruegel

It's quite certainly way outside your reach to implement a USB master. The power requirement would kill your battery lifetime, and the complexity of this part alone would dwarf the entire rest of the job.

Any type of memory card: MMC, SD-in-MMC-mode, compact-flash cards. You take your pick.

That's the least of your problems. If you're going to program micros with that PC, you'll need a USB-to-RS232 converter anyway. Use that to talk to the micro, and you're done.

Reply to
Hans-Bernhard Bröker

Same for MSP430. There's a free limited IAR toolchain you can download from TI. And there's mspgcc, which is also free. Parallel-port JTAG interfaces start at about $15, and eval boards at about $20.

formatting link
has a good selection of stuff for both MSP430 and AVR.

--
Grant
Reply to
Grant Edwards

But both chips are too expensive. We asked Atmel to give us something like the

formatting link

They think we are nutty, so we have to downgrade to 6502 for the high volume project.

Reply to
linnix
8< Wishful thinking snipped >8

Have you seen any project/products on the net the even comes close to your requirements ??

I think you will find some devices that will be close.

So look at those and see what those have for storage vs power specifications.

This will give you a good idea what others have found and what design tradeoffs they have made.

Why re-invent the wheel, again.

donald

Reply to
donald

Is this really two different die designs, or is the ROM actually factory-otp ?

I'm guessing most of the large price difference is a volume thing.

Silabs have been ramping OTP models, which suggest there is still some price penalty for FLASH (at least at their FAB), but they make no mention of ROM.

-jg

Reply to
Jim Granville

It's two different dice. The OTP die has a few more pads as well.

Flash is good for developments. OTP PROM is good for testings. ROM is good for productions.

We might build an FPGA emulator for developments, probably with SRAM.

Reply to
linnix

The MAXQ2000?

OK.

OK.

l,

.
u

Thank you.

Mike

Reply to
AC Me

OK. Although I'll have to learn about it sometime, I'll leave this for another time.

These will add two extra components to the 'package' - A MMC reader and an USB-to-RS232 adaptor. But the benefits would outweight the 'costs' as the learning part of the project would be simplified.

Take care.

Mike

Reply to
AC Me

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.