Hi,
I'm trying to use the LM98714 in 1 channel mode to read out a TCD1209 CCD-sensor. The clock generator is working well, but I have trouble with getting the CLKOUT signal in CMOS-mode. In main configuration register 1 I selected CMOS-mode. I think that I'm able to set the IC to CMOS-mode, because the signals on pins 30 and 31 don't look like clock signals. They look more like irregular data signals. I also set register 30 on page 2 to 0b00100000, but I don't see a signal on pin 40. I've also tried setting the register to 0b00111111 in order to see the control bits, this had no effect either. Checking these signals I saw that for some reason pin 44 is always high. Pin 29 is grounded.
Also I could not get an SH signal in slave mode, but this is not really a problem for my project.
For your reference, here is my register configuration:
typedef struct LM98714_RegisterStruct { uint8_t page; uint8_t address; uint8_t value; } LM98714_Register; static const int PIX_ON_GUARDBAND = 10; static const int PIX_OFF_GUARDBAND = 10; static LM98714_Register LM98714_TCD1209_Config[] = { /* TODO: problems * No CLKOUT * SH works only in master mode */ {0, 0, 0b01000001}, // Main Configuration 0 {0, 1, 0b01011001}, // Main Configuration 1 //{0, 8, 0b00100001}, // Black Level Clamp Control //{0, 9, 13}, // Auto Black Level Clamp Position //{0, 10, 0b00100000}, // Target Black Level MSB //{0, 11, 0b00000000}, // Target Black Level LSB {2, 0, 0b01000000}, // SH Mode {2, 8, 7}, // PIX1 End (phi1) {2, 11, 7}, // PIX2 End (phi2) {2, 13, 0}, // PIX3 Start (RS) {2, 14, 3}, // PIX3 End {2, 16, 3}, // PIX4 Start (CP) {2, 17, 6}, // PIX4 End {2, 30, 0b00100000}, // CMOS Data Mode Status Bit Enable {3, 0, 0b00010010}, // Output Mapping CLK1/CLK2 {3, 1, 0b00110100}, // Output Mapping CLK3/CLK4 {4, 4, PIX_ON_GUARDBAND+13}, // Optical Black Pixels Start {4, 5, PIX_ON_GUARDBAND+13+16}, // Optical Black Pixels End {4, 6, (PIX_ON_GUARDBAND+13+16+3) >> 8}, // Start of Valid Pixels - MSB {4, 7, (PIX_ON_GUARDBAND+13+16+3) & 0b11111111}, // Start of Valid Pixels - LSB {4, 8, (PIX_ON_GUARDBAND+13+16+3+2048) >> 8}, // End of Valid Pixels - MSB {4, 9, (PIX_ON_GUARDBAND+13+16+3+2048) & 0b11111111}, // End of Valid Pixels - LSB {4, 10, (PIX_ON_GUARDBAND+2088+PIX_OFF_GUARDBAND) >> 8}, // Line End - MSB {4, 11, (PIX_ON_GUARDBAND+2088+PIX_OFF_GUARDBAND) & 0b11111111}, // Line End - LSB {5, 0, PIX_ON_GUARDBAND+1}, // PIX1/SH On Guardbands (phi1) {5, 1, PIX_OFF_GUARDBAND+1}, // PIX1/SH Off Guardbands {5, 1, PIX_OFF_GUARDBAND+1}, // PIX1/SH Off Guardbands {5, 2, PIX_ON_GUARDBAND+1}, // PIX2/SH On Guardbands (phi2) {5, 3, PIX_OFF_GUARDBAND+1}, // PIX2/SH Off Guardbands {5, 4, PIX_ON_GUARDBAND}, // PIX3/SH On Guardbands (RS) {5, 5, PIX_OFF_GUARDBAND}, // PIX3/SH Off Guardbands {5, 6, PIX_ON_GUARDBAND}, // PIX4/SH On Guardbands (CP) {5, 7, PIX_OFF_GUARDBAND} // PIX4/SH Off Guardbands };
Regards,
Andre Langhammer