KR20040015457A - 제어 주기가 다른 여러 개의 작업을 제어하는 방법 - Google Patents

제어 주기가 다른 여러 개의 작업을 제어하는 방법 Download PDF

Info

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
Application number
KR1020020047707A
Other languages
English (en)
Inventor
김창래
Original Assignee
현대모비스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대모비스 주식회사 filed Critical 현대모비스 주식회사
Priority to KR1020020047707A priority Critical patent/KR20040015457A/ko
Publication of KR20040015457A publication Critical patent/KR20040015457A/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements 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

제어 주기가 다른 여러 개의 작업을 제어하는 방법 {Method for controlling tasks having different controlling period}
본 발명은 제어 주기가 다른 여러 개의 작업을 제어하는 방법에 관한 것으로서 특히, 제어 주기가 서로 다른 여러 개의 함수들을 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. 최소의 제어 주기의 1/2마다 1개의 카운터를 증가시키고, 바로 이전의 카운터 값을 저장하는 제 1단계와;
    상기 증가시킨 카운터와, 저장해놓은 바로 이전의 카운터 값을 배타적 논리합(Exclusive Or) 연산을 수행하여 카운터의 변경된 비트를 검출하는 제 2단계와;
    상기 제 2단계의 결과 값과 카운터 값을 논리곱(And) 연산을 수행하여 0에서 1로 변한 비트를 검출하여, 상기 논리곱 연산 결과 값이 1이 된 타이머 작업 함수들을 호출하는 제 3단계로 구성되어,
    제어 주기가 서로 다른 여러 개의 함수들을 2개의 메모리(RAM) 만을 이용하여 제어하도록 함을 특징으로 하는 제어 주기가 다른 여러 개의 작업을 제어하는 방법.
KR1020020047707A 2002-08-13 2002-08-13 제어 주기가 다른 여러 개의 작업을 제어하는 방법 KR20040015457A (ko)

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)

* Cited by examiner, † Cited by third party
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 タスク起動制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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