728x90 반응형 SMALL Embedded System41 [AVR] 터미널 (Terminal Window) 터미널 (Terminal) 시리얼 포트 통신을 제공하는 Atmel Studio 내부의 터미널 창을 위한 확장이다. 2022. 7. 19. [AVR] USART 통신 USART 통신 USART는 동기식 모드를 의미한다. USART는 UART 모드로 동작 시킬 수 있으며, 대부분 UART로 사용한다. 따라서, USART개념을 UART개념으로 사용해도 무방하다 (동기통신은 대규모 고속전송에 주로 사용). ATmega128은 2개의 USART 내장 → USART0, USART1 전 이중 방식 동기 및 비동기 통신 모드 데이터 비트 (5~9비트), 정지 비트(1~2비트) 및 패리티 비트 고 분해능의 보레이트 발생기 노이즈 필터링 3개의 인터럽트 소스 (전송완료, 수신완료, 전송데이터 레지스터) 멀티-프로세서 통신모드 2배속 비동기 통신모드 송신할 때 UDRn 레지스터가 출발점이 된다. UDRn의 Description을 보면 RXBn과 TXBn으로 나누어져 있다. 두 레지스터.. 2022. 7. 15. [AVR] 타이머 세팅 # 타이머0 오버플로우 인터럽트 1msec # X-TAL클럭 / TCCR0분주비 / TCNT0타이머값 = 주파수, 역수를 취하면 시간 # 16000000Hz/128/125=1000Hz, (256-125)=131 TCCR0=5; TCNT0=131; TIMSK=1; # 타이머0 오버플로우 인터럽트 5msec # 16000000Hz/1024/78=200.32Hz, (256-78)=178 TCCR0=7; TCNT0=178; TIMSK=1; # 타이머0 오버플로우 인터럽트 10msec # 16000000Hz/1024/156=100.16Hz, (256-156)=100 TCCR0=7; TCNT0=100; TIMSK=1; 1msec는 분주비 128을 사용해서 정확한 1msec를 만들었지만 8비트 타이머로는 더 긴 시간.. 2022. 7. 8. [AVR] 스위치 (Switch) 스위치 (Switch) 전기 회로를 끊거나 잇는 기구를 말한다. Tactile 스위치 리셋, 인터럽트 등 Slide 스위치 전원 on/off, 모드 선택 등 Dip 스위치 다수의 모드 선택, 초기값 제공 등 Rocker 스위치 전원 on/off 등 JKIT-128-1에서 스위치 연결 • 스위치는 공간의 제약으로 최소한의 개수인 2개만 배정하고동일한 입출력 포트에 할당 • 스위치는 인터럽트 시험용으로도 사용 가능하여야 하므로 ATmega128의 외부인터럽트 (External Interrupt)를 사용할 수 있는 입출력 포트 PE (PE4, PE5)에 할당 • 스위치는 tactile 스위치를 사용하고, 크기가 작고 가격이 저렴한 것으로 하며, 스위치가 눌려지지 않았을 때는 ‘1’, 눌려졌을 때는 ‘0’이 되.. 2022. 6. 23. [AVR] 부저 (Buzzer) 부저 (Buzzer) 부저는 전자석의 코일에 단속적으로 전류를 보내어 철판 조 각을 진동시켜 내는 신호 또는 장치이다. 스피커 (Speaker) 부저와 기본 원리를 동일하나 Diaphragm이라 불리는 진동 막을 진동시켜 소리를 구현하는 장치이다. 음의 재생 대역 및 음 색이 다양해서 사람의 소리 뿐 아니라, 사람이 들을 수 있는 대부분의 모든 음을 재생시킬수 있는 음향 재생 소자이다. 부저 / 스피커 원리 부저 종류 1. Active Buzzer - 일정한 DC 전류에 반응한다. - 내부에 Oscillator 회로가 있어서 일정한 주파수의 DC pulse 형태로 변환된다. - 소리가 결정되어 있다. 2. Passive Buzzer - DC pulse 형태의 전류에 반응한다. - DC pulse의 주파수.. 2022. 6. 14. [AVR] FND (Flexible Numeric Device) FND (Flexible Numeric Device) • LED 7개 (점 포함 8개)로 숫자를 표시하기 쉽도록 배열한 것 • 많이 사용하는 곳 : 엘리베이터 층 표시기, 임베디드 제품 상태 표시기 FND 종류 및 구조 다중 FND • 여러 개의 FND가 함께 묶여진 형태로, FND를 한 개씩 빠르게 돌아가면서 디스플레이하는 방식을 사용하면 눈의 잔상효과 때문에 모든 FND가 동시에 디스플레이되는 것처럼 보이는 현상을 이용한 제품 (최소 1/30 초 (33ms) 주기로 디스플레이 필요) • 숫자를 표시하는 데이터 신호는 공통으로 사용하고, 각 FND를 선택하는 신호는 따로 할당하되, 선택 신호를 Common 노드에 할당 FND 16진수 표시 JKIT-128-1에서 FND 연결 설계 • FND의 데이터 (.. 2022. 6. 14. [AVR] 타이머 오버플로우 인터럽트 타이머 오버플로우 인터럽트 ATmega128에는 일정 시간마다 횟수 (TCNTn)를 세는 타이머가 있다. 이 횟수가 최대값에서 최소값으로 초기화될 때 인터럽트를 발생시키면, 특정한 시간 간격으로 인터럽트 서비스 루틴을 실행할 수 있다. 타이머 오버플로우 인터럽트 (Timer overflow interrupt)라고 하는 이 인터럽트는 딜레이함수를 대신할 수 있다. 타이머의 구조와 동작 8비트 타이머의 카운터 부분으로 구성되었다. MCU의 메인 클락이나 TOSC1 핀으로 입력 받은 신호를 분주한 것이 타이머의 클락 신호가 된다. 분주비는 1, 8, 32, 64, 128, 256, 1024 중 하나의 값으로 정할 수 있다. TCNTn은 카운트 횟수를 저장하는 레지스터이다. Control Logic은 매 타이머.. 2022. 6. 10. [AVR] 인터럽트 (Interrupt) (3) EICRB (External Interrupt Control Resister B) EICRB 레지스터는 외부 인터럽트 7, 6, 5, 4 동작에 관한 설정을 하는 레지스터이다. • BIT 7 - Interrupt Sense Control7 1 - 외부 인터럽트 7의 트리거 방식을 설정 • BIT 6 - Interrupt Sense Control7 0 - 외부 인터럽트 7의 트리거 방식을 설정 • BIT 5 - Interrupt Sense Control6 1 - 외부 인터럽트 6의 트리거 방식을 설정 • BIT 4 - Interrupt Sense Control6 0 - 외부 인터럽트 6의 트리거 방식을 설정 • BIT 3 - Interrupt Sense Control5 1 - 외부 인터럽트 5의 트리거 방.. 2022. 6. 9. [AVR] 인터럽트 (Interrupt) (2) ATmega128 리셋 벡터 / 인터럽트 벡터 ATmega128에서는 리셋 벡터를 포함하여서 총 35개의 인터럽트 벡터를 가지고 있다. 그 갯수는 다음과 같다. - 리셋 (1개) - 외부 인터럽트 (8개) - 타이머/카운터 관련 인터럽트 (14개) - 각종 통신 관련 인터럽트 (8개) - 그 외 ADC, EEPROM, 아날로그 비교기 (4개) 위에서부터 우선순위가 가장 높은 순이다. 인터럽트 처리 과정 마이크로 컨트롤러의 인터럽트 처리 과정의 전체적인 맥락은 비슷하지만 세부적인 구조는 종류에 따라 다르다. 1. 인터럽트 요청 신호 검출 : 프로그램을 수행하는 도중에 인터럽트 요청이 발생할 경우 해당 장치의 인터럽트 플래그가 세트된다. 이 인터럽트 플래그는 인터럽트 서비스 루틴이 수행되면 자동으로 클리어된.. 2022. 6. 9. [AVR] 인터럽트 (Interrupt) (1) 인터럽트 (Interrupt) 인터럽트는 본래 '방해하다', ' 중단시키다'라는 사전적 뜻을 가졌다. AVR에서도 마찬가지로 어떠한 주 작업을 하던 도중에 방해하는 원인이 생겨서 작업을 멈추는 것을 의미한다. 하지만 주 작업이 멈춘다고해도 방해가 되는 원인이 사라지면 다시금 복귀하여 원래의 주 작업을 수행하는 기법을 인터럽트라고 한다. 중요한 요소 - 인터럽트 소스 : 어떤 장치가 인터럽트를 발생하였는지 - 인터럽트 벡터 : 인터럽트 발생 시 어떤 처리를 할지 - 인터럽트 우선순위 : 인터럽트가 두 개 이상 발생 시 어떤 방식으로 언제 처리할지 인터럽트 흐름도 인터럽트 종류 1) 발생 원인 : 하드웨어와 소프트웨어 (하드웨어의 외부 인터럽트 또는 내부 인터럽트) 2) 차단 여부 : 차단 가능 (INT.. 2022. 6. 9. 이전 1 2 3 4 5 다음 728x90 반응형 LIST