Individual patterns perform an functional operation on the array. In order to perform complete readout (reading out and samplings pixels on the array), the these patterns must be applied to the array in a specific sequence.
The IC application builds up this sequence table and downloads it (along with its related patterns) into the clock DSP RAM. The IC can instruct the clock DSP to execute this sequence table. This cause the clock DSP to step though outputting the individual words in each pattern in the sequence defined by the sequence table.
2. General format of the sequence table:
This information is obtained from the Hi.h files. Please refer to it for the most acturate information..
As stated above the sequence tables are loaded into the DSP RAM along with the patterns. The pattern stored in RAM using the following format:
struct pat_t /* Pattern - series of clocking waveforms */for example
{
unsigned long pmask; /* preserve bits mask */
long n; /* number of entries */
long w[CK_MAX_PAT_ENTRIES]; /* bits defining waveform */
};
0e000e40The the SBRC 1024x1024 array, there are 14 (CK_NUM_PATTERN) type of patterns defined. See the defines CK_P{12345}* in Hi.h show what functional operation each pattern is expected to preform.
00000004
00000040
008000c0
008000c0
008000c0
The sequence table are stored in RAM using the following format:
struct tab_tfor example:
{
long n; /* number of entries */
long dummy; /* dummy spacer */
struct tab_ent_t /* Table enty consist of: */
{
long rep; /* repeat factor for patter. */
long paddr; /* pattern to execute. */
} p[CK_MAX_TBL_ENTRIES];
};
00002 ; 2 entiriesThe function HiCkGetPattern() load these 26 patterns in to the IC memory.
00000 ; dummy data
00001 ; rep factor for 1st entry.
33c00 ; reference to 1st pattern
00003 ; rep factor for 2nd entry.
33d00 ; reference to 2nd pattern
a. calculation timing information based on using parameters.The clock dsp has room for 2 seqence tables, the memory locations are define in dsp_clock.h as:
b. Assign a DSP RAM location to each of the 26 patterns.
c. Based on user parameters, build a sequence table to readout the array.
d. copy the sequence table into DSP RAM
e. copy each of the 26 pattern in to DSP RAM.
#define CLOCK_TABLE1_DSP_ADDR (0x31000) /* Location of Table1 */for example, if the address CLOCK_TABLE1_DSP_ADDR is used then:
#define CLOCK_TABLE2_DSP_ADDR (0x38000) /* Location of Table2 */
Seqtable is stored at 0x31000
(seqence table has limit of 13800 entries, see Hi.h for details).
Pattern00 is stored at 0x31000 + 0x6c00(CK_PATTERN_OFFSET) =
0x316c00
Pattern01 is stored at Pattern00 + 0x100(CK_PATTERN_LEN)
= 0x316c40
...