임베디드/avr study 5

pullup, pulldown

avr 에서는 아니 다양한 디지털 신호 처리 시스템을 공부하거나 실험 또는 작업을 항상 고민되는 것이 바로 high와 low의 기준이다. (??? : high는 당연히 5v로 잡고 low는 0v아닌가??) 이론값은 그것이 당연하지만 현실에서는 안정적으로 5v가 들어간다면 좋겠지만 5v일때 도 있고, 4.8v 일때도 있고 다양하게 변화한다. 이렇게 전압값이 튀는 현상을 플로팅(floating)이라는 것이라고 부른다. 에 대한 원인은 전원 소스의 영향도 있을 수도 있고 ic에서 먹는 전류량이 온도에 따라 바뀌면서 생기는 노이즈나 손실때문일 수도 있다. 이를 위해서 각종 ic에서는 이러한걸 감안 해주듯이 margin-level이라는것을 정해둔다. 보통 0.7v정도잡혀있다. 하지만 이러한 방법으로 해결할 수 있..

ddrx, pinx, portx (2020/10/04)

오늘 설명할 것은 ddrx , pinx, portx 이 3가지의 레지스터 이다. atmega 데이터 시트를 보면 다양한 핀을 가지고 있고 이들을 주로 gpio라고 부른다. 기본적으로 io의 기능을 가지고 있기 때문에 해당 핀들을 디지털 입력 또는 디지털 출력으로 사용이 가능하다. 즉 led를 켜고 끄거나 스위치의 입력을 감지하는 핀으로 사용이 가능하다. 이러한 기능이 동작할 수 있도록 프로그램이 짜여 있다. 오늘은 그 레지스터에 대해서 적어 볼까 한다. DDR PORT PIN이 매우 기초적인 레지스터인지라 해당 사용법을 안다면 타이머 세팅이라던지 다른 레지스터 선언에서 세팅에 도움이 된다. 레지스트리의 설정 방법은 아래와 같다. * 기본 셋팅 방법! -> (레지스터명) = 0b00000000; -> 먼저..

avr_study(2020/09/28)_폰노이만, 하버드 구조 비교

avr을 다루기 전에 조금 알아두면 좋을거 같은 시리즈 바로 메모리 구조에 관한 이야기다. 우리가 주로 사용하는 컴퓨터와 mcu는 조금 다른 각자의 사정이 있다. 우리는 주로 이렇게 알고 있다. 컴퓨터는 폰노이만 구조(VON-NEUMANN ARCHITECTURE)를 사용한다. mcu는 즉 avr은 하버드 구조(HARVARD ARCHITECTURE)를 사용한다. 이러한 사실은 mcu를 독학하거나 만져본 사람들은 많이 들어 봤을거라고 생각한다. (물론 처음 들어도 이상한건 아니다) 그런데 왜 이런 차이를 가지게 된것일까?? 이러한 차이를 알기위해서는 우리는 우선 두 구조에 대해서 알아볼 필요가 있다. 폰 노이만 구조 - 폰 노이만이 고안한 내장 메모리 순차처리 방식이다. - 데이터 메모리와 프로그램 메모리가..

AVR-STUDY 2일차 (LED ON/OFF )

2019-12-08 ATMEL STUDIO7 설치 이후 이제 디버깅을 해보자 이전에 F7을 눌러주거나 빌드를 이용해서 .HEX .ELF 파일이 생성된것을 확인 하였다. ATMEGA328P에 이를 올려주기 위한 파일 준비는 모두 완료 되었다. 이제 간단하게 회로를 구성하고 LED에 대해서 간단하게 살펴보고 나서 업로드를 해보자 우선 LED에대한 설명이 필요하다 LED는 극성이 있는 부품으로 이 극성을 볼줄 알아야 한다. 일반적으로 LED 다리가 긴쪽이 +(Anode)이다. 라는 말이 있지만 생각보다 이것만 알고 있다가 다리 니퍼로 자르고 난다음에 이를 구분을 못해서 진땀뺸적이 있는데 그럴때는 간단하게 led의 머리를 보면 작은 쇠판이 보인다. 여기서 큰 녀석이 -(cathode) 작은 녀석이 +(anode..

avr-study 1일차 (atmel studio 7 설치 및 실행 테스트)

오늘(12/07)부터 g-camp에서 열어준 avr 스터디에 참가하게 되었다. 사용하는 보드는 arduino uno보드이지만 일반적인 arduino ide 프로그램인 아닌 범용적으로 사용가능한 atmel studio(이전에는 avr studio라고 불렸다.)를 이용하며 업로드 방식도 조금 다른 방법을 이용한다. 기본적으로 arduino ide를 이용한다면 위의 연결법이 매우 일반적인 연결 방법이다. 하지만 이 연결은 아두이노에서 쉽게 업로드 하고 쉽게 시리얼 데이터를 통신하기 위해서 부가적인 장치가 달린것이다. 위의 그림을 본다면 우노는 대표적으로 (atmega 328p)칩을 사용하지만 이를 쉽게 코드를 업로드를 해주고 시리얼 통신을 하기위해서 또 하나의 mcu칩이 달려 있다. 바로 usb 포트쪽에 보이..