본문 바로가기
코스웨어/15년 스마트컨트롤러

20150504-3번-권오민 (A/D 컨버터 & 파일 입출력&PCAP

by 알 수 없는 사용자 2015. 5. 4.
728x90
반응형

요 약

H/W

S/W

A/D 컨버터

Atmega2560 A/D 특징

ADCSRA

ADCSRB

ADMUX

Source Coding

파일 입출력

임의 접근을 위한 파일 위치 지시자의 이동

fseek

ftell

Linux

pcap

pcap 선언






H/W

A/D 컨버터

- 기본 회로 구성

- Proteus로 설계

Atmega2560 A/D 특징

- Atmega256016채널 10비트 분해능의 축차비교형 A/D 컨버터를 가지고 있다.

- 10bit : 0~1023까지 표현이 가능하다.

- 분해능 : 0~5V1024개로 분해한다.

- bit가 많이 할당 될수록 더욱 유사하다.

- 많이 쪼갤수록 원래의 데이터와 유사해진다.


- 단극성 입력

- 하나만 입력.

- 샘플링 주파수 : 50KHz ~ 1MHz

- 2개가 입력되면 차동입력이라고 한다.

- 샘플링 주파수 : 50KHz ~ 200KHz

- 2개의 레벨차를 이용한다.

- 특성

- 아날로그는 노이즈에 약하다.

ADCSRA

- 7번 비트 : ADC 인에이블

- 모든 A/D컨버터의 동작을 허용 및 금지시킨다.

- 6번 비트 : 스타트 컨버젼

- 한 번 설정해놓고 수정할 사항 없음.

- 4번 비트

- A/D 인터럽트는 거의 사용하지 않는다.

- 사용할 경우 비교기로 사용한다.

- 3번 비트

- SREG레지스터의 최상위 비트 설정.

- 2~0번 비트

- 분주비를 설정한다.

- 분주비가 클수록 속도가 늦다.

- 32분주

- 16MHz32로 나누면 50KHz가 된다.

ADCSRB

- 아날로그 비교기 비트 보유

- 7, 5, 4번 비트는 사용하지 않음.

- 2~0번 비트(ADTS2~0)

- 트리거를 설정한다.

- 프리러닝 : 트리거에 상관없이 알아서 동작

- 아날로그 비교기 : 아날로그 비교기에 의해서 딱딱 데이터가 끊긴다.

- 외부 인터럽트 0의 입력 변화에 따라서 짤린다.

- 타이머0에 의해서 설정한 출력 이상이 되면 어떤 주기로 변환한다.


ADMUX

- 7, 6번 비트

- 기준 전압 AVCC를 사용한다. 따라서 01을 사용한다.



Source Coding

- ADC 관련 코드는 다음과 같다.



S/W

파일 입출력

임의 접근을 위한 파일 위치 지시자의 이동

- 파일 위치 지시자

- FILE 구조체의 멤버 중에 파일의 위치 정보를 저장하고 있는 멤버.

- fgets로 파일을 읽게되며 이 멤버가 가리키는 위부터 읽는다.

- 저장된 위치 정보의 갱신을 통해서 데이터를 읽고 쓸 위치 정보가 유지되는 것이다.

- 파일 포인터

- 파일을 읽어도 위치 이동이 가능하지만, 강제로 이동을 시킬 수 있다.

- 임의 접근(Random Access)가 가능하다.

fseek

- stream으로 전달된 파일 위치 지시자를 wherefrom에서부터 offset바이트만큼 이동시켜라.



ftell

- 파일 위치 지시자의 위치 정보를 반환한다.

- 첫 번째 바이트를 가리키면 0을 반환한다.

- 세 번째 바이트를 가리키면 2를 반환한다.



Linux

pcap

- 설치 방법


- pcap

- Packet Capture library

- Packet을 잡아내는 라이브러리

- <>으로 include하면 이 곳으로 날아온다.

- 헤더파일을 usr/include에 다 모아둔다.

- 수정은 자제한다.

- 다른 장비에 들고 갈 경우 문제가 발생한다.


pcap 선언



정리가 깔끔하지 못하고 누락된 부분도 많은듯 합니다.

많은 댓글 부탁 드립니다.



728x90