Is something using DMA channel 0?

Philip Ashmore contact at philipashmore.com
Thu Nov 7 20:50:10 EST 2013


On 07/11/13 23:36, Florian Meier wrote:
> Hi Philip,
> I faced some strange effects with the DMA channel 0, too. It seems to
> have a special functionality, but I skipped the investigation, because I
> found other channels that do the job. Are the other channels working ok?
I'll give the others a try.
It seems DMA 0 is being used by something intermittently and I'd like to
know for sure which other DMA ports are also used in this way.
> 
> By the way: What is your goal? If you only want to have I2S support you
> can use this kernel driver:
> http://blog.koalo.de/2013/05/i2s-support-for-raspberry-pi.html
Ultrasound devices use beam forming to focus ultrasound outputs from
multiple transducers onto a target, then they capture the reflected
sound and process the tiny delays between the transducers to work out
the location of the target doing the reflection.

I want to use the same principle for targets that emit their own sound.

Two nice examples are rain drops and sea gulls, both readily available
here in Dublin, Ireland.

I've got 16 12s microphones which pair up so you can read/control them
with two outputs and 8 inputs - see the "i2s" example source file,
v3c-raspi/v3c/examples/i2s.cpp for more details.

I think it should also be possible to capture sea gulls clamouring for
food (a neighbour throws bread out for them regularly).

I'd like to use the rain drop sounds to recreate a 3D model of whatever
it is the rain is bouncing off, and if I can integrate the camera input
too then I should be able to use the image data as a texture to overlay
onto the 3D data.

If you've seen "minority report" where John Anderton looks at videos of
his son you'll see a video texture overlaid onto a 3D model - like that.

For the sea gulls, I'd like to show trails of their sounds in 3D.

I figure I can feed two lots of 8 channels to ffmpeg (I think vorbis can
"only" do 8 channel audio) and create two compressed audio streams.

I don't know if the poor Raspberry Pi can handle this plus the camera
but I'll give it a try!

Of course the 3D processing would have to be done by something a lot
more powerful but I think the results will be worth it.

There are commercial systems that do this to analyse sound and vibration
issues on lorries and trains etc that cost thousands, so maybe I'm
aiming a little high.

> 
> Greetings,
> Florian
> 
> On 07.11.2013 05:57, Philip Ashmore wrote:
>> Hi there.
>>
>> Please forgive me in advance if I'm posting this question on the wrong list.
>>
>> I wrote a C++ library to control the Bcm2835 from user space:
>> v3c-raspi: http://sourceforge.net/projects/v3craspi/
>>
>> But it appears that something writes to the DMA channel 0 control
>> register at random intervals - I managed to get the i2s example running
>> for 5 seconds before the problem occurred. Other times it happens almost
>> immediately.
>>
>> I posted this bug originally:
>>
>> Is something using dma channel 0?
>> https://bugs.launchpad.net/raspbian/+bug/1231791
>>
>> Then I found someone else who wanted to do something like it:
>>
>> How fast is GPIO+DMA? Multi I2S input
>> http://raspberrypi.stackexchange.com/questions/9646/how-fast-is-gpiodma-multi-i2s-input/10287#10287
>>
>> But no responses to either regarding my issue.
>>
>> Is this the right place to post this question?
>>
>> Regards,
>> Philip Ashmore
>>
>> _______________________________________________
>> linux-rpi-kernel mailing list
>> linux-rpi-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel
>>
> 
> 
> _______________________________________________
> linux-rpi-kernel mailing list
> linux-rpi-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel
> 
Regards,
Philip Ashmore



More information about the linux-rpi-kernel mailing list