CY7C63310, CY7C638xx

21. USB Device

21.1 USB Device Address

Table 21-1. USB Device Address (USBCR) [0x40] [R/W]

Bit #

7

6

5

4

 

3

 

2

1

0

Field

USB Enable

 

 

 

Device Address[6:0]

 

 

 

Read/Write

R/W

R/W

R/W

R/W

 

R/W

 

R/W

R/W

R/W

Default

0

0

0

0

 

0

 

0

0

0

 

 

 

 

 

 

 

 

 

 

 

Bit 7: USB Enable

This bit must be enabled by firmware before the serial interface engine (SIE) responds to the USB traffic at the address specified in Device Address [6:0]. When this bit is cleared, the USB transceiver enters power down state. User’s firmware must clear this bit before entering sleep mode to save power.

0 = Disable USB device address and put the USB transceiver into power down state.

1 = Enable USB device address and put the USB transceiver into normal operating mode. Bit [6:0]: Device Address [6:0]

These bits must be set by firmware during the USB enumeration process (that is, SetAddress) to the nonzero address assigned by the USB host.

21.2 Endpoint 0, 1, and 2 Count

Table 21-2. Endpoint 0, 1, and 2 Count (EP0CNT–EP2CNT) [0x41, 0x43, 0x45] [R/W]

Bit #

7

6

5

 

4

3

2

1

0

Field

Data Toggle

Data Valid

 

Reserved

 

Byte Count[3:0]

 

Read/Write

R/W

R/W

R/W

 

R/W

R/W

R/W

R/W

R/W

Default

0

0

0

 

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

Bit 7: Data Toggle

This bit selects the DATA packet's toggle state. For IN transactions, firmware must set this bit to select the transmitted Data Toggle. For OUT or SETUP transactions, the hardware sets this bit to the state of the received Data Toggle bit.

0 = DATA0

1 = DATA1

Bit 6: Data Valid

This bit is used for OUT and SETUP tokens only. This bit is cleared to ‘0’ if CRC, bitstuff, or PID errors have occurred. This bit does not update for some endpoint mode settings.

0 = Data is invalid. If enabled, the endpoint interrupt occurs even if invalid data is received.

1 = Data is valid

Bit [5:4]: Reserved

Bit [3:0]: Byte Count Bit [3:0]

Byte Count Bits indicate the number of data bytes in a transaction: For IN transactions, firmware loads the count with the number of bytes to be transmitted to the host from the endpoint FIFO. Valid values are 0 to 8 inclusive. For OUT or SETUP transactions, the count is updated by hardware to the number of data bytes received, plus 2 for the CRC bytes. Valid values are 2–10 inclusive.

For Endpoint 0 Count Register, when the count updates from a SETUP or OUT transaction, the count register locks and cannot be written by the CPU. Reading the register unlocks it. This prevents firmware from overwriting a status update on it.

Document 38-08035 Rev. *K

Page 58 of 83

[+] Feedback

Page 58
Image 58
Cypress CY7C63310, CY7C638xx manual Endpoint 0, 1, and 2 Count, USB Device Address Usbcr 0x40 R/W, Bit 54 Reserved

CY7C638xx, CY7C63310 specifications

The Cypress CY7C63310 and CY7C638xx series are advanced USB microcontrollers designed for various applications requiring reliable performance and flexibility. These chips are notable for their integration of several key technologies, enabling developers to create innovative electronic designs effortlessly.

The CY7C63310 is a part of the Cypress USB microcontroller family that boasts a fully integrated 8051-compatible microprocessor core. This architecture allows for efficient execution of high-level programming languages like C, enhancing code development efforts. The microcontroller supports USB 2.0 full-speed operation, allowing for high data transfer rates of up to 12 Mbps, essential for applications involving data communication.

One of the standout features of the CY7C63310 is its programmable GPIO (General-Purpose Input/Output) pins, which provide developers with the versatility to configure these pins as inputs, outputs, or alternate functions. This flexibility is particularly advantageous in applications where custom interfaces are essential, such as human-machine interfaces, sensor control, and USB peripherals.

Moreover, the CY7C638xx series presents an even broader array of features. These devices typically support various memory configurations, enabling designers to select from different on-chip RAM and flash memory options. This variety empowers projects requiring a mix of program and data storage capabilities, all while ensuring that performance remains optimal.

Both the CY7C63310 and CY7C638xx series leverage Cypress's EZ-USB technology, which simplifies the process of USB interface implementation. The EZ-USB architecture minimizes the effort associated with USB protocol complexity, allowing developers to focus on the core functionality of their applications.

These microcontrollers also incorporate features such as low-power operation, making them ideal for battery-operated devices. With various power management modes, designers can optimize energy consumption according to the specific needs of their applications.

In terms of connectivity, these chips support multiple interface standards, including SPI, I2C, and UART. These capabilities ensure that developers can easily interface with other components and systems, enhancing the overall utility of the microcontroller.

In summary, the Cypress CY7C63310 and CY7C638xx microcontrollers stand out for their robust features, including integrated USB functionality, flexible GPIO options, and support for various communication protocols. These attributes make them suitable for a wide range of applications, from consumer electronics to industrial automation, making them an excellent choice for developers seeking reliable and adaptable microcontroller solutions.