You could program the SSP to generate a 25kHz clock:
set:
CPSDVSR = 148
and
SCR = 1
(See EP9301 User Guide)
so SSPCLKOUT = SSPCLK/(CPSDVSR * (1+SCR))
SSPCLKOUT = 7,372,800/(148 * (1+1))
SSPCLKOUT = 24,908 Hz
thats pretty close to the 25 kHz you want.
It doesn't look like you can program the I2S to go that low.
You may need to feed the SSP to keep this clock going? I'm not sure if the
controller will output a clock if its transmit fifo is empty.
-Curtis.
On November 2, 2006 03:11 pm, yasbug wrote:
> Hi all,
>
> I have a 7250 board and am looking to generate a 25Khz square wave on
> a DIO pin.
>
> I am also running debian linux from a USB flash drive.
>
> I am able to generate a waveform (as seen on an oscilloscope) but
> only at a maximum of 25Hz. I can not achieve a higher frequency. Here
> is a snippit of my C code:
>
> while (1){
>
> *PBDR = 0x01;
> usleep(20);
> *PBDR = 0x00;
> usleep(20);
> }
>
> The usleep() function SHOULD sleep for 20us. However, I can only read
> a 25Hz wave on the oscilloscope meaning that each pulse length is
> 20ms.
>
> A 25Khz wave should have a period of 40useconds with each period
> consisting of a 20us high and a 20us low. For some reason, I cannot
> achieve a frequency over 25Hz on the DIO pins.
>
> Is there a pulse limitation on the DIO pins? Does the fact that I am
> running Debian off of a USB flash have any affect? Should there be a
> different behavior on the A/D or LCD pins? Any suggestions or ideas?
>
> Thanks,
> Yas
>
>
>
>
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|