HT42B564-x USB (HID) to UART Bridge IC Features General Description • Operating Voltage (VDD): 3.3V~5.5V The HT42B564-x device is a high performance USB to UART bridge controller with fully integrated USB and UART interface functions, designed for applications that communicate with various types of UART. The device includes a USB 2.0 full speed compatible interface which is used for PC communication. The device also includes a fully integrated high speed oscillator which is used as clock source for the USB and UART baud rate generator. The baud rate generator can support up to 115200bps of baud rate for the UART interface. • UART pin Voltage (VDDIO): 1.8V~VDD (Less than VDD voltage) • Power down and wake-up functions to reduce power consumption • Fully integrated 12MHz oscillator with 0.25% accuracy for all USB modes which requires no external components • USB interface ♦♦ USB 2.0 Full Speed compatible ♦♦ Implements USB Human Interface Device (HID) class ♦♦ Internal 1.5kΩ pull-high resistor on D+ pin • Fully-duplex Universal Asynchronous Receiver and Transmitter Interface – UART ♦♦ Supports Baud Rate up to 115200bps ♦♦ Supports maximum 32 bytes transmit buffer and 32 bytes receive buffer ♦♦ UART Data formats supported: –– Data bits: 8 –– Stop bits: 1 and 2 –– Parity: odd, even, no parity Supports RX pin resume signal to request a remote wake-up ♦♦ Supports VDDIO pin for UART pins power supply ♦♦ • Supports standard Windows® drivers for Windows XP, Vista, Win 7, Win 8/8.1, Win10 • Package types: 10-pin SOP USB Bridge IC Naming Rules HT42B 5 6 4 - x Product Family HT42B = Holtek Bridge IC Version Bridge Series of Host 5 = USB 1 = First Version USB Class type Bridge Series of Device 3 = CDC Class 6 = HID Class Rev. 1.10 2 = I2C 3 = SPI 4 = UART 1 December 27, 2017 HT42B564-x Selection Table Most features are common to all devices. The following table summarises the main features of each device. Part No. Description VDD USB Virtual HID COM 2 FIFO/Buffer Interface Data Rate I/O VDD Package HT42B532-x USB to I C Bridge √ — TX: 62 bytes RX: 62 bytes Up to 400kHz √ 8SOP 10MSOP HT42B533-x USB to SPI Bridge √ — TX: 128 bytes RX: 128 bytes Up to 8MHz √ 10MSOP 16NSOP √ — TX: 128 bytes RX: 128 bytes Up to 3Mbps Baud √ 8/10SOP 10MSOP 16NSOP — √ TX: 32 bytes Up to 115.2kbps RX: 32 bytes Baud √ 10SOP 3.3V~ Full-Speed USB to UART 5.5V HT42B534-x Bridge HT42B564-x USB (HID) to UART Bridge Block Diagram HT42B564-x USB to UART Bridge VDD GND 3.3V Regulator Baud Rate Generator Internal Oscillator VDDIO Device Power V33O D+ D- USB PHY 32B TX Buffer USB Controller UART 32B RX Buffer TX RX LED UDET External MCU/ UART circuitry Pin Assignment D+ 1 10 VDD 2 9 V33O TX 3 8 GND RX 4 7 VDDIO LED 5 6 UDET D- HT42B564-x 10 SOP-A Package Type Marking 10SOP HT42B564-x Note: x=1 for version number. Rev. 1.10 2 December 27, 2017 HT42B564-x Pin Description Pin Name Type Description D+ I/O USB D+ Line D- I/O USB D- Line TX O Asynchronous data output – UART Transmit RX I Asynchronous data input – UART Receive LED O TX/RX signal LED indication, active low UDET I USB plug-in/out detect pin O 3.3V regulator output V33O VDDIO PWR Positive power supply for TX/RX pins VDD PWR Positive power supply, USB bus power GND PWR Negative power supply, ground Absolute Maximum Ratings Supply Voltage . ..........................VSS-0.3V to VSS+6.0V IOH Total . .......................................................... -80mA Input Voltage ............................. VSS-0.3V to VDD+0.3V IOL Total ...............................................................80mA Storage Temperature ........................... -55°C to 150°C Total Power Dissipation . .................................500mW Operating Temperature ......................... -40°C to 85°C Note: These are stress ratings only. Stresses exceeding the range specified under "Absolute Maximum Ratings" may cause substantial damage to these devices. Functional operation of these devices at other conditions beyond those listed in the specification is not implied and prolonged exposure to extreme conditions may affect devices reliability. D.C Characteristics Ta=25°C Symbol Parameter Test Conditions VDD Conditions Min. Typ. Max. Unit V VDD Operating Voltage — — 3.3 — 5.5 VDDIO UART Pins VDDIO input voltage — — 1.8 — VDD V IDD Operating Current 5V No load, USB Plug-in — 11 16 mA ISUS Suspend Current – USB 5V Suspend mode, No load, USB on, other peripherals off — 360 450 μA ISTB Standby Current – Non-USB 3V Standby mode, No load, USB Plug-out, other peripherals off, VDD power from VDDIO — 0.1 1.0 μA VIL Input Pin Input Low Voltage — — 0 — 0.2VDDIO V VIH Input Pin Input High Voltage — — 0.8VDDIO — VDDIO V 4 8 — mA 10 20 — mA -2 -4 — mA -5 -10 — mA IOL I/O Pin Sink Current IOH I/O Pin Source Current RPH I/O Pin Pull-high Resistance 3V 5V 3V 5V VOH = 0.9VDDIO 3V — 20 60 100 kΩ 5V — 10 30 50 kΩ — — ±1 μA — — ±1 μA 3.0 3.3 3.6 V -5% 1.5 +5% kΩ 3V ILEAK Input Leakage Current VV33O 3.3V Regulator Output Voltage 5V RUDP1 Pull-high Resistance between D+ and V33O 3.3V Rev. 1.10 VOL = 0.1VDDIO 5V VIN = VDD or VIN = VSS IV33O = 70mA — 3 December 27, 2017 HT42B564-x A.C Characteristics Ta=25°C Symbol fHIRC Parameter Test Condition VDD Condition High Speed Internal RC Oscillator 3.3V~5.5V USB mode tSST System Start-up Timer Period — RX pin Wake-up from power down mode tRSTD System Reset Delay Time — Power-on reset Min. Typ. Max. Unit -0.25% 12 +0.25% MHz 16 — — tHIRC 25 50 100 ms Power-on Reset Characteristics Ta=25°C Symbol Test Conditions Parameter VDD Conditions Min. Typ. Max. Unit VPOR VDD Start Voltage to Ensure Power-on Reset — — — — 100 mV RRPOR VDD Rising Rate to Ensure Power-on Reset — — 0.035 — — V/ms tPOR Minimum Time for VDD Stays at VPOR to Ensure Power-on Reset — — 1 — — ms VDD tPOR RRPOR VPOR Rev. 1.10 4 Time December 27, 2017 HT42B564-x USB Interface The USB interface, being USB 2.0 full-speed compatible, is a 4-wire serial bus that allows communication between a host device and up to 127 max peripheral devices on the same bus. A token based protocol method is used by the host device for communication control. Other advantages of the USB bus include live plugging and unplugging and dynamic device configuration. As the complexity of USB data protocol does not permit comprehensive USB operation information to be provided in this datasheet, the reader should therefore consult other external information for a detailed understanding of the USB interface. If there is no signal on the USB bus for over 3ms, the USB device will enter the suspend mode. The device enters the suspend state to meet the requirements of the USB suspend current specification. When the resume signal is asserted by the USB host, the device will be woken up and leave the suspend mode. Power Planes USB VID and PID Configuration There are two power planes for the device and they are the USB bus power input (VDD) and 3.3V regulator output (V33O). The device has configured the default Vendor ID (VID: 0x04D9), Product ID (PID: 0xB564) and product description strings of "USB HID UART Bridge". For the USB SIE, VDD will supply all circuits related to the USB SIE and be sourced from pin "VDD". Once the USB device is removed from the USB bus and there is no power on the USB BUS, the USB SIE circuit will no longer be operational. This device has been configured to the default USB configuration data as shown in the following table. As the USB device has a remote wake-up function, the USB device can be woken-up the USB host by sending a remote wake-up pulse. Once the USB host receives a remote wake-up signal from the USB device, the host will send a resume signal to the device. Parameter USB Interface Operation To communicate with an external USB host, the internal USB module has external pins known as D+ and D- along with the 3.3V regulator output V33O. A Serial Interface Engine, SIE, decodes the incoming USB data stream and transfers it to the correct endpoint buffer memory known as the FIFO. The USB module has 3 endpoints, EP0 ~ EP2. Endpoint 0 supports the Control transfer while endpoint 1 ~ endpoint 2 support the Interrupt. The HT42B564-x Bridge IC supports the USB Human Interface Device Class, HID, for communication. Endpoint Control 1 Interrupt In 2 Interrupt Out USB Vendor ID (VID) 0x04D9 USB Product ID (PID) 0xB564 Remote wake-up Default enable Manufacturer Name Holtek Product Description USB HID UART Bridge Serial Number 0000 USB Data Format Read Data: 32 bytes FIFO for each read data, the first byte valid for this number of data length received, ranges from 0 to 31. If there are more than 31 bytes of data, it will be divided into multiple times read. Write Data: 32 bytes FIFO for each write data to be written first byte number, ranging from 0 to 31. If there are more than 31 bytes then write multiple times. Transfer Type 0 Value (hex) USB Endpoint Transfer Type Rev. 1.10 5 December 27, 2017 HT42B564-x UART Interface For data transfer, the UART function utilises a nonreturn-to-zero, more commonly known as NRZ, format. This is composed of one start bit, eight data bits and one or two stop bits. Parity is supported by the UART hardware and can be setup to be even, odd or no parity. For the most common data format, 8 data bits along with no parity and one stop bit, denoted as 8, N, 1, is used as the default setting, which is the setting at power-on. The HT42B564-x contains an integrated full-duplex asynchronous serial communications UART interface that enables communication with external devices that contain a serial interface. The UART function has many features and can transmit and receive data serially by transferring a frame of data with eight data bits per transmission as well as being able to detect errors when the data is overwritten or incorrectly framed. The UART function possesses its own internal interrupt which can be used to indicate when a reception occurs or when a transmission terminates. The following diagram shows the transmit and receive waveforms for 8-bit data format. The integrated UART function contains the following features: Baud Rate Generator • One or two stop bits To setup the speed of the serial data communication, the UART function contains its own dedicated baud rate generator. The default UART baud rate is 9600bps and it can be controlled by the application program. • Baud rate generator with prescaler The baud rate and miss rate table: • Full-duplex, asynchronous communication • 8 bits character length • Even, odd or no parity options • 32-byte Deep FIFO Transmit Data Buffer • 32-byte Deep FIFO Receive Data Buffer Baud Rate Real Rate Miss Rate (%) • RX pin wake-up function 9600 9603.841537 0.04 19200 19207.68307 0.04 • UART pins power supply by VDDIO pin 38400 38461.53846 0.16 57600 57692.30769 0.16 115200 115384.6154 0.16 UART External Pins To communicate with an external serial interface, the internal UART has two external pins known as TX and RX. The TX and RX pins are the UART transmitter and receiver pins respectively. UART Power Down and Wake-up If the USB host sends a suspend signal to the HT42B564-x USB device, it will enter the suspend mode. It is recommended to ensure that the UART data transmission or reception has finished before the device enters the suspend mode. UART Data Transfer Scheme The data will be transferred to the Transmit Shift Register from where it will be shifted out, LSB first, onto the TX pin at a rate controlled by the Baud Rate Generator. Data to be received by the UART is accepted on the external RX pin, from where it is shifted in, LSB first, to the Receiver Shift Register at a rate controlled by the Baud Rate Generator. The UART interface provides a 32 byte deep FIFO transmit data buffer and a 32 byte deep FIFO receive data buffer for applications. Start Bit The UART function contains a receiver RX pin wakeup function. A falling edge on the RX pin will wake up the device from the suspend mode. Parity Bit Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Stop Bit Next Start Bit 8-bit Data Format Rev. 1.10 6 December 27, 2017 HT42B564-x USB HID Protocol USB VID/PID VID: 0x04D9 PID: 0xB564 USB TO UART Command The application program uses USB HID set/get feature command to implement UART settings. There are following command: • Get UARTSetting Command • Set UARTSetting Command (CMDCode=01) Get UARTSetting Command Request Name Report Type Raw Data Get_Report Feature D0~D7 D1~D8: UARTSettings (Refer to Table) Byte D0 Field Size CMDCode Description 1 Command code. D1~D4 DTERate 4 Data terminal rate,in bits per second. (support 9600/19200/38400/57600/115200) 9600 → 80 25 00 00 19200 → 00 4B 00 00 38400 → 00 96 00 00 57600 → 00 E1 00 00 115200 → 00 C2 01 00 D5 CharFromat 1 Stop bits 0-1 Stop bits 1-2 Stop bits D6 ParityType 1 Parity 0-None 1-Odd 2-Even D7 DataBits 1 Data bits(only 8) UARTSettings Write Data Set UARTSetting Command Request Name Report Type Raw Data Set_Report Feature D0~D7 D0~D7: UARTSettings (Refer to Table.1) Request Name Report Type Raw Data Interrupt Output D0~D31 Endpoint size 32bytes CMDCode=01H The first data of D0 is the data length. Read Data Request Name Report Type Raw Data Interrupt Input D0~D31 Endpoint size 32bytes The first data of D0 is the data length. Rev. 1.10 7 December 27, 2017 HT42B564-x DLL Function HT42B564-x USB Bridge DLL Function Get the addresses (FARPROC&) OpenFirstHIDDevice=GetProcAddress (m_hLib,"OpenFirstHIDDevice"); (FARPROC&) OpenNextHIDDevice=GetProcAddress (m_hLib,"OpenNextHIDDevice"); (FARPROC&) CloseHIDDevice=GetProcAddress (m_hLib,"CloseHIDDevice"); (FARPROC&) SetFeature=GetProcAddress (m_hLib,"SetFeature"); (FARPROC&) GetFeature=GetProcAddress (m_hLib,"GetFeature"); Holtek provides a Dynamic-Link Library (DLL) to setup the HT42B564-x Bridge IC for USB to UART data communication. The Dynamic-link library DLL is a shared library of function executable files, available in different languages for application calls to use. The complex computing and communications USB is collated into a "HIDAPI.DLL". Users can use this DLL to develop different client applications without having to spend excessive amounts of time to study and write USB related functions. Function Description: HANDLE OpenFirstHIDDevice(DWORD wVID, DWORD wPID, DWORD wUsagePage, DWORD wUsage, BOOL bSync); DLL Function Definition: BOOL SetFeature(HANDLE hDevice, LPVOID pData, DWORD nLen); HANDLE OpenNextHIDDevice(DWORD wVID, DWORD wPID, DWORD wUsagePage, DWORD wUsage,BOOL bSync); BOOL GetFeature(HANDLE hDevice, LPVOID pData, DWORD nLen); HANDLE OpenFirstHIDDevice(DWORD dwVID, DWORD dwPID, DWORD dwUsagePage, DWORD dwUsage, BOOL bSync); Parameters: HANDLE OpenNextHIDDevice(DWORD dwVID, DWORD dwPID, DWORD dwUsagePage, DWORD dwUsage, BOOL bSync); void CloseHIDDevice(HANDLE hDevice); wVID Device Vendor ID. Any VID input will be regarded as the Holtek Vendor ID 0x04D9 by default in this version. Consult with Holtek if another VID is required. wPID Device Product ID. wUsagePage/wUsage The UsagePage/Usage adopted by the Report Descriptor will be written with a value of "0" if it is not specified. More detailed information is contained in the HID spec. When the same VID/PID has multiple interfaces simultaneously, it is required to specify the exact UsagePage/Usage, otherwise only the first interface handle value will be returned. Usage – Taking C language as an example: • HINSTANCE hLib=LoadLibrary ("HIDAPI.DLL"); • The GetProcAddress function fetches the addresses for accessing various functions Taking C language as an example, the declarations are as follows: BOOL (*SetFeature)(HANDLE hDevice, LPVOID pData, DWORD nLen); BOOL (*GetFeature)(HANDLE hDevice, LPVOID pData, DWORD nLen); HANDLE (*OpenFirstHIDDevice)(DWORD wVID, DWORD wPID, DWORD wUsagePage, DWORD wUsage, BOOL bSync); HANDLE (*OpenNextHIDDevice)(DWORD wVID, DWORD wPID, DWORD wUsagePage, DWORD wUsage, BOOL bSync); void (*CloseHIDDevice)(HANDLE hDevice); bSync Use synchronous or asynchronous transmission. Synchronous transmission means that the function will not return a value until the Input/Output has finished. Return Value: Represents the value of the activated device. A NULL will be returned if the open operation has failed. When the same VID/PID USB devices exist simultaneously, the OpenFirstHIDDevice function can be used to open the first one followed by an OpenNextHIDDevice function to open the next one until a NULL is returned. After activation, the device is able to execute ReadFile/ WriteFile operations, which are the Windows API Standard Functions. Rev. 1.10 8 December 27, 2017 HT42B564-x Void CloseHIDDevice(HANDLE hDevice); Considerations: Parameters: • The OpenFirstHIDDevice/OpenNextHIDDevice functions start up devices with a readable and writeable permission, therefore the device specified by the VID/PID should also be readable and writable. This means that the Firmware must provide OutputReport/InputReport or Interrupt IN/ Interrupt OUT. hDevice Represents the value of the device to be closed. BOOL SetFeature(HANDLE hDevice, LPVOID pData, DWORD nLen) Parameters: • Use general file access functions, such as WriteFile(hDevice, …) in the C language to write data to OutputReport or Interrupt OUT. The required data length should be the Firmwaredefined OutputReport length with the addition of one Report ID byte. The first byte must be the Report ID. It will be "0" if there is no Report ID. hDevice Represents the value of the activated device pData Data buffer where the Feature data is to be written. The first byte should be Report ID. A "0" value will be written to this byte if there is no Report ID. nLen Length of the Feature data to be written. The required length should be the Firmwaredefined Feature Report length with the addition of one Report ID byte. • Use general file access functions, such as ReadFile(hDevice, …) in the C language, to read data from InputReport or Interrupt IN. The required data length should be the Firmware-defined InputReport length with the addition of one Report ID byte. The first byte must be the Report ID. It will be "0" if there is no Report ID. Return value: 1: Write success 0: Write fail • To use the SetFeature/GetFeature functions, the device must provide Feature Report, which means the Report Descriptor of the Firmware should contain the Feature Type. BOOL GetFeature(HANDLE hDevice, LPVOID pData, DWORD nLen); Return value: hDevice Represents the value of the activated device pData Data buffer where the Feature data is to be read. The first byte should be Report ID. A "0" value will be written to this byte if there is no Report ID. nLen Length of the Feature data to be read. The required length should be the Firmware-defined Feature Report length with the addition of one Report ID byte. Return value: 1: Read success 0: Read fail Rev. 1.10 9 December 27, 2017 HT42B564-x Application Circuits VCC VDD 1N5817 3.3V 5V or 3.3V BAT 3.3V VDDIO VDD 0.1µF USB Connector VBUS DD+ VSS 10µF 0.1µF 0.1µF GND UDET 33Ω 33Ω TX RX DD+ 47pF 47pF V33O UART RX TX MCU Application Circuit LED 1µF LED 330Ω VDD HT42B564-x 10 SOP-A Note: 1. The VCC voltage must be less than the VDD voltage. The VCC supply can be sourced from a Li-battery. 2. The UDET pin can used to detect a USB plug-in for data transfer or to detect a USB plug-out for entering the energy saving mode. Rev. 1.10 10 December 27, 2017 HT42B564-x Package Information Note that the package information provided here is for consultation purposes only. As this information may be updated at regular intervals users are reminded to consult the Holtek website for the latest version of the Package/ Carton Information. Additional supplementary information with regard to packaging is listed below. Click on the relevant section to be transferred to the relevant website page. • Further Package Information (include Outline Dimensions, Product Tape and Reel Specifications) • Packing Meterials Information • Carton information Rev. 1.10 11 December 27, 2017 HT42B564-x 10-pin SOP (150mil) Outline Dimensions Symbol Dimensions in inch Min. Nom. Max. A — 0.236 BSC — B — 0.154 BSC — 0.018 C 0.012 — C’ — 0.193 BSC — D — — 0.069 E — 0.039 BSC — F 0.004 — 0.010 G 0.016 — 0.050 H 0.004 — 0.010 α 0° — 8° Symbol Rev. 1.10 Dimensions in mm Min. Nom. Max. A — 6.00 BSC — B — 3.90 BSC — C 0.30 — 0.45 C’ — 4.90 BSC — D — — 1.75 E — 1.00 BSC — F 0.10 — 0.25 G 0.40 — 1.27 H 0.10 — 0.25 α 0° — 8° 12 December 27, 2017 HT42B564-x Copyright© 2016 by HOLTEK SEMICONDUCTOR INC. The information appearing in this Data Sheet is believed to be accurate at the time of publication. However, Holtek assumes no responsibility arising from the use of the specifications described. The applications mentioned herein are used solely for the purpose of illustration and Holtek makes no warranty or representation that such applications will be suitable without further modification, nor recommends the use of its products for application that may present a risk to human life due to malfunction or otherwise. Holtek's products are not authorized for use as critical components in life support devices or systems. Holtek reserves the right to alter its products without prior notification. For the most up-to-date information, please visit our web site at http://www.holtek.com.tw/en/home. Rev. 1.10 13 December 27, 2017