Zvue Media Player Hardware


 


Processor - 200 MHz ARM
Motorola MX-1 Dragonball
MC932BMXLVH20

The processor is a well-documented off-the-shelf part (block diagram).  It's about $10 in quantity. This chip contains a number of built-in peripherals:
Of course, not all of the features of the processor will necessarily be wired up in the Zvue.

Firmware Memory - 4 Megabytes
Atmel
AT49BV321
32 megabit FLASH, 2Mx16 / 4Mx8, 2.65v to 3.3v

Should be memory mapped to 0x10000000 via CS0*, but this hasn't been confirmed yet. May also appear at 0x00000000 and/or 0x00100000.

SDRAM Memory - 8 Megabytes
EtronTech
EM638325TS-6
64 megabit SDRAM, 2M x 32

Appears to be memory mapped to 0x08000000.  Code executes out of here, so it must have been copied from the slower FLASH memory.

LCD Interface
Himax
HX8802BLB
I couldn't find information on this exact chip, but it looks like it's some sort of "timing controller."

LCD Module
Marked "FPC 51654A", but I couldn't find the manufacturer. Opening up the metal case might have helped, but I don't want to break it - it's a too nice looking to risk damaging!

Audio Interface
Texas Instruments
320DAC23
Stereo DAC, with I2S interface, headphone amplifier, and volume control.

USB Transceiver Interface
Philips
ISP1105
12 Megabit transceiver with static protection in an incredibly small package.

JTAG Programming Connector
J4 is an internal 8-pin JTAG programming connector, located near the SD card opening. It's really just a bunch of holes on 0.1" spacing, so you can solder right to it.

Pin 1 is not marked, but I assumed it was closest to the "J4" label, which is marked on the underside of the PCB and furthest from the processor. The ordering of the pins agrees with a standard JTAG connector.  Pin 8 is not connected, but is often used for a RESET* input to reset the system - not connecting it is perfectly valid, especially considering that there isn't anything else on the board to reset except the processor (which can use TRST*).

J4 Pin
Number

Function

Direction

1
VDD (3.0v)
-
2
TRST*
input
3
TDI
input
4
TMS
input
5
TCK
input
6
GND
-
7
TDO
output
8
N/C
-

The open-source jtag-arm9 project works great to connect to the JTAG port! I built a simple interface to my parallel port that brought down the output voltages from 5.0 to 3.0 volts -- it was less than $20 at Radio Shack even though I did it the most expensive way possible (I bought a breadboard for $7 and a wire kit for $5).  The jtag-arm9 software doesn't use TRST* or RESET*, so no need to wire these up.  On a sad note, it seems that Radio Shack is phasing out all digital IC's, so this circuit may get harder to build on an impulse.  My setup is not reliable enough to generate large memory dumps, but it works great for small sections of memory. I'll be figuring out the weak link (either hardware or software), and improve it.

The processor reports a JTAG ID of 0x1092001D - this breaks out into the following valid-looking fields:

Bits
Function
Value
31:28
Specification revision
0x1
27:12
Product code
0x0920 (Arm 920T core)
11:1
Manufacturer
0x00e
0
IEEE standard (required)
0x1


You can also buy commercial JTAG debugger/in-circuit-emulators to do this - they are generally much more full-featured and much more expensive.

ACC Connector
5 pins, pinout to be determined. It uses the same USB "mini-B" connector that the actual USB port does -- but it's recessed a bit and a unique key on the chrome trim piece should keep them from accidently being interchanged. (The actual USB spec doesn't specify how much overmolding there should be on the connector, but I'll bet they're safe). Looking in to the connector, the pin are labeled 1 (on left) to 5 (right).


Contact
Number
ACC connector
signal name
Observed
State

Impedence

GPIO
Signal


USB
signal name
Typical wiring
assignment
1
VDD out (3.0 volts)




VBUS
Red
2
SPI1_MOSI
low
∞ Ω
PC17

D-
White
3
SPI1_MISO
low
∞ Ω
PC16

D+
Green
4
SPI1_SS*
high
70.3k Ω
PC15

ID
not connected
5
SPI1_SCLK
high
70.3k Ω
PC14

GND
Black
shell
ground




Shield
drain wire

The USB signal name and typical wiring assignment is provided for reference only - it could be useful to someone scavaging a USB cable to connect to the ACC interface, but they would have to do without the SPI1_SS (slave select).

Although I wasn't using the best test equipment (so I can't say for sure), I didn't see any obvious transients upon power-up. Pins 1 and 2 are high-impedence and look like inputs. Pins 3 and 4 have a high impedence that cosely matches the on-chip selectable pull-up resistors (69k Ω, as seen in Table 2-2), so they are probably inputs. Of course, all this could change with a firmware upgrade.



back to my zvue page
visit my homepage