2011년9월26일_ARM_온습도센서(SHT75), TWI, UART, SPI, 프로토콜 모두 이론만
★ 우리는 우리가 만든 착각 속에 살고 있다. 자기합리화를 위해 거짓말을 한 후 그것을 진실로 만들고 거짓말을 망각하여.. 그것이 거짓인지 구분하지 못 하게 되어 버린다. (인간의 방어기재로 자기합리화가 있고 자꾸 사용하면 삐뚫어진 사고방식을 가진 이상한 사람이 되어 버린다.) -> 이상한 사람은 되더라도 그 당시는 행복할 수 있으니 가끔 사용하자. 그러나 사회생활하려면 자아를 강화하고 방어기재 발동을 억재하고 열린 마음으로 사람을 대해야 하지 않을지.. ★ 이중잣대를 가지고 있으면서 자신에게 불이익이 닥치면 왜 그러냐 하지 말자. BMW승용차와 마티즈가 빵빵거리면 어떤 생각을 하나? -> 큰 사람(군자)가 되자..내가 당장 대통령이 되더라도 모든 사람이 환영하는 정책을 추진할 정도로.. ★ 4000만원을 투자해 대학교 졸업을 했는데 왜 취직이 되지 않나? 문제 아닌가? -> 나는 대학생 때 공부를 열심히 하지 않아 졸업 후 취직이 안 되어도 불만이 없다. (실제 바로 취직하긴 했으나 고질적인 성격결함때문에 유지할 수 없었을 뿐..) 다른 대학생들이 취직을 못 하는 이유에 대해선.. 현실적이지 못 한 대학교도 문제고 공부 안 하는 학생도 문제고… 등록금 인상에 대해선 사실 별 생각이 없으나 조금 열받네… |
● SHT75 온습도 센서
우리가 ARM에서 배울 것은 두 개 남았는데 그 중 하나가 SHT75 온습도센서이고, 나머지는 스테핑모터이다.
상기의 사진에서와 같이 센서몸체는 성냥머리만한 크기로 매우 작다.
SHT75는 왼쪽사진과 같이 브레드보드에 쉽게 꽂을 수 있도록 다리가 길게 나와 있다.
비싼 센서라 온도, 습도를 구하는 계산식이 있다.
센서내부는 왼쪽과 같이,
두 개의 센서가 있고 그 센서의 출력을 ADC로..
디지털로 변환한 후 TWI로 인터페이스한다.
캘리브레이션이란 피아노조율과 같이 미세하게 차이나는 음을 바로 잡듯이 측정한 온도와 습도의 오차를 보상한다.
공장에서 같은 제품이 여러 개 만들어 지면 모두 같은 값을 가지는게 아니라 이런 캘리브레이션을 필요로 한다.
전에 사용한 서미스터는 메모리가 없으니 캘리브레이션은..
ARM내부 메모리에서 하면 되겠다.
● 직렬동기통신 개념
SCK는 계속 ON/OFF하는 클록이고,
50Hz이면 초당 50개의 비트를 전송할 수 있다.
SCK가 High일 때 데이터를 읽도록 하였다면,
DATA핀의 상태가 SCK클록에 동기되어,
SCK신호와 발 맞추어 High/Low상태를 읽어 들인다.
SCK신호가 High가 아닌 경우 DATA가 어떤 값이 더라도 그 데이터는 유효하지 않다.
● 직렬 비동기통신 UART
비동기 통신 중 우리가 사용한 것은 UART로,
AT91SAM7S256 MCU의 내장DBGU로 PC와 통신하였다.
UART는 Rx, Tx, GND 세 개의 선만 가지고 통신할 수 있고,
상기의 동기통신에 비하면 동기신호없이 데이터만 있으니,
통신에 필요한 선의 수는 절약되나,
동기를 맞추기 위해 시작비트와 정지비트가 필요하다.
그 외에 에러검출용 패리티비트도 추가되니..
통신속도가 많이 느려진다.
야동 500MB를 보낸다고 생각하면 패리티만 추가되어도,
500Mb를 더 보내야 한다.
ATMEL社는 USART라고 가운데 Sync의 약자인 S를 붙였다.
비동기통신외에 동기통신도 지원한다는 뜻이다.
● 직렬 동기통신 SPI
모토롤라社에 의해 개발되었고 지금은 표준화되어 전세계적으로 널리 사용하는 근거리용 직렬통신 규격으로서,
마스터(Master)와 슬레이브(Slave)사이에서,
MOSI, MISO, SCK, SS등 4개의 통신선을 사용하는..
고속 동기식 직렬통신 방식이다.
Master는 SCK 클록을 발생하는 디바이스를 뜻하고,
센서는 무조건 Slave인건 아니다. Master일 수도 있다.
MOSI는 마스터아웃슬레이브인으로 마스터에서 슬레이브로,
향하고 MISO는 마스터인슬레이브아웃으로 마스터로 향하는 신호선이다. SS는 디바이스를 선택하는데 사용하는 신호다.
● 프로토콜
우리 인간은 언어를 사용해 서로 의사전달을 한다.
한국인은 한국어를 사용해 서로 대화하고 미쿡인은 영어를 사용한다.
이런 언어도 일종의 프로토콜이라고 할 수 있다.
기계들(컴퓨터)도 서로간에 데이터를 주고 받기 위해 통신규약이 필요한데 이를 영어로 프로토콜이라고 하고,
인간의 의사소통과 같이 일정한 규칙을 정해 놓았다.
프로토콜은 따르지 않으면 안 된다는 법이 없으나 따르지 않으면,
인간의 경우 왕따를 당하고 기계는 그에 해당하는 기능들을 사용할 수 없다.
주변에서 쉽게 볼 수 있는 LAN커넥터의 경우 규격이 정해져 있어 어느 회사의 어느 나라의 제품을 쓰더라도 문제없이 사용할 수 있다.
이런 하드웨어적인 규약도 포함되어 있고 이런 것들을 정하는 기관은,
① IEEE(미국전기전자학회) : 전기, 통신 규약을 만들고 미국이 강하니 이 기관의 영향력도 매우 강하다.
② ISO(국제표준화기구): KS규격과 비슷하나 KS는 우리나라 안에서만 가능하고 ISO는 전세계에 영향을 준다.
이런 기관으로부터 인증을 받거나 규약을 따르면 그 제품은 어느 나라에서도 사용이 편리하다(?)
다음 포스트에선 네트워크 패킷을 캡쳐하는 법에 대해 알아 보자.
'내장형하드웨어 > 일일보고서' 카테고리의 다른 글
2011년9월27일_winAPI_대화상자이론, 모달형 대화상자 예제, 대화상자기반의 프로그램(Dialog Base) (0) | 2011.09.27 |
---|---|
2011년9월26일_pcap_패킷 캡쳐 라이브러리를 사용하여 랜카드이름을 알아보자. (0) | 2011.09.26 |
2011년9월26일_winAPI_스크롤 바(Scroll Bar) (0) | 2011.09.26 |
2011년9월22일_ARM_AT91SAM7S256 내장PWM제어기(PWMC)의 기초이론 (0) | 2011.09.26 |
2011년9월23일_winAPI_에디트, 리스트박스, 콤보박스, (0) | 2011.09.26 |