2/24/2008 9T6WP
Preliminary Hardware Data Module
BCM7405
06/29/07
Functional Description
Bro a d c o m Co rp o r a ti o n
Document
7405-1HDM00-R
Peripherals Page 1-73
16-bit count values within the modulating register file are used to control the modulating pulse widths for both Flash IR and
Carrier IR schemes. The actual time duration of these waveforms is based on the value in the BLAST_PRIMPRE register
as well as the value in the modClk field of the BLAST_INDXPRE register, and is given by (1 tick) = ([reg_clk_period] *
[p 1] * [ 1]) where reg_clk_period = 1/27 MHz = 37 ns. The last four locations within the BLAST_MOD
register file correspond to double-length time values, given by the previous equation x 2. The BLAST_SEQ register file is
used to select which modulating pulse width is active at any given time by pointing to a value in the BLAST_MOD register
file. The carrier frequency and duty cycle are fully programmable within the IR Blaster logic.
The carrier and the modulating waveforms are synchronized to each other. Thus, the first carrier pulse is never truncated.
However, if the length of time the modulating waveform divided by the carrier-pulse time is not an integer, then the last carrier
pulse is truncated. In other words, the quantity below must be an integer, or the last carrier pulse is truncated.
modCnt x modPrescale
( carrLO) x carrPrescale
The sequence and modulating register files are used in concert in the creation of IR blaster waveforms. There are fourteen
16-bit Modulating Count values stored in the modulating register file. These values describe the actual pulse widths of the
modulating waveforms. The sequence register file contains the addresses that are used to index into the modulating register
file. Each nibble within the sequence register file describes the address within the fourteen 16-bit locations to the
BLAST_MOD Register file that holds the count value describing the width of the modulating waveform to be output. A
sequence counter is used to index into the sequence register file. In blast operation, the first nibble selected within the
sequence register file points to a modulating pulse width on-time. The next nibble selected within the sequence register file
points to a modulating pulse width off-time. The polarity that corresponds to an on-time or off-time depends on the value of
the coffLev control bit in the BLAST_CONTROL register. 16-bit word locations $0-$9 within the BLAST_MOD register file
correspond to normal length values, while locations $a-$d correspond to double-length values.