0
\$\begingroup\$

First off I'd like to say that once I figure out what kind of communication I am dealing with here, I'd like to change the title of this question to something more appropriate (or if someone else understands what I am asking). Anyway, let me get through the details and then to the question...

I am currently talking to a device over RS-232. For a lot of instrumentation you would typically send SCPI commands, say if you have a meter you'd send something like MEAS:VOLT:DC which would measure the DC voltage. Then you might send a command like FETC? to actually retrieve whatever was measured.

In my situation it's quite different, I'd send it an address such as 0x892A4F2C (except in the form of a string) followed by an end-of-line character. The response would then be whatever data is at that address. Although these are not SCPI commands, the functionality is fairly similar. I've heard that this is sometimes done because it's more efficient for an embedded device to think about things in hexadecimal (as opposed to ASCII).

Does anyone know what this protocol/command-set is called? Is there any industry standard associated with this?

\$\endgroup\$
  • \$\begingroup\$ There's a lack of information, but it could look like MODBUS \$\endgroup\$ – Artūras Jonkus Feb 15 '17 at 20:47
  • 2
    \$\begingroup\$ If the device you are looking at was made by ACME and it was an apple peeler machine you may be well off to call it the ACME apple peeler protocol. \$\endgroup\$ – Michael Karas Feb 15 '17 at 20:49
  • \$\begingroup\$ @MichaelKaras I understand what you're getting at, thanks. If possible I'd like to know what kind of a technique this is or if it doesn't have a standard, then why else would it be done this way? \$\endgroup\$ – Snoop Feb 15 '17 at 20:51
  • \$\begingroup\$ Sometimes the firmware that receives commands such as this is referred to as a "command-line interface" or "command-line interpreter". Not my favorite, but not un-common for manual command entry. \$\endgroup\$ – Tut Feb 15 '17 at 21:10
  • \$\begingroup\$ Serial Control. To be more informative, Memory-Mapped serial interface using Ascii-hex. \$\endgroup\$ – david Feb 16 '17 at 1:43
2
\$\begingroup\$

There is almost no standard in embedded communications protocols over UART connected RS-232 type ports. Engineers and Programmers come up with what works for them.

In some segments there have been some protocols that have stuck and become more standard. Some examples of this are the typical command set sent to modems or the type of data that may spill out of a GPS unit.

\$\endgroup\$
0
\$\begingroup\$

There may or may not be good reasons to use an existing protocols and syntax with common commands using table instead of addresses for ease of documentation or user training.

Standard Commands for Programmable Instruments (SCPI) came from IEEE488 standards which came from HP-IB standards sometimes using HP Basic, both which I had used in the mid-70's for SCADA applications and instrument level ATE functional test.

But this may add an unacceptable amount of overhead or memory for interpreter mode but maybe not for compiled mode.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.