Busan IT/제어기초2015. 2. 3. 17:31


20150203 - ADC와 Lego Mindstorm.hwp


학습목표 - ADC의 원리를 이해하고 종류에 대해 안다

 

 

ADC

 

아날로그 변환을 A/D변환을 거쳐 아날로그로 바꾸는 원리이다.

 

원리<그림>:계단 모양으로 아날로그 입력 전압에 따른 디지털 출력

디지털 출력의 폭이 좁을수록 분해능이 좋다라고 표현한다.

 

카운터 램프형(추적형) AD 변환기<그림>

아날로그 입력>귀환 전압 -> x=1

 

램프형 A/D변환기<그림>

아날로그 압력전압이 높아질수록 카운트를 하기 위한 시간이 길어지는 단점이 있다.

아날로그 전력이 클럭보다 클 때 1이 발생되어 변환된다.

 

축자 근사형 A/D변환기

최상위 비트로부터 순서대로 하위 비트 쪽으로 수정하여 가는 방법으로 DAC의 출력을 훨씬 빨리 아날로그 입력 전압에 근사 시킨다.

100-110-111-110의 과정으로 최종적으로 디지털 변환출력 110을 얻는다.

비교적 변환시간이 빠르고 회로도 간단하여 현재 저가형 이면서 분해능이 비교적 높은 범용A/D Converter에 가장 널리 사용되고 있다.

변환 중에 아날로그 입력전압에

 

잡음 제거 방법

독립적인 아날로그 회로 전원 단자 AVCC 및 기준 전원 입력단자 AREF를 가지고 있음에도 불구하고 A/D컨버터는 잡음에 상당히 민감하다.

아날로그 입력 선은 최소한 짧게 잡음의 영향을 받지 않도록 AVCC는 디지털 전원 VCCLC필터로 안정화 시켜 인가

A/D변환 결과가 잡음 등에 의하여 흔들리는 경우에는 디지털 필터를 사용하거나, 여러번 A/D변환하여 읽어 들인 결과를 평균 처리하여 사용하면 좋다.

LEGO MINDSTORM

 

소프트웨어 설치 및 기본 설정

 

LEGO Mindstorm NXT 소프트웨어를 레고 홈페이지에서 다운로드 받는다.

 

 

반응형

'Busan IT > 제어기초' 카테고리의 다른 글

LEGO - Mindstorm #2  (0) 2015.02.05
LEGO - Mindstorm  (0) 2015.02.04
마이크로 컴퓨터와 ADC & DAC  (0) 2015.02.02
마이크로 컨트롤러와 프로그램  (0) 2015.01.30
전기회로와 트랜지스터/캐피시터  (0) 2015.01.29
Posted by newind2000
Busan IT/제어언어2015. 2. 3. 17:30


20150203-제어문, 수의 표현 그리고 포인터.hwp

제어문과 수의 표현 그리고 포인터

 

#1. ASCII Code 제어문

 

학습목표 - ASCII Code에서 사용되는 제어문 개념에 대해 이해한다.

 

C프로그램이 어떻게 실행파일을 만들어 내는가에 대해 지난 시간에 학습하였다.

 

C프로그램은 *.exe의 실행파일이 만들어지고, 리눅스에서는 확장자가 없이 표시된다.

 

오늘은 제어문에 대해서 배워본다.

 

* 다음 주 월요일 책 배포 예정

 

printf("%d,c,u,x,o,f)

 

c = 아스키코드를 표현한다.

 

명령어 끝에 엔터(\n)를 넣어줘야 한다. 리눅스 환경에서는 자동으로 엔터를 넣어주지 않기 때문에 리눅스 작성환경을 대비하여 엔터를 넣어주는 습관을 들인다.

 

줄 바꿈과 엔터는 다르다. 줄 바꿈은 다음 줄로 내려오는 것이고, 엔터는 줄을 바꾸고 커서도 제일 앞으로 옮겨주는 역할을 한다.

 

ASCII code(128)

 

0 - 31 (32) : 제어문자

역슬레쉬는 cl에서 해석하지 않는다. \n의 경우 단순히 n으로 해석하지 않고 엔터로 해석한다.

 

도스에서만 10번이 엔터 역할을 한다.(줄 내림, 커서 제일 앞으로 이동)

 

10번은 CR + LF

 

파일명을 bin으로 변경한 후 Visual Studio에서 실행해보면 Magic Number가 나타나고 이것은 파일의 형식을 나타내준다. ex) MZ는 윈도우 파일, BM 비트맵



 

#2. 숫자의 정렬과 표시(실습)

 

 

실습) 1. 3 * 3 = 9%d 3개와 printf 1개를 써서 출력하여라.

2. 구구단을 3단을 전부 적고 1의 자리는 결과 값을 나머지 값들과 같은 자리 수에 표 현 되게 정렬하여라.

3. 실수 3.2의 소수점 2자리까지만 표시되게 출력하여라.




 

%d사이에 숫자를 넣으면 그만큼 공간이 확보된다.

기본은 %와 문자 사이에 숫자를 넣으면 오른쪽으로 밀리게 된다.(왼쪽에 빈공간이 생긴다)

사이에 ‘-’를 붙이면 왼쪽정렬(오른쪽에 빈공간이 생긴다)

표현하는 자리수보다 적은 숫자를 사이에 넣어도 내용은 다 표시된다.

숫자 다음에 점을 찍고 숫자를 넣으면 소수점 이하에 출력하고자하는 자리수를 나타낸다.

 

변수를 대괄호로([]) 넣고 표현하면 감춰진 내용도 볼 수 있다.

#3. 포인터의 주소 표시

 

실습) 1. int iNum=100을 설정하고 printfiNum의 값과 주소(16진수로)를 표시 한다.

 

주소 출력 시 %08X 출력 한다 -> %p로 대체된다.

 

%d, c, f, u, x 는 기본 암기가 필요하다.

 

 

** 해킹 방지를 위해 심볼 테이블의 address는 계속 바뀌지만 CPU에서는 해당 주소를 보고 위치를 알아낼 수 있다.

 

** 원하는 사이트의 IP 주소를 알아내기 위해서는 DOS창에서

ping_‘도메인 주소를 입력하면 된다.

#4. Visual Studio에서 고정 포인터

 

기계어를 이해할수록 짜여진 프로그램에 대해 조작이 가능하다.

 

Java는 사용자가 주소를 건들지 못하게 보호되어 있다.

 

C언어 쪽이 컴퓨터에 대한 이해도가 높아야하며 컴퓨터의 최적화에 알맞다.

 

* JVM(Java Virtual Machine)

 

숫자를 주소 값을 넣는 것을 배운다.

 

조작하는 DOS창을 Console이라고 부르기도 한다. Win32 = window 32bit

 

MFC C++ 윈도우 작성하는 경우

 

Makefile Project는 윈도우 창 작성

 

엠티 프로젝트를 선택하여 창을 연다.

반응형
Posted by newind2000
Busan IT/제어기초2015. 2. 2. 17:14


20150202 - 마이크로 컴퓨터와 ADC &amp; DAC.hwp

마이크로 컴퓨터와 ADC & DAC

학습목표 - 마이크로 컴퓨터의 역사와 특징을 설명할 수 있다.

ADCDAC의 특징과 용도에 대하여 설명할 수 있다.

 

마이크로 컴퓨터(Micro Computer)

 

마이크로 프로세서의 역사

-4비트 마이크로 프로세서-Intel 4004(1969), 4040

-8비트 마이크로 프로세서(1970년대 중반)

- 인텔(Intel)- Intel 8008(1972)-> Intel 8080(1973)->Intel 8085

- 모토로라(Motorola) - MC 6800(1974) -> MC 6802

- 자일로그(Zilog)- Z80 <- Intel 8080을 개선, Intel 8080의 명령어를 모두 포함하 고 내부 구조도 크게 향상

- MOS 테크(MOS Technology)-MCS6502 -> Apple IICPU(Central Process Unit)로 사용

 

-32비트 마이크로 프로세서

- Intel 80386, MC 68020, MC68030(1985), Z80000(1986)

- Intel 80486 -> 386PC;MC 68020 ->매킨도시 II

- Intel 80486 -> IBM PC 486, PS/2;MC 68030 -> Power Book 컴퓨터, MC 68040 -> 매킨토시 FX

- Intel 80586(Pentium, 1992) - CISC -> P6

- IBM, 모토롤라, 애플사가 공동으로 RISC형태인 파워 PC 601을 발표 (1993sus) ->IBM의 파워 PC, 애플사의 파워 PC

 

- 마이크로 프로세서의 2대 계열

- 80계열과(펜티티엄으로 넘어감) 68계열(Apple)

 

특징

- 고집적 회로(LSI; Large Scale Itegrated Circuit) 구성으로 제품의 소형화

- 가격 저렴

- 기능의 변경이나 확장 용이

- 신뢰성 향상

 

* 은행 현금 인출기에 들어가는 CPU486성능. Embedded에 들어가는 OSPC버젼보다 가볍다.

 

응용 형태

- 컴퓨터 및 주변 부품으로 이용

- 독립된 장치의 내부 제어기로 이용-계측기, 자동차 분야

- 대형 시스템의 구성 요소로 사용-통신 시스템

 

마이크로 컴퓨터의 종류

- 슈퍼 마이크로 컴퓨터(Super microcomputer), 데스크탑 컴퓨터(desktop computer), 휴대형 랩탑 컴퓨터(portable laptop computer), 노트북 컴퓨터 (notebook computer), 팜탑 컴퓨터(palm computer)

 

마이크로 프로세서를 쓰는 이유는 데이터를 활용하는 목적한 바를 도출하려는 의도.

 

 

 

ADC(Analog to Digital Convert)

 

아날로그 : 선형, 연속적인 내용. 아날로그 신호는 주변의 간섭을 너무 많이 받는다는 단점이 있다.

 

아날로그의 단점을 보완하기 위해 등장한 것이 ADC이다.

 

디지털 : 불연속, 비선형. 간섭을 적게 받는다.

 

디지털 신호로 변환 시 연속된 자료를 잘게 쪼갤수록 데이터의 양은 증가하게 된다. 반대로 자료를 크게 분할할 시에는 본래 아날로그 자료의 정확도가 떨어지게 된다.

 

1. 디지털과 아날로그

 

1. 디지털 신호와 아날로그 신호

아날로그 신호(Analog Signal)

자연계에서 일어나는 물리적인 양은 시간에 따라 연속적으로 변화

온도, 습도, 소리 빛 등은 시간에 따라 연속적인 값을 갖는다.

 

디지털 신호(Digital Signal)

분명히 구별되는 두 레벨의 신호값(0,1 or T/F) 만을 갖는다.

 

2. 아날로그 시스템과 디지털 시스템

 

디지털 시스템

이산적인 정보를 가공하고 처리해서 최종 목적으로 하는 정보를 출력하는 모든 형태의 장치

 

아날로그 시스템

연속적인 정보를 입력받아 처리해서 연속적인 형태의 정보를 출력하는 시스템

 

디지털 시스템의 장점

 

디지털 시스템은 내,외부 잡음에 강함.

디지털 시스템은 설계하기가 용이.

디지털 시스템은 프로그래밍으로 전체 시스템을 제어할 수 있어서 규격이나 사양의 변경에 쉽게 대응할 수 있어서 기능 구현의 유연성을 높일 수 있고 개발기간을 단축시킬 수 있음.

디지털 시스템에서는 정보를 저장하거나 가공하기가 용이.

디지털 시스템에서는 정보처리의 정확성과 정밀도를 높일 수 있으며, 아날로그 시스템으로는 다루기 어려운 비선형 처리나 다중화 처리 등도 가능.

디지털 시스템은 전체 시스템 구성을 소형화, 저가격화로 할 수 있음.

-> 디지털 시스템의 많은 장점으로 인해 기존 아날로그 시스템이나 새로운 시스템의 대부분은 디지털 시스템으로 구성

 

<그림>

 

아날로그 회로와 디지털 회로의 상호 연결

 

디지털을 아날로그로 바꿀 때는 연속적인 자료가 아님으로 완벽한 아날로그(연속된 자료)가 될 수 없다.

 

2. 디지털 정보의 표현

1. 디지털 정보의 전압레벨

디지털 정보를 표현하기 위해 2진수 체계(Binary sistem)를 사용

“0”“1”만의 2종류의 디지트(digit)를 사용

 

** 5V 전압기준

출력 0: 0 ~ 0.4V 1: 2.7 ~ 5V

입력 0: 0 ~ 0.8V 1: 2.0 ~ 5V

 

그 중간 값에 있는 신호는 가까운 쪽으로 종속되게 된다. 이 때 잡음이 발생할 수 있다.

 

2. 디지털 정보의 표현단위

1 nibble = 4 bit

1 byte = 8 bit

1 byte = 1 character

영어는 1byte1문자 표현 한글은 2byte가 필요

1word : 특정 CPU에서 취급하는 명령어나 데이터의 길이에 해당하는 비트 수

 

3. 전자소자를 이용한 논리 표현

다이오드에 의한 스위칭

<그림>

쌍극성 트랜지스터에 의한 스위칭

<그림>

NMOS 트랜지스터에 의한 스위칭

 

3. 논리레벨과 펄스 파형

1. 정 논리와 부 논리

양논리 또는 부논리(Positive logic)

음논리 또는 부논리(Negative logic)

정논리와 부논리는 모두 디지털 논리 시스템에서 이용되고 있으며, 정논리가 일반적으로 많이 사용

 

정논리 : High = 1 Low = 0

 

2. 펄스(pulse) 파형

펄스파형은 low상태와 high 상태를 반복하는 전압레벨의 구성

주기 펄스(periodic pulse) & 비주기 퍼스(non-periodic pulse)로 분류

 

이상적인 펄스파형

이상적인 주기 펄스는 두 개의 에지로 구성

리딩 에지(leading edge) = 상승에지(rising edge)

트레일링 에지(trailing edge) = 하강에지(falling edge)

 

실제적인 펄스 파형

 

3. 주기, 주파스, 듀티 사이클

주파수(frequency)

주기적인 파형이 1초 동안에 진동한 횟수를 의미

단우는 전파를 처음으로 발견한 독일의 헤르츠의 이름을 따서 헤르츠(Hz)를 사용

 

주기(period)

주기적인 파형이 1회 반복하는데 걸리는 시간을 의미

ex) 1초에 1번 진동 = 1Hz

1초에 2번 진동 = 2Hz

 

주파수와 주기와의 관계는 역수이다.

 

Duty cycle = tw/T * 100(%)

 

HighLow의 비율이 1:1일 때 50%라고 한다

 

High: Low6:4일때 60%이다.

 

Duty cycle80%이상이면 통상적으로 100%로 본다.

 

4. 디지털 직접회로

 

논리회로의 종류

조합논리회로(combinational logic circuit)

기본 게이트의 조합으로 구성되는 논리회로

ex)리모컨의 숫자

 

순서논리회로(sequential logic circuit)

조합논리회로에 플립플롭(flip-flop)또는 메모리를 부가한 논리회로.

ex)리모컨의 채널조정 상.하 버튼

 

 

1. IC 패키지

PCB(Printed Circuit Board)에 장착하는 방법에 따라 삽입 장착(through-hole mounted)형과 표면 실장(surface-mounted)형으로 구분

 

삽입 장착형 ICPCB보드의 구멍에 끼우는 핀을 가지고 있어 뒷면의 도체에 납땜으로 연결할 수 있으며, DIP형태를 갖는다.

 

표면 실장형 ICPCB표면의 금속 처리된 곳에 직접 납땜 처리

 

SMDDIP형태의 논리회로의 크기를 70%가량 줄이고, 무게를 90%만큼 감소, 또는 SMDPCD의 제조 가격을 크게 하락 시킴.

 

디지털 시스템의 장점

디지털 시스템의 소형화 및 경량화

생산가격의 저렴화

소비전력의 감소

동작속도의 고속화

디지털 시스템의 신뢰도 향상

 

2. 직접회로의 분류

 

트랜지스터의 직접도에 따른 분류

 

SSI = 100개 이하

MSI 1000개 이하

LSI 10,000개 이하

VLSI 1,000,000개 이하

ULSI 1,000,000개 이상

5. ADCDAC

 

아날로그-디지털 변환과정의 블록도

 

아날로그 신호 -(표본화)> -(양자화)> -(부호화)> 디지털 신호

 

1. 표본화(Sampling)

 

샤논의 표본화 정리 : 신호의 최고 주파수의 2배 이상의 빈도로 샘플링하면 샘플링된 데이터로부터 본래 데이터를 재현할 수 있다.

 

사람의 음성인 경우 1초 동안에 8000번 샘플링 필요.(2 * 4kHz= 8kHz

 

2. 양자화

펄스의 진폭 크기를 디지털 양으로 변환

이 과정에서 불가피한 양자화 잡음이 발생

양자화 잡음은 미리 정한 신호레벨의 수를 늘리거나 줄일 수 있으나, 데이터의 양이 많아지는 단점이 있다.

 

3. 부호화

부호화는 양자화한 값을 2진 디지털 부호로 변환.

일반적으로 전화 음성에서는 8비트로 부호화한다.

 

아날로그-디지털 변환과정의 예

 

<그림>

 

4. ADCDAC과정의 예

 

소리 MIC -> AMP -> ADC -> CD -> DAC -> AMP -> SPEAKER 소리

 

CD오디오 시스템에서 신호처리과정

 

 

* 영상신호 NTSC/PAL

 

NTSC : 29.997fps

PAL : 25fps

 

ADC의 적용 예 - 온도계

반응형
Posted by newind2000