Maker Pro
Maker Pro

CHEAP Serial bus, control 200 devices, 50 meters

F

Fred Bloggs

Armin said:
Please differenciate between the production costs (<10$ ??) and the end
user price ... or do you are tkinking about GPLed hardware? :)

Armin

It looks like the "Rabbit" line is overpriced at $31ea qty 100 just for
the controller. Forget them. Microchip has flash PICs and freeware for
developing TCP/IP applications, and they have several app notes on
developing an SNMP which should work well for this network where
everything centers around a 16-bit status and single bit control
commands.
http://www.microchip.com/stellent/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2008
 
N

Nico Coesel

Rene Tschaggelar said:
Ooohhhh, nooooooo.
Never attempt to control a process with a PC. A PC is not
reliable enough. Nor can a timing be guaranteed.
A floting point error in some unimportant display routine
can stop the application.

If you hired the wrong programmer... If you separate the control
processes and the user interface, there is not much which can go
wrong. If you can tolerate 100ms response time, a professional PC
running Windows will do fine for controlling processes.
You always have to consider the PC stops working. The
motors running keep running. The heaters keep

This goes any control system. You'll need electromechanical fail safes
for any critical system.
 
N

Nico Coesel

Rene Tschaggelar said:
Yes, the ethernet chip does up to the IP level. Meaning
1500 something bytes, no ports, no retransmit, no reassembly.
It may depend from which platform you look, from an 8bit
micro TCP/IP is a heavy burden. I'd possibly prefer UDP
if it had to be. The random transmissions have to be
controlled somehow to reduce collisions. But a master-
slave setup should do that nicely.

No, not UDP. You'll need something which is acknowledged. This gives
you reliability and keeps the master waiting for the target to finish
and acknowlegde the operation. This prevents overflowing the target's
buffers.
 
B

Brian

It looks like the "Rabbit" line is overpriced at $31ea qty 100 just
for
the controller. Forget them. Microchip has flash PICs and freeware for
developing TCP/IP applications, and they have several app notes on
developing an SNMP which should work well for this network where
everything centers around a 16-bit status and single bit control
commands.

I may be biased working for Rabbit, but I say don't forget it.

A PIC doesn't have enough flash or RAM on chip for a robust
implementation of a TCP/IP stack and SNMP to boot, so the external
flash and RAM already on the Rabbit Core Modules will be needed for the
PIC too.

By the time he puts together the HW, tools, stack, and SNMP and starts
writing his application for a PIC-based product, he could have the
Rabbit version on the shelf. SNMP is already implemented on top of a
mature, robust, royalty-free TCP/IP stack. Support for the HW,
development tools, stack and RTOS (if one is used) all come from the
same place.

If he wants to move into higher volume he can incorporate the core
module design and just buy Rabbit chips and use the same SW. If he
wants a web server and browser interface for the app, a rapid
application development system for web interfaces will save weeks of
complex CGI programming:
http://www.rabbitsemiconductor.com/products/dc/DC9/modules.shtml#RabbitWeb
If he wants to add higher security to it, SSL/HTTPS is also implemented
and takes advantage of special Rabbit instructions to make it fast,
which it won't be on the PIC.

A full version of the development tools with the TCP/IP stack and over
700 sample programs and applications come with the inexpensive
development kits:

http://www.rabbitsemiconductor.com/products/rcm3700/
 
R

Rene Tschaggelar

Jerry said:
keith wrote:
Let's see ... 200 drops in 50 meters ... on average, the drops are 25
centimeters apart. If the controller is in the middle and the bus goes
out in several directions, the drops may get as far apart as a meter on
average. That's still a pretty tight cluster of machinery/

Lets see. 50m radius makes almost 10000m^2. You'd fit
100 devices in there with 10m distance each.

Rene
 
R

Rene Tschaggelar

Nico said:
No, not UDP. You'll need something which is acknowledged. This gives
you reliability and keeps the master waiting for the target to finish
and acknowlegde the operation. This prevents overflowing the target's
buffers.

Why not acknowledge on the application level ?
Just an Ack is boring. A real reply would lower
the load of the bus.

Rene
 
J

Jerry Avins

Rene said:
Lets see. 50m radius makes almost 10000m^2. You'd fit
100 devices in there with 10m distance each.

Rene

But how long will the signal wires be?

Jerry
 
B

Ben Bradley

Years ago, I implemented an RS-422 multidrop system for Siemens Energy
and Automation, complete with a proprietary signaling protocol designed
for robustness in an industrial environment. The arrangement used a star

Messages were composed in ASCII to simplify analysis of data traffic.
Logging was as simple as letting a printer eavesdrop. I strongly
recommend the practice when time permits. There's a simple routine at
the end of http://users.erols.com/jyavins/tantrum.htm for outputting hex
data in ASCII. (68HC11 assembly code)

DDJ didn't publish that? I now remember (I haven't even though of
this in years!) that I wrote and DDJ published a semicoherent rant
about the C language (I had the bad luck of learning C just before the
ANSI standard came out), and once I saw where my published letter took
most of a page, I wished I'd submitted it as a "guest editorial" or
some such and gotten paid for it!
About your code, there's a routine in the Apple ][ ROM (source
listing in the "Red Book" included with early ]['s) to do the same
thing with a 6502 (its branch and call instructions are almost
identical to the HC11), and the code looks almost identical to yours.
I'm not accusing you of plagiarism or any such, just pointing out that
several people doing the most efficient implementation of a fairly
simple task like this are likely to come up with the same solution.
 
J

Jerry Avins

Ben said:


DDJ didn't publish that? I now remember (I haven't even though of
this in years!) that I wrote and DDJ published a semicoherent rant
about the C language (I had the bad luck of learning C just before the
ANSI standard came out), and once I saw where my published letter took
most of a page, I wished I'd submitted it as a "guest editorial" or
some such and gotten paid for it!
About your code, there's a routine in the Apple ][ ROM (source
listing in the "Red Book" included with early ]['s) to do the same
thing with a 6502 (its branch and call instructions are almost
identical to the HC11), and the code looks almost identical to yours.
I'm not accusing you of plagiarism or any such, just pointing out that
several people doing the most efficient implementation of a fairly
simple task like this are likely to come up with the same solution.

...

I strongly believe that the only way for most of us to become good
writers is reading the works of good writers. In that sense, written
programs are much like other literature. My assembly code style
developed when I was writing code for 1802 (with no role model) and in
the 6502, where I had the excellent monitor ROMs of the KIM-1 and the
AIM-65 to serve as models of style and repositories of neat ideas. I
read them to learn how to use their functions, but to do that, I needed
to understand what the code did, and the details were enlightening.

I first encountered the "trick" of one function calling another just
after it with no RETURN statement in order to repeat an action in the
AIM-65 monitor. In outline, it looks like this:

DBLSP: CALL CRLF
CRLF: <code to output $0A $0D>
RETURN

When DBLSP (doublespace) is called, CRLF (Carriage-Return/Line-Feed)
executes twice, then returns to the original caller. You don't forget
lines like that any sooner than you forget "Jenny kissed me when we
met"* if you happen to come across it.

I guess that my point is that writing in the same style often creates
similar works. (It's no wonder that some early Mozart sounds rather like
Haydn.) There's no plagiarism, but no coincidence, either.

Jerry
____________________________________________
* Jenny Kissed Me by Leigh Hunt

Jenny kissed me when we met,
Jumping from the chair she sat in.
Time, you thief! who love to get
Sweets into your list, put that in.
Say I'm weary, say I'm sad;
Say that health and wealth have missed me;
Say I'm growing old, but add-
Jenny kissed me!
 
Top