
ZORAN Corporation
USBvision II Data Decoder
ZR36505 Data Sheet
November-99
Page 68 of 68
11.
Bulk Channel
The Bulk channel in the ZR36504 is capable of transferring serial data from an external
source to the host computer at a bit rate of up to 2Mbit/sec. It uses a bulk end point
(E.P#4), with a maximum packet length that can be specified a value between 1-64 bytes
(the USB standard does not allow a bulk packet of more than 64 bytes).
The Bulk channel takes advantage of the existing interface for the audio codec. In order to
work simultaneously with the audio channel, the external data source should be able to stop
the data transfer from time to time - as specified in the Bulk waveform diagram.
The ZR36504 pins for the Bulk channel interface are BCLK, DAT_IN, BLK_EN, and
BLK_FULL. The signals FS_L and FS_R should be monitored by the data source logic, in
order to coexist with the audio channel.
The following table specifies the control registers that are used for controlling the Bulk
channel:
Control Name
E_B
Reg.50/d1
'1': Enable Bulk Data input.
BLK_PK_LEN[6..0]
Reg.52/d6-d0
of USB descriptor (64 if no external EEPROM used).
This register directly affects the bit rate capability of the Bulk channel. The
actual bit rate is also limited by the BCLK frequency, which can be 64KHz,
1544KHz, or 2048KHz. A bit rate of 2Mbit/sec can be reached only in
computers that are capable of performing more than one packet in a USB frame
(OHCI).
The following waveform diagrams specifies the procedure and timings for the ZR36504
Bulk interface. Note that the input data is sampled on the falling edge of the BCLK clock
signal. The BLK_EN input is set to '1' by the sending device to indicate the beginning of a
byte sequence; it should always turn to '1' before the most significant bit of the first byte, and
return to '0' after the least significant bit of the last byte in sequence. When the BLK_FULL
output of the ZR36504 turns '1', the sending device should wait (by switching BLK_EN to
'0') until the BLK_FULL indication returns to '0'.
Description
'0': Disable Bulk Data input. Set BLK_FULL output to constant '0'.
If E_A is also '0', BCLK is set to constant '0'.
This register specifies the maximum number of bytes to be sent in a single USB
Bulk packet. This must be a number between 0-64, and it should fit the content