DLP-245PB-G - DLP Design

DLP-245PB-G
USB / Microcontroller Module (Lead-Free)
The DLP-245PB-G combines the same USB interface used in the DLP-USB245M-G module
with a Microchip PIC microcontroller to form a rapid development tool. The 16F877A
microcontroller is preprogrammed with basic functionality for accessing the port pins and
can be reprogrammed with user hex code via a 5-pin header using a device programmer
(purchased separately).
DLP-245PB-G FEATURES
•
Send/receive data over USB to a host computer at up to 2 megabits per second
•
18 digital I/O lines (6 can be configured as A/D inputs) plus the 8-bit data bus available for
interfacing to user electronics
•
Microchip 16F877A processor with 8K FLASH ROM, 368 bytes RAM, and a multi-channel,
10-bit A/D converter
•
“Token I/O” code preprogrammed into the 16F877A’s ROM for basic port pin input/output
capability including access to the A/D, EEPROM, and external digital temperature sensors.
ROM can be easily erased and reprogrammed with a user-supplied compatible programmer
•
No in-depth knowledge of USB is required as all USB protocol is handled automatically by the
on-board FT245RL and its support circuitry
V2.3
Page 1 of 15
February 2007
•
Royalty-free device drivers eliminate the need for USB driver development in most cases
•
USB bulk or isocronous data-transfer modes
•
Required 5V supply can be taken directly from the USB port or supplied by user electronics
•
USB 1.1 and USB 2.0 compatible
•
USB VID, PID, serial number, and product description strings stored in EEPROM memory
•
Virtual com port (VCP) drivers for:
- Windows 98 and Windows 98 SE
- Windows 2000/ME/XP
- Windows CE
- MAC OS-8 and OS-9
- MAC OS-X
- Linux 2.40 and greater
•
D2XX (USB direct drivers + DLL S/W interface)
- Windows 98 and Windows 98 SE
- Windows 2000/ME/XP
APPLICATION AREAS
•
Prototype development
•
USB ISDN and ADSL modems
•
USB interface for digital cameras
•
USB interface for MP3 players
•
High-speed USB instrumentation
•
USB smart-card readers
•
Set top box (STB) PC-USB interface
•
USB hardware modems
•
USB wireless modems
•
USB bar code readers
V2.3
Page 2 of 15
February 2007
GENERAL DESCRIPTION
The DLP-245PB-G provides a cost-effective, microcontroller-based method of interfacing an
electronic peripheral to a host computer via USB.
To send data from the peripheral to the host computer, the microcontroller simply writes the
byte-wide data into the FT245RL when TXE# is low. If the FT245RL’s transmit buffer fills up or is
busy storing the previously written byte, it will take its TXE# high in order to stop further data from
being written until some of the FIFO data has been transferred over USB to the host.
When the host sends data to the peripheral over USB, the FT245RL will take RXF# low to let the
microcontroller know that at least one byte of data is available. The microcontroller then reads
the data until RXF# goes high indicating that no more data is available to read.
By using FTDI’s virtual COM port drivers, the peripheral looks like a standard COM port to the
application software. Commands to set the baud rate are ignored--the FT245RL always transfers
data at its fastest rate regardless of the application’s baud-rate setting. The latest versions of the
drivers are available for download from DLP Design’s website at http://www.dlpdesign.com.
DRIVER SOFTWARE
FTDI's VCP (virtual COM port) driver-executable files are provided royalty free on the condition
that they are used only with designs incorporating an FTDI device (i.e. the FT245RL and
DLP-245PB-G). The latest version of the drivers can be downloaded from dlpdesign.com or
ftdichip.com.
The VCP driver download file is a combined set of drivers for Windows 98, Windows ME, and
Windows 2000/XP. Unzip the file to a blank floppy disk or folder on your PC. (The drivers can
coexist on the same floppy disk or folder since the INF files determine which set of drivers to load
for each operating system version.) Once loaded, the VCP drivers allow your application
software running on the host PC to communicate with the DLP-245PB-G as though it were
connected to a COM (RS-232) port.
In addition to VCP drivers, FTDI's D2XX direct drivers for Windows offer an alternative solution to
the VCP drivers that allow application software to interface with the DLP-245PB-G using a DLL
instead of a virtual com port. The architecture of the D2XX drivers consists of a Windows WDM
V2.3
Page 3 of 15
February 2007
driver that communicates with the FT245RL device via the Windows USB stack and a DLL that
interfaces the application software (written in VC++, C++ Builder, Delphi, VB, etc.) to the WDM
driver. An INF installation file, uninstaller program, and D2XX Programmer’s Guide complete the
package.
The D2XX direct drivers add support for simultaneous access and control of multiple FT245RL
devices. The extended open function (FT_OpenEx) allows the device to be opened either by its
product description or serial number, both of which can be programmed to be unique. The list
devices function (FT_ListDevices) allows the application software to determine which devices are
currently available for use, again by product description or by serial number.
Download FTDI Application Notes AN232-03, AN232-05, AN232-06, and AN232-07 for
detailed instructions on how to install and remove the drivers.
EEPROM WRITE UTILITY
The DLP-245PB-G has the option to accept manufacturer-specific information that is written into
on-board EEPROM memory. Parameters that can be programmed include the VID and the PID
identifiers, the manufacturer's product string, and a serial number.
MPROG is the latest EEPROM serializer and testing utility from FTDI for the FT245RL device.
MPROG is based on the new D2XX drivers and will work on Windows 98, Windows ME, and
Windows 2000/XP platforms. You must install the latest release of the D2XX drivers in order to
run this application. (Refer to the MPROG user’s guide for details on the program’s use.)
If you have VCP drivers installed on the PC that will be used to perform the EEPROM memory,
you must uninstall these drivers using the Add-Remove-Program and install the D2XX drivers
prior to running the MPROG.
V2.3
Page 4 of 15
February 2007
QUICK START GUIDE
This guide requires the use of a Windows 98/2000/XP PC that is equipped with a USB port.
1. Download the DLL (D2XX) version of the device drivers from either dlpdesign.com or
ftdichip.com. Unzip the drivers onto a blank floppy disk or into a folder on the hard drive.
2. The DLP-245PB-G can be configured to receive its operating power from the USB port or
from user electronics. Pins 18, 19, and 20 allow for this configuration. (Refer to the Pinout
Description in the next section for a detailed description of the DLP-245PB-G electrical
interface.)
Note: The board will not operate until a power source has been selected as mentioned in
Step 2.
3. Connect the DLP-245PB-G board to the PC via a standard A-B, 6-foot USB cable. This
action initiates the loading of the USB drivers. When prompted, select the folder where the
DLL version of the device drivers was stored in Step 1. Windows will then complete the
installation of the device drivers for the DLP-245PB-G board. The next time the DLP-245PBG board is attached, the host PC will immediately load the correct drivers without any
prompting. Reboot the PC if prompted to do so.
The DLP-245PB-G is shipped with default VID, PID, etc. values programmed into the EEPROM
memory. You only need to run MPROG if you want to change the default values.
At this point, the DLP-245PB-G is ready for use. Note that the DLP-245PB-G will appear
non-responsive if data sent from the host PC is not read from the FT245RL device by the
16F877A microcontroller.
If changing drivers from the VCP to the DLL type (or vice versa), you must first uninstall the
currently loaded drivers. To accomplish this, first disconnect the DLP-245PB-G adapter from the
host computer and then use Add-Remove-Programs in Control Panel.
V2.3
Page 5 of 15
February 2007
TOKEN I/O
The 16F877A microcontroller on the DLP-245PB-G is shipped from the factory preprogrammed
with firmware that provides rudimentary access to the port pins via either the VCP or DLL drivers.
Features include the ability to read and write individual port pins as well as 8-bit port reads and
writes.
The firmware in the DLP-245PB-G also provides access to the 16F877A’s A/D converter,
EEPROM memory, and communications with digital temperature-sensing devices.
Commands sent to the Token I/O firmware must adhere to a specific communications protocol.
Each command sequence contains the following information:
Byte 0:
Number of bytes in command sequence
Byte 1:
Command
Byte 2…n-1:
Parameter/Data bytes
Byte n:
Checksum
The checksum is computed by exclusive-OR-ing every byte in the string. If the same checksum
is calculated by the 16F877A upon receipt of the packet, then a single-byte reply of 0x55 is
returned to the host. In the event of a checksum error, the 16F877A will return an error code of
0xAA. For example, setting port PIN_A1 high would require the following string of bytes:
0x03, 0xA6, 0x29, 0x01, 0x8D
Definition of the Bytes:
0x03 – Number of bytes in command (checksum excluded)
0xA6 – Command for set port pin high/low
0x29 – Affected port pin
0x01 – Desired state of port pin
0x8D – Checksum of previous 4 bytes
The port pins equate to hexadecimal numeric constants as defined here:
PORT A:
PIN_A0 0x28, PIN_A1 0x29,
PIN_A2 0x2A,
PIN_A3 0x2B, PIN_A4 0x2C, PIN_A5 0x2D
V2.3
Page 6 of 15
February 2007
PORT B:
PIN_B0 0x30, PIN_B1 0x31, PIN_B2 0x32, PIN_B3 0x33,
PIN_B4 0x34, PIN_B5 0x35, PIN_B6 0x36, PIN_B7 0x37
PORT C:
PIN_C0 0x38, PIN_C1 0x39, PIN_C2 0x3A, PIN_C3 0x3B,
PIN_C4 0x3C, PIN_C5 0x3D, PIN_C6 0x3E, PIN_C7 0x3F
PORT D:
PIN_D0 0x40, PIN_D1 0x41, PIN_D2 0x42, PIN_D3 0x43,
PIN_D4 0x44, PIN_D5 0x45, PIN_D6 0x46, PIN_D7 0x47
PORT E:
PIN_E0 0x48, PIN_E1 0x49, PIN_E2 0x4A, PIN_E3 0x4B,
PIN_E4 0x4C, PIN_E5 0x4D, PIN_E6 0x4E, PIN_E7 0x4F
The source code for the Token I/O firmware (developed for the CCS C compiler) is available as a
free download upon purchase and receipt of the hardware. Example Visual C++ source code (for
Windows 98/2000/XP) for communicating with the DLP-245PB-G via the Token I/O firmware is
also available for download. The windows source code also contains the port pin definitions
listed above.
V2.3
Page 7 of 15
February 2007
TOKEN I/O COMMAND SET
0xA5 – Line In – Reads the state of a single port pin
Parameters:
Port – Select from available port pins (PIN_A3, PIN_B0, etc)
Returns:
1 Byte: State of the port pin (0 or 1)
Function:
This function will read the state of a single port pin. If the data direction for the
pin selected was set to output, the direction is first set to input.
Example:
0x2, 0xA5, 0x2B, 0x8C - Reads the current state of port pin PIN_A3.
0xA6 – Line Out - Sets a single port pin high or low
Parameters:
Port – Select from available port pins (PIN_A3, PIN_B3, etc)
State – 0 or 1
Returns:
Undefined
Function:
This function will change the output state of a single port pin. If the data direction
for the pin selected was set to input, the direction is first set to output.
Example:
0x3, 0xA6, 0x2B, 0x1, 0x8F – Sets port pin PIN_A3 high.
0xA7 – Return Board ID
Parameters:
None
Returns:
5 bytes: “245PB”
Function:
This function will return the ID of the board currently opened.
Example:
0x1, 0xA7, A6 – Reads the board ID.
0xA8 – Setup A/D
Parameters:
Port Configuration – Selects analog port configuration. (See command 0xA8 in
the example firmware for options.)
A/D Conversion Clock – Select the source for the A/D conversion clock. (See
command 0xA8 in the example firmware for options.)
Returns:
Undefined
Function:
This function will select the source for the A/D conversion clock. (Refer to the
datasheet for the 16F877A for a detailed explanation of the conversion clock.)
Example:
0x3, 0xA8, 0x0, 0x7, 0xAC – Sets all available A/D inputs on the DLP-245PB-G
to analog mode (0x0) and selects the internal A/D clock (0x7).
V2.3
Page 8 of 15
February 2007
0xA9 – A/D Conversion
Parameters:
Analog Port Number – Selects the analog port for the A/D conversion.
Returns:
2 Bytes: The 10-bit voltage data; LSB first.
Function:
This function will set the channel for the A/D conversion, pause 10uS, perform
the A/D conversion, and then return 2 bytes to the host (LSB first). Command
0xA8 must have been previously called to configure the desired analog channel
as an A/D input.
Example:
0x2, 0xA9, 0x2, 0xA9 – Selects analog channel 2 (AN2), performs the A/D
conversion, and returns 2 bytes of data.
0xAA – EEPROM Read
Parameters:
Address – Selects the zero-based address of the location in the 16F877A’s
internal EEPROM for reading.
Returns:
1 Byte: The byte of data read from the EEPROM.
Function:
This function will read the selected location in the 16F877A’s internal EEPROM.
Example:
0x2, 0xAA, 0x2, 0xAA – Reads EEPROM Address 2, and returns a single byte of
data.
0xAB – EEPROM Write
Parameters:
Address – Selects the zero-based address of the location in the 16F877A’s
internal EEPROM for writing.
Data – Data to be written to the EEPROM.
Returns:
Undefined.
Function:
This function will write the selected location in the 16F877A’s internal EEPROM.
Example:
0x3, 0xAA, 0x2, 0xFE, 0x55 – Writes a value of 0xFE to EEPROM Address 2.
V2.3
Page 9 of 15
February 2007
0xAC – DS18S20 Start Convert
Parameters:
Port Pin – Selects the microcontroller port pin on the 16F877A to be used for
communication with the DS18B20 temperature sensor.
Returns:
1 Byte: A single byte indicating the result of trying to reset the temperature
sensor.
Sensor status definitions:
99: Sensor ready
8: Short circuit detected
2: No sensor detected
Function:
This function will select a port pin for communicating with a DS18B20
temperature sensor and start a temperature conversion. In addition to power and
ground connections, a 1.5K to 4.7K pull-up resistor must be connected between
VCC and the data pin of the DS18B20 for proper communication. The
conversion time for the DS18B20 is specified for a maximum of 750 milliseconds.
Example:
0x2, 0xAC, 0x30, 0x9E – Starts a temperature conversion on 16F877A port pin
B0.
0xAD – DS18B20 Read Data
Parameters:
Port Pin – Selects the microcontroller port pin on the 16F877A to be used for
communication with the DS18B20 temperature sensor.
Returns:
9 Bytes: The contents of the scratchpad memory in the DS18B20.
Function:
This function will select a port pin for communicating with a DS18B20
temperature sensor and request the current contents of the DS18B20’s
scratchpad memory. A conversion (command 0xAC) must have been previously
requested for the data to be current. Additionally, host software must wait at
least 750 milliseconds for the conversion to complete before reading the 9 bytes
of data. In addition to power and ground, a 1.5K to 4.7K pull-up resistor must be
connected between VCC and the data pin of the DS18B20 for proper
communications. (For an example of how to calculate .1°C resolution
temperature data from the 9 bytes of return data, refer to the example Windows
source code.)
Example:
0x2, 0xAD, 0x30, 0x9F – Requests 9 byte temperature data from 16F877A port
pin B0.
V2.3
Page 10 of 15
February 2007
0xAE – Reserved
0xAF – Loopback
Parameters:
Data byte – The byte of data to be looped back to the host.
Returns:
1 Byte: The data byte written.
Function:
This function will echo the specified byte of data back to the host. The port pins
are not affected.
Example:
0x2, 0xAF, 0x12, 0xBF – Requests the data byte 0x12 to be echoed back to the
host.
0x55 – Port A Read
0x59 – Port C Read
0x5B – Port D Read
Parameters:
None
Returns:
1 Byte: The 8-bit data read from the selected port.
Function:
This function will read the specified 8-bit port and return the results to the host.
The port is automatically configured as an input port. Port A must be configured
for digital I/O (command 0xA8) prior to using this command.
Example:
0x1, 0x5B, 0x5A – Requests a read from the 8-bit data bus Port D.
0x56 – Port A Write
0x5A – Port C Write
0x5C – Port D Write
Parameters:
Data byte – The byte of data to be written to the 8-bit port.
Returns:
Undefined
Function:
This function will write the specified data byte to the 8-pit port. Data is latched on
the port pins until changed by another command. The port is automatically
configured as an output port. Port A must be configured for digital I/O (command
0xA8) prior to using this command.
Example:
V2.3
0x2, 0x5C, 0x12, 0xBF – Writes the data byte 0x12 to the 8-bit data bus Port D.
Page 11 of 15
February 2007
TABLE 1: DLP-245PB-G PINOUT DESCRIPTION
Pin #
1
40
20
21
Description
1
GROUND
2
E0 (I/O) Port Pin E0 connected to the 16F877A microcontroller. A/D Channel 5.
3
A0 (I/O) Port Pin A0 connected to the 16F877A microcontroller. A/D Channel 0.
4
A1 (I/O) Port Pin A1 connected to the 16F877A microcontroller. A/D Channel 1.
5
A2 (I/O) Port Pin A2 connected to the 16F877A microcontroller. A/D Channel 2.
6
A3 (I/O) Port Pin A3 connected to the 16F877A microcontroller. A/D Channel 3.
7
A4 (I/O) Port Pin A4 connected to the 16F877A microcontroller. Open drain output.
8
A5 (I/O) Port Pin A5 connected to the 16F877A microcontroller. A/D Channel 4.
9
UPRST (In) 16F877A Reset input. Can be left disconnected if not used.
10
GROUND
11
RESET# (In) Can be used by an external device to reset the FT245RL. Can be left disconnected if
not used.
12
No connect
13
GROUND
14
3V3OUT (Out) Output from the integrated L.D.O. regulator. Its primary purpose is to provide the
internal 3.3v supply to the USB transceiver cell and the RSTOUT# pin. A small amount of current
(<=5mA) can be drawn from this pin to power external 3.3v logic if required.
V2.3
Page 12 of 15
February 2007
15
GROUND
16
SWVCC (Out) Power from EXTVCC (Pin 19) controlled via Pin 10 (POWERN#) of the FT245RL
and Q1 MOSFET power switch. R5 and C3 control the power-up rate to help limit inrush current.
17
GROUND
18
No connect
19
EXTVCC (In) Use for applying main power (4.4 to 5.25 volts) to the module. Connect to
PORTVCC if the module is to be powered by the USB port (typical configuration).
20
PORTVCC (Out) Power from USB port. Connect to EXTVCC if module is to be powered by the
USB port (typical configuration). 500mA is the maximum current available to the DLP-245PB-G
and target electronics if the USB device is configured for high power.
21
DB7 (I/O) Line 7 of the data bus between the 16F877A and the FT245RL USB-FIFO.
22
DB6 (I/O) Line 6 of the data bus between the 16F877A and the FT245RL USB-FIFO.
23
DB5 (I/O) Line 5 of the data bus between the 16F877A and the FT245RL USB-FIFO.
24
DB4 (I/O) Line 4 of the data bus between the 16F877A and the FT245RL USB-FIFO.
25
DB3 (I/O) Line 3 of the data bus between the 16F877A and the FT245RL USB-FIFO.
26
DB2 (I/O) Line 2 of the data bus between the 16F877A and the FT245RL USB-FIFO.
27
DB1 (I/O) Line 1 of the data bus between the 16F877A and the FT245RL USB-FIFO.
28
DB0 (I/O) Line 0 of the data bus between the 16F877A and the FT245RL USB-FIFO.
29
B5 (I/O) Port Pin B5 connected to the 16F877A microcontroller.
30
B4 (I/O) Port Pin B4 connected to the 16F877A microcontroller.
31
B0 (I/O) Port Pin B0 connected to the 16F877A microcontroller.
32
C0 (I/O) Port Pin C0 connected to the 16F877A microcontroller.
33
C1 (I/O) Port Pin C1 connected to the 16F877A microcontroller.
34
C2 (I/O) Port Pin C2 connected to the 16F877A microcontroller.
35
C3 (I/O) Port Pin C3 connected to the 16F877A microcontroller.
36
C4 (I/O) Port Pin C4 connected to the 16F877A microcontroller.
37
C5 (I/O) Port Pin C5 connected to the 16F877A microcontroller.
38
C6 (I/O) Port Pin C6 connected to the 16F877A microcontroller.
39
C7 (I/O) Port Pin C7 connected to the 16F877A microcontroller.
40
GROUND
V2.3
Page 13 of 15
February 2007
MECHANICAL DRAWINGS (PRELIMINARY)
INCHES (MILLIMETERS) UNLESS OTHERWISE NOTED
0.33 typ
(8.5 typ)
Side View
0.65 typ
(16.6 typ)
0.19 typ
(4.9 typ)
0.70 typ
(17.8 typ)
0.23 typ
(5.8 typ)
0.25 typ
(6.4 typ)
0.14 typ
(3.6 typ)
2.30 typ
(58.4 typ)
2.59 typ
(65.8 typ)
0.60 typ
(15.3 typ)
DISCLAIMER
Neither the whole nor any part of the information contained within or the product described in this
datasheet may be adapted or reproduced in any material or electronic form without the prior
written consent of the copyright holder.
This product and its documentation are supplied on an as-is basis, and no warranty as to their
suitability for any particular purpose is either made or implied. DLP Design will not accept any
claim for damages whatsoever arising as a result of use or failure of this product. Your statutory
rights are not affected.
V2.3
Page 14 of 15
February 2007
This product or any variant of it is not intended for use in any medical appliance, device, or
system in which the failure of the product might reasonably be expected to result in personal
injury.
This document provides preliminary information that may be subject to change without notice.
CONTACT INFORMATION
DLP Design
1605 Roma Lane
Allen, TX 75013
Phone: 469-964-8027
Fax:
415-901-4859
Email: [email protected]
Internet: http://www.dlpdesign.com
V2.3
Page 15 of 15
February 2007
EXTVCC
5
1
2
FB1
240-1018-1
USBVCC
C1
10/10 Tant
USBVCC
C5
0.1uF
4
20
16
15
U2
VCC5 IN
USBDM
USBDP
SWVCC
FT245RL
RXF#
TXE#
RD#
WR
PWREN
D0
D1
D2
D3
D4
D5
D6
D7
DLP-245PB-G
RESET#
VCCIN/NC
RESET#
AVCC/NC
OSCI
OSCO
3V3OUT
1
5
3
11
2
9
10
6
23
22
13
14
12
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
3
USBVCC
R5
30K
Q1
IRLML6402CT P
RXF#
TXE#
RD#
WR
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
C8
.1uF
GND
C7
C6
C5
C4
C3
C2
C1
C0
B0
B4
B5
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
SWVCC
JP3
1
2
3
4
5
2
SWVCC
E0
RXF#
TXE#
C0
C1
C2
C3
C4
C5
C6
C7
B0
RD#
WR
B4
B5
25
26
27
32
35
36
37
42
43
44
1
8
9
10
11
14
15
16
17
R12
10K
SWVCC
PROGRAMMING HEADER
2
Q2
C13
.1
2N3904
C6
.1
U1
C9
.1
R4
10K
38
39
40
41
2
3
4
5
19
20
21
22
23
24
30
31
18
Q3
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
A0
A1
A2
A3
A4
A5
2N3904
UPRST
1
1
Y1
20MHz
PIC16F877A TQFP
1K
R11
R10
1K
D0
D1
D2
E0/AN5
E1
D3
E2
D4
D5
RC0
D6
RC1
D7
RC2
RA0/AN0
RC3
RA1/AN1
RC4
RC5
RA2/AN2/VREF
RC6
RA3/AN3/VREF+
RC7
RA4/TOCKI
RB0/INT
RA5/AN4/SS*
RB1
OSC1/CLKIN
RB2
OSC2/CLKOUT
RB3
RB4
RB5
RB6
MCLR
RB7
28
7
C2
.01
PORTVCC
GND
C4
47pF
8
19
24
27
28
17
FT245R
JP5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CONN PCB 20x2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
DLP-245PB-G
GND
E0
A0
A1
A2
A3
A4
A5
UPRST
GND
RESET#
NC
GND
3V3OUT
GND
SWVCC
GND
NC
EXTVCC
PORTVCC
3
VDD
VDD
4
VCCIO
CN1
1
2
3
4
USB Conn.
C3
47pF
3V3OUT
C7
.1uF
4
13
12
34
33
Vss
Vss
D
C
B
A
5
NC
NC
NC
NC
29
6
AGND
GND
GND
GND
TEST
25
7
18
21
26
C12
18pF
C17
18pF
SWVCC
D
C
B
A