DSPRelated.com
Forums

HPI

Started by simha j November 21, 2001
Hi ,

My problem is:

when I use the c6211 Host Port Interface in
Autoincrement
Address mode, how to terminate the data transfer after
some
specified count.
The doc (peripherals guide) says that I should write
into
HPIA or HPIC register to terminate the data transfer.
What exactly
we should write into this to terminate the transfer.??

Looking forward to your replies

bye



simha j wrote:

> Hi ,
>
> My problem is:
>
> when I use the c6211 Host Port Interface in
> Autoincrement Address mode, how to terminate the data transfer after
> some specified count. The doc (peripherals guide) says that I should write
> into HPIA or HPIC register to terminate the data transfer.
> What exactly we should write into this to terminate the transfer.??

Hi Simha,

You "select" the Autoincrement Address Mode by accessing HPID
with HCNTL[1:0] asserted as "10" = HPID access with autoinc.
Before accessing HPID, you have to setup HPIC and write a block
start address into HPIA. Then, each access to HPID will automatically
increment HPIA and prefetch the data for you.

However, there is no counter on the HPI itself - this is something
you will need to implement on the host side. On a PC, you could
realize a simple for-loop and access HPID inside this loop.

You don't have to terminate the transfer, you simply write a new
start address to HPIA and access the next data via HPID
(either in normal or in autoinc. mode).

For more information concering HPI operation, refer to SPRU190
C6x Peripherals Reference Guide. Hope that helps, regards

Phil
---------------------------
Phil Alder
Field Application Engineer
DSPecialists GmbH Germany www.DSPecialists.de
---------------------------
DSPecialists Making the Impossible Work !





Don't forget to check the erratas for your version of silicon. There were
several HPI anomallies between C6711 revs that probably apply to the C6211 as
well.

Andrew E

At 03:36 PM 11/21/01 +0100, Phil Alder wrote:
>simha j wrote:
>
>> Hi ,
>>
>> My problem is:
>>
>> when I use the c6211 Host Port Interface in
>> Autoincrement Address mode, how to terminate the data transfer after
>> some specified count. The doc (peripherals guide) says that I should write
>> into HPIA or HPIC register to terminate the data transfer.
>> What exactly we should write into this to terminate the transfer.??
>
>Hi Simha,
>
>You "select" the Autoincrement Address Mode by accessing HPID
>with HCNTL[1:0] asserted as "10" = HPID access with autoinc.
>Before accessing HPID, you have to setup HPIC and write a block
>start address into HPIA. Then, each access to HPID will automatically
>increment HPIA and prefetch the data for you.
>
>However, there is no counter on the HPI itself - this is something
>you will need to implement on the host side. On a PC, you could
>realize a simple for-loop and access HPID inside this loop.
>
>You don't have to terminate the transfer, you simply write a new
>start address to HPIA and access the next data via HPID
>(either in normal or in autoinc. mode).
>
>For more information concering HPI operation, refer to SPRU190
>C6x Peripherals Reference Guide. Hope that helps, regards
>
>Phil
> ---------------------------
> Phil Alder
> Field Application Engineer
> DSPecialists GmbH Germany www.DSPecialists.de
> ---------------------------
> DSPecialists Making the Impossible Work ! >
>
>_____________________________________
>Note: If you do a simple "reply" with your email client, only the author of
>this message will receive your answer. You need to do a "reply all" if you
>want your answer to be distributed to the entire group.
>
>_____________________________________
>About this discussion group:
>
>To Join: Send an email to
>
>To Post: Send an email to
>
>To Leave: Send an email to
>
>Archives: http://www.yahoogroups.com/group/c6x
>
>Other Groups: http://www.dsprelated.com >">http://docs.yahoo.com/info/terms/


simja

You can write anything to the HPIA to finish the autoinc sequence.

NOTE! - there is a difference in how you need to interact with the HPI
between revA and revB 6211/6711 DSps. See TIs 6211 errata sheet (get from
website) on this.

Steve Turner
----- Original Message -----
From: "simha j" <>
To: <>
Sent: Tuesday, November 20, 2001 11:13 PM
Subject: [c6x] HPI > Hi ,
>
> My problem is:
>
> when I use the c6211 Host Port Interface in
> Autoincrement
> Address mode, how to terminate the data transfer after
> some
> specified count.
> The doc (peripherals guide) says that I should write
> into
> HPIA or HPIC register to terminate the data transfer.
> What exactly
> we should write into this to terminate the transfer.??
>
> Looking forward to your replies
>
> bye > _____________________________________
> Note: If you do a simple "reply" with your email client, only the author
of this message will receive your answer. You need to do a "reply all" if
you want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.yahoogroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/



Steve-

There are some problems writing to C6x11 HPI in the general case, having to do
with an undocumented requirement for pre-increment and the need to absolutely
avoid the HPIC register when checking for HRDY (use the hardware line instead).

I will ask Rastko to provide a brief summary to everyone on the group next week;

this would be what you would do for general HPI access, not necessarily DSK
board.

We went back and forth with Texas Inst. about this for a long time in Mar/Apr
time-frame; they confirmed a bug, it was similar, but quite not the same result
as what we saw.

In any case, we are 100% confident in our work-around. We have been using it
with both C6211 and C6711 now for several months with no problems.

Jeff Brower
DSP sw/hw engineer
Signalogic

On Wed, 21 Nov 2001, "Stephen - Office" <> wrote:
>simja
>
>You can write anything to the HPIA to finish the autoinc sequence.
>
>NOTE! - there is a difference in how you need to interact with the HPI
>between revA and revB 6211/6711 DSps. See TIs 6211 errata sheet (get from
>website) on this.
>
>Steve Turner
>----- Original Message -----
>From: "simha j" <>
>To: <>
>Sent: Tuesday, November 20, 2001 11:13 PM
>Subject: [c6x] HPI >> Hi ,
>>
>> My problem is:
>>
>> when I use the c6211 Host Port Interface in
>> Autoincrement
>> Address mode, how to terminate the data transfer after
>> some
>> specified count.
>> The doc (peripherals guide) says that I should write
>> into
>> HPIA or HPIC register to terminate the data transfer.
>> What exactly
>> we should write into this to terminate the transfer.??
>>
>> Looking forward to your replies
>>
>> bye



Hello Kami,
 
Your question has some information missing, but I will try to answer.
1. If you have a 6713 DSK, it does not come with a host connection to HPI.
2. If you have a custom board, writing/reading to/from HPI is just doing some simple port I/O.  Go to TI's spru190 document and it will point you to the HPI document.  Also, there are 1 or more app notes on the subject.
3. If you have a 6211/6711 DSK, it is very straight forward.  TI provides a DLL that lets you use a MS VC++ program to access HPI.  There are sample apps in <CCS_install_dir>/examples/board_util.  Also, the APIs are described in the DSK help file.
 
good luck,
mikedunn

kami10001 <k...@yahoo.com> wrote:

HI

can u tell me any HPI data transfer example with a complete doc desc.
working in detail just like audio example

regards,
kami



I dont think there are any 3rd party HPI boards either, to communicate to
the host for the 6713 DSK. But there might be a market for it ... including
me, if it could support rates high enough.
About 3. below, thats what I really need for the 6713 DSK!! ( access to the
board from the host via a MS VC++ DLL, examples, etc ). Unfortunately, TI
decided not to go that support route with it. The 6711 DSK has
disadvantages relative to the 6713 DSK though too including being slower
and code size limited.
Regards,
Robert

_____

From: Mike Dunn [mailto:]
Sent: Friday, February 25, 2005 5:51 PM
To: kami10001;
Subject: [c6x] Re: HPI
Hello Kami,
Your question has some information missing, but I will try to answer.

1. If you have a 6713 DSK, it does not come with a host connection to HPI.

2. If you have a custom board, writing/reading to/from HPI is just doing
some simple port I/O. Go to TI's spru190 document and it will point you to
the HPI document. Also, there are 1 or more app notes on the subject.

3. If you have a 6211/6711 DSK, it is very straight forward. TI provides a
DLL that lets you use a MS VC++ program to access HPI. There are sample
apps in <CCS_install_dir>/examples/board_util. Also, the APIs are described
in the DSK help file.
good luck,

mikedunn

kami10001 <> wrote: HI

can u tell me any HPI data transfer example with a complete doc desc.
working in detail just like audio example

regards,
kami --
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.4.0 - Release Date: 2/22/2005
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.5.1 - Release Date: 2/27/2005


Robert-

> I don't think there are any 3rd party HPI boards either, to communicate to
> the host for the 6713 DSK. But there might be a market for it ... including
> me, if it could support rates high enough.
>
> About 3. below, thats what I really need for the 6713 DSK!! ( access to the
> board from the host via a MS VC++ DLL, examples, etc ). Unfortunately, TI
> decided not to go that support route with it. The 6711 DSK has
> disadvantages relative to the 6713 DSK though too including being slower
> and code size limited.

This question has come up a few times -- including your post on Feb 8. I answered
the next day (copy below), but I got no takers or even solid interest, students or
otherwise. So if there's a market, it's a darn hard one to see.

-Jeff -------- Original Message --------
Subject: Re: [code-comp] TMS320C6713 board loader
Date: Wed, 09 Feb 2005 08:24:24 -0600
From: Jeff Brower <>
Organization: Signalogic, Inc
To: Bhooshan Iyer <>
CC: robert <>, ,, Bhooshan-

> Anyways, many of the early attempts at having a non-CCS development
> methodologies seem to have fallen by the way. Among the few remaining
> non-CCS options what i would recommend is a software program called
> DirectDSP made by one of our list's active member's
> company-Signalogic. Not sure though if DirectDSP supports c6713 but
> may be signalogic could help you on that.
>
> http://www.signalogic.com/index.pl?page=directDSP

As the "keeper" of DirectDSP software, I can say this:

1) It does not support C6713 DSK board because the combined USB-JTAG interface is
slow, around 20-30 kbyte/sec. Neither USB or JTAG by itself should be that slow, but
it's something in the Spectrum Digital implementation. I'm sure they could have made
it faster, but as you say, that is not TI's purpose in making inexpensive DSK boards
that provide both showcase and reference design for their chips.

2) If someone on the group can make an HPI daughtercard for the DSK board and show
basic HPI register-level connectivity from a simple C program, then we can port the
parallel port driver in DirectDSP to it. Such a daughtercard would look something
like this: __ HPI-PP daughtercard
__________/
___| \______/ |______
| | | |
| ========== <--------- HPI connector
| |
| || || |
| || ||<-------- standard daughtercard connectors
| || || |
| || || | <-- "new style" DSK board The HPI-PP daughtercard must:

-be small and super cheap

-have standard DB25 male connector, as on DSK 6711

-not overlap the main daughtercard area of the DSK board;
i.e. the board-to-board connector should be as close to
the edge of the PCB as possible

-have mounting standoffs at corners with height that
reaches to the surface the DSK board is resting on
(to provide strain relief on the board-to-board
connector). Mounting holes -- or some mechanical
method -- to the DSK board itself would be better,
but SD has not allowed for that

-provide 8-bit access to HPI registers in EPP and
EPP+ECP PP modes. That means the daughtercard needs
a small CPLD with state-machine that:

-on writes, aggregates even + odd bytes then issues
16-bit write to HPI

-on reads, makes 16-bit HPI read, sends even byte to
parallel port, stores odd byte for next PP read

the state machine should reset HHWIL signal to zero
as often as possible; e.g. on Reset, on two consecutive
even or odd accesses, etc.

-provide Reset control over the C6713, in addition to
HPI register access

-provides 5V to 3.3V translation, provides series R
protection for PP lines, etc. We can review the
schematic...

We keep thinking this is a great student-level project, but we keep finding
production level design things to put our entry-level engineers to work on, so the
HPI-PP daughtercard project never gets traction. To put that another way, it's a fun
project, but not very attractive commercially.

DirectDSP has both WinXP and Linux drivers, PP and PCI. Basically any time the HPI
is accessible.

-Jeff > On Tue, 8 Feb 2005 18:50:37 -0600, robert <> wrote:
> >
> >
> > Yes, I have come across this problem too. I had planned on using a VC++
> > program, to load the 6713 DSK … but have found out, like you, that CCS needs
> > to used unfortunately to load it. I guess the 6711 DSK had direct API's
> > that could be called to load and run the board, but that functionality for
> > some reason has been left out of the 6713 DSK. It might be something about
> > the USB connection.
> >
> > But I'd be interested if anyone has any ideas on this as well.
> >
> > One possibility, I guess, is to try and use RS-232 from the PC side to a
> > McBSP on the 6713. Someone had suggested "hyper access" for this, which
> > costs about $100. On the DSK side, the flash would have to be programmed
> > with some kind of initial bootup, where it configures the McBSP and
> > implements the software UART. And once that is running, the code could be
> > loaded. But that's a lot more effort than anticipated!, if it works.
> >
> > Regards,
> >
> > Robert
> >
> > _____
> >
> > From: [mailto:]
> > Sent: Tuesday, February 08, 2005 7:44 AM
> > To:
> > Subject: [code-comp] TMS320C6713 board loader
> >
> >
> > --- This message has also been posted in TMS320C6x -----
> >
> > Hi all,
> >
> > I\'m new on this list and I will really appreciate any help with this
> > problem as it is halting all my work.
> >
> > I have recently purchased a TMS320C6713 board and I have found out that
> > there is no command (DOS) for loading a program onto this board and the IDE
> > of the Code Composer Studio becomes necessary. As I have to run many
> > experiments
> > (hundreds of thousands) this option becomes infeasible. I have tried using
> > gel files (as start up) but for some reason the instructions do not
> > execute sequencially. Another option is using the libraries for perl but
> > unfortunately they do not come with the version of the CCS that is
> > included in the kit.
> >
> > Has anyone come across the same problem?
> >
> > I look forward to hearing from you.
> >
> > Cheers,
> > ---
> > Edwin



> -----Original Message-----
> From: Jeff Brower [mailto:]
> Sent: Monday, February 28, 2005 8:40 AM
> To: Robert Obert
> Cc:
> Subject: Re: [c6x] Re: HPI
>
> Robert-
>
> > I don't think there are any 3rd party HPI boards either, to communicate
> to
> > the host for the 6713 DSK. But there might be a market for it ...
> including
> > me, if it could support rates high enough.
> >
> > About 3. below, thats what I really need for the 6713 DSK!! ( access to
> the
> > board from the host via a MS VC++ DLL, examples, etc ). Unfortunately,
> TI
> > decided not to go that support route with it. The 6711 DSK has
> > disadvantages relative to the 6713 DSK though too ?including being
> slower
> > and code size limited.
>
> This question has come up a few times -- including your post on Feb 8. I
> answered
> the next day (copy below), but I got no takers or even solid interest,
> students or
> otherwise. So if there's a market, it's a darn hard one to see.

Thanks for the reply. The 6713 is a relative new offering. Maybe with
time, the prospects would be better.

Regards,

Robert

www.gldsp.com

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.6.0 - Release Date: 3/2/2005