dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Wiki > Main > InsideMPIOHD200 (compare)

Difference: InsideMPIOHD200 (r19 vs. r18)



Here is the documentation for the IC's used:

TEA5767 radio FM module

FM module pinout

The pinout is as fallows:

  1. Vcc
  2. GND
  3. Antenna
  4. GND
  5. GND
  6. Bus enable
  7. I2C? Clock
  8. I2C? Data
  9. Right out
  10. Left out

Module is configured to comunicate over I2C? and has address 0xC0.

I2C? comunication

I have attached logic analyzer to the I2C? bus (pins described abowe). Without HDD connected (so firmware hangs on IDE access) the only communication on the bus is 0x34 0x0A 0x00 which looks like some command for DAC. I have partialy confirmed this by entering "Diagnostic mode" - no I2C? communication, than selecting DAC test we see very the same sequence of bytes. According to WM8750 datasheet it means to unmute DAC which makes sense.

Diagnostic mode

You can put player in sort of diagnostic mode by pressing both rec and play buttons at startup. There You can choose to test DAC, USB connection, DRAM, LCD and keys (ADC). Particulary interesting is the keys (ADC) test which gives some informations how buttons are hooked. Buttons change reading from ADC2 (it is second channel of scf5249 adc). Play button seems to have the highest priority but it also ends the test so the value it produces is unknown. Other keys priority are in order: rec>vol down>vol up>next>prev>select the readings are: 340>680>1060>1410>1750>2100. Untouched buttons gives reading about 2800. This is very similar to the Iriver H1xx.

Moreover ADC1 and ADC4 seems to be related to headphone plug detection. When headphones are plugged reading from ADC1 and ADC4 is 000/2880 when jack is unplugged readings are 2900/0252. Looking through the firmware disasm ADC1 is related to the remote.

ADC3 is related to battery voltage reading. In original firmware value from ADC3 is readed 20 times and mean value of the 10 highest readings is indicator of the battery condition.

Firmware dissasembly

Disassembly of the firmware

Scans of the PCB

HD200inside.zipzipHD200inside.zipmanage 1472.3 K 02 Jan 2006 - 16:35SashaZheligovsky? The insides of the HD200
TEA_module.jpgjpgTEA_module.jpgmanage 30.9 K 23 Sep 2009 - 10:01MarcinBukat FM module pinout
Xray-hd200-part1.zipzipXray-hd200-part1.zipmanage 5664.7 K 24 May 2009 - 18:02MarcinBukat Xray photos of unpopulated connector area (part1)
Xray-hd200-part10.zipzipXray-hd200-part10.zipmanage 5127.5 K 24 May 2009 - 18:59MarcinBukat Xray photos of unpopulated connector area (part10)
Xray-hd200-part2.zipzipXray-hd200-part2.zipmanage 4914.1 K 24 May 2009 - 18:05MarcinBukat Xray photos of unpopulated connector area (part2)
Xray-hd200-part3.zipzipXray-hd200-part3.zipmanage 5675.7 K 24 May 2009 - 18:11MarcinBukat Xray photos of unpopulated connector area (part3)
Xray-hd200-part4.zipzipXray-hd200-part4.zipmanage 5048.4 K 24 May 2009 - 18:19MarcinBukat Xray photos of unpopulated connector area (part4)
Xray-hd200-part5.zipzipXray-hd200-part5.zipmanage 5847.6 K 24 May 2009 - 18:35MarcinBukat Xray photos of unpopulated connector area (part5)
Xray-hd200-part6.zipzipXray-hd200-part6.zipmanage 5394.2 K 24 May 2009 - 18:41MarcinBukat Xray photos of unpopulated connector area (part6)
Xray-hd200-part7.zipzipXray-hd200-part7.zipmanage 5751.2 K 24 May 2009 - 18:44MarcinBukat Xray photos of unpopulated connector area (part7)
Xray-hd200-part8.zipzipXray-hd200-part8.zipmanage 5429.3 K 24 May 2009 - 18:52MarcinBukat Xray photos of unpopulated connector area (part8)
Xray-hd200-part9.zipzipXray-hd200-part9.zipmanage 5649.7 K 24 May 2009 - 18:57MarcinBukat Xray photos of unpopulated connector area (part9)
i2c_communication_on_powerON.BMPBMPi2c_communication_on_powerON.BMPmanage 900.1 K 24 Sep 2009 - 10:30MarcinBukat screen copy from logic analyzer

r21 - 27 Apr 2010 - 22:19:29 - MarcinBukat

Revision r19 - 09 Dec 2009 - 21:23 - MarcinBukat
Revision r18 - 09 Dec 2009 - 11:47 - MarcinBukat
Copyright by the contributing authors.