AnsweredAssumed Answered

issues about adv212,no image data out

Question asked by gauss on Apr 23, 2014
Latest reply on Apr 23, 2014 by gauss

Hi,

 

i'm using adv212 to decode still image code in mode of HIPI,

my 212'settings:

WRITE PLL_HI 0X00000008; MCLK=25mhz;FPGA‘是clock is 25mhz

WRITE PLL_LO 0X00000004;//HCLK=JCLK=100mhz

WAIT 0X0 0X00000020; ==========wait for 80us

MASK 0XFFFFFFFF;

WAIT 0X1 0X00000000;

JMPY 0X9 0X00000000;

WRITE BOOT 0X0000008A; =========

WRITE BMODE 0X0000000A;

WRITE MMODE 0X0000000A; ======== 32bit

WRITE IADDR 0X00050000; ========load firmware

LOADF decode.sea;

WRITE BOOT 0X0000008D; =========

WRITE BMODE 0X0000000A;

WRITE MMODE 0X0000000A; ========

WRITE IADDR 0X00057F00; ========

WRITE IDATA 0X04010003; ==  //custom specfic  mode,prec = 10 bit

WRITE IDATA 0X00000000; ==

WRITE IDATA 0X00000001; ==  j2c format

WRITE IADDR 0XFFFF0400; ==PMODE1

WRITE IDATA 0X01180000; ==2*16bit single component          

WRITE IADDR 0XFFFF040C; ==XTOT

WRITE IDATA 0X0c000000; ==3072               

WRITE IADDR 0XFFFF0410; ==YTOT

WRITE IDATA 0X00800000; ==128              

WRITE IADDR 0XFFFF0414; ==F0_START

WRITE IDATA 0X00010000;

WRITE IADDR 0XFFFF0418; ==F1_START

WRITE IDATA 0X00000000;

WRITE IADDR 0XFFFF041C; ==V0_START

WRITE IDATA 0X00000000;

WRITE IADDR 0XFFFF0420; ==V1_START

WRITE IDATA 0X00000000;

WRITE IADDR 0XFFFF0424; ==V0_END

WRITE IDATA 0X00000000;

WRITE IADDR 0XFFFF0428; ==V1_END

WRITE IDATA 0X00000000;

WRITE IADDR 0XFFFF042C; ==PIXEL_START

WRITE IDATA 0X00000000;

WRITE IADDR 0XFFFF0430; ==PIXEL_END

WRITE IDATA 0X00000000;

WRITE IADDR 0XFFFF0448; ==PMODE2

WRITE IDATA 0X00300000;

WRITE IADDR 0XFFFF044C; ==VMODE

WRITE IDATA 0X00100000;

WRITE EIRQIE 0X00000400; 

LOADINT 0X00000000;

MASK 0X0000FFFF; 

READ SWFLAG 0X00000000;

JMPY 0X1 0X0000FFA2;

WRITE IADDR 0XFFFF1408; == EDMOD0

WRITE IDATA 0X01100000; == request forever  //128 32bit

WRITE IADDR 0XFFFF1408; == EDMOD0

WRITE IDATA 0X01110000; == request forever

WRITE IADDR 0XFFFF140C; == EDMOD1

WRITE IDATA 0X01120000; == request forever

WRITE IADDR 0XFFFF140C; == EDMOD1

WRITE IDATA 0X01130000; == request forever

WRITE EIRQFLG 0X00000400;

END 0X00000000;

 

and have some problems:

1)  after i set  all parameters, I send all codes into DMA1's fifo using EDMOD1;when the code is sending into the DMA1's fifo, I get dreq0 asserted; In other words, I have  not finished transmitting all code,there comes the read fifo request;However i toggle the rd pin,there are no image data on the hdata bus; the code data is in J2C format.

I have used an app to decode my code data;the code can be decoded and is decoded ok! XTOT=3072,YTOT=128,and the prec=10bit;

the waveform is below:

my.bmp

valid_obuf is dreq0;

hold_obuf is dack0;

when I toggle the adv_rd_obuf,adv_hdata have no image data

I think that  the dma timing shoud be ok,but the adv212's setting may have some problems

Outcomes