DSPRelated.com
Forums

Interrupt Register access via EMIF

Started by scottie December 1, 2004
Hi,
I'm using the C6416 DSK with the DSignT DSK-91C111 Ethernet daughter
card. In fact this card just connects an SMSC 91C111 MAC+PHY to the
DSP's EMIFA and an interrupt line to one of the DSP's external
interrupt pins.
What I want to do is to receive audio data via ethernet and send it to
the board's audio output. So at the moment, whenever I get an HWI from
the MAC I start a service routine that tries to receive the packet and
if succesful sends it to the codec's buffer. That works, but in fact
the quality of the audio output is quite bad. I guess, since the ISR
runs every time completely when an HWI arrives, not knowing what kind
of interrupt this could be, I get problems in keeping my real time
requirements (since I'm waiting for packets that won't arrive). I
think the solution is to check the MAC's interrupt register in order
to know the reason of the HWI and then only if a new packet has
arrived I should try to receive this one. I konw the base address and
the offset of the interrupt register but since I don't have to much
experience with DSPs, CCS or assembler I don't know how to access it.
Would be nice, if somebody could help me.
By the way, I'm using CCS and DSP/BIOS
scottie7980@yahoo.de (scottie) wrote in message news:<ce76b8ba.0412010137.5e7ce8d@posting.google.com>...
> Hi, > I'm using the C6416 DSK with the DSignT DSK-91C111 Ethernet daughter > card. In fact this card just connects an SMSC 91C111 MAC+PHY to the > DSP's EMIFA and an interrupt line to one of the DSP's external > interrupt pins. > What I want to do is to receive audio data via ethernet and send it to > the board's audio output. So at the moment, whenever I get an HWI from > the MAC I start a service routine that tries to receive the packet and > if succesful sends it to the codec's buffer. That works, but in fact > the quality of the audio output is quite bad. I guess, since the ISR > runs every time completely when an HWI arrives, not knowing what kind > of interrupt this could be, I get problems in keeping my real time > requirements (since I'm waiting for packets that won't arrive). I > think the solution is to check the MAC's interrupt register in order > to know the reason of the HWI and then only if a new packet has > arrived I should try to receive this one. I konw the base address and > the offset of the interrupt register but since I don't have to much > experience with DSPs, CCS or assembler I don't know how to access it. > Would be nice, if somebody could help me. > By the way, I'm using CCS and DSP/BIOS
Hi Since the interrupt register is a memory mapped one you may use the any of the macros given in the peripheral support library which should be part of the software package along with the DSK. The macro would be something like GET_REG... probably somebody else in the group might be able to give you the exact info about that as i have not used this DSK.. Hope it helps -Nithin
scottie7980@yahoo.de (scottie) wrote in message news:<ce76b8ba.0412010137.5e7ce8d@posting.google.com>...
> Hi, > I'm using the C6416 DSK with the DSignT DSK-91C111 Ethernet daughter > card. In fact this card just connects an SMSC 91C111 MAC+PHY to the > DSP's EMIFA and an interrupt line to one of the DSP's external > interrupt pins. > What I want to do is to receive audio data via ethernet and send it to > the board's audio output. So at the moment, whenever I get an HWI from > the MAC I start a service routine that tries to receive the packet and > if succesful sends it to the codec's buffer. That works, but in fact > the quality of the audio output is quite bad. I guess, since the ISR > runs every time completely when an HWI arrives, not knowing what kind > of interrupt this could be, I get problems in keeping my real time > requirements (since I'm waiting for packets that won't arrive). I > think the solution is to check the MAC's interrupt register in order > to know the reason of the HWI and then only if a new packet has > arrived I should try to receive this one. I konw the base address and > the offset of the interrupt register but since I don't have to much > experience with DSPs, CCS or assembler I don't know how to access it. > Would be nice, if somebody could help me. > By the way, I'm using CCS and DSP/BIOS
U may want look it up in the manual at http://focus.ti.com/lit/ug/spru273b/spru273b.pdf -Nithin