Hi,
I'm using the EPI to write to 16 bit data bus peripheral (only one Chipselect CS0 at this bus, no ALE or multiplexing of Adress/Data). Basically I write to 2 addresses, one for config and a second one for data. Normally I have to burst data to this (constant) address very often subsequently. Basically this works with a pointer assignment and a while loop as:
while ( len-- ) *pData = uData;
The TM4C is running at 80 MHz.
My config is
EPIModeSet(EPI0_BASE,EPI_MODE_HB16); EPIDividerSet(EPI0_BASE,1); EPIConfigHB16Set(EPI0_BASE,EPI_HB16_MODE_ADDEMUX| EPI_HB16_CSCFG_CS|EPI_HB16_RDWAIT_0|EPI_HB16_WRWAIT_0, 0); EPIConfigHB16TimingSet(EPI0_BASE, 0, (EPI_HB16_WRWAIT_MINUS_DISABLE | EPI_HB16_RDWAIT_MINUS_DISABLE)); EPIAddressMapSet(EPI0_BASE,EPI_ADDR_RAM_SIZE_64KB | EPI_ADDR_RAM_BASE_8 )
The throughput is only 200ns each write. Do I miss something? I'd thought the EPI is running at 40 MHz and therefore I expected a write access to appear every 50 ns or somthing like this.
Can I accelerate this somehow ?
Thanks & Regards
Micky