This is one way for direct-register access control of the McBSP 3 ARM interface of the Gumstix Overo Water.
I mounted the Gumstix on a TOBI board for connections.
I haven't recompiled the kernel or touched the setup files or
the pre-existing drivers... nothing of this.
This is my recipe:
1) install on a formatted SD card the stable Gumstix armstrong linux version
( see http://gumstix.org/get-started/how-to.html )
2) connect your Overo Water + Tobi system on Internet by LAN cable
3) connect the Gumstix to your windows PC by the USB cable and by the software putty.exe,
open a control windows
selecting an emulated serial connection (see putty instructions)
3) Check the internet link, use ( on the Gumstix )
ifconfig eth1 192.168.0.5 netmask 255.255.255.0
or whatever the desired IP address+netmask for connecting the Gumstix @ your router
4) install the C cross compiler :
$ echo 'src/gz angstrom-base http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv7a/base' > /etc/opkg/angstrom-base.conf
$ opkg update
$ opkg install task-native-sdk
or better use
$ opkg update
$ opkg install task-native-sdk
for updating all the software.
5) Reboot the gustix
6) Put the following code on your home directory ( or wherewer you prefer ) editing it with
VI main.c
or with any other any other editor you like. I use normally Eclipse for editing my software
on the PC and transferring
it to the remote system (the Gumstix) ( contact me if you want more info on this);
I called the file "main.c" ; compile it using the command
$ gcc -o main main.c
and execute it using
$ ./main

I setted the McBSP3 on the Overo Water module for driving a fast ADC converter.
The interface generates a free running clock of 20 or 40 MHZ and a Frame Sinc
signal every 20 clocK cicles. The Tx & Rx buffer are setted @ 20 bits .
Following the comments on each line, it is easily
possible to change all the McBSP3 settings to obtain the desired setup.
Many lines starts with a comment: those are the points to insert other settings
that I haven't used. See
http://www.gumstix.org/hardware-design/overo-coms/74-overo-connectors/97-gumstix-overo-series-40-pin-header.htmlfor the TOBI connector pinout.
That's all!
Here's the code.
Nicola

Hi brahim. Sorry but I cannot give schmatics...I'm working on a very big project granted by an important european research center and I must respect very strict rules about intellectual properties. however, I may syggest you to look for Texsas Instruments ADC and/or DAC converters that are well suited to be connected and managed by
McBSP whom Gumstix CPU are equipped with. Take care of the voltage swing of the signals : 0-1.8V on the Gumstix and 0-3.3 or 0-5 volts on external hardwares: you should also use a level converter.
Nicola

Considering the interface speed ( roughly 40 MHz maximum) you can think about the acquisition of
signals up to 1 or 2 Msps to maintain granular noise "under control".... the maximum rate you shuold
acquire (in terms of frequency spectrum limits) is given by the Nyquist theorem or the Sampling theorem.
Nicola