Стоит задача: добиться максимальной скорости обмена с внешней SARAM по интерфейсу XINTF.
В доке на XINTF (spru067) указаны настройки интерфейса для максимального быстродействия:
SYSCLKOUT = 150 МГц
XTIMCLK = 0
CLKMODE = 0
XREADY is ignored (USEREADY = 0)
XRDLEAD = 1
XRDACTIVE = 0
XRDTRAIL = 0
X2TIMING = 0
быстродействия внешней SARAM, которая установлена на EzDSP (IS61LV6416-10T) должно хватать с запасом...
Однако удалось добиться лишь:
// All Zones---------------------------------
XintfRegs.XINTCNF2.bit.XTIMCLK = 0;
XintfRegs.XINTCNF2.bit.WRBUFF = 3;
XintfRegs.XINTCNF2.bit.CLKOFF = 0;
XintfRegs.XINTCNF2.bit.CLKMODE = 0;
// Zone 6------------------------------------
// Zone write timing
XintfRegs.XTIMING6.bit.XWRLEAD = 1;
XintfRegs.XTIMING6.bit.XWRACTIVE = 1;
XintfRegs.XTIMING6.bit.XWRTRAIL = 0;
// Zone read timing
XintfRegs.XTIMING6.bit.XRDLEAD = 1;
XintfRegs.XTIMING6.bit.XRDACTIVE = 2;
XintfRegs.XTIMING6.bit.XRDTRAIL = 0;
XintfRegs.XTIMING6.bit.X2TIMING = 0;
XintfRegs.XTIMING6.bit.USEREADY = 0;
XintfRegs.XTIMING6.bit.READYMODE = 0;
XintfRegs.XTIMING6.bit.XSIZE = 3;
Существует еще временная диаграмма в общей доке на 320-ое семейство (sprs174), но она не только не упоминается в доке на XINTF (spru067), но и противоречит заявленным здесь настройкам, о которых я уже писал:
SYSCLKOUT = 150 МГц
XTIMCLK = 0
CLKMODE = 0
XREADY is ignored (USEREADY = 0)
XRDLEAD = 1
XRDACTIVE = 0
XRDTRAIL = 0
X2TIMING = 0
Однако, судя по всему, полученные мною результаты как раз удовлетворяют именно временным диаграммам из общей доки, но почему же тогда этих ограничений нет в доке на XINTF ? Или может я что-то упустил? Кто-нить в чем дело?