How do you construct hardware to understand a protocol?

chrstrbrts

Senior member
Aug 12, 2014
522
3
81
Hello,

I know that my question is probably insanely broad, but I'm curious nonetheless.

Generally speaking, if I want a piece of hardware to understand some type of protocol, how should I go about constructing it?

Thanks.
 

tynopik

Diamond Member
Aug 10, 2004
5,245
500
126
Hello,

I know that my question is probably insanely broad, but I'm curious nonetheless.

Generally speaking, if I want a piece of hardware to understand some type of protocol, how should I go about constructing it?

Thanks.

find some way to digitize it or convert it to usb and then use a microcontroller to process in software
 

MongGrel

Lifer
Dec 3, 2013
38,466
3,067
121
Hello,

I know that my question is probably insanely broad, but I'm curious nonetheless.

Generally speaking, if I want a piece of hardware to understand some type of protocol, how should I go about constructing it?

Thanks.

Insanely broad would be putting it lightly, IMHO.

Join a FIRST robotics team ?
 

corkyg

Elite Member | Peripherals
Super Moderator
Mar 4, 2000
27,370
240
106
As stated, it is probably too broad. Step 1 would be to define or articulate the protocol the hardware must accommodate. A simple example of hardware designed to handle or support a communications protocol could be a connector, example, a USB connector. It is designed so as to allow data and energy to be transmitted between two elements. While it may be dumb, it can only be used one way. This hardware has been designed to support a given protocol.
 
Feb 25, 2011
16,994
1,622
126
Firmware.

Firmware is the "OS" of the device, which determines what it's actually supposed to do with what input.

A very simple example might be programming an Arduino to understand morse code (a very old communications protocol). There's a bunch of examples of this around the internet. Gotta love those Ham guys.

But they basically boil down to: 1) detecting when input has started, 2) detecting what the input is, 3) detecting when the input has stopped, and 4) doing something based on that input.

Even then, when you're writing Arduino firmware, the Arduino IDE is doing like 90% of the work for you - you're just adding a couple features. But that's typical unless you've developed your own microcontroller.