Cbus timing ticks?

Discussion in 'C-Bus Wired Hardware' started by PGOLD, Nov 10, 2009.

  1. PGOLD

    PGOLD

    Joined:
    Nov 10, 2009
    Messages:
    22
    Likes Received:
    0
    Location:
    QLD Australia
    Hi

    Can anyone tell me if there an easy way to detect a simple form of timing "tick" signal that is common to all cbus networks - via a PCI ?

    Is there any regular pulse sent out on cbus networks that can be easily detected by testing a few string codes as a monitored application?

    I am not after a "time and date" just a regular tick or pulse that can be used to 'roughly synchronise' a general timer to say within a few seconds of accuracy?

    thanks

    peter
     
    PGOLD, Nov 10, 2009
    #1
  2. PGOLD

    ICS-GS

    Joined:
    Nov 1, 2004
    Messages:
    347
    Likes Received:
    0
    Location:
    SE Melbourne
    what is it that you are trying to achieve?

    If you have a unit with the logic engine you can actually use the system time as a reference. eg. time >= 8:00:00am, or time = sunrise + 1:15:00...

    Hope this helps

    Grant
     
    ICS-GS, Nov 10, 2009
    #2
  3. PGOLD

    ashleigh Moderator

    Joined:
    Aug 4, 2004
    Messages:
    2,397
    Likes Received:
    26
    Location:
    Adelaide, South Australia
    There is no such beast.

    You can't assume there would be one either.

    Nor should you try and make one. Because it won't be accurate.

    C-Bus at its lowest levels down in the guts of the protocol does have some accurate timing information but this is not available at the higher levels through a PCI.

    If you try to regularly transmit a message for such a purpose you will find variation in its accuracy - this is because the system used for transmission is Carrier Sense Multiple Access with Collision Resolution (CSMA/CR) - an implication of this is that devices DO get fair access. Unlike ethernet (CSMA/CD) there is no exponential backoff, BUT there is still a timing variability in when a device can transmit, which is determined by the message priority you transmit with, and a bunch of other (deterministic) factors.

    The best solution to this problem is to have your own local timing source using a crystal oscillator. Set up your microprocessor so that you have regular timing interrupts coming in - say every 50 or 100 milliseconds. You interrupt handler can then just run an accumulating counter (eg count to 10 or 20) and set a "one second" flag which the main running program can wait on.

    If this form of internal relative time is not Ok (you want to run a real time-of-day clock as well) then do the same thing.... use the 1 second flag + counters to run up a standard clock counting hours, minutes and seconds. And then use the cbus date and time application to re-sync that clock by receiving and loading updates into that clock.

    This - by the way - is how all Clipsal devices (like for example DLT) work in maintaining a time of day clock, and keeping all the clocks synchronised together.
     
    ashleigh, Nov 10, 2009
    #3
  4. PGOLD

    PGOLD

    Joined:
    Nov 10, 2009
    Messages:
    22
    Likes Received:
    0
    Location:
    QLD Australia
    Thanks Guys

    As mentioned I am using a local up tick clock but need to somehow synchronise it to a cbus system clock system or tick?

    I am not familar with the C-CBUS Date Time application - is this something that is "always transmitted" on ALL C-Bus networks or only when particular C-BUS hardware parts are installed -- and if so what module(s) or device(s) are these Date-time signals transmitted from and how ofter is it broadcast?

    I will look into C-BUS date Time application.
     
    PGOLD, Nov 11, 2009
    #4
  5. PGOLD

    NickD Moderator

    Joined:
    Nov 1, 2004
    Messages:
    1,427
    Likes Received:
    64
    Location:
    Adelaide
    It is available for download here.

    Messages on this application only come from "Time Mastering" devices. Devices such as CTouch (B&W or Colour), Wiser, and PAC are all such devices, although only the Wiser can has the highest accuracy class (and then only if it has an active connection with an NTP source).

    Can you tell us what you're actually trying to achieve? We may be able to give you better suggestions.

    Nick
     
    NickD, Nov 11, 2009
    #5
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.