HD Radio

HD Zoom HDZ300 Radio

HD Radio Component Tuner Kit 

 

·         HD/AM/FM Component Tuner

·         3 Line Display

·         Backlit LCD Display

·         Display Shows: Station, Artist, Song Title, as well as corrsponding HD2 Channel

·         Tuning Range: -FM 87.9 - 107.9 -AM 530 - 1710kHz

·         Manual and Seek Tuning Capabilities

·         20 Memory Presets -10 AM -10 FM

·         Stereo RCA Line Output

·         Built-In FM Modulator

·         Connects through Car Antenna

·         IR Remote Control

·         Power/Ground Cables Included

 



Cable Interface

 

 Pin
DIN
Función
Pin
RS232
   1
 3 RX 2
 6 TX 3
 2 DTR (/POWERON)* 4
 5 Ground 5
   6
 4RTS (MUTE)* 7
   8
 1Vcc +5V 
 
* pin 4 (DB9)  to pin 2 (DIN) join through a transistor view circuit detail.
* pin 4 (DIN)  to pin 7 (DB9) join through a 20K resistor

PWR.ON is inverted, when is 0V the radio turns on.

This circuit simple invert DTR signal from RS232. HD Radio Turns on when DTR is active.


How Do I mine?

  1. get a apple serial printer cable (Din8M), I had one in my old stuff... ( or buy one )
  2. cut it to half (so you can make up to two cables),
  3. identify wires, each cable has a different color, write down the color and pin number,
  4. get a rs232 female connector,
  5. solder directly the pins 3, 5 and 6 to rs232 connector and put a 20K 1/4w resistor between pin 4 and 7 (see table above)
  6. now you have two options here: 
    1. if you wanna the easy version and you planned make your own software them simple solder pin 4 (DB9)  to pin 2 (DIN) through a 20K resistor.
    2. else get the parts in the circuit above (two resistors and one transistor), i soldered the parts to the rs232 connector is not elegant but works, or you can make a simple pcb.
  7. ready to have some fun!



Comunication Protocol


RS232 Serial 115.200 baud 8 bit data no parity 1 stop bit (115200 N,8,1)

<header><length><data><cheksum>

 <header> always 0xA4 (hex)
<length>  total bytes of <data><checksum>
 <data><command> 2 bytes
<operation> 2 bytes
<band> 4 bytes
<constants> 4 bytes 
 <checksum> modular sum of all unsigned bytes of <header><length><data> discarding overflow bits
  


 COMMANDBYTES 
 power        0x01, 0x00 
 mute0x02, 0x00 
 signal strength0x01, 0x01
 tune0x02, 0x01
 seek0x03, 0x01 
 volume0x03, 0x04 
 bass0x04, 0x04
 treble0x05, 0x05


 OPERATIONBYTES 
 set0x00, 0x00 
 get0x01, 0x00 
 reply0x02, 0x00


 BANDBYTES 
 fm0x01, 0x00, 0x00, 0x00 
 am0x00, 0x00, 0x00, 0x00 


 CONSTANTSBYTES 
 up0x01, 0x00, 0x00, 0x00 
 down0xFF, 0xFF, 0xFF, 0xFF 
 one0x01, 0x00, 0x00, 0x00
 zero0x00, 0x00, 0x00, 0x00 

Example commands:

Tune FM 88.9 command:
 0xA4    0x10   0x02 0x01  0x00 0x00   0x01 0x00 0x00 0x00  0x79 0x03 0x00 0x00 
------  ------  ---------  ---------   -------------------  ----------------------
header  length  cmmd_tune  op_set       band: FM             frecuency 0x379 (889)

0x00 0x00 0x00 0x00   0x34
--------------------  ----
ctte zero                                checksum = 0xA4+0x10+0x02+0x01+0x01+0x79+0x03 = 0x34

For each success command send there are a response:

0xA4,0x10,0x02,0x01,0x02,0x00,0x01,0x00,0x00,0x00,0x79,0x03,0x00,0x00,0x00,0x00,0x00,0x00,  0x36


Here a video showing HD Radio working: (youtube)





* information based in 

from DYNAMIC BITS
http://andy.dynamicbits.com/hdradio/


and 

Helpfully C++ Library:
HD Radio Controller
(c) Hal Vaughan 2008 
hal@halblog.com
Licensed under the Free Software Foundations General Public License 2.0 5 6 Control protocols provided by Paul Cotter. 7 8 HD Radio Controller (HDRC) is a C++ library that makes it possible to communicate with various HD and satellite radios.



Ready to use Cable from mitchjs



Original Text: