26
제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS www.realsys.co.kr 19 제3장. 입출력 장치 기본 동작 이해 1. LED 표시 기초 이해 LED는 눈으로 ON/OFF 동작 상태를 쉽게 확인할 수 있고 가격이 저렴하므로 일반적으로 시스템 동작 상태 표시에 가장 많이 사용한다. 전류 방향 VCC PORT LED 330 ~ 1K ohm 위 그림에서와 같이 저항(330~1K ohm)과 LED를 직렬로 접속하여 LED에 흐르는 전류의 양을 전류의 양을 5 ~ 20[mA] 정도로 제한하여 흐르게 하면 LED가 ON된다. 이 때 PO 의 상태는 0상태 일 때 LED가 ON되고, 1상태(5V)에서 LED는 OFF된다. 만일 LED 방향을 아래 그림과 같이하여 LED를 구동하는 경우에는 PORT 상태가 1(5V)상 태일 때 LED가 ON된다. 전류 방향 330 ~ 1K ohm PORT LED 그런데 PIC를 제외한 TTL 출력이나 일반 마이크로프로세서의 입출력 포트 전류 특성은 포트에서 전류를 밖으로 출력하는 source 능력은 수[mA] 이내 이고, 전류를 포트 안쪽으 로 흐르는 sink 능력은 수십[mA] 정도로 source에 비해 전류를 많이 흘릴 수 있으므로 트 안쪽으로 전류를 흘리면서 LED를 ON하는 방법을 많이 사용한다. LED ON-OFF 동작 제어는 매우 쉽다. 포트를 출력 방향으로 동작 시키고, 포트의 상태 를 0 또는 1상태로 하면 ON OFF가 제어 된다. 카운터나 다수 비트의 데이터를 표시하는 경우에는 오른 쪽 그림에서와 같이 여러 개의 LED를 포트에 접속하여 동작 시킨다. PORT1 LED PORT2 VCC LED PORT3 LED LED R R LED PORT4 PORT5 R LED R R PORT6 R R LED LED PORT0 PORT7 R

제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

19

제3장. 입출력 장치 기본 동작 이해

1. LED 표시 기초 이해

LED는 눈으로 ON/OFF 동작 상태를 쉽게 확인할 수 있고 가격이 저렴하므로 일반적으로

시스템 동작 상태 표시에 가장 많이 사용한다.

전류 방향VCC

PORTLED 330 ~ 1K ohm

위 그림에서와 같이 저항(330~1K ohm)과 LED를 직렬로 접속하여 LED에 흐르는 전류의

양을 전류의 양을 5 ~ 20[mA] 정도로 제한하여 흐르게 하면 LED가 ON된다. 이 때 PORT

의 상태는 0상태 일 때 LED가 ON되고, 1상태(5V)에서 LED는 OFF된다.

만일 LED 방향을 아래 그림과 같이하여 LED를 구동하는 경우에는 PORT 상태가 1(5V)상

태일 때 LED가 ON된다.

전류 방향

330 ~ 1K ohm

PORTLED

그런데 PIC를 제외한 TTL 출력이나 일반 마이크로프로세서의 입출력 포트 전류 특성은

포트에서 전류를 밖으로 출력하는 source 능력은 수[mA] 이내 이고, 전류를 포트 안쪽으

로 흐르는 sink 능력은 수십[mA] 정도로 source에 비해 전류를 많이 흘릴 수 있으므로 포

트 안쪽으로 전류를 흘리면서 LED를 ON하는 방법을 많이 사용한다.

LED ON-OFF 동작 제어는 매우 쉽다. 포트를 출력 방향으로 동작 시키고, 포트의 상태

를 0 또는 1상태로 하면 ON – OFF가 제어 된다.

카운터나 다수 비트의 데이터를 표시하는

경우에는 오른 쪽 그림에서와 같이 여러 개의

LED를 포트에 접속하여 동작 시킨다.

PORT1LED

PORT2

VCC

LED

PORT3LED

LED

R

R

LED

PORT4

PORT5

R

LED

R

R

PORT6

R

R

LED

LED

PORT0

PORT7R

Page 2: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

20

2. 7세그먼트 LED 표시 장치 이해

7세그먼트 LED는 7개의 세그먼트 LED들이 모여 숫자를 표시할 수 있고, 가격이 저렴하

고 어두운 장소에서도 상태 관찰이 가능하므로 많이 사용한다. 일반적으로

7개의 세그먼트에 1개의 DOT까지 하여 8개의 LED로 구성되어 있다.

위의 그림에서와 같이 8개의 LED가 8자의 숫자 모양으로 배치되어 있다고 생각하면 된다.

관례적으로 8개의 LED는 A,B,C,D,E,F,G,DP의 이름으로 부르며 위와 같이 배치되어 있다.

7세그먼트 LED는 8개의 LED의 한쪽 부분은 공통으로 접속되어 있는데, Cathode(-)가

공통으로 접속되는 경우(왼쪽)는 Common-Cathode형이고, Anode(+)가 공통으로 접속되는

경우는 Common-Anode형이라 한다.

예를 들어 B와 C에만 전류가 흐르는 경우에 아래 그림에서와 같이 7세그먼트가 ON되어

‘1’을 표시하게 된다.

A

B

C

D

E

F G

DP

C.A

CB

F

DP

E

G

A

Common Anode

D

C

A

G

C.C

F

D

B

Common Cathode

DP

E

DP

B

G

A

C

F

Common Cathode

DE

B

C

Page 3: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

21

데이터 값이 ‘0’일 때 전류가 흘러 LED를 ON할 경우 Hex값을 표시하는 테이블을 작성하

면 아래와 같다.

HEX 숫자 ( 0 ~ F ) 폰트 테이블:

숫자 세그먼트 DP G F E D C B A HEX 값

0

1 1 0 0 0 0 0 0 0xC0

1

1 1 1 1 1 0 0 1 0xF9

2

1 0 1 0 0 1 0 0 0xA4

3

1 0 1 1 0 0 0 0 0xB0

4

1 0 0 1 1 0 0 1 0x99

5

1 0 0 1 0 0 1 0 0x92

6

1 0 0 0 0 0 1 0 0x82

7

1 1 1 1 1 0 0 0 0xF8

8

1 0 0 0 0 0 0 0 0x80

9

1 0 0 1 0 0 0 0 0x90

A

1 0 0 0 1 0 0 0 0x88

B

1 0 0 0 0 0 1 1 0x83

C

1 1 0 0 0 1 1 0 0xC6

D

1 0 1 0 0 0 0 1 0xA1

E

1 0 0 0 0 1 1 0 0x86

F

1 0 0 0 1 1 1 0 0x8E

Page 4: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

22

7세그먼트 LED를 사용할 때, 다수의 7세그먼트가 함께 있는 형태를 많이 사용하는데, 아

래 그림에서는 4개의 7세그먼트가 함께 있는 예를 보이고 있다.

이 경우에 데이터 신호(A,B,C,D,E,F,DP)는 4개의 7세그먼트에 공통으로 사용되고, 여기서

S0,S1,S2,S3은 각각의 7세그먼트의 공통 신호 핀이다.

위의 그림의 내부 LED를 다시 그리면 아래와 같다.

위와 같이 공통의 데이터 신호선을 사용하는 경우 각각의 7세그먼트에 다른 데이터를 표

시하려면 공통 단자를 순차적으로 동작시켜야 한다.

위 그림에서 S0=0일 때에는 7세그먼트1에 데이터가 표시하고, S1=0일 때는 7세그먼트2

에 데이터가 표시되는 방법으로 순차적으로 데이터를 표시 해야 한다.

S3

D

SND440A11

7421

1053

12 9 8 6

ABCDEFGDP S

0

S1

S2

S3

공통 단자

S2

DP

S1

데이터FE

BA

C

G

S0

7세그먼트1

D

7세그먼트4

GF

S1

7세그먼트2

S2

A

S3S0

C

7세그먼트3

E

B

DP

S0

데이터

S1

S2

S3

7세그먼트1

표시 7세그먼트2

표시 7세그먼트3

표시

7세그먼트4

표시

Page 5: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

23

이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔 하지 않고 고정적으로 구동하는 방

법은 스태틱 구동 방법이라 함), 여기서 S0~S3신호는 8개의 LED를 동시에 ON하는 경우가

있으므로 충분한 전류가 흐르도록 아래와 같이 트랜지스터(NPN)를 사용하고, 표시 데이터

(A,B,…,DP) 신호도 순간적으로 많은 전류를 흘려주어야 하므로 트랜지스터(PNP)를 사용해

야 하는데(TTL능력으로는 부족 함), 단독형 트랜지스터를 사용하기도 하지만 어레이 트랜

지스터를 사용하는 경우도 많다.

다이나믹 구동 회로 예: Common Cathode형 사용

스캔(S0~S3) 신호: Active High 구동

데이터(A~DP) : Active Low 구동

특징 : 스캔 신호의 전류 능력이 약해도 무방.(NPN-TR 필요)

다이나믹 구동 회로 예: Common Anode형 사용

스캔(S0~S3) 신호: Active Low 구동

데이터(A~DP) : Active Low 구동

특징 : 스캔 신호의 전류 씽크 능력이 좋아야 함(수십 mA), 회로 간단.

1k

PNP

1k

S3

VCC

S0

100

NPN1k

1k

NPN

/A

/DP

PNP

VCC

100

117421

1053

12 9 8 6

ABCDEFGDP S

0

S1

S2

S3

330

VCC

2N2907A

3

2

12N2907A

3

2

12N2907A

3

2

1 2N2907A

3

2

1

330

4.7Kx4

2 3 4 5

1

DSND447

117421

1053

12 9 8 6

ABCDEFGDP

S0

S1

S2

S3A

S1

B

330

7-SEGMENT Display

330

S2

C

330S3

E

330

330

DPG

330

330

VCC

F

S0

330

330330

Page 6: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

24

그런데 다이나믹 구동 방법은 스캔 동작이 필요하므로 프로그램적으로 부담이 될 수 있

다. 이 경우 아래와 같이 7세그먼트 구동 전용 소자를 사용하면 더욱 손쉽게 7세그먼트를

구동할 수 있다.

스태틱 구동 방법:

이 경우 4개의 출력 포트로 1개의 7세그먼트를 구동할 수 있으므로 4개의 7세그먼트를

구동하는 경우에는 4x4=16개의 출력 포트가 필요하다. 다이나믹 스캔 경우에는 4개의 7세

그먼트를 구동하는 경우 8+4=12개의 출력포트가 필요하다.

그런데 만일 8개의 7세그먼트를 구동하는 경우 스태틱 구동의 경우는 4x8=32개 필요하

고, 다이나믹 구동의 경우는 8+8=16필요하다. 표시하는 7세그먼트 수가 많은 경우 다이나

믹 구동방법이 유리하다. 다이나믹 구동의 경우 많은 7세그먼트를 구동하는 경우에 순간적

으로 많은 전류를 흘려야 하므로 8개 이상은 구동하지 않는 게 좋다.

1개의 7세그먼트를 구동하는데 4개의 출력 포트를 필요로 하는 전용소자 구동 방법에 비

해 8개의 포트를 필요로 하는 TR구동 방법이 출력 포트를 더 필요로 하지만 유리한 점은

특수한 문자를 표시 할 수 있다는 점이다.

예를 들어 ‘-‘, ’H’, ’r’, ’L’, ’n’ 등을 전용소자(74xx)로는 표시할 수 없지만 TR구동의 경

우는 가능하다.

7448

7126453

1312111091514

1248BI/RBORBILT

ABCDEFG

데이터

ABCDEFGDP S

데이터

TR

7448

7126453

1312111091514

1248BI/RBORBILT

ABCDEFG

ABCDEFGDP S

데이터

ABCDEFGDP S

Page 7: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

25

3. 문자형 LCD 표시 장치 이해

문자나 숫자를 표시하는데 LCD 표시 장치를 많이 사용하는데 이에 대해 살펴보자.

LCD 표시 장치는 크게 문자형과 그래픽형 2가지로 분류된다. 문자형은 영문자 와 숫자의

폰트를 명령어에 의해 표시하므로 제어가 쉽지만 한글이나 그래픽 표시는 곤란하다(간단한

한글은 표시 가능). 한글 표시나 그래픽 등을 자유롭게 표시하려면 그래픽형 LCD를 사용해

야 한다. 여기서는 문자형 LCD 제어에 대해서만 살펴본다.

현재 시중에 판매되는 문자형 LCD의 대부분은 제어 칩으로 HD44780을 사용한 모듈형태

가 가장 많다. HD44780 소자는 8비트 CPU 및 4 비트 CPU에도 사용이 가능하지만 여기

서는 8비트 CPU 접속을 중심으로 살펴본다.

문자형 LCD는 표시하는 문자 수 및 라인 수에 따라 다양한 형태가 있지만 기본적인 제어

방법은 동일 하다. 여기서는 16문자 2라인 LCD를 사용하였다.

LCD 모듈 핀 번호:

핀 번호 이름 상태 I/O 기 능

1 Vss - - Power supply (GND)

2 Vcc - - Power supply (+5V)

3 Vo - - LCD 문자 밝기 조절

4 RS 0/1 I 0 = 명령어 입력

1 = 데이터 입력

5 R/W 0/1 I 0 = Write to LCD module

1 = Read from LCD module

6 E 1 I Enable signal

7 DB0 0/1 I/O 데이터 버스D0 (LSB)

8 DB1 0/1 I/O 데이터 버스D1

9 DB2 0/1 I/O 데이터 버스D2

10 DB3 0/1 I/O 데이터 버스D3

11 DB4 0/1 I/O 데이터 버스D4

12 DB5 0/1 I/O 데이터 버스D5

13 DB6 0/1 I/O 데이터 버스D6

14 DB7 0/1 I/O 데이터 버스D7 (MSB)

15 A Back Light LED 전원 (+)

16 K Back Light LED 전원 (-)

Page 8: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

26

LCD의 밝기(각도)를 조절 단자( Vo ) 처리:

일반 온도 형 ( 사용 전압 범위: 0 ‾ 50 °C ) : 0 ‾ 5V 전압을 가변 저항으로 조절

확장 온도 형 ( 사용 전압 범위: -20 ‾ 70 °C ) : -5V ‾ +5V 전압을 가변 저항으로 조절

5V

VR1

5K

2

13

일반온도용

0V

VLVR1

5K

21

3

+5V

확장온도용

-5V

VL

LCD 모듈 중에 어두운 곳에서도 볼 수 있도록 LED B/L 를 갖는 모듈은 15-16 핀에 20 옴의

저항을 통해 VCC 전압이 공급된다.

A

K

VCC

GND

31

31

31

20

LCD 모듈 내부 LED

LCD 제어 신호: LCD 를 제어하기 위해 CPU 와 접속하는 경우 데이터 버스를 사용하는 방법과

입출력 포트(11 개 필요)를 사용하는 방법이 있는데 여기서는 아래와 같이 포트를 사용하여

제어 한다.

핀 번호 4 5 6 7 8 9 10 11 12 13 14

LCD RS R/W E D0 D1 D2 D3 D4 D5 D6 D7

포트 PA2 GND PA3 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8

여기서 PA2=IOPA2, PA3=IOPA3, Q1‾Q8 = U5 출력 포트(Q1 ‾ Q8) 임.

읽기/쓰기 타이밍 도(조건:min, 단위: ns)

RS

R/W

E

D0~D7

40

220

10

60 10

500

RS

R/W

E

D0~D7

40

220

10

60 10

500

쓰기 동작 읽기 동작

Page 9: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

27

입출력 포트를 사용하여 LCD모듈과 접속하는 경우에 위와 같은 읽기/쓰기 타이밍을 만족

하도록 프로그램 처리를 해야 한다. 여기서는 R/W=0으로 고정하였으므로 쓰기 타이밍만 작

성하면 된다.

HD44780 소자 내부에는 명령어 레지스터(IR)과 데이터 레지스터(DR)의 2종류의 레지스터

가 있는데 RS 신호로 2개의 레지스터 중에서 선택(1=DR, 0=IR)한다.

R/W신호는 읽기/쓰기 동작을 선택(1=Read, 0=Write)한다.

RS,R/W 선택 표:

RS R/W 동 작

0 0 각종 제어 명령 쓰기( Clear Disp, Cursor Home… 등)

0 1 Busy Flag(D7) | Address_Counter(D6~D0) 읽기

(Busy Flag: 1=Busy, 0=Not Busy)

1 0 CGRAM, DDRAM에 데이터 쓰기 동작

1 1 CGRAM, DDRAM에 데이터 읽기 동작

DD(Data Display) RAM 은 LCD 의 표시와 직접 관련이 있다.즉 DD RAM 에 데이터를 써넣으면

LCD 에 표시된다. LCD 의 DDRAM 번지는 같은 줄에서는 연속되고, 줄이 바뀌면 번지가 바뀐다.

16 문자 x 2 라인 LCD 의 DD RAM 번지:

표시 위치 1 2 … 15 16

1 줄[Hex] 00 01 … 0E 0F

2 줄[Hex] 40 41 4E 4F

16 문자 x 4 라인 LCD 의 DD RAM 번지:

표시 위치 1 2 … 15 16

1 줄[Hex] 00 01 … 0E 0F

2 줄[Hex] 40 41 … 4E 4F

3 줄[Hex] 10 11 … 1E 1F

4 줄[Hex] 50 51 … 5E 5F

LCD

HD44100

(KS0065)

HD44100

(KS0065)

명령 레지스터

데이터 레지스터

버퍼

HD44780

RS=0으로 선택

RS=1로 선택

Page 10: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

28

HD44780 명령 표:

Code Instruction

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

Executiontime

Clear display 0 0 0 0 0 0 0 0 0 1 1.64mS Cursor home 0 0 0 0 0 0 0 0 1 * 1.64mS Entry mode set 0 0 0 0 0 0 0 1 I/D S 40uS Display On/Off control 0 0 0 0 0 0 1 D C B 40uS

Cursor/display shift 0 0 0 0 0 1 S/C R/L * * 40uS Function set 0 0 0 0 1 DL N F * * 40uS Set CGRAM address 0 0 0 1 CGRAM address 40uS

Set DDRAM address 0 0 1 DDRAM address 40uS

Read busy-flag And address counter 0 1 BF CGRAM / DDRAM address 0uS

Write to CGRAM or DDRAM 1 0 Write data 40uS

Read from CGRAM or DDRAM 1 1 Read data 40uS

Remarks:

DDRAM = Display Data RAM.

CGRAM = Character Generator RAM.

DDRAM address corresponds to cursor position.

* = Don't care.

** = Based on Fosc = 250KHz.

비트 이름:

Bit name Settings

I/D 0 = Decrement cursor position 1 = Increment cursor position

S 0 = No display shift 1 = Display shift

D 0 = Display off 1 = Display on

C 0 = Cursor off 1 = Cursor on

B 0 = Cursor blink off 1 = Cursor blink on

S/C 0 = Move cursor 1 = Shift display

R/L 0 = Shift left 1 = Shift right

DL 0 = 4-bit interface 1 = 8-bit interface

N 0 = 1/8 or 1/11 Duty (1 line) 1 = 1/16 Duty (2 lines)

F 0 = 5x7 dots 1 = 5x10 dots

BF 0 = Can accept instruction 1 = Internal operation in progress

Page 11: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

29

문자 코드 및 패턴 :

CG RAM 영역 : 0x00 ~ 0x07(0x08~0x0F) 코드 영역은 CG RAM 영역으로 사용자가

임의의 문자 패턴을 만들 수 있는 영역으로 5x7 문자 8 개, 5x10 문자는 4 개까지 만들어

사용할 수 있다.

Page 12: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

30

LCD 모듈 초기화 동작(Data sheet 기준):

Power ON

전원 안정 단계:

VCC가 4.5V 이상으로 된 후

15 ms 이상 기다림

Function Set: 8비트 접속 모드로 설정

RS R/W D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 1 1 x x x x

이 명령 전에 BF는 체크되지 않는다.

Wait: 4.1ms 이상 기다림

Function Set: 8비트 접속 모드로 설정

RS R/W D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 1 1 x x x x

이 명령 전에 BF는 체크되지 않는다.

Wait: 100us 이상 기다림

Function Set: 8비트 접속 모드로 설정

RS R/W D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 1 1 x x x x

이 명령 전에 BF는 체크되지 않는다.

RS R/W D7 D6 D5 D4 D3 D2 D1 D0 기 능

0 0 0 0 1 1 N

1

F

0

x x Function Set

(2라인 , 5x7 dot)

0 0 0 0 0 0 1 D

0

C

0

B

0

Display On/Off Control

(All=OFF)

0 0 0 0 0 0 0 0 0 1 Clear Display

0 0 0 0 0 0 0 0 I/D

1

S

0

Entry Mode Set

(Increment, Not Shift)

초기 설정 완료

Page 13: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

31

4. 비동기 통신 기초

소개

비동기 통신(UART)은 오래 전에(1970년대) 탄생하였지만 아직까지도 활발히(PC에도 탑

재되어 사용: COM1, COM2 등) 사용되고 있다. 물론 최근에는 고속의 통신 방법(USB,

IEEE1394 등)이 사용되고 있지만, 매우 많은 장비에 탑재되어 있으므로 비동기 통신은 당

분간 계속 사용될 것으로 보인다.

처음에 비동기 통신을 사용할 때 전용의 통신 칩(8251, 8250, 16C450, 16C550, Z8530,

SCN2651 등)을 사용하였는데 요즈음 사용하는 많은 마이크로 컨트롤러들은 내부에 통신

모듈을 포함하고 있고, 이를 사용하면 여러 가지 면(가격, 크기 등)에서 유리하다.

서로 거리를 두고 있는 장비와 장비 사이에 데이터 통신이 필요한 경우 직렬 통신 또는

병렬 통신 방법을 생각 할 수 있다. 병렬 통신은 다수의 신호선이 필요하므로 비용이나 설

치 등이 불리하고 잡음에도 약하다. 이에 비해 직렬 통신은 신호선 수가 적고 비교적 먼 거

리의 통신이 가능하므로 많이 사용한다.

비교적 가까운 거리(15m 이내)의 통신을 할 때에는 RS232C 방법을 사용하고, 좀 더 먼

거리의 통신을 원하는 경우는 RS485 방식(최대 1.2Km)을 사용한다.

장비와 장비간에 데이터 통신을 하는 경우 다음과 같이 3가지(단 방향, 반 이중, 전 이중)

방식으로 분류해 볼 수 있다.

단 방향 통신: 한 쪽 방향으로만 데이터 전송

반 이중(Half duplex) 통신: 1개의 신호선으로 양 방향 통신 동작을 하므로 동시에 보내고

받을 수는 없고, 번갈아 가면서 통신 동작을 한다.

전 이중(Full duplex) 통신: 보내는 신호와 받는 신호가 별도로 분리되어 있어 동시에 데이

터를 주고 받을 수 있다.

장비 장비통신 신호

RS232: 전압 구동, 통신 거리=15m

RS485: 차 동 신호, 통신 거리=1.2km

장비1 장비2TX RX

단 방향 통신

장비1 장비2TX/RX

Half duplex 통신

TX/RX

장비1 장비2

TX RX

RX TX

Full duplex 통신

Page 14: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

32

비동기 통신 데이터 포맷

비동기 통신의 데이터 포맷을 살펴보면 다음과 같다.

START 비트 : 1 비트 크기의 Low(0) 상태로 데이터의 시작을 알린다.

DATA 비트 : 5/6/7/8 비트 크기로 설정이 가능하며, LSB first로 실제 데이터 값을 나

타낸다.

Parity 비트 : No/Even/Odd로 설정이 가능하고, 노이즈로 1비트가 변경되었을 때 이

의 검출이 가능하다.

STOP 비트 : 1/1.5/2 크기로 설정이 가능하고, 데이터의 끝을 나타낸다.

비동기 통신 방식에서는 실제 통신 속도보다 16배 높은 클럭이 필요하다. 그 이유는 ?

답: 실제 송수신 신호보다 16배 높은 클럭을 사용하여 위의 그림에서와 같이 수신 입력

신호를 16배 클럭의 중간 위치(7~9)에서 샘플링 하여 2번 이상 나온 값으로 상태를

결정하면 노이즈가 첨가된 환경에서 좀더 정확한 판별을 할 수 있기 때문이다.

통신 신호 레벨 고찰

직렬 통신을 하는 경우 TTL 레벨로 바로 통신 하지 않고, MAX232나 75176과 같은 통

신 신호 드라이버 IC를 거쳐서 외부와 송수신한다. 그 이유는 TTL 레벨로 통신하는 경우

노이즈에 약하여 먼 거리 통신을 할 수 없기 때문이다.

TTL 레벨은 보통 보드 내에서와 같이 짧은 거리에 사용되고, RS232C는 15m 이내의 통

신에 그리고 그 이상의 거리에서는 RS485/RS422과 같은 차동 방식이 사용되는데 이에 대

해 하나씩 살펴 보자.

송신 신호 레벨 보다 수신 레벨의 범위를 넓게 잡는 이유는 전송 중의 손실을 고려하기

때문이고 TTL보다는 RS232C가 보다 먼 거리의 전송이 가능한 이유는 신호 레벨을 살펴

보고 이해하자.

D0 D1 D2 Dn

START DATA STOP

Parity

D0 D1 D2 D3 D4 D5 D6 D7

START DATA STOP

데이터

X16 클럭

데이터 Sampling Point

Page 15: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

33

TTL 신호 레벨

RS232C 신호 레벨

위의 그림에서 보면 TTL 신호 레벨은 0.4V 정도의 노이즈 마진을 갖는데 비해 RS232C

레벨은 2V의 노이즈 마진을 가지므로 노이즈에 강하다. 특히 TTL 레벨은 Low 영역 폭이

0.8V로 매우 좁아 조그만 노이즈가 첨가되어도 High로 인식할 수 있다.

이해 비해 RS232C 레벨은 Space(Logic 0)와 Mark(Logic 1) 영역이 대등하게 영역을 갖

고 폭이 넓으므로 노이즈에 강하다.

% 고찰: RS232C의 +전압 영역은 스페이스(space)라 부르며 Logic 0를 의미하며, -전압

영은 마크(Mark)라 부르고 Logic 1을 의미한다.

High(1)

Low(0)

High(1)

Low(0)

출력 입력

+0V +0.4V

+2.4V

+5.0V +5.0V

+2.0V

+0.8V

+0V

0.4V

노이즈

마진

Space

(Logic 0)

Mark

(Logic 1)

출력 입력

+15V +15V

2V

노이즈

마진

-15V -15V

+5V

-5V

-3V

+3V

Space

(Logic 0)

Mark

(Logic 1)

Page 16: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

34

RS232C 신호는 거리가 멀어짐에 따라 전압이 떨어지므로 15m 이내의 거리에 사용이 권

장된다. 하지만 실제 사용 거리는 사용하는 선로의 종류 및 전송 속도에 따라 달라 진다.

일반적으로 전송 속도가 느리면 더 멀리 전송이 가능하고, C(캐패시터) 성분이 적은 전송

선로의 사용하면 더 먼 거리까지 전송이 가능하다.

RS422/485 신호 레벨

수백 m 또는 수 km의 보다 먼 거리의 통신이 필요한 경우에는 차동 방식을 사용하는데,

대표적인 방식이 RS485 또는 RS422 방식이다.

이 방식에서는 P(+) > N(-) 인 경우는 Logic 1 상태이고,

반대인 경우 즉 P(+) < N(-) 인 경우는 Logic 0 상태이다.

이 차동 방식이 일반 전압 전송 방식보다 노이즈에 강한 이유는 노이즈가 2개의 신호선

(P,N)에 동시에 가해진 경우 신호 상태에는 전혀 영향이 없기 때문이다.

보통 RS485/422 방식은 최대 전송 거리는 1.2km 이다. 이 거리는 리피터를 사용하여 연

장이 가능하다.

RS485/422 방식은 송신 Enable 신호(전송 시에만 Enable)를 사용하여 1개의 신호선으로

다수의 장치를 접속하는 Multi-drop 방식으로 사용이 가능한데, 최대 32개의 노드 접속이

가능하다. 이 접속 대수도 리피터를 사용하여 확장이 가능하다.

출 력 입 력

+6V

1.8V

-6V

+2V

-2V

Logic 0

Logic 1

Logic 0

Logic 1

+6V

+200mV-200mV

-6V

차동 신호

P(+)

N(-)

TXEN

TXD RXD

Page 17: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

35

5. A/D 변환기 기본 동작 이해

기본 동작

A/D 변환기는 아나로그 신호를 디지털 값으로 변환하는 소자이다.

전압, 전류, 온도, 습도, 유량 등 우리 주위에 있는 연속적인 아나로그 신호를 마이크로프로

세서로 처리하기 위해서는 이를 디지털 신호로 먼저 변환 해야 한다. 이 때 몇 비트의 데이

터로 변환하느냐가 분해능(resolution)에 해당하고, 변환을 시작 시켜 변환 종료까지 소요되

는 시간이 변환 시간이고, 어느 범위의 전압을 입력 하느냐 (입력 전압 영역) 등이 언급될

수 있다

일반적으로 많이 사용하는 분해능은 8 / 10 / 12 / 14 / 16 등이 사용되고, 변환 시간은 가급

적 빠를수록 좋지만 고가가 되므로 적정한 변환 속도를 가진 A/D 변환기를 사용하면 된다.

최근에는 마이크로프로세서 내부에 A/D 변환기를 기본 내장한 경우가 많은데, 경제적으로

나 공간적으로 유리하다. 하지만 마이크로프로세서 내장 A/D 변환기는 입력 전압 범위가

대부분 0~5V이고 분해능은 12비트 이하가 많다. 입력 범위가 더 넓어야 하는 경우나 더욱

분해능이 요구되는 시스템은 별도의 A/D를 장착하여 사용하면 된다.

A/D 변환기를 마이크로프로세서에 접속하는 방법에 따라 직렬형(Serial)과 병렬형(Parallel)

으로 나누어 지는데, 직렬형은 직렬 통신 신호를 사용하여 접속하고, 병렬형은 병렬의 데이

터 버스를 사용하여 접속한다.

A/D 변환기 구분

분해능에 따라:

2, 4, 6, 8, 10, 12, 14, 16, 24 비트 형

변환 시간에 따라:

저속형(적분형) = 수 msec 이상

중속형(축차 비교형) = 수 usec ~ 수십 usec

고속형(병렬 비교형) = 수 usec 이하

입력 전압 범위에 따라:

단극성형(0 ~ +전압), 양극성형(-전압 ~ +전압)

데이터 출력 형태에 따라:

병렬 출력형, 직렬 출력형, 주파수 출력형 등

입력 채널 수에 따라:

Single-channel, Multi-channel (2, 4, 8, 16 등)

A/D 변환기 마이크로프로세서

아나로그 신호 디지털 값

Page 18: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

36

A/D 변환 원리 이해

일반적으로 가장 많이 사용되는 A/D 변환 방식은 축차 비교(Successive approximation)

형인데 다음과 같은 원리로 변환한다.

1. High 입력 전압과 Low 입력 전압의 중간 값을 D/A변환기로 출력 시켜 들어온

입력 신호와 비교한다. 이때 최상위 비트가 판별이 된다. (MSB = 1로 결정)

2. 다시 절반의 값을 넣어 비교한다 ( 0 결정)

3. 같은 방법으로 계속해가면 값이 최종 디지털 값이 결정 됨.

이와 같은 방법으로 8클럭 동안 변환하면 8비트 분해능이 되고, 12클럭 동안 진행하면

12비트 분해능의 디지털 값이 결정된다. 비교적 구성이 간단하므로 가장 많이 사용하는 방

법이다. 그런데 이 방법에서 변환 중에 입력 신호 값이 바뀌면 정확한 값을 얻을 수 없으므

로 반드시 Sample & Hold를 사용하여 변환 중에 일정한 값을 유지해야 한다.

아나로그

입력

채널 선택

아나로그

MUX

Sample

&

Hold

D/A

변환기

SAR

클럭

디지털

변환 값비교기

점선=아나로그 입력 신호

클럭

2등분하면서

아나로그에

해당하는

디지털 값을

결정해 간다.

High 입력 전압

Low 입력 전압

1 0 1 0 1 …

Page 19: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

37

6. D/A 변환기 기본 동작 이해

기본 동작

D/A 변환기는 A/D 변환기의 반대가 되는 변환기로 디지털 값을 아나로그 신호로 변환하

는 소자이다.

마이크로프로세서로 처리된 결과를 외부 장치에 인가할 때 보통 D/A 변환기를 사용하여

아나로그 값으로 인가하는 경우가 많다. D/A 변환기는 A/D 변환기보다 원리가 단순하다.

D/A변환기의 변환시간(Conversion time)은 보통 안정 시간(Settling time)이라고도 하는데,

저항이나 OP-AMP등을 사용하여 단번에 변환하므로 A/D 변환기에 비해 변환 시간을 따지

지 않는 경우가 많다.

D/A변환기도 A/D변환기와 마찬가지로 분해능(resolution) 개념이 있다. 예를 들어 8비트

분해능을 갖는 D/A변환기는 전체 신호를 256등분이 가능하고, 12비트를 사용하는 경우는

2048 등분이 가능하므로, 분해능이 높을 수로 섬세한 아나로그 값을 출력할 수 있다.

D/A 변환기 구분

분해능에 따라 : 4, 6, 8, 10, 12, 14, 16, 24 비트 형

변환 시간(settling time)에 따라 : 저속형 = 수 usec 이상, 고속형 = 수백 nsec 이하

아나로그 출력 형태에 따라 : 전류 출력형, 전압 출력형

아나로그 출력 극성에 따라 : 단극성형, 양극성형

데이터 입력 형태에 따라 : 병렬 입력형, 직렬 입력형

아나로그 출력 채널 수에 따라 : Single-channel, Multi-channel (2, 4, 8, 16 등)

D/A 변환 원리

D/A변환기의 원리를 이해하는데

오른쪽의 R-2R D/A가 많이

사용된다.

D/A 변환기마이크로프로세서

아나로그 신호 디지털 값

Analog

R

2R

1 2

D3

D1

2R

2R

D0

R

1 2

2R

1 2

R

2R

D2 1 2

Page 20: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

38

R-2R 방식은 간단히 저항으로 만들 수 있기 때문에 매우 저가의 장비를 만들 때 가끔 사

용하지만 정밀한 아나로그 출력이 필요한 경우는 전용의 D/A 변환기를 사용한다.

1(5V)

0

0

0

2.5 Volt Analog

R

2R

1 2

D3

D1

2R

2R

D0

R

1 2

2R

1 2

R

2R

D2 1 2

0

0

0

0

0 Volt Analog

R

2R

1 2

D3

D1

2R

2R

D0

R

1 2

2R

1 2

R

2R

D2 1 2

1(5V) 5 Volt Analog

R

2R

1 2

D3

D1

2R

2R

D0

R

1 2

2R

1 2

R

2R

D2 1 21(5V)

1(5V)

1(5V)

Page 21: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

39

7. 워치독 (Watchdog) 타이머 동작 이해

WDOG(Watchdog)의 기능은 시스템 동작 프로그램이 노이즈나 기타 이유로 정상적으로

동작하지 않고 오 동작하는 것을 감시하여 바로 잡아주는 기능이다.

시스템이 오 동작하는 경우 이를 그대로 놓아두면 매우 심각한 상황을 만들 수 있기 때문

에 차라리 시스템을 정지 시키거나 프로그램을 다시 출발 시킬 필요가 있다.

예를 들어 로봇이 오 동작을 하여 물건을 부수고 다닌다거나, 엘리베이터가 오 동작하여

계속 오르락 내리락 한다거나 하는 경우 인명에 피해를 줄 수 있는데, 차라리 동작을 멈추

거나 처음부터 다시 동작을 시켜야 하는 경우가 필요해 진다.

마이크로프로세서의 동작 프로그램은 프로그램 코드를 순차적으로 읽어와 실행하기 때문

에 노이즈 등으로 코드를 잘못 읽어와 실행하는 경우에 정상 상태로 돌아가지 않고 계속 이

상한 코드를 실행하는 경우가 있다. 이를 막아주는 기능이 WDOG 기능이다.

그러면 어떻게 오 동작 상태를 감시할까?

대부분의 프로그램 실행은 위 그림에서와 같이 계속적으로 반복 실행하는 메인 루틴과 타

이머 인터럽트와 같이 규칙적으로 발생하는 인터럽트와 통신의 송 수신 인터럽트와 같이 불

규칙적으로 발생하는 인터럽트가 있다. 여기서 메인 루틴의 반복 시간은 시스템에 따라 또

는 인터럽트 발생 상황에 따라 달라지지만 그래도 프로그램이 정상적으로 실행된다면 일정

시간 안에는 반복을 하게 된다. 만일 일정 시간이 지나도 메인 루틴이 반복되지 않는다면

무언가 시스템 프로그램이 오 동작을 하는 경우인데 이를 알아내는 방법은 매우 쉽다.

이 기능을 구현하기위해 보통 2가지 방법을 사용하는데, 외부에 WDOG기능이 있는 소자

를 사용하는 경우와 내부의 WDOG 모듈을 사용하는 경우가 있는데, 외부 소자 사용 경우는

출력 포트도 필요하고 공간적으로나 비용면에서 불리하므로 내부에 WDOG기능이 있는 경

우는 내부 WDOG을 당연히 사용한다.

START

초기화 동작

메인 루틴

(반복 실행)

인터럽트 처리

(규칙적 또는

Event 발생시)

일반적인 프로그램 동작

Page 22: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

40

* NMI = Non-Maskable Interrupt

(NMI 발생 또는 Reset 발생 여부는 사용하는 프로세서에 따라 다름)

마이크로

프로세서

리세트

외부 WDOG 소자

출력포트

만일 일정 시간 안에 클리어하지 않으면

리세트 신호가 발생

외부 WDOG 소자를 사용하는 경우

내부 WDOG

타이머 모듈

리세트

소자

NMI

Reset Reset 또는

NMI 발생

마이크로프로세서

내부 WDOG 모듈을 사용하는 경우

Overflow

WDOG counter = 0

Reset 또는 NMI 발생

WDOG counter Clear 동작

프로그램

만일 일정 시간 안에 클리어하지 않으면

Overflow가 발생하여 Reset 또는 NMI 발생

Page 23: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

41

WDOG 타이머 모듈 동작:

WDOG 카운터는 회로적으로 증가를 하다가 Overflow가 발생하면 그 때 Reset 이나 NMI

가 발생한다. 따라서 메인 루틴에서 WDOG이 Overflow가 발생하기 전에 카운터 값을 클리

어(Clear) 시켜 0으로 만들어 주어야 리세트가 발생하지 않는다.

WDOG 발생 주기는 카운터에 공급되는 입력 클럭 분주 비를 조정하여 변화를 줄 수 있다.

그런데 오 동작 중에 WDOG 카운터가 클리어 되는 확률을 줄이기 위해 특정 순서로 특정

값을 쓰면 클리어 되도록 한다.

예를 들어 DSP240에서는 WDKEY 레지스터에 0x55를 쓰고 이어서 바로 0xAA를 써넣어

야 WDOG이 클리어 된다.

WDOG 카운터를 클리어 하는 코드를 넣는 위치 결정:

- 메인 루틴에 넣는다.

- 해당 기능 처리 시간이 WDOG 발생 주기를 넘을 우려가 있으면 그 곳에 넣는다.

프로그램 초기화 동작에서 각종 변수나 RAM영역을 초기화하는 경우 초기에 WDOG 기능이

Disable이 가능한 경우는 Disable 상태에서 초기화를 완료한 후, 메인 루틴으로 들어갈 때,

WDOG을 Enable하는 경우가 많다.

Overflow

WDOG counter = 0

Reset 또는 NMI

WDOG counter Clear 동작

증가 OV 발생

Overflow 발생 시간은 클럭 분주 비를 조정하여 가능

OV 발생 주기 OV 발생 주기

Page 24: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

42

8. 스텝 모터 기초 이해

스텝 모터

스텝 모터는 입력 펄스에 맞추어 일정 각도 단위로 회전하므로 펄스 모터라고도 하는데

일정 각도로 회전하므로 위치 정보를 궤환 시키지 않고 현재의 위치 정보를 알 수 있으므로

마이크로 마우스 등 간단한 이동 제어 시스템에 많이 사용한다. 스텝 모터의 종류는 크게

3 가지가 있다. PM(Permanent magnet)형,VR(Variable Reluctance)형, HB(Hybrid)형.

스텝 모터의 특징

장점:

- 펄스 신호에 따라 고정밀도로 정해진 각도까지 회전시켜 정지가 가능하므로 궤환

소자(엔코더, 포텐시오미터)가 불필요하여 제어가 쉽다.

- 디지털 신호형태로 직접 제어하므로 마이크로프로세서에 접속이 용이하다.

- 회전 오차 각이 누적되지 않는다.

- 정지할 때 큰 유지 토크(정지 토크)가 있다.

- 모터 브러시 등의 접속 부분이 없으므로 유지 보수 신뢰성이 좋다.

- 초 저속으로 높은 토크 운전을 할 수 있다.

단점:

- 직류 모터에 비해 효율이 떨어 진다.

- 관성 부하에 약하여 큰 부하가 걸리면 탈조 현상이 일어나기 쉽다.

- 특정 주파수에서 진동, 공진 현상이 발생하는 일이 있다.

- 무게에 비해 출력이 약함(출력 중량비가 적음).

스텝모터 구동방식

스텝모터의 구동방식은 유니 폴라(Unipolar) 방식과 바이 폴라(Bipolar) 방식이 있다.

아래 그림은 스위치를 사용한 스텝모터 운전

S2S1 S4S3

12

12

1상

2상

3상

4상

유니폴라 구동

1상

2상

3상

4상

바이폴라 구동스텝모터

스텝모터

위의 그림과 같이 Unipolar 방식의 단극성은 전류가 한쪽으로만 흐르고 쌍 극성의

bipolar 방식은 전류가 4 개의 배선에 양쪽으로 모두 흐른다는 의미이다. 6 개의 배선을

Page 25: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

43

가진 모터는 Unipolar 방식과 bipolar 방식 모두 쓸 수 있으나 4 개의배선을 가진 모터는

bipolar 방식만을 쓸 수 있다.

Bipolar 방식의 경우 코일의 이용도가 높고 저속에서 더 큰 토크를 얻을 수 있는 장점이

있지만 고속에서는 Unipolar 방식이 좀더 유리한 특성을 가지고 있다.

스텝모터는 일반 DC 모터와는 달리 배선수가 많다. 보통 4 개에서 6 개의 선이 나와있어

어느쪽에 구동전원을 연결하는지 잘 알 수 없으므로 사용자는 모터의 사양서를 읽어 보아야

한다.

스텝 각이 3.6 °인 스텝 모터에 100 개의 펄스를 가하면 1 회전(360°) 하게 된다.

상여자 방식:

1 상 여자 법

고정자의 1개 코일만을 차례로 여자 하여 회전자계를 만드는 방법이다. 이 여자

법에서는 회전자가 정지하는 위치( 안정점 )가 고정자와 회전자가 일치하는 점이 된다.

이 방법은 효율은 좋으나 damping 특성이 나쁘기 때문에 일정한 펄스 비로 사용할 때에는

진동이 발생하기 쉽다.

2 상 여자 법

모터에 있는 2 개 고정자의 코일을 동시에 여자하고 각 권선 사이에 발생한 자계를

이용하여 회전 시키는 방법이다.

이 여자 법에서 회전자의 안정점은 고정자의 사이에 있게 된다. 이 방법은 1 상여자에

비해 2 배의 입력신호를 필요로 하게 되어 효율은 저하되지만 damping 특성이 양호하므로

가장 널리 이용되는 방식이다.

1-2 상 여자 법

1 상여자와 2 상여자를 교대로 행하는 것으로 1펄스에 대한 스텝 각은 1 상여자와

2 상여자에 의한 스텝각의 반이 된다. 이를 하프 스텝이라 하며 만일 스텝 각이 3.6 의

모터를 1-2 상 여자 법으로 구동 시키면 1.8。의 스텝 각을 얻을 수 있는 것이다.

이 여자 법은 고 분해능을 요구하는 위치결정 제어에 사용될 수 있으며 진동과 소음을

줄일 수 있으나 스텝의 정확 도는 떨어진다.

Page 26: 제3장. 입출력 장치 기본 동작 이해realsys.co.kr/lecture/avr_edu/1부3장.기본 동작 이해.pdf · 이와 같은 구동 방법은 다이나믹 스캔 방법인데(스캔

제1부. 제3장. 입출력 장치 기본 동작 이해 RealSYS

www.realsys.co.kr

44

다음 그림은 유니폴라/바이폴라의 상 여자법의 그림을 나타낸 것이다.

유니 폴라

1상 여자

유니 폴라

2상 여자

유니 폴라

1-2상 여자

바이 폴라

2상 여자

바이 폴라

4상 여자

바이 폴라

2-4상 여자