KR20040015457A - 제어 주기가 다른 여러 개의 작업을 제어하는 방법 - Google Patents
제어 주기가 다른 여러 개의 작업을 제어하는 방법 Download PDFInfo
- Publication number
- KR20040015457A KR20040015457A KR1020020047707A KR20020047707A KR20040015457A KR 20040015457 A KR20040015457 A KR 20040015457A KR 1020020047707 A KR1020020047707 A KR 1020020047707A KR 20020047707 A KR20020047707 A KR 20020047707A KR 20040015457 A KR20040015457 A KR 20040015457A
- Authority
- KR
- South Korea
- Prior art keywords
- counter
- control
- counter value
- controlling
- period
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Microcomputers (AREA)
Abstract
본 발명은 제어 주기가 다른 여러 개의 작업을 제어하는 방법에 관한 것으로서 특히, 제어 주기가 서로 다른 여러 개의 함수들을 2개의 메모리(RAM) 만을 이용하여 최소 제어 주기의 1/2에 해당하는 간격으로 순차적으로 제어하는 것으로, 최소의 제어 주기의 1/2마다 1개의 카운터를 증가시키고, 바로 이전의 카운터 값을 저장하는 제 1단계(S1)와; 상기 증가시킨 카운터와, 저장해놓은 바로 이전의 카운터 값을 배타적 논리합(Exclusive Or) 연산을 수행하여 카운터의 변경된 비트를 검출하는 제 2단계(S2)와; 상기 제 2단계의 결과 값과 카운터 값을 논리곱(And) 연산을 수행하여 0에서 1로 변한 비트를 검출하여, 상기 논리곱 연산 결과 값이 1이 된 타이머 작업 함수들을 호출하는 제 3단계(S3)로 구성되어, 마이컴의 수행시간이 중복되는 것을 방지할 수 있고, 사용 변수의 수와 프로그램 크기를 감소시키며, 따라서 낮은 성능의 마이컴으로도 높은 성능의 제어가 가능하고, 제어 항목 추가시 해당 항목의 함수만 해당 작업에서 호출해 줌으로써 프로그램의 유지 보수가 용이하도록 하는 것이다.
Description
본 발명은 제어 주기가 다른 여러 개의 작업을 제어하는 방법에 관한 것으로서 특히, 제어 주기가 서로 다른 여러 개의 함수들을 2개의 메모리(RAM) 만을 이용하여 최소 제어 주기의 1/2에 해당하는 간격으로 순차적으로 제어함으로써, 마이컴의 수행시간이 중복되는 것을 방지할 수 있고, 사용 변수의 수와 프로그램 크기를 감소시키며, 따라서 낮은 성능의 마이컴으로도 높은 성능의 제어가 가능하고, 제어 항목 추가시 해당 항목의 함수만 해당 작업에서 호출해 줌으로써 프로그램의 유지 보수가 용이하도록 하는 제어 주기가 서로 다른 여러 개의 작업을 제어하는 방법에 관한 것이다.
일반적으로 마이컴을 이용하여 여러 편의장치를 제어하기 위해서는 주기적인 제어가 필요하다.
이러한 주기적인 제어의 방법은, 주기적인 제어가 필요한 모든 제어 항목마다 각각의 카운터(counter)를 할당하고, 최소의 제어 주기마다 모든 카운터를 증감시키고, 해당 카운터의 값이 제어 주기와 일치했을 때 제어함수를 수행시킨다.
상기와 같은 방법의 경우, 주기적인 제어가 필요한 모든 제어 항목마다 각각의 카운터를 할당하여야 하기 때문에 제어에 필요한 변수의 수가 증가하게 되며, 따라서 메모리(RAM)의 크기가 증가하여야 한다.
또한, 해당 주기마다 제어에 필요한 모든 카운터를 증가시켜 주기 때문에, 제어 프로그램의 크기가 증가하고, 이 프로그램의 수행시간 또한 함께 증가한다.
더욱이, 모든 제어 시기가 최소 주기의 제어시기와 중복되기 때문에 특정 시기의 마이컴의 부하가 증가하여 수행시간이 부족해 질 수 있으며, 따라서 높은 성능의 마이컴을 사용해야 하는 문제점이 있었다.
본 발명은 상기의 결점을 해소하기 위한 것으로, 마이컴의 수행시간이 중복되는 것을 방지할 수 있고, 사용 변수의 수와 프로그램 크기를 감소시키며, 따라서 낮은 성능의 마이컴으로도 높은 성능의 제어가 가능하고, 제어 항목 추가시 해당 항목의 함수만 해당 작업에서 호출해 줌으로써 프로그램의 유지 보수가 용이하도록 하는 제어 주기가 서로 다른 여러 개의 작업을 제어하는 방법을 제공하고자 한다.
이러한 본 발명은 최소의 제어 주기의 1/2마다 1개의 카운터를 증가시키고, 바로 이전의 카운터 값을 저장하는 제 1단계와; 상기 증가시킨 카운터와, 저장해놓은 바로 이전의 카운터 값을 배타적 논리합(Exclusive Or) 연산을 수행하여 카운터의 변경된 비트를 검출하는 제 2단계와; 상기 제 2단계의 결과 값과 카운터 값을 논리곱(And) 연산을 수행하여 0에서 1로 변한 비트를 검출하여, 상기 논리곱 연산 결과 값이 1이 된 타이머 작업 함수들을 호출하는 제 3단계로 구성되어, 제어 주기가 서로 다른 여러 개의 함수들을 2개의 메모리(RAM) 만을 이용하여 제어하도록 함으로써 달성된다.
도 1은 본 발명의 제어 주기가 다른 여러 개의 작업을 제어하는 방법의
일 실시예를 나타내는 순서도.
<도면의 주요 부분에 대한 부호의 설명>
S1 : 제 1단계 S2 : 제 2단계
S3 : 제 3단계
본 발명의 실시예를 첨부 도면을 참고하여 상세히 설명하면 다음과 같다.
도 1은 본 발명의 제어 주기가 다른 여러 개의 작업을 제어하는 방법의 일 실시예를 나타내는 순서도로서, 본 발명은, 최소의 제어 주기의 1/2마다 1개의 카운터를 증가시키고, 바로 이전의 카운터 값을 저장하는 제 1단계(S1)와; 상기 증가시킨 카운터와, 저장해놓은 바로 이전의 카운터 값을 배타적 논리합(Exclusive Or) 연산을 수행하여 카운터의 변경된 비트를 검출하는 제 2단계(S2)와; 상기 제 2단계의 결과 값과 카운터 값을 논리곱(And) 연산을 수행하여 0에서 1로 변한 비트를 검출하여, 상기 논리곱 연산 결과 값이 1이 된 타이머 작업 함수들을 호출하는 제 3단계(S3)로 구성되어, 제어 주기가 서로 다른 여러 개의 함수들을 2개의 메모리(RAM) 만을 이용하여 제어하도록 하는 것을 그 기술상의 특징으로 한다.
이하, 상기 도 1을 참고하여 상기와 같은 본 발명의 구성에 의한 작용 및 효과를 설명하면 다음과 같다.
먼저, 제 1단계(S1)의 최소의 제어 주기의 1/2마다 카운터를 증가시킴에 있어서, 2진수의 경우에 카운터의 값은 00, 01, 10, 11, 100, 101, 110, 111 등과 같이 진행이 되며, 이 경우 카운터의 해당 비트는 최소 제어 주기의 2의 제곱근에 해당하는 시간마다 변경이 된다.
예를 들어, 최소 제어 주기가 10 msec인 경우는 5 msec마다 카운터가 증가되는데, 카운터가 1 바이트(8 비트)인 경우에는 다음과 같이 진행이 된다.
즉, 카운터의 비트 0은 최소 제어 주기(10 msec)의 1/2마다 변경되며, 최소 제어 주기마다 1의 값이 된다.
카운터의 비트 1은, 상기 비트 0의 2배 주기(20 msec)마다 1이 되고, 카운터의 비트 2는, 상기 비트 1의 2배 주기(40 msec)마다 1이 되며, 카운터의 비트 3은, 상기 비트 2의 2배 주기(80 msec)마다 1이 되고, 이와 같이 진행하여, 마지막 카운터의 비트 7은, 비트 6의 2배 주기(1280)마다 1이 되는 것이다.
따라서, 현재의 카운터 값과 바로 이전의 카운터 값을 배타적 논리합(Exclusive Or) 연산을 하여 변경된 비트들을 추출하고(S2), 상기 배타적 논리합 연산의 결과값과 현재의 카운터 값을 논리곱(And) 연산하여, 해당 주기에서 0 에서 1로 변경된 비트를 검출하여, 해당 제어 주기와 일치하는 제어 함수를 호출하게 되는 것이다(S3).
이상과 같은 방법으로, 두개의 메모리(RAM) 만을 사용하여 제어 주기가 서로 다른 여러 개의 함수들의 주기적인 제어가 가능하며, 모든 제어가 최소 제어 주기의 1/2에 해당하는 시간 간격으로 수행되므로, 수행 시간 부족으로 인한 오동작을 방지할 수 있는 것이다.
상기 실시예는 본 발명의 기술적 사상을 구체적으로 설명하기 위한 일례로서, 본 발명의 범위는 상기의 도면이나 실시예에 한정되지 않는다.
이상과 같은 본 발명은 마이컴의 수행시간이 중복되는 것을 방지할 수 있고, 사용 변수의 수와 프로그램 크기를 감소시키며, 따라서 낮은 성능의 마이컴으로도 높은 성능의 제어가 가능하고, 제어 항목 추가시 해당 항목의 함수만 해당 작업에서 호출해 줌으로써 프로그램의 유지 보수가 용이하도록 하는 효과가 있는 발명인 것이다.
Claims (1)
- 최소의 제어 주기의 1/2마다 1개의 카운터를 증가시키고, 바로 이전의 카운터 값을 저장하는 제 1단계와;상기 증가시킨 카운터와, 저장해놓은 바로 이전의 카운터 값을 배타적 논리합(Exclusive Or) 연산을 수행하여 카운터의 변경된 비트를 검출하는 제 2단계와;상기 제 2단계의 결과 값과 카운터 값을 논리곱(And) 연산을 수행하여 0에서 1로 변한 비트를 검출하여, 상기 논리곱 연산 결과 값이 1이 된 타이머 작업 함수들을 호출하는 제 3단계로 구성되어,제어 주기가 서로 다른 여러 개의 함수들을 2개의 메모리(RAM) 만을 이용하여 제어하도록 함을 특징으로 하는 제어 주기가 다른 여러 개의 작업을 제어하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020047707A KR20040015457A (ko) | 2002-08-13 | 2002-08-13 | 제어 주기가 다른 여러 개의 작업을 제어하는 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020047707A KR20040015457A (ko) | 2002-08-13 | 2002-08-13 | 제어 주기가 다른 여러 개의 작업을 제어하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040015457A true KR20040015457A (ko) | 2004-02-19 |
Family
ID=37321720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020047707A KR20040015457A (ko) | 2002-08-13 | 2002-08-13 | 제어 주기가 다른 여러 개의 작업을 제어하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20040015457A (ko) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR890011263A (ko) * | 1987-12-30 | 1989-08-14 | 강진구 | 타이밍 복구회로 |
KR920014182A (ko) * | 1990-12-31 | 1992-07-30 | 정몽헌 | 동기신호 검출회로 |
KR920014068A (ko) * | 1990-12-31 | 1992-07-30 | 경상현 | 전전자 교환기의 수집된 통계용 데이타 집중화방법 |
JPH088696A (ja) * | 1994-04-22 | 1996-01-12 | Matsushita Electric Ind Co Ltd | 信号発生装置 |
KR100193486B1 (ko) * | 1994-11-02 | 1999-06-15 | 정몽규 | 타임 테스크 스케줄 구현 장치 및 그 방법 |
KR20000076518A (ko) * | 1999-01-26 | 2000-12-26 | 가네꼬 히사시 | 주기 함수를 발생하는 회로 |
JP2002049498A (ja) * | 2000-08-02 | 2002-02-15 | Hitachi Ltd | タスク起動制御方法 |
-
2002
- 2002-08-13 KR KR1020020047707A patent/KR20040015457A/ko not_active Application Discontinuation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR890011263A (ko) * | 1987-12-30 | 1989-08-14 | 강진구 | 타이밍 복구회로 |
KR920014182A (ko) * | 1990-12-31 | 1992-07-30 | 정몽헌 | 동기신호 검출회로 |
KR920014068A (ko) * | 1990-12-31 | 1992-07-30 | 경상현 | 전전자 교환기의 수집된 통계용 데이타 집중화방법 |
JPH088696A (ja) * | 1994-04-22 | 1996-01-12 | Matsushita Electric Ind Co Ltd | 信号発生装置 |
KR100193486B1 (ko) * | 1994-11-02 | 1999-06-15 | 정몽규 | 타임 테스크 스케줄 구현 장치 및 그 방법 |
KR20000076518A (ko) * | 1999-01-26 | 2000-12-26 | 가네꼬 히사시 | 주기 함수를 발생하는 회로 |
JP2002049498A (ja) * | 2000-08-02 | 2002-02-15 | Hitachi Ltd | タスク起動制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR900003753A (ko) | 서비스 프로세서 | |
CN101432691A (zh) | 用于控制处理器中的时序的方法和系统 | |
KR20040015457A (ko) | 제어 주기가 다른 여러 개의 작업을 제어하는 방법 | |
US4675843A (en) | Programmable logic controller | |
JP4348664B2 (ja) | プログラマブルコントローラの制御方法 | |
JP2017162135A (ja) | 情報処理装置、デバッグシステムおよびスタックオーバフロー検出方法 | |
KR100437013B1 (ko) | 프로그래머블 제어기의 제어 로직 실행 방법 | |
KR100442290B1 (ko) | 프로그램 카운터 제어회로 | |
US20180120791A1 (en) | Micro controller unit | |
KR100294655B1 (ko) | 멀티타스크기능을수행하는마이컴프로그래머블콘트롤러의제어방법 | |
KR100683826B1 (ko) | Eeprom의 데이터 저장 제어 방법 | |
JP2000250762A (ja) | マイクロコンピュータ | |
Dilawari et al. | A Review Paper on Microprocessor Based Controller Programming | |
JPS6288036A (ja) | マイクロプログラム制御装置 | |
SU696412A1 (ru) | Устройство дл программного управлени объектом | |
JPH02202648A (ja) | メモリ管理装置 | |
JPH036705A (ja) | シーケンスコントローラ | |
JPH056280A (ja) | 割り込み制御方式 | |
JPS58221448A (ja) | マイクロコンピユ−タ | |
JPS58117059A (ja) | 情報処理装置 | |
KR19980073799A (ko) | 프로그래머블 로직 콘트롤러 로더의 디바이스 판별방법 | |
KR19980074128A (ko) | 프로그램 가능한 로직 제어기 | |
JPS63163543A (ja) | 情報処理装置 | |
KR20000013252U (ko) | 디램의 데이터 제어 장치 | |
KR20010065057A (ko) | 마이크로 콘트롤러의 리셋장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
N231 | Notification of change of applicant |