IBIS4 image sensor, no integration. - Page 1
Forum section: electronics / general

author: Boscoe
author_rank: Frequent Contributor
timestamp: May 11, 2017, 08:56:56 pm
content: I don't think I'll find some one who's had much experience with this particular sensor so I'm more asking if some one could have a little read of the datasheet to see if there's something I've missed.My problem is no integration of the pixels. No matter what I set the integration time the pixels are always stuck at the black level. I know this because I can set offset going into the ADCs so the pixel voltage is in the range of the ADC and the values never change based on whether the sensor is covered or exposed to light.This is my current setup of the registers. Below is the datasheet. If anyone has any advice that would be amazing! Thanks.https://www.onsemi.com/pub/Collateral/NOII4SM6600A-D.PDFCode:// Memory for the 15 registersreg [15:0]no_registers [0:15] = '{// SEQUENCER register16'b0000_000100000000,// NROF_PIXELS register16'b0001_000011101111,// 239 for 480 width// NROF_LINES register16'b0010_001010000000,// 640 2// INT_TIME register16'b0011_100000000000,// 1ms int time for 640x480// DELAY register16'b0100_000000001000,// Delay the pixclk by 6 clocks// X_REG register (start position)16'b0101_000000100101,// Y_REG register (start position)16'b0110_000000110110,// IMAGE CORE register16'b0111_000000000000,// AMPLIFIER register16'b1000_000000010000,// DAC_RAW_REG register16'b1001_000000000000,// Needs adjusting on test 10000000// DAC_FINE_REG register16'b1010_000010000000,// Needs adjusting on test// DAC_DARK_REG register16'b1011_000010000000,// Might need to change 10000000// ADC register16'b1100_000000000000,// Can play with the gamma// Reserved16'b1101_000000000000,// Reserved16'b1110_000000000000,// Reserved16'b1111_000000000000};

author: Boscoe
author_rank: Frequent Contributor
timestamp: May 12, 2017, 09:07:37 pm
content: Any one?I've contacted On Semi for some help but they weren't much use. Just said they can't help much as I'm using a custom board - expected not much more tbh. I am getting an NDA signed, however, to access some more information.

author: Boscoe
author_rank: Frequent Contributor
timestamp: May 13, 2017, 05:29:48 pm
content: I have read the serial lines directly going into the sensor on the update and they do correspond to what i set in the code. I also believe it's okay because I can change things like the amplifier gain and it works.One interesting note when I did turn up the amplifier gain. The image returned was alternating white and black stripes suggesting only half the rows were gained up, which I could not explain. I can explain a different way however. The sensor has a non destructive readout mode and 4 sub modes to that. One of the 4 is described as follows:...In setting 3, the row that is read out by the left pointer isreset and read out (first Y_CLOCK), and the row that is readout by the right pointer is read out without being reset(second Y_CLOCK)....This looks like it could fit what I saw in the image. I find almost all of this datasheet difficult to interpret due to poor English, typos and the large amount of ambiguity in almost all of the descriptions which obviously is the opposite of how a datasheet should be. Anyway, this description sounds like the image I saw; row reset then read out (black row due to reset) next row just read out normally (white row).This doesn't make sense when comparing the values for the registers. Even if I set register zero (which determines this behaviour) to all zeros (normal electronic shutter mode) I still get this effect. I can verify the values on the scope too.I have changed the sensor and measured every single pin before and after the change. The pin values and overall results are identical so I'm sure it's not a hardware issue or a faulty sensor.I'll be waiting over the weekend to get the NDA sorted with OnSemi however I not sure the information they'll give will help anyway. I'm still at a completely dead end here - very frustrating.

author: Boscoe
author_rank: Frequent Contributor
timestamp: May 14, 2017, 10:29:16 am
content: Hi eev149, thank you for your reply I really appreciate it.Quote from: evb149 on May 13, 2017, 09:57:07 pmYes this is what I have done and verified on the scope. Each bit matches to what I designed. Most of the time to see correlation in my settings and the sensors behaviour.QuoteYes, as above.QuoteI'm not, I don't think the sensor should be in reset. "... on the rising edge of signal REG_CLOCK and become effective immediately." I assume this means the device would not be in reset.QuoteYes, I have been through all of them, schematic, layout and the populated PCB, checked all resistor values, voltage and continuity.QuoteYes I have been observing the analogue outputs. When I have the OUT1/2 signal connected to the ADC_IN1/2 the voltage would be maximum (no integration) but I could get the signal to lower into the ADC's range by setting the DAC_RAW (DC offset) reg to 0.QuoteThat's a good idea I'll try that this afternoon.QuoteI have done this, BITINVERT does work.QuoteI have tried everything from 0 to 4095, doesn't seem to have any effect.QuoteI have them set to 00 for normal operation.QuoteHave tried throughout the entire range (0-255).QuoteHave tried throughout the entire range (0-255).QuoteHave tried throughout the entire range (0-255).QuoteI have the sensor in reset for 1s at power on before anything is loaded. I have also tried asserting the REG_CLK before clocking anything in via SPI to clear the shift register but made no difference. Where did you read the sensor settings need applying before bring out of reset?Many thanks again, I appreciate the effort going through the datasheet and understanding the function of a device like this.From last night having the OUT1/2 and the ADC_IN1/2 signals unconnected I was getting a varying output that correlated to the amount of light the sensor was exposed to. I did however still got strange results. ADC gain and integration time made no difference to the exposure. The contrast was ridiculously high, obtaining grey on the output was challenging. The DAC reg settings didn't make any difference on the digital output. A calibration procedure is outlined in the datasheet to set the black point offset, you need to keep the sensor in the dark for this, no matter what I set the DAC_RAW register I could not get any output other than zeros output. I did not get time to observe the analogue output at this point, will try that later on.

author: Boscoe
author_rank: Frequent Contributor
timestamp: May 14, 2017, 10:24:12 pm
content: Unfortunately I didn't have time to test today but will do in the week sometime.Yes the image sensor industry is very frustrating. From my experience I've learnt the industry is split in two, one side being the consumer market where I have had zero success in even gaining part numbers apart from a few Sony sensors and the OmniVision parts. The Sony sensors are horrendously expensive to buy in samples and the Omni parts were too small for me. On there other hand we have the machine vision side, the sensors are much more available however are still very expensive. The best company in this sector is CMOSIS with good data sheets just an email away however with a 4MP sensor coming in at £600 from Mouser I didn't bother. This IBIS sensor was in the middle ground but also ultimately useless to me now as the only shutters you can buy are repair units from eBay which have no documentation and don't fit into my design physically. So all in all there's nothing other than very expensive or very small/outdated parts!On top of all this getting information on SD UHS speeds is ridiculous with the i.MX6 processors from NXP being the only ones to have it without needing NDAs.All in all I decided to abandon my digital camera project and just play with the sensors I had bought just to get an image out of them.Quote from: evb149 on May 14, 2017, 07:08:19 pm