본문 바로가기
반응형

임베디드11

[임베디드] Timer란? 임베디드 시스템 프로그램에서 빼놓을 수 없는 Timer interrupt란 무엇인지 알아보겠습니다. Timer란 말 그대로 시간을 재는 기능이라고 간단하게 표현할 수 있습니다. 그런데 이 Timer를 임베디드 시스템에서는 어떻게 측정을 할까요?? Timer의 기본 이론부터 파악해 보도록 하겠습니다. 1) Timer란 먼저 Timer가 무엇인지 알기 위해서는 Interrupt의 개념이 숙지되어 있어야 합니다. 왜냐하면 임베디드 시스템상의 Timer는 Interrupt를 통해 구현되기 때문입니다. 간단하게 설명하면 개발자가 설정한 시간 주기마다 Interrupt를 발생시켜서 숫자를 세는 방식으로 이 설정한 주기가 Timer 구현의 핵심입니다. 예를 들어, 개발자가 Interrupt를 1ms마다 발생시킨다고 .. 2021. 10. 12.
[임베디드] RS485 통신이란? RS485란 공장 설비 등에서 많이 사용되는 반이중(Half-duplex) 통신방식을 말합니다. 즉 송신과 수신을 동시에 진행하지 못하고 Max485 Transceiver 등을 이용하여 송, 수신 모드를 선택하여 사용하는 방식의 통신입니다. RS485를 공장 설비 등에 많이 사용하는 이유중 하나는 데이터 전송 거리가 길다는 점과 1:N의 통신이 가능하다는 점에서 예전부터 많이 사용되고 있습니다. 485 통신은 2선 방식과 4선 방식으로 나뉘지만 해당 글에서는 2선 방식에 대해 알아보겠습니다. 2선 방식에서 중요한 건 RE, DE 핀으로 대게는 이 두 개의 핀을 하나로 묶어서 제어합니다. 이 두개의 핀을 하나로 묶은 핀을 RTS라고 부르고 이 RTS핀 제어에 따라 485 통신이 송신 모드 or 수신 모드 .. 2021. 8. 26.
[임베디드] Timer를 이용해 1시간 이상 측정하기 서버나 어플 같은 경우는 비교적 시간을 계산하는 게 굉장히 간단합니다. 왜냐하면 자체적인 Date 함수를 지원하기 때문에 프로그래머는 이 함수를 이용하면 현재시간 및 내가 원하는 시간대와의 시간차등을 손쉽게 구할 수 있습니다. 하지만 마이컴을 사용하는 임베디드 시스템에서는 시간 측정에 대한 부분은 제한적이기 때문에 몇 분 정도의 시간은 Timer로 구현이 쉽지만 시간 단위가 1시간 이상을 훌쩍 넘어갔을 시에는 어떻게 측정해야 하는지 간단하게 설명하도록 하겠습니다. 1) 문제점 고민 먼저 임베디드 시스템에서 Timer는 시스템상의 Clock을 이용해 시간을 측정할 수 있는 하나의 도구라고 생각하면 됩니다. 예를들어 시스템상의 Timer에서는 1ms마다 숫자를 하나식 세고 있다고 가정하겠습니다. 우리가 1분.. 2021. 8. 17.
[임베디드] RS232 TX Interrupt란? 임베디드 시스템을 개발하다 보면 통신 부분에서 RS232는 빠질 수 없는 부분이죠 그러나 대부분 RS232 RX Interrup에 대해서는 많이 들어보기도 했고 많이 사용하지만 TX Interrupt라는 것에 대해서는 내용자체도 많이 없어서 많이들 혼동하는 것 같습니다 오늘은 이 Tx Interrup라는 기능에 대해서 정리하고자 합니다 1) TX Interrup란 무엇인가? TX Interrupt는 데이터를 송신할 때 사용되며 어떠한 상황에서 인터럽트가 걸리는 것일까?? 바로 송신 버퍼가 비어있을때 즉 Tx 버퍼와 Rx 버퍼 두 개가 존재하고 이 중에서 Tx버퍼에 아무런 데이터도 들어있지 않은 상황을 말합니다 이부분을 조금 더 상세하게 풀어보면 마이컴단에서 플래그 레지스터를 가지고 설명해 볼게요 RS23.. 2021. 3. 12.
[임베디드] 하드웨어 테스트지그 임베디드 시스템에서는 서버나 애플리케이션과는 다르게 오로지 프로그램뿐만이 아니라 하드웨어라는 부분까지 고려해야 합니다. 모든 시스템 설계를 끝내고 생산에 들어가기 전에 반드시 테스트해야 되는 것이 프로그램상 오류는 없는지와 하드웨어적인 결함이 없는가를 체크해야 합니다. 오늘은 제가 회사에 입사하여 첫 프로젝트로 진행했었던 테스트 지그 제작에 대한 이야기를 풀어볼까 합니다. 예시로 사용된 프로그램은 현재 시중에 판매중인 원격 시동 제어기 테스트 지그입니다. 1. 무엇을 테스트해야 하나 임베디드 제품의 테스트는 기본적으로 소프트웨어적인 부분보다는 물리적인 부분에 문제가 없어야 된다는 점에 기반해야 합니다. 왜냐하면 소프트웨어적인 문제는 프로그램 수정 및 업데이트를 통하여 추후에도 수정이 가능하지만 하드웨어적.. 2020. 9. 29.
반응형