On 2 Jan 2004 10:57:51 -0800,
[email protected] (Zia) wrote:
>Hi All:
>
>I am trying to communicate between C5502 and an Atmel processor with
>ARM7 core. We want to do the communication using SPI protocol with ARM
>acting as SPI master and C5502 acting as Slave.
>
>In our design, the ARM asserts the slave-enable(SS) signal only once
>at the start of transmission of the frame and it stays active
>throughout the transmission of all words in a single frame. The
>transmission of each word is thus facilitated by activating and
>deactivating the shift-clock(SCLK) by the ARM. This mode of operation
>is necessary for smooth DMA operation of the ARM.
>Now, while testing, it appears that DSP does'nt work properly as Slave
>if slave-enable signal is not asserted and deasserted for transfer of
>every single word in the frame but it does work fine otherwise.
>
>My question is: does anyone have any idea if our desired mode of
>operation could actually work? and if it can, what needs to be done in
>the McBSP configuration?
>
>The DSP manual(spru592.pdf) is ambiguous about it.
I guess you mean that:
"The McBSP requires an active edge of the slave-enable signal on the
FSX input for each transfer. This means that the master device must
assert the slave-enable signal at the beginning of each transfer, and
deassert the signal after the completion of each packet transfer; the
slave-enable signal cannot remain active between transfers."
So what this means all depends on the definition of "packet transfer".
A packet is defined by X/RWDLENx and X/RFRLENx, the latter being
related to the FSRX signal. Unfortunately from your point of view, if
you want to use SPI (Clock-Stop) mode on the C5502, you have to set
X/RFRLENx to 0 to give a frame length of 1 serial word (see section
6.3, table 6-1 of spru592a).
So basically what you want to do can't be done without some external
logic.
Best Regards
John McCabe
To reply by email replace 'nospam' with 'assen'