On Sun, 28 Nov 2004, Andrew Kohlsmith wrote: > On November 28, 2004 04:23 am, Peter Svensson wrote: > > If there are several digium cards with 1kHz interrupts then maybe only one > > of them should be causing interrupts. The other cards could be serviced > > from within that handler. It does sound a bit tricky. > > This is what I'm not getting; why it's tricky. > > Say you have an ISR with a list of cards to service. Normally the list has > only one entry: the entry for its own card. > > Now with two cards installed, the module init code would see the second card, > disable the timer interrupt on the second and add card 2's address to the > list of cards to service.
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. Peter _______________________________________________ Asterisk-Dev mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-dev To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
