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;
}