The DABmate M1+ is a USB device with a simple aerial, approximately 340mm in length. It's fairly small, at 85x40x15mm and the aerial is telescopic and can be folded to the side of the device which makes it very portable. In areas with poor reception, the aerial will be a weakness. The specification says that the aerial connector is an SMA connector, so perhaps the aerial can be disconnected and replaced with a stronger aerial?
The device is supplied with a USB lead while will allow connection to a PC, or the device can be connected, without lead to the side of a laptop. Many bluetooth or wireless dongles operate in this fashion, however, in this case, sticking the aerial up will likely restrict movement, so use of the lead is advisable.
There's not a great deal of documentation for developers. The website at www.dabmate.com presents this picture which indicates that the device contains simple RF functions only. The complex DAB decoding process is intended to be hosted in the attached PC.
It seems likely that the device hosts 3 main functions:
RF tuner, tunes to the RF frequency of the particular DAB mux (ensemble).
RF mixer, converts the RF frequency down to a standard frequency (IF).
ADC. Samples the IF signal, and delivers digital samples to the host computer for further processing.
Given the lack of further documentation the obvious next step is to put a USB analyser on the device and see what information is transmitted over the USB cable during it's use. Ignoring the standard commands, which are supported by all USB device (descriptors etc.) the following commands are specific to this device:
Request type | Request | Value | Sent | Received | Comment |
---|---|---|---|---|---|
VENDOR | 0x13 | 0 | No payload | A string describing the device. | The device responds with a string which seems to contain information
about the device. My device responds with a Unicode string representing this
text:
MTECH dabMate-MT8888-MP-0602On the face of it, this command doesn't seem to make much sense, since the USB protocol includes many features for discovering the identity and nature of the device in the USB device descriptor commands. |
VENDOR | 0xf3 | 0x30X0 | No payload | No payload. | This command seems to do nothing more than alter the state of the LED on the top of the device. From experimentation: X & 1 sets the dim red LED while X & 2 sets the bright green LED. |
VENDOR | 0x91 | 0x63 | 00 C7 XX YY 01 F4 02 80 02 70 0a 03 02 83 | No payload. | This command seems to set the DAB tuner frequency to a particular DAB mux. e.g. XX YY set to 5D 02 for band 12B (BBC national in the UK). |
ISO READ | - | - | - | Decoded data. | This command seems to fetch received data to the host PC. |
The device appears to honour BULK READ as well as the ISO READ command, and the commands appear to receive the same data. The returned data is a string of seemingly random bytes. Closer inspection reveals that the bytes tend to be centred on the value 128. Further, the values seem much more likely to tend to the value 128 when the device is placed in conditions where it is very unlikely to receive a good DAB signal.
When configured to receive data from a known DAB mux, and data is read from the device, data is delivered at a rate of around 8MB (megabytes) per second.
It seems likely that the device is returning 8-bit samples, centred on 128 i.e. 128 represents 0V.
There goes my warranty. The device consists of a single board. One side is almost completely covered by a metal case which prevents us from knowing what's underneath. This is likely to provide a shield for the RF components. The other side of the board is pictured below, annotated:
The three components which catch my eye are:
AD9280: An Analog Device IC, performs ADC (analogue-to-digital conversion) at frequencies of up to 32Mhz of 8 bit samples.
8MHz crystal: Likely providing the clock for the AD9280. i.e. the ADC is running at 8MHz.
CY768013: USB interface.
Thus it seems likely that:
The device consists of an RF front-end, an ADC which samples the signal, and a USB interface which transfers the sampled signal to the host.
The RF signal is downconverted to a standard IF signal before sampling at 8MHz.
The sample size is 8 bits.
The LED is not connected to the RF circuitry, and is controlled by host software. ;-)
To make a DAB receiver for Linux using this device, it will be necessary to provide complete DAB processing from the sampled signal to audio processing.
Peter Miller emailed me with information about the device. This device sounds completely different to mine, and also sounds like it comes up with a different USB device id.
Hi I've just got myself one of these dab (A51GZ) sticks from Maplin. They're on offer (£30) at the moment and I'm nosey. Internally it is quite different form the one that you describe, although it appears to be made by the same manufacturer. The documentation refers to www.dabmate.com, which is of little relevant (from the point of being nosey!) use. Another relevant website is www.mtech.com.tw who appear to be the original manufacturer - a label inside the case states 'UDRA1' which is obviously the Mtech model number. No tools (apart from fingernails) are required to open the case. I don't have any photos yet, although I think it would be much the same layout, the chipset is quite different from yours described on your webpage. I can identify a SAW bandpass filter made by hoperf.com. The centre frequency is about 38MHz with a 1.5MHz 3db bandwidth - this will filter the IF output from the RF front end to the ADC. The main chip is an Atmel ATR2740 Dab decoder (info at www.atmel.com) and ARM based microcontroller that does all the decoding magic, with an Atmel 49SV802A flash memory chip alongside presumably holding the firmware - there are 8 pads on the pcb alongside, presumably for production line programming. Both these chips are BGA packages, so probing is impossible. The ATR2740 would appear to drive the USB bus directly (there's no other chip around), although there is no reference to this in the limited documentation available. From a software point of view (in windows XP), It identifies itself as USB manufacturer 03EB, device 6500 which is assigned to Atmel. It loads as a composite device and then later as 'Amel medusa 4 command channel' and 'Atmel medusa 4 datastream'. I've had a quick google around and can't find out anything more. Just thought you'd like to know....... Peter Electronics Technician....