HarryPierce: or am I on the wrong track about the meaning of 'carrier frequency'.
I'm afraid you are - as I said, the wavelength of the IR led isn't too critical here. Any IR led will do.
The
thing is that the command codes you see described in the service manual
are low frequency (as you calculated) pulse trains, which are then used
to amplitude modulate (simply on/off) an oscillator (running at the
carrier frequency), and the resulting signal is then used to drive the
transmitter leds on and off. Here's a web site that describes this with
pictures:
http://www.sbprojects.com/knowledge/ir/index.php
Think
of it as an AM radio transmitter / receiver pair if you wish - the
pulse train you want to send corresponds to the audio signal, not the
electromagnetic radiation leaving the antenna. The discrete IR receivers in the newer B&O devices actually closely resemble a direct mode, fixed frequency 455 kHz AM receiver, with a photo diode in place of an antenna!
There
are some remote control protocols that don't use a carrier and directly
drive the IR light output (such as the ITT protocol described on the
site above), but B&O never used any of those.
I took a look at
the BM8000 service manual which includes the internal schematics of the
Terminal. It uses an SN 76831 transmitter IC; apparently by Texas
Instruments, but it's too old to have any documents online... luckily
the internal block diagram is shown, and it has first a 455 kHz main
oscillator, followed by apparently a 1:11 divider block, which is then
used to gate the LED driver. This would give a carrier frequency of
455/11 kHz ~= 41 kHz, which does make sense.
With an Arduino, you
can set up one of the timer/oscillators of the AVR controller to run at
the required carrier frequency and simply gate it on/off with the pulse
train you want to transmit, and get the signal to drive the transmitter
LED out of an I/O pin. That way you don't need an external hardware
oscillator nor do you have to worry about generating the carrier in
software, and the timing for the much lower frequency IR command codes
becomes quite easy. After the setup phase, you can simply toggle a register bit on and off to control the IR carrier sent to the led, and from the programmer's point of view the problem is reduced to what you anticipated at first.
The Arduino web site and forums have plenty of
examples on IR remote control including ready libraries you might be
able to use. Good luck, it's a fun project