cancel
Showing results for 
Search instead for 
Did you mean: 

EMI on STR710FZ2

timmyevans
Associate II
Posted on March 11, 2008 at 13:12

EMI on STR710FZ2

4 REPLIES 4
timmyevans
Associate II
Posted on March 10, 2008 at 13:15

Hello,

I'm trying to use the EMI on the STR710FZ2 to drive a communication interface with a Video Processing Chip. I've gotten to the state where I can write to the BCONx control registers (0x6C00 0000) and write to EMI banks (0x6000 0000) without the ARM halting. I can also see the Address lines toggling however I don't see Data, CSn, or WEn toggle. And when I try to read the BCONx registers I always get 0.

I've configured the ARM for EMI,...

RCCU->PER = 0x0000000000000110;// bit 2 seems to be EMI, bit 1 seems to be USB,

PCU->RSTR = 0x000F; // reset EMI block,

and I've tried setting BCONx with EMI_Config(EMI_BANK1, EMI_SIZE_16, 15) and EMI_Enable(EMI_BANK1, ENABLE), or just using

address = (ushort *) 0x6C000000;

*address = 0x803D;

I'm still unable to read *address back as anything but 0.

Is it possible that the EMI block is broken in silicon? Any help would be much appreciated.

Best Regards,

Tim

kleshov
Associate II
Posted on March 10, 2008 at 14:15

I have used the EMI on the STR710FZ2 extensively to communicate with at least 4 different kinds of chips with no such problems. All I had to do was configure the BCONx registers, set CSx lines to alternate function mode, and just read/write the external address locations. I never had to deal with RCCU->PER or PCU->RSTR, the power-up defaults worked fine.

I had a strange problem where the CPU was going crazy several milliseconds after an EMI access. I never found out what was causing the problem since I found a workaround: writing zero data to a location in the same bank after each exchange seemed enough to solve it. I can't say if it's a bug in silicon, it could be a problem in PCB layout or anything else, I didn't investigate it deep enough.

avelez
Associate II
Posted on March 11, 2008 at 07:51

Hi Tim,

Maybe it's an obvious answer, but did you set the ports 2.0 - 2.4 (which are chips selects for emi banks) to AF? You should do the same with the ports 2.4 to 2.7, which correspond to lines A.20 to A.23.

timmyevans
Associate II
Posted on March 11, 2008 at 13:12

Thanks for your replies,

Avelez, I've set ports 2.0, 2.1, 2.4, and 2.7 to AF. I'm not planning on using CS2 or CS3 (2.2, 2.3), and I wanted to use 2.5 and 2.6 for other functions. I don't see why not setting these would affect my ability to read the BCONx registers.

Regards