This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Data object standard / protocol

Hi

I am doing a project based on a Tiva C microcontroller. My question, however, is of a more general character - I hope that is okay.

I want to be able to extract data from my Tiva C microcontroller using a serial interface (this could in principle be any kind of interface). To do that, I would like to use somekind of standard / typically used data description which allows me to use standard software (preferable freeware) to extract the data. 

I image that the definition would define something like this:

1. A possibility to get a list of objects / data structures which are available on the microcontroller (this would include a reference to the object, the data type of the value and maybe a scaling of the value)

2. By using the references in the list of objects, it would be possible to extract the values of the objects using some standard PC-software.

The data object could be anything from simple integer values to character arrays and structures.

I have been looking around for such a definition, but without luck.

Are any of you familiar with something like this? I would very much like to use something predefine and save the trouble of writing my own definition and PC-software to communicate with the microcontroller. Also, I hope to find something that is rather simple to implement.

I appreciate any help you can provide.

  • Hello Christian,

    What you have mentioned is possible. However you would need to bind the problem. What type of interface do you plan to use to get the data, what kind of software on PC you want to use, define the structure.

    I have used Serial UART protocol, created my own structures and then used TeraTerm to display the data of my interest after processing it in a standalone system. That served my purpose. It would not be possible for me to share such a code but help you define the problem statement better for a uC implemetation.

    Regards
    Amit
  • Hi Amit,

    thanks for taking the time to reply.

    I am sorry if I was not perfectly clear.

    I have been looking for some kind of data object definition (which is independent on physical communication layer) which is already being used and is possibly supported by many different PC-programs. My goal is not to print my data to a terminal program in e.g. ASCII format.

    I have considered XML because it is widely used. As an example, the “object list” might look something like this in XML:

    <DATAOBJECTS>
    <Obj>
    <ObjId>1</ObjId>
    <Type>Uint_8</Type>
    <Length>1<Lenght>
    <Scaling>1.5</Scaling>
    <Offset>100</Offset>
    <Value>377<Value>
    <Obj>
    <Obj>
    <ObjId>2</ObjId>
    <Type>Char</Type>
    <Length>17<Lenght>
    <Value>This Is A String<Value>
    <Obj>
    <Obj>
    <ObjId>3</ObjId>
    <Type>boolean</Type>
    <Value>false<Value>
    <Obj>
    </DATAOBJECTS>

    ...but I don’t think it is very convenient in small embedded system.

    I am not very much into communication, but I think what I am looking for is something above what is sometimes called the Data Link Layer. E.g.:

    (Missing data definition layer)
    ______________________
    Data link layer (e.g. HDLC)
    ______________________
    Physical layer (e.g. serial)

    I know that some proprietary versions exist in some industries.

    Best regards
    Christian
  • Hi Christian, XML is an ASCII based descriptive language has nothing to do with microcontroller nor internal structure.
    Your problem seems to be general programming and general transport protocol than specific to TIVA so it require C/C++/Others languages knowledge and protocol theory, are you experienced with them?