Re: Sad about removal of I2S. Why was this change made?


77 posts   Page 1 of 4   1, 2, 3, 4
by nullstring » Thu Jan 26, 2012 7:09 am
I would just like to say that at least one person is very disappointed about the apparent lack of I2S in the production RPI boards.

Can I please ask. Why was this change made?

You are really throwing a wrench into many many projects related to SDR and high quality audio.

I appreciate the work you guys do, and I still plan to buy at least one, but I won"t be able to use it for the main project I had planned.

Can I get word as to whether this might be added in a future revision. I believe I read that more GPIO"s would be available in future RPI"s. If that"s the case, can we make sure the I2S ports are one of them? Thanks.

Gert said:


Before somebody points to an old post of mine about Audio quality:

In the past I said the the Raspberry-Pi would have a PCM/I2S  port.

A while ago I found that not to be true. In the last PCB change the GPIO pins which carry the PCM/I2S signals were swapped for others. I did not spot that in the schematic until I found two of my Gertboard LEDS where not coming on.

Sorry.

Moderator: this is an old thread! Since revision 2 the PI has a new header P5 which has I2S.
Posts: 178
Joined: Sun Oct 02, 2011 3:05 pm
by Gert van Loo » Thu Jan 26, 2012 7:25 am
I don't know why, as I was not involved in the last stages of the Beta board design. Very likely those pins where very difficult to route away from underneath the BMC2835 ball grid array.

If you are desperate enough and don't tell anybody else: You might still can have access to the I2S, but it will require putting a solder iron to the board and tap of some tiny resistors. That is because there are four more GPIO pins which come out on 'board revision' resistors. These GPIO pins can also carry the PCM/I2S signals. As I only do the hardware I do not know if those GPIO pins are indeed read by the SW to identify the board version. I don't think so but if they are, tinkering with them might confuse your SW to think it is a different board.
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1985
Joined: Tue Aug 02, 2011 7:27 am
by nullstring » Thu Jan 26, 2012 7:38 am
Thanks Gert. That seems likely to me as well.

I feel like my original post was sorted of tilted toward "lets play the blame game", and that wasn't my intention. It doesn't seem as though I can still edit it, but if I could, I would.

Is there anyway you could get Eben(etc)'s attention on this matter?

I know it's not really in your design goals, but if at all possible, it'd be nice to add this feature to future revisions.

I would understand if it's not feasible for some reason or another, but I would like to know that it was considered by the designer rather than just overlooked.

Thanks.

PS: Thanks for the information. I might consider doing something like that as a short term solution, but that's not something you can really advertise to others as a feasible solution.
Posts: 178
Joined: Sun Oct 02, 2011 3:05 pm
by error404 » Thu Jan 26, 2012 9:12 am
I'll just +1 the disappointment. Was really looking forward to making use of I2S, but glad I didn't put any time into it :P .

The possible availability of a hack interests me. I will (impatiently) await release of schematics...
Posts: 351
Joined: Wed Dec 21, 2011 11:49 pm
by Gert van Loo » Thu Jan 26, 2012 10:05 am
Eben knows about it.

Along side the PCM/I2S we also lost a PWM channel and the MISO and MOSI of the second SPI interface. :-(

Fortunately we have one PWM channel left on GPIO 18 which is just enough to drive a motor but I have no solution for the second SPI interface.
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1985
Joined: Tue Aug 02, 2011 7:27 am
by Burngate » Thu Jan 26, 2012 10:30 am
I also was sorry to hear this (though I had no plans for it) - though you can only cram so much onto something this size.

I assume then that the wiki needs updating - the pics still have I2S on them. Can we have an up-to-date list of what's on the GPIO connector?
Brain surgery is easier than psychoanalysis
User avatar
Posts: 2662
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK
by richardp » Thu Jan 26, 2012 10:33 am
So what is REALLY on this board then?   Once I2C and once SPI bus is what I need (and a handful of GPIO's for addressing)... if its not there, then I might-as-well just give up this dream and find something more suitable.

Richard
RaspberryPi's galore
Solid run CuBox
ODroid U2
Posts: 117
Joined: Thu Jan 12, 2012 11:46 am
by arm2 » Fri Jan 27, 2012 8:59 pm
As I understand the I2S was on the alpha board it must be possible and I'd expect that later revisions of the board will probably have the I2S, though at present the foundation themselves may not not for sure. I would also expect them to wait at least until the first two or three batches of 10,000 are produced before a second revision.
Posts: 237
Joined: Thu Dec 15, 2011 3:46 pm
by Gert van Loo » Fri Jan 27, 2012 9:08 pm
The WIKI has the GPIO connector with the most important signals: SPI, I2C,  UART. I don't have the data here at home but I think GPIO18 can also be PWM.
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1985
Joined: Tue Aug 02, 2011 7:27 am
by paulie » Sat Jan 28, 2012 11:56 am
I too would like 2x rs232, easily accessible, (for changing settings to my APRS tracker project, and GPS input). 2x10 pin header 2mm spacing for GPS module would bea nice alternative, to serial input/usb GPS.
Posts: 178
Joined: Thu Jan 19, 2012 6:51 pm
by roelfrenkema » Sat Jan 28, 2012 12:19 pm
usb2rs232 ???
Posts: 105
Joined: Sat Jan 07, 2012 5:17 pm
by liz » Sat Jan 28, 2012 1:15 pm
Eben shouts from the bath that he's not actually sure we *have* lost it - it may just be hidden behind some GPIO muxes. He'll check later (but not immediately on emerging from the bath, because I want him to take me out for lunch).
--
Head of Comms, Raspberry Pi Foundation
User avatar
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 4038
Joined: Thu Jul 28, 2011 7:22 pm
by Jock in a Frock » Sat Jan 28, 2012 1:31 pm
liz said:


Eben shouts from the bath that he's not actually sure we *have* lost it


From the bath? He's taking this whole BBC / Acorn / Archimedes fixation a bit far, don't you think? Does he shout "EUREKA" when he finds his rubber ducky?
Posts: 72
Joined: Thu Jan 12, 2012 6:39 pm
by jamesh » Sat Jan 28, 2012 2:03 pm
liz said:


Eben shouts from the bath that he's not actually sure we *have* lost it - it may just be hidden behind some GPIO muxes. He'll check later (but not immediately on emerging from the bath, because I want him to take me out for lunch).


Bit early for his yearly bath....
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11554
Joined: Sat Jul 30, 2011 7:41 pm
by Gert van Loo » Sat Jan 28, 2012 3:04 pm
I suggest you tell Eben that "Gert said we lost it". That may save him time looking it up.
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1985
Joined: Tue Aug 02, 2011 7:27 am
by liz » Sat Jan 28, 2012 8:24 pm
In that case, I would imagine his answer is "Oops. Didn't mean to lose that." People will observe that there are a number of DNC pins on the header, and I suspect we'll probably use some of those in a subsequent revision to put I2S back.
--
Head of Comms, Raspberry Pi Foundation
User avatar
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 4038
Joined: Thu Jul 28, 2011 7:22 pm
by mole125 » Sat Jan 28, 2012 9:32 pm
Any chance of getting a second PWM channel out of it as well so that we can control a pair of motors at different speeds? I guess the alternative is either bit banging or hooking up an external PWM chip (any suggestions of one?)

Thanks!
Posts: 230
Joined: Tue Jan 10, 2012 2:01 pm
by nullstring » Sun Jan 29, 2012 3:44 pm
liz said:


In that case, I would imagine his answer is "Oops. Didn't mean to lose that." People will observe that there are a number of DNC pins on the header, and I suspect we'll probably use some of those in a subsequent revision to put I2S back.


That's good to hear.

Hopefully sooner rather than later =)
Posts: 178
Joined: Sun Oct 02, 2011 3:05 pm
by Sciman » Sun Jan 29, 2012 4:38 pm
Hi, this is all a little technical for me - but worrying. I have some teachers at my school who are wanting to start a robotics club and would love to have the RaspberryPi act as the brain and use Python code to receive input from sensors and control servos. I had hoped that the Gert board would deliver this possibility. Is this Pi in the sky? (sorry!)
Posts: 19
Joined: Fri Jul 29, 2011 1:04 pm
Location: London
by kasperl » Sun Jan 29, 2012 4:48 pm
GPIO will be fine, sensors and motors are safe. The only thing that's lost (according to Gert) or temporarily misplaced (Eben?) is the digital audio connection through GPIO pins. Which is a real pity for those of use who wanted to use this in a music-playing setup, but can be worked around with a USB soundcard, or by using HDMI audio on the output side of things.
Posts: 90
Joined: Fri Jan 06, 2012 6:20 pm
by Gert van Loo » Sun Jan 29, 2012 4:54 pm
mole125 said:


Any chance of getting a second PWM channel out of it as well so that we can control a pair of motors at different speeds? I guess the alternative is either bit banging or hooking up an external PWM chip (any suggestions of one?)

Thanks!



I have seen the question for various motor controls in several places. My answer is that you can best control a motor with small microcontroller. (They are about $1-$2 The price is neglectable on a robots project) They all can do PWM but they can respond in real time. I would then give them a small local program so you can talk to them using SPI or I2C. Then you can tell the motor to 'goto pos X using speed Y'.
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1985
Joined: Tue Aug 02, 2011 7:27 am
by Tomo2k » Sun Jan 29, 2012 5:06 pm
As Gert said, this is by far the best way to do 'real' motor control.

Closed-loop control of speed and especially position simply can't* be done accurately under any 'normal' operating system like Linux or Windows.

You have to use a proper real-time OS like VxWorks or no operating system at all.

Thus the best way to do it is to have a microcontroller or FPGA that handles the low-level stuff based on simple commands (eg move to (X,Y,Z) at rate profile (dx,dy,dz)), and let the RPi (or PC) handle all the complex and difficult parts of figuring out those goals.

Like examining a video stream and making decisions based on what the machine can see!

*It's extremely hard and not very reliable, as you don't have a predictable loop time or interrupt latency. You might get it 'good enough' by throwing ridiculous amounts of CPU resources at it, but then you won't have enough CPU resources left to do anything interesting!
Posts: 126
Joined: Mon Dec 19, 2011 10:00 pm
by terual » Mon Jan 30, 2012 8:28 am
I was just browsing this forum to look at new ideas for subsequent versions and then I saw this thread. What, removal of I²S? I was under the impression that I²S was available on the pins (as per wiki), so this is really a sad day for me….

I certainly hope that this feature will come back in future revisions, until then I have to put my Squeezebox clone idea in the refrigerator…

BTW, while you're at it, please provide mounting holes for the board and breakout pins for usb to ease integration of the RasPi into enclosures a bit!!
Posts: 7
Joined: Mon Jan 30, 2012 8:10 am
by meltwater » Mon Jan 30, 2012 8:51 am
It is unfortunate, but still better that the prospect of a real product is so close now.

Fingers crossed for a hardware hack, shall have to wait and see.

Do anyone know of a ultra cheap usb digital output dongle, something like that would at least resolve issues for a lot of people planning some projects.  There are lots of analogue usb dongles out there for a few $, but a digital one seem to be a lot more (simple pass-through digitial would be enough).

As far as I know, splitting out the digital signal isn't too easy from the HDMI (although please correct me if not).
______________
http://www.themagpi.com/
A Magazine for Raspberry Pi Users
Read Online or Download for Free.

My new book: goo.gl/dmVtsc

Meltwater's Pi Hardware - pihardware.com

Like the MagPi? @TheMagP1 @TheMagPiTeam
User avatar
Posts: 993
Joined: Tue Oct 18, 2011 11:38 am
by terual » Mon Jan 30, 2012 8:56 am
http://www.minidsp.com/product.....nistreamer

- USB 2.0 Audio interface requiring no driver

- Transformer isolated SPDIF input and outputs for better noise immunity

( - Buffered I2S in&out signals on 2.5mm header )

It's not ultra-cheap ($55), but not very expensive either...
Posts: 7
Joined: Mon Jan 30, 2012 8:10 am