Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Throwing it in the group - please discuss my requirements


  • Please log in to reply
2 replies to this topic

#1 Crosswired

Crosswired

    New Member

  • Members
  • Pip
  • 4 posts

Posted 18 December 2011 - 02:16 PM

Hi all, I'm new to the forum. Have been a desktop coder for many years (C#, VB.NET, VB6, some C++) and coded on the .NET CF framework for Windows CE and Mobile. Have worked with some IO controllers, but never worked on a hardware level as this project would take. Looking to get some advice if my needs are possible with Netduino and the Microsoft .NET Micro Framework.

Comments, suggestion, feedback are welcome. If I write/suggest stuff that makes you facepalm please say so.
Links to hardware bits and pieces are appreciated.


Hardware requirements:


(Note that this requirements are beyond my control, so suggestions like "why dont you just hook up an external hard disk or write to a NAS instead of having so many SD cards" might make sense but can't help here)


- A RTC (real time clock) that retains it date/time even when the device isn't powered on and has been without power for a longer time. So this RTC should have it's own battery. The battery should last >7 years and the time should be kept accurate within a few minutes per year. From what I get the Netduino does have an RTC but it will reset when the board is powered down, as I can not see a battery anywere. Keeping the entire board on a backup battery is not a requirement, and this wouldn't last the 7 years. So I'm thinking an I2C RTC with battery? Can this be connected and the time read by the .NET Micro Framework. The time should be set as well (one time event) but this could be on an external system if the Netduino / Framework fails to do this. (I'm assuming the I2C RTC will keep it's time when you fiddle with the HW as long as you don't remove the battery from it)

- Ethernet/Wifi/Bluetooth is not required.

- RS232 port to communicate with an external device. I've read on the forum that there is a shield that is required to deal with voltage differences. I've also read that the Framework has a serial port class. This shouldn't be a problem from what I get.

- Internal data storage. The system needs few GB of internal storage. This data should persist when the device remains without power for a longer time and should last many years. This storage does not have to be swappable. It can be an SD/SDHC card reader but other suggestions are welcome. The plus has an onboard card reader, but I don't need network so the basic Netduino might be a better fit as a starting point.

- SD/SDHC High Speed Mode UHS-I card reader [External data storage - can be part of the board but the card slot has to be accesible through the casing]. The device should be able to write to FAT16 en FAT32 filesystems.

- SD card reader [External data storage 3]. At least FAT32. Depending on the cost this might be the same type as the two prior bullets or of a lower spec to keep the cost down.

(thus if the internal data storage is an SD/SDHC card reader, there would be 3x SD/SDHC card readers required)

- ISO/IEC 7816-3, protocol 'T=0' smart card reader for type ID-1 (ISO/IEC 7810) cards (dimension credit card). This is a large SIM-type card. The device should be able to read and write to this card. Would it be possible to read/write to this smart card reader with the serial port class, not unlike you would do with a serial desktop smart card reader? I would greatly appreciate links to types and prices for these kind of readers or information from integrators.

- At least one led for visual signals. The onboard user led might not be in the right place to make it visible from outside. Considering the other (I/O pin) requirements would it be possible to have 2 or 3 leds? This decision would depend on cost as well. Can leds be connected directly? Or would they need their own print with additional components at an increased cost?


More information and questions:

Are there enough I/O pins on the Netduino for this setup?

The device would have to operate the RS232, internal storage and smart card reader as primary function. Writing to the other SD/SDHC cards are secondaire functions and can be slower if has to. Whilst the secondary function is executing the primary function shouldn't experience noticable lag. I think it will be possible to manage I/O writes for the secondary function in small burst/blocks if that helps. I think it's a safe assumption that the RS232 will receive 500 bytes to process every 5 to 10 seconds, it would have to send the same amount.

The device would have to detect when a card is entered in one of the external storage slots. I think using some sort of timer interupt/event and trying to read from the card (getdirectories on "/SD") would be the way for this?

This would all have to end up in a pretty case. Any url's that you are willing to share with generic cases and their pricing to get an idea what is out there and at what cost.

Can the Netduino be used in this setup, am I asking to much, or will it be a walk in the park for this board?


Possible second device:

This project could require a second device. That device would best be suited on the plus because it would need an RJ45 ethernet connector, and the plus has the storage sorted out as well. It would need at least 1 RS232 port. So far so good. My question is how many RS232 ports can the plus have? The other hw like mentioned above doesn't come in to place here.... so 1 RJ45 Ethernet, 1 SD card, and x RS232... what is the maximum of x here ? It would be good to have at least 3 or 4 RS232 ports, but two would be nice as well. If there are tricks to do with taking apart off the shelf USB to RS232 converters that might be acceptable too. (but I assume drivers might be the issue here)


Thanks for reading all this and I'm hoping you take a few minutes to help me on my way and give me some feedback or suggestions or share your precious urls with me :)

#2 Mario Vernari

Mario Vernari

    Advanced Member

  • Members
  • PipPipPip
  • 1768 posts
  • LocationVenezia, Italia

Posted 19 December 2011 - 05:34 AM

Hello Crosswired, and welcome to the Netduino great community.

Unfortunately I'm not able to answer to all your questions. I hope someone else could fit the holes about the data storage. I know that the Plus version of Netduino can drive a SD, but I'm not aware about details/specs.

RTC: no problem. I have almost ready an I2C-Bus driver for the NXP PCF8593 chip. It requires just few micro-amperes to hold the clock working, thus a normal lithium battery should be able to retain the life for over 5-10 years. Bear in mind that the battery won't be used during the normal supply, thus the life could be even longer.

LEDS: no problem. I suggest to use a 74HC595 chip to drive up to 8 leds with ease. There are lots of examples of driving leds in such a way.

RS232: I'd suggest a dramatic choice for this feature. Consider the MAX3111, which is a SPI-to-RS232, full-embedded chip. One chip, one RS232: quick and dirty. Along this way, you may count even several UART on the same Netduino.
Question: how will be the expected baud-rate of the RS232's?

Hope it helps.
Cheers
Biggest fault of Netduino? It runs by electricity.

#3 Crosswired

Crosswired

    New Member

  • Members
  • Pip
  • 4 posts

Posted 19 December 2011 - 05:39 PM

Hi Mario, thanks for your answer.

This device should be powered up for most of the time so it's good to read that the battery is not in use then. Of course there would be storage before first use so that would eat into the battery. But that should be ok.

I'll have to read the document about your led suggestions a few times before I understand it. 8 would be more then plenty though. I'm trying to keep the cost down, so worst case scenario I could solder on the Netduino to "redirect" the user led with some cable.

The specifications for the RS232 are:

Communication parameters (serial) can be configured as follows: 9600, 19200 or 38400 bps, 8 data bits, no parity and one stop bit.
Flow control methods are available: XON / XOFF, DTR / DSR, CTS / RTS flow control or not.

Not sure what I would do with this, I think adding dipswitches for the baud rate would be overkill. I probably just go with 38400. Maybe I could extend the data protocol with a CHANGE_BAUDRATE_AND_RESET message. But you would have to know the current baud rate to be able to set it to something else then. At startup I could flash the led a certain way to indicate which of the 3 rates the device is set to.


Thanks again for your feedback,
keep it coming ya'll :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.