DSPRelated.com
Forums

Using EMIF Parallel Port to Connect an AD9857

Started by rotenovt February 8, 2006
Hello Group,

I am having trouble understanding how to use the EMIF as a parallel
port. I am attempting to interface an AD9857(ASIC) with a TMS320C5510
(DSK). I have the EMIF signals routed to the expansion connector by 
pulling the DETECTn signal low.  

The ASIC requires a 14 bit data word from the DSP.  The ASIC also
maintains the data clock.

I still have not been able to change the EMIF lines.  I think either 
I am not setting up the EMIF configuration registers correctly or I 
need to toggle some of the EMIF control signals.  Are there any `chip 
enables' signals that I need to be pushing high/low to keep the value 
on the expansion connector? (REn, WEn, RDYn, CE2n, CE3n, OEn, BE0n, 
BE1n, BE2n, BE3)  

I would like to see the value 0xFFFF at 0x200000 (First address at 
CE1) on the expansion connector pins.  

Can anyone help me with this?  Thanks for reading. 

Victor  

EMIF_Config MyConfig {           
0x06CF, /* egcr   */        
0xFFFF, /* emirst */       
0x7FFF, /* ce01   */       
0xFFFF, /* ce02   */       
0x00FF, /* ce03   */        
0x7FFF, /* ce11   */       
0xFFFF, /* ce12   */       
0x00FF, /* ce13   */        
0x7FFF, /* ce21   */       
0xFFFF, /* ce22   */       
0x00FF, /* ce23   */        
0x7FFF, /* ce31   */       
0xFFFF, /* ce32   */       
0x00FF, /* ce33   */        
0x07FF, /* sdc1   */       
0x0FFF, /* sdper  */       
0x07FF, /* init   */          
0x03FF  /* sdc2   */
} ;
 
void EMIFinit(void) 
{
int *ptr;
 
//Enable EMIF Bus Holders
CHIP_FSET(SYSR,HPE, CHIP_SYSR_HPE_DISABLE);
CHIP_FSET(SYSR,BH, CHIP_SYSR_BH_ENABLE);
CHIP_FSET(SYSR,HBH, CHIP_SYSR_HBH_ENABLE);
CHIP_FSET(SYSR,CLKDIV, CHIP_SYSR_CLKDIV_DIV1);

//Configure EMIF Registers
EMIF_config(&MyConfig);

//Send 16-bit value to EMIF
ptr = (int*) 0x200000;
*ptr = 0xFFFF;
}