[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

The  sampling period  is limited by the number of DMA cycles allocated to
an audio channel. Each audio channel is allocated one DMA slot per
horizontal scan line of the screen display. An audio channel can retrieve
two data samples during each horizontal scan line. The following
calculation gives the maximum sampling rate in samples per second.

   2 samples/line * 262.5 lines/frame * 59.94 frames/second = 31,469

The figure of 31,469 is a theoretical maximum. In order to save buffers,
the hardware is designed to handle 28,867 samples/second. The system
timing interval is 279.365 nanoseconds, or .279365 microseconds. The
maximum sampling rate of 28,867 samples per second is 34.642 microseconds
per sample (1/28,867 = .000034642). The formula for calculating the
 sampling period  is:

                  sample interval     clock constant
   Period value = --------------- = ------------------
                  clock interval    samples per second

Thus, the minimum period value is derived by dividing 34.642 microseconds
per sample by the number of microseconds per interval:

                      34.642 microseconds/sample
   Minumum period = ------------------------------ = 124 timing
                    0.279365 microseconds/interval   intervals/sample


                    3,579,545 ticks/second
   Minumum period = ----------------------  = 124 ticks/sample
                    28,867 samples/second

Therefore, a value of at least 124 must be written into the
 period register  to assure that the audio system DMA will be able to
retrieve the next data sample. If the period value is below 124, by the
time the cycle count has reached 0, the audio DMA will not have had
enough time to retrieve the next data sample and the previous sample will
be reused.

28,867 samples/second is also the maximum sampling rate for PAL systems.
Thus, for PAL systems, a value of at least 123 ticks/sample must be
written into the  period register .

                       Clock Values

                      NTSC        PAL     units
                      ----        ---     -----
   Clock Constant    3579545    3546895   ticks per second
   Clock Interval   0.279365   0.281937   microseconds per interval

   The Clock Interval is derived from the clock constant, where:

               clock interval = --------------
                                clock constant

   then scale the result to microseconds. In all of these calculations
   "ticks" and "timing intervals" refer to the same thing.

[Back to Amiga Developer Docs]