DSPRelated.com
Forums

Re: 5509A in either HPI or EMIF mode

Started by dileepan_c February 16, 2005

hi,

hope you know the problem with the C5501/5502 emif wherin it will
always do a 32 bit asynchronous memory read irrespective of your
mtype configuration. further, the asynchronous memory writes works as
expected.refer the latest emif document spru621e for details. This
will considerably reduce the system throughput. This problem may also
have an impact if i am doing a 16 bit flash boot.

regards,
Dileepan.

--- In , Jeff Brower <jbrower@s...> wrote:
> Ludovic-
>
> You may find the answer is: use the C5502. After much study and
tradeoff analysis,
> that's what we did.
>
> With C5502, you keep 32-bit EMIF and 8-bit HPI simultaneous. The
cache on the C5502
> and 300 MHz clock rate make up at least partially for lack of
additional onchip
> SRAM. The only real loss was the USB, but with C5509A you need a
USB transceiver
> anyway, and you can find tiny USB peripheral chips that include
both SIE and
> transceiver and either give you a UART-type interface or hook up as
async EMIF.
>
> The end result is no loss in board space, and a net decrease in
board cost. Plus you
> get a UART out of the deal and you still have I2C.
>
> I guess if A/D converter, MMBus and other C5509A unique peripheral
features are
> making a big difference, then my analysis is off base.
>
> -Jeff > ludovic44fr wrote:
> >
> > Hi everyone,
> >
> > We are currently upgrading our product, going from 5410A to 5509A.
> >
> > I do need to use the EMIF to load my code from flash, and i also
need
> > to use the HPI to communicate with the Host.
> >
> > The only problem, is that these 2 ports (EMIF and HPI) are
> > multiplexed, on the 5509A, in one port called "Parallel port", and
> > that only one can be selected at reset.
> >
> > TI states in its Peripheral User Guide that it can be
reconfigured by
> > soft by writing in the EBSR (External Bus Selection Register). OK
but...
> >
> > Unfortunately, in the last revision of the 5509A datasheet, they
also
> > state : "Dynamic switching of the parallel port, once configured,
is
> > not recommended." Which means don't do it !!!
> >
> > Having contacted the EPIC, i got this reply from them :
> >
> > " You are right, on the C5509A, unlike on the C5409A, you need to
make a
> > choice at reset between either using the EHPI or the EMIF.
> >
> > There are 2 ways around using a host interface:
> > o either reset the DSP (reset pin) each time you need to make
HPI
> > access.
> > This is very drastic but is the only recommended way in order to
the
> > HPI to
> > responds as per the data sheet operating conditions.
> > o implement a protocol to use the EMIF as host interface.
> > This means the DSP would have to react to an external event
either by:
> > o an interrupt, and have an ISR read the host
information
> > o by pulling a value on an external GPIO
> > "
> >
> > So in definitve, it's seems to me that if you are booting your
code
> > from flash, you just loose the HPI capability of the DSP !?
> >
> > As anyone any experience on this DSP and faced the same probem ?
> > Or am I reduce to implement my own HPI interface ...?
> >
> > Thanks for your replies.
> > Ludovic



Dileepan-

We are using 32-bit wide physical EMIF, so there is no loss in throughput. For data
accesses, if code only reads 16 bits then other 16-bits is not used, but otherwise no
time is lost.

For program accesses, the cache is in play.

-Jeff dileepan_c wrote:
>
> hi,
>
> hope you know the problem with the C5501/5502 emif wherin it will
> always do a 32 bit asynchronous memory read irrespective of your
> mtype configuration. further, the asynchronous memory writes works as
> expected.refer the latest emif document spru621e for details. This
> will considerably reduce the system throughput. This problem may also
> have an impact if i am doing a 16 bit flash boot.
>
> regards,
> Dileepan.
>
> --- In , Jeff Brower <jbrower@s...> wrote:
> > Ludovic-
> >
> > You may find the answer is: use the C5502. After much study and
> tradeoff analysis,
> > that's what we did.
> >
> > With C5502, you keep 32-bit EMIF and 8-bit HPI simultaneous. The
> cache on the C5502
> > and 300 MHz clock rate make up at least partially for lack of
> additional onchip
> > SRAM. The only real loss was the USB, but with C5509A you need a
> USB transceiver
> > anyway, and you can find tiny USB peripheral chips that include
> both SIE and
> > transceiver and either give you a UART-type interface or hook up as
> async EMIF.
> >
> > The end result is no loss in board space, and a net decrease in
> board cost. Plus you
> > get a UART out of the deal and you still have I2C.
> >
> > I guess if A/D converter, MMBus and other C5509A unique peripheral
> features are
> > making a big difference, then my analysis is off base.
> >
> > -Jeff
> >
> >
> > ludovic44fr wrote:
> > >
> > > Hi everyone,
> > >
> > > We are currently upgrading our product, going from 5410A to 5509A.
> > >
> > > I do need to use the EMIF to load my code from flash, and i also
> need
> > > to use the HPI to communicate with the Host.
> > >
> > > The only problem, is that these 2 ports (EMIF and HPI) are
> > > multiplexed, on the 5509A, in one port called "Parallel port", and
> > > that only one can be selected at reset.
> > >
> > > TI states in its Peripheral User Guide that it can be
> reconfigured by
> > > soft by writing in the EBSR (External Bus Selection Register). OK
> but...
> > >
> > > Unfortunately, in the last revision of the 5509A datasheet, they
> also
> > > state : "Dynamic switching of the parallel port, once configured,
> is
> > > not recommended." Which means don't do it !!!
> > >
> > > Having contacted the EPIC, i got this reply from them :
> > >
> > > " You are right, on the C5509A, unlike on the C5409A, you need to
> make a
> > > choice at reset between either using the EHPI or the EMIF.
> > >
> > > There are 2 ways around using a host interface:
> > > o either reset the DSP (reset pin) each time you need to make
> HPI
> > > access.
> > > This is very drastic but is the only recommended way in order to
> the
> > > HPI to
> > > responds as per the data sheet operating conditions.
> > > o implement a protocol to use the EMIF as host interface.
> > > This means the DSP would have to react to an external event
> either by:
> > > o an interrupt, and have an ISR read the host
> information
> > > o by pulling a value on an external GPIO
> > > "
> > >
> > > So in definitve, it's seems to me that if you are booting your
> code
> > > from flash, you just loose the HPI capability of the DSP !?
> > >
> > > As anyone any experience on this DSP and faced the same probem ?
> > > Or am I reduce to implement my own HPI interface ...?
> > >
> > > Thanks for your replies.
> > > Ludovic >




Hi Jeff,

Thanks for the answer. I guess it's a good point to consider. 300Mhz is quite attracting, but not the SDRAM...
I guess i got to check how efficient is the cache on this DSP.

On the other side, i could keep the 5509A, use the parallel port as EMIF, and use a cheap double access external RAM
to simulate my HPI : one side connected to my DSP, the other side to my µC.

Best Regards,
Ludo

-----Message d'origine-----
De : Jeff Brower [mailto:]
Envoyé : mardi 15 février 2005 15:37
À : Ludovic Tramart
Cc :
Objet : Re: [c55x] 5509A in either HPI or EMIF mode Ludovic-

You may find the answer is: use the C5502. After much study and tradeoff analysis,
that's what we did.

With C5502, you keep 32-bit EMIF and 8-bit HPI simultaneous. The cache on the C5502
and 300 MHz clock rate make up at least partially for lack of additional onchip
SRAM. The only real loss was the USB, but with C5509A you need a USB transceiver
anyway, and you can find tiny USB peripheral chips that include both SIE and
transceiver and either give you a UART-type interface or hook up as async EMIF.

The end result is no loss in board space, and a net decrease in board cost. Plus you
get a UART out of the deal and you still have I2C.

I guess if A/D converter, MMBus and other C5509A unique peripheral features are
making a big difference, then my analysis is off base.

-Jeff ludovic44fr wrote:
>
> Hi everyone,
>
> We are currently upgrading our product, going from 5410A to 5509A.
>
> I do need to use the EMIF to load my code from flash, and i also need
> to use the HPI to communicate with the Host.
>
> The only problem, is that these 2 ports (EMIF and HPI) are
> multiplexed, on the 5509A, in one port called "Parallel port", and
> that only one can be selected at reset.
>
> TI states in its Peripheral User Guide that it can be reconfigured by
> soft by writing in the EBSR (External Bus Selection Register). OK but...
>
> Unfortunately, in the last revision of the 5509A datasheet, they also
> state : "Dynamic switching of the parallel port, once configured, is
> not recommended." Which means don't do it !!!
>
> Having contacted the EPIC, i got this reply from them :
>
> " You are right, on the C5509A, unlike on the C5409A, you need to make a
> choice at reset between either using the EHPI or the EMIF.
>
> There are 2 ways around using a host interface:
> o either reset the DSP (reset pin) each time you need to make HPI
> access.
> This is very drastic but is the only recommended way in order to the
> HPI to
> responds as per the data sheet operating conditions.
> o implement a protocol to use the EMIF as host interface.
> This means the DSP would have to react to an external event either by:
> o an interrupt, and have an ISR read the host information
> o by pulling a value on an external GPIO
> "
>
> So in definitve, it's seems to me that if you are booting your code
> from flash, you just loose the HPI capability of the DSP !?
>
> As anyone any experience on this DSP and faced the same probem ?
> Or am I reduce to implement my own HPI interface ...?
>
> Thanks for your replies.
> Ludovic




Ludovic-

> Thanks for the answer. I guess it's a good point to consider. 300Mhz
> is quite attracting, but not the SDRAM...
> I guess i got to check how efficient is the cache on this DSP.

Here is a document (TI app note SPRA924A) that compares performance of C5502+cache to
C5510:

http://www.eetasia.com/ARTICLES/2004DEC/A/2004DEC01_MEM_AN.PDF

They used SDRAM for the C5502, and only ran it at 200 MHz, to eliminate clock
difference with C5510. Results were 1-to-1 in some cases -- fairly impressive.

> On the other side, i could keep the 5509A, use the parallel port as
> EMIF, and use a cheap double access external RAM to simulate my HPI :
> one side connected to my DSP, the other side to my uC.

Yep... we went through that same thought process. But the double-access external
SRAM (or even single-access, using HOLD/HOLDA) is about the same as using 2x SRAMs
for the 32-bit EMIF needed by the C5502.

If you want HPI + C55xx, then all roads lead to C5502 :-) Haha, just kidding (only
half).

-Jeff > -----Message d'origine-----
> De : Jeff Brower [mailto:]
> Envoyé : mardi 15 février 2005 15:37
> À : Ludovic Tramart
> Cc :
> Objet : Re: [c55x] 5509A in either HPI or EMIF mode
>
> Ludovic-
>
> You may find the answer is: use the C5502. After much study and tradeoff analysis,
> that's what we did.
>
> With C5502, you keep 32-bit EMIF and 8-bit HPI simultaneous. The cache on the C5502
> and 300 MHz clock rate make up at least partially for lack of additional onchip
> SRAM. The only real loss was the USB, but with C5509A you need a USB transceiver
> anyway, and you can find tiny USB peripheral chips that include both SIE and
> transceiver and either give you a UART-type interface or hook up as async EMIF.
>
> The end result is no loss in board space, and a net decrease in board cost. Plus you
> get a UART out of the deal and you still have I2C.
>
> I guess if A/D converter, MMBus and other C5509A unique peripheral features are
> making a big difference, then my analysis is off base.
>
> -Jeff
>
> ludovic44fr wrote:
> >
> > Hi everyone,
> >
> > We are currently upgrading our product, going from 5410A to 5509A.
> >
> > I do need to use the EMIF to load my code from flash, and i also need
> > to use the HPI to communicate with the Host.
> >
> > The only problem, is that these 2 ports (EMIF and HPI) are
> > multiplexed, on the 5509A, in one port called "Parallel port", and
> > that only one can be selected at reset.
> >
> > TI states in its Peripheral User Guide that it can be reconfigured by
> > soft by writing in the EBSR (External Bus Selection Register). OK but...
> >
> > Unfortunately, in the last revision of the 5509A datasheet, they also
> > state : "Dynamic switching of the parallel port, once configured, is
> > not recommended." Which means don't do it !!!
> >
> > Having contacted the EPIC, i got this reply from them :
> >
> > " You are right, on the C5509A, unlike on the C5409A, you need to make a
> > choice at reset between either using the EHPI or the EMIF.
> >
> > There are 2 ways around using a host interface:
> > o either reset the DSP (reset pin) each time you need to make HPI
> > access.
> > This is very drastic but is the only recommended way in order to the
> > HPI to
> > responds as per the data sheet operating conditions.
> > o implement a protocol to use the EMIF as host interface.
> > This means the DSP would have to react to an external event either by:
> > o an interrupt, and have an ISR read the host information
> > o by pulling a value on an external GPIO
> > "
> >
> > So in definitve, it's seems to me that if you are booting your code
> > from flash, you just loose the HPI capability of the DSP !?
> >
> > As anyone any experience on this DSP and faced the same probem ?
> > Or am I reduce to implement my own HPI interface ...?
> >
> > Thanks for your replies.
> > Ludovic