[Asterisk-Dev] why not disable clock when using multiple Zaptel cards?

Andrew Kohlsmith akohlsmith-asterisk at benshaw.com
Sun Nov 28 15:55:04 MST 2004


On November 28, 2004 12:28 pm, Peter Svensson wrote:
> One problem that has been / is being discussed in another mail thread is
> that the cards are in fact not synchronized. After a while the internal
> clocks on the cards will diverge a large enough fraction of a ms. If I
> remember correctly there is only on ms worth of buffering where at least
> two would be needed to handle all possible phase shifts between the
> interrupts on two cards.
>
> Even if the two (or more) cards were made to drive their clocks at exactly
> the same frequency they can still end up in different phases. Of course, a
> more advanced clock servo loop can keep the 1kHz timer phase. This, I
> feel, is where things get tricky.

Hmm -- So I suppose there is no mechanism to say "start collecting TDM data 
*now*" and then let the clock go at the whatever rate it's going at on the 
local card, picking it up whenever the interrupt occurs on the "master" clock 
card -- okay there will be some skew but I wonder how noticeable it really 
will be.

This is, of course, all just generic hand-waving at this stage.  :-)

Similarly I'm curious as to what it would sound like if the cards did all run 
free and you just collected the 8 bytes of data when the master card was 
picking up its data -- you'd have some initial skew but after the first data 
'pull' it shouldn't matter...  they're all crystal-driven so the actual 
discrepancy between cards in the same case (i.e. at the same ambient and with 
the same power) would be on the order of a few (hundred maybe?) ppm -- hardly 
anything you'd notice in real life.

-A.



More information about the asterisk-dev mailing list