Cypress SL811HS manual Data Port, Microprocessor Interface, DMA Controller slave mode only

Page 2

SL811HS

Data Port, Microprocessor Interface

The SL811HS microprocessor interface provides an 8-bit bidirectional data path along with appropriate control lines to interface to external processors or controllers. Programmed I/O or memory mapped I/O designs are supported through the 8-bit interface, chip select, read and write input strobes, and a single address line, A0.

Access to memory and control register space is a simple two step process, requiring an address Write with A0 = ’0’, followed

mode described in Auto Address Increment Mode, where direct addressing is used to READ/WRITE to an individual address.

USB transactions are automatically routed to the memory buffer that is configured for that transfer. Control registers are provided so that pointers and block sizes in buffer memory are determined and allocated.

Figure 1. Memory Map

by a register/memory Read or Write cycle with address line A0 = ’1’.

In addition, a DMA bidirectional interface in slave mode is available with handshake signals such as nDRQ, nDACK, nWR, nRD, nCS and INTRQ.

The SL811HS WRITE or READ operation terminates when either nWR or nCS goes inactive. For devices interfacing to the SL811HS that deactivate the Chip Select nCS before the Write nWR, the data hold timing must be measured from the nCS and will be the same value as specified. Therefore, both Intel®- and Motorola-type CPUs work easily with the SL811HS without any external glue logic requirements.

16 bytes

0x00 – 0x0F Control

 

and status registers

240 bytes

0x10 – 0xFF

USB data buffer

64 bytes

0x00 – 0x39

Control/status registers

 

and endpoint

 

control/status registers

 

0x40 – 0xFF

 

USB data buffer

192 bytes

 

DMA Controller (slave mode only)

In applications that require transfers of large amounts of data such as scanner interfaces, the SL811HS provides a DMA in- terface. This interface supports DMA READ or WRITE trans- fers to the SL811HS internal RAM buffer, it is done through the microprocessor data bus via two control lines (nDRQ - Data Request and nDACK - Data Acknowledge), along with the nWR line and controls the data flow into the SL811HS. The SL811HS has a count register that allows selection of pro- grammable block sizes for DMA transfer. The control signals, both nDRQ and nDACK, are designed for compatibility with standard DMA interfaces.

Interrupt Controller

The SL811HS interrupt controller provides a single output signal (INTRQ) that is activated by a number of programmable events that may occur as result of USB activity. Control and status registers are provided to allow the user to select single or multiple events, which generate an interrupt (assert INTRQ) and let the user view interrupt status. The interrupts are cleared by writing to the Interrupt Status Register.

Buffer Memory

The SL811HS contains 256 bytes of internal memory used for USB data buffers, control registers, and status registers. When in master mode (host mode), the memory is defined where the first 16 bytes are registers and the remaining 240 bytes are used for USB data buffers. When in slave mode (peripheral mode), the first 64 bytes are used for the four endpoint control and status registers along with the various other registers. This leaves 192 bytes of endpoint buffer space for USB data transfers.

Access to the registers and data memory is through the 8-bit external microprocessor data bus, in either indexed or direct addressing. Indexed mode uses the Auto Address Increment

Host Mode Memory Map

Peripheral Mode Memory Map

Auto Address Increment Mode

The SL811HS supports auto increment mode to reduce READ and WRITE memory cycles. In this mode, the microcontroller needs to set up the address only once. Whenever any subse- quent DATA is accessed, the internal address counter advanc- es to the next address location.

Auto Address Increment Example. To fill the data buffer that is configured for address 10h, follow these steps:

1.Write 10h to SL811HS with A0 LOW. This sets the memory address that is used for the next operation.

2.Write the first data byte into address 10h by doing a write operation with A0 HIGH. An example is a Get Descriptor; the first byte that is sent to the device is 80h (bmRequestType) so you would write 80h to address 10h.

3.Now the internal RAM address pointer is set to 11h. So, by doing another write with A0 HIGH, RAM address location 11h is written with the data. Continuing with the Get Descriptor example, a 06h is written to address 11h for the bRequest value.

4.Repeat Step 3 until all the required bytes are written as necessary for a transfer. If auto-increment is not used, you write the address value each time before writing the data as shown in Step 1.

The advantage of auto address increment mode is that it reduces the number of required SL811HS memory READ/WRITE cycles to move data to/from the device. For example, transferring 64 bytes of data to/from SL811HS, using auto increment mode, reduces the number of cycles to 1 address WRITE and 64 READ/WRITE data cycles, compared to 64 address writes and 64 data cycles for random access.

Document 38-08008 Rev. *D

Page 2 of 32

Image 2
Contents Master/Slave Controller FeaturesIntroduction Cypress Semiconductor CorporationData Port, Microprocessor Interface DMA Controller slave mode onlyAuto Address Increment Mode Interrupt ControllerFrequency Tolerance SL811HS RegistersMHz Crystals USB TransceiverSL811HS Host Control Registers Register Values on Power Up and ResetUSB Control Registers HBADD5 HBADD4 HBADD3 HBADD2 HBADD1 HBADD0 ISOBit Position Bit Name Function PID Type HBL7 HBL6HBL4 HBL3 HBL2 HBL1 HBL0 D7-D4DA6 DA5 DA4 DA3 DA2 DA1 DA0 HTC7HTC2 DA7Control Register 1 Address 05h Bit Low-power Modes Bit 6 Control Register, Address 05hUSB Reset Sequence Control Register 1 Address 05h Bits 3Done Interrupt Enable Register Address 06hUSB-B USB-A USB-B DoneUSB-B Interrupt Status Register Address 0Dh BitValue of the Data+ pin Revision Reserved Bit Position Bit Name FunctionSOF7 SOF6 SOF5 SOF4 SOF3 SOF2 SOF1 SOF0 Endpoints 0-3 Register Addresses Register Name Miscellaneous register addressesEndpoint Registers Endpoints 0-3 Register AddressesNext Data Set Endpoint Control RegistersSequence EPxLEN1 EPxLEN0Current Data Set Register Reserved OverflowTransmission Acknowledge Control Register 0Fh SOF Low Byte RegisterStbyd Control Register 1 Address 05hStbyd Spsel USBADD5 USBADD4 USBADD3 USBADD2 USBADD1 USBADD0 USB Address Register, Address 07h. This registerUSB Address Register Address 07h Interrupt Status Register Address 0DhReserved Master/Slave Current Data Set Register Address 0EhControl Register 2 Address 0Fh Bit SL811HSPin Plcc Physical Connections Pin Plcc Mechanical DimensionsPhysical Connections Pin Plcc Pin LayoutDiagram below illustrates a simple +3.3V voltage source Package Markings 28-pin PlccPin Tqfp Physical Connections Pin Tqfp AXC Pin Layout48/28-Pin USB Host Controller Pins Description Power for USB Transceivers . V DD1 may be connected to V DDData 7. Microprocessor Data/Address Bus Master/Slave Mode Select. ’1’ selects Slave. ’0’ = MasterData 6. Microprocessor Data/Address Bus Buffer or registerYyww Xxxx Package Markings 48-Pin TqfpElectrical Specifications DC Characteristics Parameter Description Min Typ Max Parameter Description Min Typ Max Bus Interface Timing RequirementsWrite Cycle NWR HighRead Cycle DMA Write Cycle DMA Write CycleNRst Pulse width Reset TimingDMA Read Cycle NRst High to nRD or nWR activeCLOCKClock TimingTIMING Parameter Description Min Typ Max Package DiagramsOrdering Information Part Number Package TypeLead Thin Plastic Quad Flat Pack 7x7x1.4 mm A48 REV ECN no Issue Date Orig. Description of ChangeDocument History