Rockbox mail archive
Subject: Archos <-> BMW IBUS
From: Fernando Birra (fpb_at_di.fct.unl.pt)
I'm trying to interface the Archos player with a BMW headunit that uses IBUS
(a serial line at 9600bps, even parity, one stop bit, pulled up to +12V).
The frames have the following format:
sender, length, destination, message body, checksum
the length includes the destination, message body and checksum bytes. The
checksum is similar to M-BUS (an xor of all bytes).
As I understand from Jörg experiences, he connected the Archos directly to
the MBUS and all went fine. I'm afraid that doing the same might damage
either the archos or, even worse, a component from my car connected to the
I know very little about low level electronics (I really hate discrete
components!) but I wanted a converter circuit from the TTL levels of the
Archos to the IBUS signals. Can someone help me on this? Can a simple
voltage divider work in this case to drop the line from 12 to around 4 V? I
really know very little about the subject :(
I modified Jörg's alpine_cdc.c code to talk at 9600bps 8e1 and all that is
preventing me to test the code is the damn interface... I already have done
a few experiences controlling 6 fixed playlists and the mpeg/playlist code
is now working well. In fact it wasn't too hard. I was having trouble
stoping the mpeg playback because I was trying to do it by capturing the
STOP button on the remote control (by calling button_get()). As soon as I
changed this to another button on the remote control everything was fine.
Beats me completely why it doesn't work with the STOP button but I suspect
it is being captured at a previous point in the code and some processing was
colliding with my code.
So, in resume, I have a ibus_main() function being called from app_main(),
just before browse_root(). When a key is pressed in the archos the IBUS CDC
emulator exits and the jukebox returns to its normal operation. This is just
an easy way to have both things running so that I can easily use it in the
car and at home. I have all the serial code ready to be tested and when it
works I will be able to build the CDC emulator part (this is probably the
easier part as the protocol is quite simple)...
So, I hope someone can help me on this topic...
Thanks to the group.
Page was last modified "Jan 10 2012" The Rockbox Crew