USB Tester 



6) PADS Layout 설계


 모든 부품 선택과 회로 설계를 마치고 PADS Layout을 통하여 PCB 아트웍을 하였습니다.




 회로 설계할 때는 PADS VX.2.1로 했는데 제가 가지고 있는 PADS는 9.5버전이라 Layout은 호환이 되질 않네요. 아쉽지만 설계할 때 찍은 사진으로 대신하겠습니다.


 보시면 위에 가장 두꺼운 선은 전원단입니다. 왼쪽은 USB MALE이고 오른쪽은 USB FEMALE 입니다. MALE로 들어온 전원이 FEMALE로 연결되어 FEMALE 쪽에서 벅 컨버터(Buck Converter)를 통하여 5V 전원을 만들도록 하였습니다. 그리고 그 옆에 바로 전류센서를 달아 전류를 측정하도록 하였습니다.


 2층으로 설계하여 앞면에는 Text LCD와 스위치, 그리고 USB 커넥터를 달았고 나머지 소자들은 모두 Bottom에 놓았습니다.


 컴퓨터의 USB에서는 많은 전류가 나오지 않지만 USB 충전기에서는 높은 전류가 출력이 됩니다. 그래서 USB 전원은 1.3mm의 굵기로 깔았고 5V 전원은 0.5mm 그리고 나머지 선들은 0.2mm의 디자인 룰을 가지고 설계하였습니다.


 마지막으로 넓게 Ground Cooper를 깔아 따로 Ground 선을 연결하지 않고 Cooper를 통해 연결하도록 하였습니다.

'Project > USB Tester' 카테고리의 다른 글

[USB Tester] 5. PADS Logic 설계  (0) 2018.01.06
[USB Tester] 4. Text Lcd  (0) 2018.01.06
[USB Tester] 3. 레귤레이터(Buck Converter)  (0) 2017.12.12
[USB Tester] 2. ATmega328과 전류 센서 ACS712  (0) 2017.12.12
[USB Tester] 1. 개요  (0) 2017.12.06

USB Tester 


USB Tester를 만들면서 글을 작성하려고 했는데 그게 잘 안되었네요.

현재 USB Tester를 완성하였습니다. 하지만 글은 제가 진행했던 순서대로 작성하도록 하겠습니다.


5) PADS Logic 설계


 3주라는 짧은 시간 동안 USB Tester를 제작하기 위하여 1주일 동안 부품들을 선택하고 ATmega328과 그 주변 회로를 설계하였습니다.

소자들을 선택함에 있어서 최대한 크기를 작게 하기 위해 SMD 타입의 소자들을 선택하였습니다.


  • MCU


[그림 1] ATmega328과 주변회로


 위의 그림은 ATmega328과 주변 회로도입니다. 위에 보시면 커패시터 4개와 인덕터 1개가 보입니다. 커패시터 4개는 모두 Decoupling Cap입니다. 그러면 인덕터 L1은 무엇일까요? 바로 아날로그 노이즈 제거를 위하여 사용되었습니다. ATmega328 데이터 시트의 아날로그 노이즈 제거 기술 편을 참고하면 아날로그 신호는 가능한 짧게 연결하도록 되어있습니다. 그리고 디바이스의 AVCC 핀이 LC를 통해 디지털 VCC 공급 전압에 연결되어야 하도록 되어있습니다.


[그림 2] AVCC 회로


 저는 데이터시트에서 제공한 대로 회로를 작성하였습니다.

다음은 리셋입니다. 리셋을 보면 풀업저항이 달려있고 그 옆에 다이오드가 있습니다. 풀업저항은 왜 달아야 하는지 아실 것입니다. 그렇다면 다이오드는 왜 있을까요? 다이오드는 스위치가 눌리고 떨어질 때 생기는 노이즈를 제거하기 위하여 달았습니다. 다이오드의 문턱전압은 0.7V인데 스위치가 눌리고 떨어질 때 5V 이상의 전압이 발생할수 있습니다. 이때의 전압이 그대로 MCU에 들어간다면 MCU가 오작동 할 수 있기 때문에 5V를 기준으로 0.7V 이상 되는 전압은 다이오드를 통하여 5V로 흘러가도록 해 준 것입니다.

 그리고 MCU의 동작 주파수는 16MHz로 설정하였고 크리스탈(Crystal) SX-8을 선택하였습니다. 또한 박스 헤더 6핀을 놓아 SPI 통신으로 ATmega328에 펌웨어를 올리도록 하였습니다.

 마지막으로 PORT C와 D를 보면 Text LCD가 8비트 제어로 동작할 것임을 알 수 있고 제가 선택한 전류센서 ACS712가 ADC0으로 연결 되었다는 것을 볼 수 있습니다.


  • Text LCD

[그림 3] Text LCD 회로


 위의 회로는 Text LCD 회로입니다. 여기도 MCU와 똑같이 0.1uF의 Decoupling Cap을 사용하였습니다. 백라이트를 위해 15번 핀에 10Ω의 저항을 달았고  3번 핀은 명암 조절을 위한 핀인데 주로 가변저항을 달아 명암을 조절합니다. 하지만 저는 가변저항을 사용하지 않았습니다. 대신 10:1의 저항비를 사용하여 명암을 나타내었습니다.


  • 전류센서

[그림 4] 전류센서 회로


 다음은 전류센서 회로입니다. 이전에 전류센서 파트에서 설명하였다시피 데이터시트에서 제공하는 대로 회로를 구성하였습니다. 마찬가지로 전원에는  Decoupling Cap를 달았습니다. IP+ 와 IP-는 USB의 전원 라인입니다. IP+는 USB MALE의 전원이고 IP-는 USB FEMALE의 전원입니다.


  • 전원 회로와 USB 커넥터


[그림 5] 전원 회로와 USB 커넥터


 마지막으로 전원과 USB 커넥터입니다. 저는 USB Tester를 제작하면서 USB 통신도 할 수 있도록 모든 데이터 선을 연결하였습니다. 또한 USB 3.0까지 동작하기 위하여 USB 3.0 커넥터를 선택하였습니다. USB 3.0은 USB 2.0보다 5개가 핀이 더 많습니다. 그리고 전원을 끊어 전류센서와 연결하여 전원에 들어오는 전류를 측정하도록 하였습니다.

 그리고 전원단에는 스위치를 달았습니다. 제가 짧은 시간 내로 USB Tester를 제작하고 블랙프라이데이가 겹치다 보니 부품 수급에 어려움이 있었습니다. 그래서 국내에서 구하기 쉬운 LM2596을 선택하였습니다. 하지만 LM2596은 Buck Converter이기 때문에 1.5~2V의 전압강하가 일어납니다. 그 말은 5V의 전원을 인가했을 때 5V의 전압이 출력이 될 수 없다는 것입니다. 그래서 5V 전원을 사용하는 USB일 경우에는 USB 전원으로 동작을 수행하도록 하기 위해 스위치를 달았습니다.


'Project > USB Tester' 카테고리의 다른 글

[USB Tester] 6. PADS Layout 설계  (0) 2018.01.06
[USB Tester] 4. Text Lcd  (0) 2018.01.06
[USB Tester] 3. 레귤레이터(Buck Converter)  (0) 2017.12.12
[USB Tester] 2. ATmega328과 전류 센서 ACS712  (0) 2017.12.12
[USB Tester] 1. 개요  (0) 2017.12.06

USB Tester 


4) Text Lcd


Text LCD(Character LCD) LCD화면에 정해진 형태의 문자를 정해진 개수만큼 표시할 있도록 만들어진 LCD 디스플레이 장치로서, 간단한 문자 표시가 필요한 각종 임베디드 장치들에서 널리 사용되고 있다. TEXT LCD 실생활에 매우 많이 사용되고 있는 주변장치이다. USB Tester 사용된 Text LCD 구조는 16문자*2라인의 표시부를 가지며, 표시부 상단에 커넥터가 위치한다. LCD에는 Backlight 기능이 포함되어 있다. 아래의 표는 사용되는 인터페이스 커넥터 핀의 기능을 요약한 것이다.


[표 1]인터페이스 커넥터 핀 기능

Signal Name

 

1

VSS

전원 GND

2

VDD

전원 +5VDC

3

VEE

Contrast 제어 전압레벨 (VDD-VEE = 13.5 ~ 0V)

4

RS

Register Select ( 0 = instruction, 1 = data )

5

R/W

Read/Write ( 0 = FPGA -> LCD, 1 : FPGA <- LCD )

6

E

Enable Signal for read/write LCD

7

DB0 (LSB)

DATA

8

DB1

9

DB2

10

DB3

11

DB4

12

DB5

13

DB6

14

DB7 (MSB)

15

A

+LED (backlight LED용 전원 +4.4 ~ 4.7V)

16

K

-LED (backlight LED용 전원 GND)

 

TEXT LCD 보통 LCD 표시부와 LCD 제어부를 하나로 하여 LCD 모듈로 시판된다. LCD 제어기는 다음과 같이 구성된다.

LCD제어기 내부에는 명령(Instruction) 데이터(Data) 위한 2개의 레지스터, BF (Busy Flag), AC(Address Counter), 문자발생램(CGRAM), 문자발생롬(CGROM), 데이터표시램(DDRAM) 있다.

LCD 제어기의 내장 레지스터는 다음과 같다.

  • 명령레지스터(IR): DDRAM CGRAM 대한 어드레스와 클리어, 커서시프트 제어명령을 보유

  • 데이터레지스터(DR): DDRAM CGRAM 데이터나 읽은 데이터를 일시적으로 저장

 

위의 레지스터들은 RS(4번핀) R/W(5번핀) 사용하여 선택을 있다. 선택 방법은 다음과 같다.

 

 [표 2] RS, R/W 신호에 따른 TEXT LCD 제어기 레지스터 선택방법

RS

R/W

레지스터 접근

0

0

IR쓰기(각종 제어 명령 쓰기)

0

1

BF읽기, AC읽기

1

0

DR쓰기

1

1

DR읽기


  • AC : DDRAM CGRAM 주소를 지정할 사용하는데 IR 주소 정보를 쓰면 주소 정보가 AC 전송되고 DDRAM이나 DDROM 데이터를 쓰면  AC 자동으로 +1 혹은 -1 된다.

  • DDRAM(Data Display RAM) : 80x8비트 용량으로 80개의 8비트 아스키(ASCII)코드를 저장할 있다. 0x00-0F 주소가 LCD 1행의 1-16번째, 0x40-4F  주소가 LCD 2행의 1-16번째 문자로 표시된다.(1 2행의 번호 불연속임에 주의해야 한다.)

  • CGRAM(Character Generator RAM) : 사용자가 자유로이 문자를 만들 사용하는 램으로 5x7 8, 5x10 4 만들어 저장 가능하다.

  • CGROM(Character Generator ROM) : 5x7, 5x10 도트의 문자를 내장하고 있다. 특수기호, 숫자, 영문자의 문자코드는 아스키코드와 일치한다.

 

LCD 모듈을 제어할 때는 제어신호의 동작 타이밍을 고려하여야 하며, 일반 반도체 소자들에 비해 엑세스 타임이 편이므로 유의하여야 한다. 아래의 그림은 LCD 모듈의 Read Write 동작시의 타이밍이다.

 

[그림 1] TEXT LCD R/W Timing

 

다음의 표는 LCD 모듈에 문자 등을 표시하기 위한 제어 명령이며, LCD 모듈은 명령을 실행하기 위해 일정한 시간을 요구하므로 다음 명령을 보내기 전에 충분히 지연시키거나, BUSY FLAG 체크하여 앞에서 전송한 명령의 실행완료 상태를 체크하여야 한다.

 

[3] LCD 모듈 표시 제어명령

기능

제어신호

제 어 명 령

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

Clear Display

0

0

0

0

0

0

0

0

0

1

Return Home

0

0

0

0

0

0

0

0

1

0

Entry Mode Set

0

0

0

0

0

0

0

1

I/D

S

Display ON/OFF Control

0

0

0

0

0

0

1

D

C

B

Cursor or Display Shift

0

0

0

0

0

1

S/C

R/L

0

0

Function Set

0

0

0

0

1

DL

N

F

0

0

Set CG RAM address

0

0

0

1

CG RAM address

Set DD RAM address

0

0

1

DD RAM address

Read busy flag and address

0

1

BF

Address Counter

Data write to CG RAM or DD RAM

1

0

Write address

Data read from CG RAM or

DD RAM

1

1

Read address

 

  • CLEAR DISPLAY

모든 디스플레이 상태를 소거하고 커서를 Home 위치로 돌려놓는다.

  • Return Home

DD RAM 내용은 변경하지 않고 커서만을 Home으로 위치시킨다.

  • Entry Mode SET

데이터를 Read 하거나 Write 경우에 커서의 위치를 증가시킬 것인가 (I/D=1) 감소시킬 것인가 (I/D=0) 결정하며, 이때 화면을 이동 것인지 (S=1) 아닌지 (S=0) 결정한다.

  • Display ON/OFF Control

화면 표시를 ON/OFF 하거나(D) 커서를 ON/OFF 하거나(C) 커서를 깜박이게 것인지(B) 여부를 지정한다.

  • Cursor or Display Shift

화면(S/C=1) 또는 커서(S/C=0) 오른쪽(R/L=1) 또는 왼쪽(R/L=0)으로 이동한다.

  • Function SET

인터페이스에서 데이터의 길이를 8비트(DL=1) 또는 4비트(DL=0) 지정하고, 화면 표시 행수를 2(N=1) 또는 1(N=0)으로 지정하며, 문자의 폰트를 5x10 도트(F=1) 또는 5x7 도트(F=0) 지정한다.

전원 투입 최초에는 주로 명령을 보내게 되는데, LCD 모듈이 리셋 되려면 50ms 소요되므로 충분히 기다린 후에 코드를 보내야 한다. 또한, 4비트 인터페이스 경우에는 상위 4 비트를 먼저 전송하고 다음에 하위 4 비트를 전송해야 한다.

  • Set CG RAM Address

Character Generator RAM 어드레스를 지정한다. 이후에 송수신 하는 데이터는 CG RAM 데이터이다.

  • Set DD RAM Address

Display Data RAM 어드레스를 지정한다. 이후에 송수신하는 데이터는 DD RAM 데이터이다.

  • Read Busy Flag & Address

LCD 모듈이 내부 동작중임을 나타내는 Busy Flag(BF) 어드레스 카운터의 내용을 read 한다. LCD 모듈이 제어 코드를 실행하는 데는 일정한 시간이 필요하므로 MCU BF 읽어 1 경우에는 기다리고 0 경우 다음 제어 코드를 보내는 방법을 사용하면 보다 효율적인 처리가 가능하다

 

DD RAM 어드레스

DD RAM 표시될 문자의 ASCII 코드 데이터가 저장되어 있는 메모리이며 모두 80개의 번지가 있는데, 화면의 행과 열의 위치에는 고유한 어드레스 값이 부여된다. 그런데, 행과 사이의 어드레스가 연속하여 있지 않으므로 주의하여야 한다. 아래 표는 표시 문자의 위치에 대한 DD RAM 어드레스이다.

 

[표 4] 표시문자 위치에 대한 DD RAM 어드레스

구분

1

2

3

4

……

13

14

15

16

Line1

00

01

02

03

……

0D

0E

0F

10

Line2

40

41

42

43

……

4D

4E

4F

50

 

[표 5] ASCII 도형문자 종류 및 코드 값


구분

00H

10H

20H

30H

40H

50H

60H

70H

80H

90H

0

사용자 정의

영역

미사용 영역

 

0

@

P

`

p

미사용 영역

1

!

1

A

Q

a

q

2

"

2

B

R

b

r

3

#

3

C

S

c

s

4

$

4

D

T

d

t

5

%

5

E

U

e

u

6

&

6

F

V

f

v

7

'

7

G

W

g

w

8

(

8

H

X

h

x

9

)

9

I

Y

I

y

A

*

:

J

Z

j

z

B

+

;

K

[

k

{

C

,

< 

L

¥

l

|

D

-

=

M

]

m

}

E

.

> 

N

^

n

F

/

?

O

_

o

 

다음은 TextLCD 구동회로를 보여주고 있다.

 


[그림 2] TEXT LCD 구동회로

USB Tester 


3) 레귤레이터(Buck Converter)


 레귤레이터는 어떠한 입력 전원에 대하여 미리 설정한 전압으로 일정하게 유지시켜주는 소자이다.

레귤레이터는 가지 방식으로 분류되는데 리니어 방식(Linear Regulator) 스위칭 방식(Switching Regulator : SMPS)으로 분류된다.

리니어 방식은 직접 전압 떨어뜨리는 방식이기 때문에 변환 과정에서 발열이 발생한다. 이때 발생되는 열은 전기에너지가 열로 소모될 때에 나타나는 것이기 때문에 전력 효율이 비교적 낮다는 단점을 가지고 있다. 이러한 이유로 전류량이 낮은 회로에 사용되며, 방열판으로 열을 식혀줘야만 한다.

스위칭 방식은 일반적으로 컴퓨터나 TV 등의 가전제품에서 전원을 공급하는 용도로 많이 사용되는데, 이는 펄스 양을 조절하여 출력단으로 보내 비교적 정밀하게 전압 조정하여 일정 전압 유지시킨다. 리니어 방식에 비해 발열이 적고 많은 전력을 사용할 있지만, 회로가 복잡하고 많은 양의 부품으로 만들어지기 때문에 가격이 비싸다는 단점이 있다.

USB Tester에서 사용되는 레귤레이터는 스위칭방식의 레귤레이터로 출력이 3A Step-Down Regulator이다.

 

다음은 모듈의 레귤레이터 부분의 회로이다.


[그림 1] 레귤레이터 회로


회로의 각 소자들은 데이터시트를 참고하여 설정하였다.


[그림 2] 인덕터 설정


본 그림 2와 같이 데이터시트에는 각 소자들의 부품값이 나와있었다.


회로상으로 부하의 최대 전류를 2A로 잡고 INPUT 전압이 최대 20V이므로 인덕터는 68uH의 값을 갖는 L38사이즈의 인덕터로 결정하였다.

다음 출력단의 커패시터는 다음과 같은 표를 갖고 결정하였다.


[그림 3] 출력 커패시터 설정


본 레귤레이터 출력전압은 5V이고 부하 전류는 2A로 잡은 상태에서 출력 커패시터는 INPUT 전압의 값에 따라 달라질수 있었다. 그러나 본 회로에서는 INPUT 최대 전압을 20V로 잡았기 때문에 출력 커패시터를 100uF/10V의 값으로 결정하였다.


마지막으로 입력단의 커패시터를 결정했다.


[그림 3] 입력 커패시터 설정


본 그림에서 Y축을 보면 커패시터의 전류 범위가 나와있는데 단위가 RMS mA이다. 본 회로에 사용된 LM2596 데이터시트를 보면 AC 전류의 RMS는 DC 부하 전류의 1/2로 계산해서 설계하라고 되어있었다. 그러므로 본 레귤레이터 회로는 2A의 부하전류로 설계되었으므로 RMS를 1A로 결정하였다. 그리고 PCB를 아트웍할때 소자의 규격을 맞추기 위해 330uF/35V의 커패시터로 설계하였다.

'Project > USB Tester' 카테고리의 다른 글

[USB Tester] 6. PADS Layout 설계  (0) 2018.01.06
[USB Tester] 5. PADS Logic 설계  (0) 2018.01.06
[USB Tester] 4. Text Lcd  (0) 2018.01.06
[USB Tester] 2. ATmega328과 전류 센서 ACS712  (0) 2017.12.12
[USB Tester] 1. 개요  (0) 2017.12.06

USB Tester 


 USB Tester은 아래 그림과 같이 ATmega328과 레귤레이터, 전류센서, 그리고 TEXT LCD로 구성되어 있습니다.


[그림 1] USB Tester 블럭 다이어그램


1) ATmega328


 ATmega328 Atmel사의 8비트 마이크로커느롤러로 다양한 분야에서 널리 상요되고 있으며 , 32kB ISP 플래시메모리, 1kB EEPROM, 2kB SRAM 가지고 있다. 그리고 전력 소모를 줄이기 위해 6가지의 Sleep Mode(Idle, ADC Noise Reduction, Power Down, Power save, Standby, Extended Standby) 지원한다. 인터페이스로는 6채널 10bit ADC, 3개의 Timer/Counter 모드와 시리얼 프로그램을 하기위한 USART 지원한다. 다음에 ATMega328 특징을 정리하였다.

  • 저전력 AVR 8bit Microcontroller
  • 향상된 RISC 아키텍쳐(20MIPS @ 20Mhz)
  • 131 명령세트 (in 1 cycle)
  • 32 x 8bit 범용 레지스터 + 주변 컨트롤 레지스터/Multiplie (in 2 cycle)
  • 20MHz에서 20MIPS progress
  • 32K Byte Flash memory
  • 선택적인 Boot code section (used In-System Programming by On-chip Boot Program)
  • ISP ( In System Programming ) 어플리케이션영역과 부트영역에 있어 F/W 다운로드 가능
  • 1K Byte EEPROM for Data
  • 2K Byte internal SRAM
  • 프로그램 Lock-ISP 위한 SPI 인터페이스
  • 분리된 프리스케일러와 비교모드를 가진 2개의 8비트 Timer/Counter
  • 분리된 프리스케일러와 비교모드, 켭쳐모드를 가진 1개의 16비트 Timer/Counter
  • 6개의 PWM 채널
  • 분리된 오실레이터에 의한 Real Time Count
  • 8 채널, 10bit ADC
  • Two-wire Serial 인터페이스
  • 1개의 시리얼 UART
  • Master/Slave SPI 시리얼 인터페이스
  • 프로그램 가능한 Watchdog 타이머
  • 아날로그 비교기
  • Power-on Reset, 안정된 전원공급을 위한 Programmable Brown-out Detection
  • 내부 RC 오실레이터
  • 외부와 내부의 인터럽트 소스
  • 6개의 Sleep 모드
  • 프로그램 가능한 23개의 I/O
  • 4.5 ~ 5.5V : ATmega128* 속도- 0 ~ 20

본 USB Tester에는 전류센서 1개와 TEXT LCD만을 사용하기 때문에 ATmega시리즈에서도 핀이 적은 ATmega328을 사용하였다.



2) 전류 센서 (ACS712)


 본 모듈의 사용된 전류 센서는 Vout 측정되는 전압값을 가지고 전류를 계산하는 센서이다. 칩은 VIOUT으로 2.5V 오프셋 전압을 갖는 전압이 출력된다. USB Teser 사용되는 전류센서는 ACS712ELCTR-20A-T -20~20A 전류륵 측정할 수있는 전류센서이며, Vnoise 11mV이다. 그리고 Sensitivity 100mV/A 1A 100mV 출력 전압의 변화를 보인다.

다음은 모듈의 전류 센서 부분의 회로이다.


[그림 2] 전류 센서 회로


 위의 그림에서 전원 +5V 그려진 DC3 디커플링 커패시터로 전원에 실려있는 고주파 성분의 Noise 제거하는 역할을 한다. 그리고 IP+, IP- 전류 센서를 통해 측정 전원 단이다. 이 부분은 USB VCC 직렬 연결될 것이며 전류 센서를 통해 VCC에서 흘러 나오는 전압과 전류를 측정하게 것이다.

 또한, ACS712 안에는 OpAmp 이루어진 필터와 버퍼가 포함되어 있기 때문에 FILTER 핀에서 커패시터를 추가하여 내부 저항과 FILTER 커패시터로 이루어진 간단한 RC필터를 구현 있다. RC필터는 장치 출력 신호 잡음비 그에 따른 출력 신호의 해상도를 향상 시킬 있습니다.


'Project > USB Tester' 카테고리의 다른 글

[USB Tester] 6. PADS Layout 설계  (0) 2018.01.06
[USB Tester] 5. PADS Logic 설계  (0) 2018.01.06
[USB Tester] 4. Text Lcd  (0) 2018.01.06
[USB Tester] 3. 레귤레이터(Buck Converter)  (0) 2017.12.12
[USB Tester] 1. 개요  (0) 2017.12.06

USB Tester 


 한동안 포스팅이 뜸하였는데 약 3주간 USB Tester를 만들어 보게 되었습니다. 그래서 약 3주간 포스팅에서는 USB Tester 제작과정을 포스팅 하겠습니다. USB Tester는 퀄컴의 퀵차지(Quick Charge 2.0)과 삼성 어댑티브 패스트 차지(Adaptive Fast Charge)를 만족하도록 제작할 것입니다.



1) Quick Charge


 Quick Charge 3.0은 2015년 9월 퀄컴(Qualcomm)이 스냅드래곤 820, 617, 430과 함께 발표한 기술입니다. 퀄컴은 발표에서 퀵차지 3.0은 배터리 충전 사이클을 보호하며, 2.0보다 최대 38%의 효율을 높였다고 하였습니다. 지난 2.0은 5V, 9V, 12V, 20V의 4가지 전압으로 충전하였지만 3.0은 최저 3.2V에서 최대 20V로 200mV단위로 전압을 설정 할 수 있도록 하였습니다.


[그림 1-1] Quick Charge 비교


2) Adaptive Fast Charge


 퀄컴 AP를 사용하지 않는 삼성은 자사 AP에서 어댑티브 패스트 차지(Adaptive Fast Charge, 이하 AFC)라는 급속충전 기술을 개발하였습니다. Quick Charge 3.0이 3.2 ~ 20V로 동작하는 반면 AFC는 9V 전압에 1.67A의 전류를 고정적으로 공급하도록 하였습니다. AFC는 엑시노스 AP를 사용하는 자사제품에만 사용되는 기술이므로 고정된 규격을 사용하여 안정적인 충전을 할 수 있게 만들었습니다. 대신 타 충전기에서 호환이 안될수 있으나 삼성은 플래그십 시리즈에 QC 2.0을 호환하여 타사의 충전기에서도 고속 충전이 되도록 하였습니다.