타이머: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
본문 추가
편집 요약 없음
3번째 줄:
'''타이머'''(timer)는 특별한 종류의 [[시계]]이다. 타이머는 일련의 사건이나 프로세스를 제어하는 데 사용할 수 있다. [[스톱워치]]가 0부터 숫자를 올려 세는 것과 달리 타이머는 [[모래시계]]처럼 특정한 시간 간격으로부터 숫자를 내려 센다. 타이머는 기계적, 전자기계적, 전기적, 소프트웨어적인 방식을 취하기도 하며 현대의 모든 [[컴퓨터]]들은 하나 이상의 디지털 타이머를 포함하기도 한다.
 
컴퓨터 시스템에서 타이머는 주기적으로 처리해야 할 경우, 주기를 만들기 위해 디지털 카운터 회로를 사용하여 시간을 얻는다. 하드웨어적인 카운터 회로로 부터회로로부터 발생한 신호는 [[마이크로프로세서]]의 인터럽트 처리 방식과 결합하여 해당 소프트웨어를 처리함으로써 주기적 요구사항을 처리할 수 있다.<ref>[http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf AVR Timer]</ref><ref>[http://web.mit.edu/6.115/www/document/8051.pdf 8051 Timer]</ref>
 
정해진 시간을 초과하면 소리 신호 등을 이용하여 단순히 이를 알려주기도 하지만 [[타임 스위치]]와 같은 전기 스위치를 운영하여 전력을 차단하기도 한다.
 
== 컴퓨터에서의 활용 ==
컴퓨터에서 가장 필수적인 모듈로 사용한다. 소프트웨어로 정확한 시간을 측정하는 것은 프로그램이 복잡해 지면복잡해지면 거의 불가능 해진다불가능해진다. 물론 특정 기간에 특정 [[마이크로프로세서]]의 [[기계어]] 묶음을 실행하여 시간을 측정할 수도 있으나, 보통의 컴퓨터 시스템에서는 여러가지 일이 복합적으로 이루어지기 때문에 [[디지털 회로]]([[하드웨어]])에 의한 시간 회로가 필요하다. 따라서 거의 모든 컴퓨터에서 사용되며, [[MCU]]등의 임베디드 시스템에서도 필수적이다. 아주 간단한 MCU에서는 사용하지 않을 수도 있다.
 
컴퓨터 시스템에서 하드웨어인 디지털 회로(타이머 모듈)로 부터로부터 일정 시간이 되면 [[인터럽트]]등을 사용하여 소프트웨어로 다시 카운터하는 방식으로 좀 긴 시간의 타이머를 구성할 수도 있다. 보통 카운터가 8/16비트를 많이 사용하기 때문에 긴 시간을 하드웨어로 구성하는 경우는 드물다.
컴퓨터에서 가장 필수적인 모듈로 사용한다. 소프트웨어로 정확한 시간을 측정하는 것은 프로그램이 복잡해 지면 거의 불가능 해진다. 물론 특정 기간에 특정 [[마이크로프로세서]]의 [[기계어]] 묶음을 실행하여 시간을 측정할 수도 있으나, 보통의 컴퓨터 시스템에서는 여러가지 일이 복합적으로 이루어지기 때문에 [[디지털 회로]]([[하드웨어]])에 의한 시간 회로가 필요하다. 따라서 거의 모든 컴퓨터에서 사용되며, [[MCU]]등의 임베디드 시스템에서도 필수적이다. 아주 간단한 MCU에서는 사용하지 않을 수도 있다.
보통 마이크로프로세서의 [[클럭 신호]]를 이용하기 때문에 미리 2진 카운터로 주파수를 낮추고, 다시 카운터 회로에 의해 원하는 시간을 얻는 것이 일반적이다.
컴퓨터 시스템에서 하드웨어인 디지털 회로(타이머 모듈)로 부터 일정 시간이 되면 [[인터럽트]]등을 사용하여 소프트웨어로 다시 카운터하는 방식으로 좀 긴 시간의 타이머를 구성할 수도 있다. 보통 카운터가 8/16비트를 많이 사용하기 때문에 긴 시간을 하드웨어로 구성하는 경우는 드물다.
보통 마이크로프로세서의 [[클럭 신호]]를 이용하기 때문에 미리 2진 카운터로 주파수를 낮추고, 다시 카운터 회로에 의해 원하는 시간을 얻는 것이 일반적이다.
 
=== 컴퓨터에서 타이머 모듈 ===
줄 22 ⟶ 21:
타이머는 하드웨어 카운터 이기 때문에 이 모듈을 사용하여 주기적 시간도 얻지만 한 주기 동안 HIGH와 LOW의 상태의 시간을 조절하여 [[PWM]] 기능을 지원하는 경우도 많다. 주기와 PWM의 시간 조절을 하나의 타이머 모듈에 장착하고 레지스터 설정에 따라 다양한 기능이 선택적으로 동작하도록 하는 방식을 많이 사용한다.
 
=== 실시간 시계(RTC) ===
{{본문|실시간 시계 }}
 
[[실시간 시계]](RTC,Real Time Clock, RTC) 모듈은 시간을 전용으로 카운터 하는 회로로 시간을 세는 디지털회로 모듈이다. 시간을 세기 위해 카운터 회로와 별도의 수정 발진자(결정 진동자)와 배터리가 필요하다. 보통 32.768kHz 수정발진자를 사용하여 시분초와 날짜을 만드는 카운터의 클럭 신호로 사용한다. RTC는 컴퓨터 전원이 나가도 시간이 유지되어야 하기 때문에 마이크로프로세서 개입 없이 초부터 년까지의 시간을 디지털 회로의 카운터에 의존한다. 전원이 없는 상태에서 동작하는 것이 일반적이므로 별도의 배터리 전원을 사용하여 카운터 회로가 동작한다.<ref>[http://datasheets.maximintegrated.com/en/ds/DS12885-DS12C887A.pdf RTC DS12C887]</ref>
<ref>[http://www.maximintegrated.com/en/products/digital/real-time-clocks/DS1307.html#popuppdf RTC DS1307]</ref>
 
구성요소는 :다음과 같다.
* 날짜와 시, 분, 초 등의 시간을 카운터하는 디지털 카운터 회로 회로,
* 카운터 회로에 사용하는 수정 발진자([[결정 진동자]]),
* 카운터 회로에 컴퓨터의 전원이 꺼져도 공급하는 배터리
로 구성한다.
 
== 전기 시스템에서 활용 ==
[[File파일:Time switch.JPG|thumb|right|250px|타이머 기능을 갖는 콘센트]]
정해진 시간 동안 전기 장치를 가동하는 방법으로 타이머가 장착된 [[콘센트]]를 활용할 수 있다.
 
줄 44 ⟶ 42:
* [[디지털 회로]]
 
== 주석 ==
<references />
 
줄 50 ⟶ 48:
{{Commons category|Timers}}
* {{언어고리|en}} [http://www.tickcounter.com/ 온라인 시계]
 
{{토막글|전자제품}}
 
[[분류:시계]]