Netduino home hardware projects downloads community

Jump to content


Photo

An early look at the RS-232 GoModule specs...


  • Please log in to reply
24 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 10 September 2012 - 07:38 AM

When drafting the specification for the RS-232 GoModule, we knew we wanted to pack in rich functionality.

We looked at various scenarios, both master (DTE) and slave (DCE). We studied various ways to connect modems, scales, barcode scanners, computers, and more. We evaluated flow control requirements. We researched power saving capabilities.

And we looked at ways to provide good link diagnostics information to the user.

I'd like to introduce some of the features of our new RS-232 module, estimated to ship in late autumn.

Please note that we re-evaluate specifications at several points in the development process. The following is subject to change but we hope to fit it all into an affordable and powerful RS-232 GoModule.

ESD protection
First of all, the RS-232 interface chip that we're using has many kilovolts of ESD protection. We don't want you to worry about shocking your Netduino Go when connecting serial cables.

Connection auto-detect
And speaking of plugging in cables...RS-232 connections use positive and negative voltages to communicate signals (instead of positive voltage versus ground). This means that we can detect when a connection is live. The module's "ACT" LED will automatically turn on (consistent with the Ethernet module) to indicate that the link is live. And then the LED will similarly blink when data is transmitted or received.

Premium DB9 (9-pin) connector
There are two types of connectors available for RS232, plugs (master, male) and sockets (slave, female). Computers tend to have DB9 plugs and devices tend to have DB9 sockets. If you need to connect two masters, a null modem (cross-over) cable can be used.

Since masters are traditionally the more flexible of the two, we're using this DB9 plug. The module can be attached to a computer using a crossover (null modem) serial cable, and of course it can also be connected directly to serial devices such as scales and modems and industrial robots.

Most RS232 connectors tend to use "gold flash" on their pins and are rated for about 50 mating cycles. This is fine for a mouse that's unplugged once a year, but not so good for more frequent use. With budget plugs you can sometimes see the gold color start fading after a small number of mating cycles.

We immerse our PCBs in quite a bit of gold and likewise we're using DB9 plugs with 0.15 microinches of gold plating: this should be good for several hundred mating cycles. We don't want users to worry about wearing out their hardware quickly.

Flow control
Many devices want to talk at high speeds but cannot always handle the full flow of data. So they use flow control. A good example of this is a wireless link like XBee which can run into situations where it can't process (or retransmit) the data fast enough. We are implementing optional RTS/CTS hardware flow control signals to prevent incoming buffer overflows on both sides of the connection.

Desktop SerialPort features come to NETMF
On the desktop, you can capture the PinChanged event to know when the modem notices the phone line ringing. You can enable/disable DTR. And read the value of the Carrier Detect pin. These RS-232 features don't apply to normal .NET MF microcontrollers which use TTL serial ports with TX/RX and optionally RTS/CTS pins.

But with the RS-232 GoModule, we're extending the SerialPort class to bring these desktop-class features to your projects.

Extended temperature range
We understand that you'll use your Netduino Go both indoors and outdoors. And some users will lock them in industrial plants or subject them to harsher environments.

To help enable these scenarios, we're using a high-end version of the RS-232 interface chip which supports industrial temperature ranges. Of course the premium RS-232 DB9 plug supports these temperatures as well.

Power save mode
When the module powers on we turn on the RS232 transmit pins automatically. But we can also enable a power-saving mode which turns off the RS232 port when no connection has been detected. This works great for most circumstances...but if you're only using TX pins then you'll want to leave it always-on.

GoBus Virtual I/O
Of course the new RS-232 module will launch with GoBus 1.5 firmware, so you'll see the RS232 as a SerialPort. Need 8 of them? You can plug one into every GoPort.

Wrap-up
We're now formalizing the spec for the RS-232 module and will be starting its PCB layout late next month. We're also ordering the parts now (since it takes a few months to get volume quantities).

If you have any feedback on the RS-232 module design or have a project in mind for it that you'd like to share, please share it in this thread. I'm really looking forward to seeing how you use this new module.

Chris

#2 Igor Kondrasovas

Igor Kondrasovas

    Advanced Member

  • Members
  • PipPipPip
  • 105 posts
  • LocationPorto, Portugal

Posted 10 September 2012 - 04:05 PM


Extended temperature range
We understand that you'll use your Netduino Go both indoors and outdoors. And some users will lock them in industrial plants or subject them to harsher environments.

To help enable these scenarios, we're using a high-end version of the RS-232 interface chip which supports industrial temperature ranges. Of course the premium RS-232 DB9 plug supports these temperatures as well.

Chris


Great News Chris!

What about RS-485? Any plans for that?


Igor.

Igor Kondrasovas

www.inovativatec.com


#3 supra

supra

    Advanced Member

  • Members
  • PipPipPip
  • 210 posts
  • LocationOntario, Canada

Posted 10 September 2012 - 04:12 PM

@chris

Y do u want to build RS232? We already have USB 3.0 on market.
Mostly pc, laptop and ipad doesn't comes with RS232. Posted Image

#4 Nevyn

Nevyn

    Advanced Member

  • Members
  • PipPipPip
  • 1072 posts
  • LocationNorth Yorkshire, UK

Posted 10 September 2012 - 04:17 PM

@chris

Y do u want to build RS232? We already have USB 3.0 on market.
Mostly pc, laptop and ipad doesn't comes with RS232. Posted Image

There are plenty of devices other than PCs which use RS-232 - for instance the smart energy meter as discussed recently.

Regards,
Mark

To be or not to be = 0xFF

 

Blogging about Netduino, .NET, STM8S and STM32 and generally waffling on about life

Follow @nevynuk on Twitter


#5 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 10 September 2012 - 05:23 PM

Hi Igor,

Great News Chris!

What about RS-485? Any plans for that?

No current plans for RS-485 or RS-422, but that's certainly something that could be created by one of the ecosystem partners. Lots of cool industrial uses for that.

Chris

#6 NXTwoThou

NXTwoThou

    Advanced Member

  • Members
  • PipPipPip
  • 68 posts
  • LocationTulsa, OK

Posted 11 September 2012 - 03:25 AM

Honestly, I'm really happy about this. One of the industries I work in uses serial ports extensively to communicate between equipment. I've always just considered fuller-fledged computers for any of these applications but could now see doing some of the more basic work with Netduino. Now if there was just a USB port with HID drivers for USB barcode scanners(USB scanners go for under $40, serial over $80) I'd be even more set.

#7 nakchak

nakchak

    Advanced Member

  • Members
  • PipPipPip
  • 404 posts
  • LocationBristol, UK

Posted 11 September 2012 - 08:40 AM

Honestly, I'm really happy about this. One of the industries I work in uses serial ports extensively to communicate between equipment. I've always just considered fuller-fledged computers for any of these applications but could now see doing some of the more basic work with Netduino. Now if there was just a USB port with HID drivers for USB barcode scanners(USB scanners go for under $40, serial over $80) I'd be even more set.


Agreed you be great if i could use usb barcode scanners and rfid modules (my main focus at work is cashless payment systems for vending and restaurants) without having to use the serial versions...

Also a bit mask setting would be great so i could strip out unneeded bytes from RFID readers, i.e. strip a sitecode from a mifare classic and just return the serial number by ignoring the first n bytes or similar...

Nak.

#8 Pete Brown

Pete Brown

    Advanced Member

  • Members
  • PipPipPip
  • 138 posts
  • LocationAnne Arundel County, MD

Posted 11 September 2012 - 04:46 PM

Very nice :)
Pete Brown - http://10rem.net (NETMF, C++, Windows, C64, and general geekery) Twitter: @pete_brown
I work for Microsoft. Opinions expressed here are my own and do not necessarily reflect those of my employer,our partners or customers.

#9 Lunddahl

Lunddahl

    Advanced Member

  • Members
  • PipPipPip
  • 152 posts
  • LocationEurope, Denmark

Posted 13 September 2012 - 10:24 AM

GoBus Virtual I/O
Of course the new RS-232 module will launch with GoBus 1.5 firmware, so you'll see the RS232 as a SerialPort. Need 8 of them? You can plug one into every GoPort.


No daisy chaining ?

- Ulrik Lunddahl

#10 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 13 September 2012 - 10:27 AM

Hi Ulrik,

No daisy chaining ?

There's no daisy chaining on the RS-232 modules, but with GoBus 2.0 you would be able to attach them to the end of a chain.

Chris

#11 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 15 September 2012 - 03:19 AM

We've been working through the object model for the RS-232 module's NETMF driver, and here's what we've determined so far.

The RS-232 module will expose a single UART instance to the mainboard. Internally this is UART 0 (which you can grab via the GoBus framework without needing to even use the RS232 module class), and the RS232 class will expose it in a SerialPorts enumeration...just like regular NETMF boards do.

Here's what user code would look like:
NetduinoGo.RS232 rs232 = new NetduinoGo.RS232();
SerialPort sp = new SerialPort(rs232.SerialPorts.COM1, 115200);
sp.DataReceived += sp_OnDataReceived;
sp.Open();
Feedback? Anything else you'd like to see on the RS-232 GoBus module?

Of course you can also set the parity, handshaking, CDHolding property, etc.

Chris

#12 supra

supra

    Advanced Member

  • Members
  • PipPipPip
  • 210 posts
  • LocationOntario, Canada

Posted 15 September 2012 - 03:22 AM


Anything else you'd like to see on the RS-232 GoBus module?

Chris


NAAAAAAAAAAAPosted Image I like to c USB 3.0Posted Image

#13 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 15 September 2012 - 03:27 AM

I like to c USB 3.0Posted Image

It's certainly possible to build a USB Host or USB Client module using GoBus. We'd need to work out the profiles. These tiny micros and transport couldn't keep up with the super-fast speeds of USB 3.0, but USB 2.0 is a definite possibility.

Chris

#14 Alex531

Alex531

    New Member

  • Members
  • Pip
  • 8 posts

Posted 21 September 2012 - 03:29 AM

It's certainly possible to build a USB Host or USB Client module using GoBus. We'd need to work out the profiles. These tiny micros and transport couldn't keep up with the super-fast speeds of USB 3.0, but USB 2.0 is a definite possibility.

Chris

Can the GO USB act as a usb 2.0 host? I Would like to be able to connect 2 usb devices to a GO. If not is anyone working on a USB host module?

Thanks

~Alex

#15 jp123

jp123

    New Member

  • Members
  • Pip
  • 1 posts

Posted 10 September 2013 - 09:27 PM

Is this still "Coming Soon"?



#16 Floris

Floris

    New Member

  • Members
  • Pip
  • 2 posts

Posted 15 April 2014 - 11:30 AM

Hi Chris,

 

Good news that the RS232 module is "coming soon" because I'm waiting with purchasing a Netduino until this comes available. (Because I need at least 4 serial ports...)

So definitely the combination of Netduino and having multiple serial ports will be very useful for a lot of users.

(Please don't pay attention to people who say "Y do u want to build RS232? We already have USB 3.0 on market." because these people don't have a clue about the applications where RS232 is still used and why using USB is a bad choice for a lot of communication methods.)

 

?Anyway I was hoping you could re-consider the choice of plug that you're going to use for this module.

It would be good to have the option to have an IP67 rated (or similar) plug so we could mount the module directly to the enclosure.

(So a module that hasn't the plug already soldered to it).

This would give us the option to use plugs such as these:

http://www.blackbox....r-Female/FAW011

So I'm not asking to include such plugs... because I can imagine that the module would then become to expensive for most users here who just want a simple RS232 module.

 

Also, when designing the RS232 module, then please check/verify the clock speed versus available baudrates.

As you probably know, it is very important to have these in sync in order to get error free communication on all available baudrates.

 

And last but not least.. I hope you could give us an update on the progress for this new module because a lot of people are waiting for it.

 

Thank you in advance,

Greetings,

Floris.



#17 Floris

Floris

    New Member

  • Members
  • Pip
  • 2 posts

Posted 15 April 2014 - 11:38 AM

@chris

Y do u want to build RS232? We already have USB 3.0 on market.
Mostly pc, laptop and ipad doesn't comes with RS232. cool.gif

Hi Chris,

 

If you don't see the need of such a module.. then just don't buy one  ;)

However, let me tell you that RS232 is still one of the most stable communication methods to use.

If you would use USB for most industrial processes, then I'm afraid your iPad would suddenly becomes much more expensive.

RS232 is for PROFESSIONAL use.. not consumer use...

I even have a PDA with 2x RS232 ports on it.... and you can still buy laptops as well which have them.

(Again.. professional laptops..not consumer laptops.)

 

Greetings,

Floris.



#18 beastyboy

beastyboy

    Advanced Member

  • Members
  • PipPipPip
  • 193 posts
  • LocationNetherlands

Posted 12 May 2014 - 10:41 PM

Dear Chris,

 

Any news on the RS-232 module for the GO ?

 

Best regards,

Olaf van Schoten


Van SchOten Ict Diensten en Services
http://www.voids.nl


#19 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 13 May 2014 - 03:35 AM

Hi Olaf,

The RS-232 module for Netduino Go is currently scheduled for launch in the autumn. Tentative date to begin production is 17-Sep-2014. There are a few other GoBus modules in queue before it, but it is in this year's lineup.

Chris

#20 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 13 June 2014 - 11:16 AM

Hey team,

We have approved the RS-232 GoBus module for production :) It will take eight weeks or so for PCB production, assembly, flashing and testing and then we can ship these to resellers. I will be posting the new Netduino Go 4.3.2 beta firmware at the same time as the module--which is necessary to use the shiny new GoBus 1.5 "draft" firmware for STM8S :) More on that later.

It may sound odd to be this enthusiastic about a serial port module, but the hardware turned out really nice. It has built-in ESD protection and the physical port pins have gold plating for a higher connection cycle rating.

The cable auto-detect is pretty cool too: when you plug in a live RS-232 connection, the ACT LED lights up just like the Ethernet LED on a Netduino Plus 2. And we can blink the LED the same way...it's a very consistent feeling.

The module supports all 8 pins from the RS-232 port, so you can get the state (polled or event-based) for DCD, DSR, and RI. The module also supports RTS/CTS handshaking and control over DTR. And if you use a cross-over cable, you can "capture" DTR changes as a slave. When you turn off the device which is connected on the other end of the RS-232 link, the module even goes into low-power mode. We have more work to do here in the future, but it's cool to see this level of power management in the core hardware.

We may have gone a little overboard with both GoBus 1.5 and this new module. It took a lot longer than we anticipated to create the GoBus 1.5 firmware for STM8S--and we'll probably still be optimizing and testing it until we have to send these units off to resellers. But I think you guys are going to like it. I really appreciate that you have all been so patient while we have been designing new hardware, writing new firmware, and preparing for production.

BTW, we have SerialPort (UART) and GPIO running over GoBus 1.5 (on STM8S) right now...and we will be working on I2C next. I2C is for the Ambient Light module and other future I2C-based sensor modules.

[And yes, we will be posting the GoBus 1.5 for STM8S source along with the modules...for those who want to build their own gear. We can post the source when the new hardware ships. We have also made a few minor tweaks and clarifications to the GoBus 1.5 spec, based on real-world testing.]

Chris

P.S. The official ship date for the RS-232 module is 17-Sep-2014. We're running a bit faster than that on schedule right now and we might be able to ship the hardware a bit earlier...but there's a big firmware update for Netduino Plus 2 coming in July/August and I want to make sure we give both releases (4.3.2 for NP2 and 4.3.2 for NG) the focus they need for quality reasons.




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.