메뉴 English Ukrainian 러시아인 홈

애호가 및 전문가를 위한 무료 기술 라이브러리 무료 기술 라이브러리


라디오 전자 및 전기 공학의 백과사전
무료 도서관 / 무선 전자 및 전기 장치의 계획

우리는 마이크로 컨트롤러에서 장치를 설계합니다. 무선 전자 및 전기 공학 백과사전

무료 기술 라이브러리

무선 전자 및 전기 공학 백과사전 / 마이크로 컨트롤러

기사에 대한 의견 기사에 대한 의견

마이크로 컨트롤러 (MC)를 기반으로 한 장치를 만드는 초기 아이디어와 프로그램 개발 사이에는 알고리즘의 블록 다이어그램을 작성하는 중요한 단계가 있습니다. 그것은 종종 잊혀지거나 더 나쁘게는 무시됩니다. 프로그래밍은 본질적으로 시행 착오를 통해 "경험적"으로 수행됩니다. 그 결과 어떻게든 작동하고 작성자도 완전히 이해하지 못하고 현대화하기 어려운 번거로운 프로그램이 되었습니다. 그러나 알고리즘의 구두 공식화부터 시작하여 블록 다이어그램을 올바르게 설계할 수 있는 매우 간단한 방법이 프로그래머에 의해 오랫동안 알려지고 사용되었습니다. 이 기사 작성자의 전문적인 관심은 Z8 시리즈 MK의 개발 분야에 있지만 그가 제시한 자료는 다른 유형의 MK에도 동일하게 적용됩니다.

운영자 및 제어 개체와 MC 시스템의 상호 작용은 그림 1과 같이 나타낼 수 있습니다. 1 계획 [XNUMX]. 일반적으로 제어 대상에는 액추에이터와 센서가 장착되어 있습니다. 조작자는 마스터 장치의 도움을 받아 MC에서 작동하고 디스플레이 장치의 판독값에서 물체의 상태에 대한 정보를 받습니다. 전자는 스위치, 버튼, 가변 저항이고 후자는 조명(그래픽 및 영숫자 포함) 표시기, 소리 방출 및 기타 신호 장치입니다.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

다이어그램에 표시된 모든 기능 노드 및 연결은 복잡한 대화식 제어 및 관리 시스템에서만 필요합니다. 소위 개방형 루프 제어 시스템에서 MC는 개체의 상태에 대한 정보를 받지 않고 "맹목적으로" 작동합니다. 때때로 그는 특히 객체 자체를 관찰하여 제어 결과를 평가할 수있는 경우 작업 (자신과 객체 모두)에 대한 정보를 운영자에게 제공하지 않습니다. 폐쇄형 제어 시스템에서 MC는 센서 판독값에 따라 물체에 대한 제어 동작을 수정하지만 여기에서도 디스플레이 장치가 필요하지 않습니다. 제어 시스템에는 액추에이터가 포함되어 있지 않으며 설정 장치의 도움으로 작업자는 제어 매개변수만 선택하거나 표시기의 작동 모드를 전환할 수 있습니다.

MC에서 시스템을 설계하는 방법론[2, 3]에는 문제의 공식화 및 분석, 공학적 해석, 알고리즘 흐름도 개발 및 응용 프로그램 텍스트가 포함됩니다. 이러한 시스템에서는 소프트웨어 도구에 최대 기능 수를 할당하는 경향이 있습니다. 회로에서 시스템의 필요한 메모리 양, 속도 및 안정성은 궁극적으로 구현의 효율성에 달려 있습니다. 물론 제품 자체의 컨셉과 디자인의 개발은 아직 진행 중이지만 MK 프로그램의 개발에 필요한 정도로만 다루도록 하겠습니다.

문제 설명은 설계 중인 시스템에 대한 요구 사항을 구두로 공식화한 것입니다. 우선, 목적, 제어 대상의 특성, 센서, 표시기, 작동 및 설정 장치를 설명합니다. 다음으로 "비정상적인" 상황을 포함하여 가능한 모든 상황에서 원하는 시스템 동작에 대해 자세히 설명해야 합니다. 어떤 경우에도 운영자의 오류 없는 조치에 의존할 수 없습니다. 예를 들어 비상 신호를 들었을 때 규정된 "STOP" 버튼 대신 START 버튼을 누르거나 무작위로 모든 버튼을 연속으로 누를 수 있습니다. 물론 이러한 모든 상황을 예측하는 것은 불가능하지만 이를 위해 노력해야 합니다. 설계 중인 시스템의 매개변수 수치를 반드시 지정하십시오.

첫째, 작업은 원칙적으로 "사용자 수준에서" 공식화됩니다. 예를 들어 팬 제어 시스템 개발의 초기 작업은 "팬을 켜고 끄고 공기 흐름의 강도를 조정하고 방향을 변경합니다(배기/배출)"와 같이 들릴 수 있습니다. 엔지니어링 분석은 이 작업을 팬 드라이브(DC 모터)의 속도 및 회전 방향 제어로 축소합니다. MK의 출력 신호의 전력은 엔진을 직접 제어하기에 분명히 불충분하기 때문에 필요한 전력의 신호를 생성하는 특수 드라이버 장치를 그들 사이에 설치해야하며 작업은 MK에 의해 해결됩니다. 운전자에게 제어 조치를 제공하는 것으로 제한됩니다.

MC와의 인터페이스를 위한 전원 제어, 센서 및 장치의 선택에 대해서는 언급하지 않겠습니다. 오늘날 이러한 목적을 위해 특수 마이크로 회로가 생산되며 개별 구성 요소로 시스템을 구축하는 것보다 사용하기에 훨씬 효율적입니다.

National Semiconductor의 통합 DC 모터 드라이버 LMD18200이 사용된다고 가정합니다. 포함에 대한 일반적인 회로가 그림에 나와 있습니다. 2. 모터가 연결된 대각선에 고전력 MOSFET 브리지를 포함합니다.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

드라이버는 세 가지 논리 신호로 제어됩니다. 직사각형 펄스는 PWM(Pulse Width Modulation) 입력에 공급되며 반복 주기(듀티 사이클)에 대한 지속 시간의 비율이 엔진 속도를 결정합니다. 입력 DIR(방향 - 방향)에서 신호의 논리 레벨은 모터에 공급되는 전압의 극성, 즉 회전 방향을 설정합니다. 로그 수준을 설정합니다. BR 입력(브레이크)에서 1이면 엔진이 정지되고 이때 PWM 입력에 로그가 있는 경우. 0이면 모터 전원 회로가 단순히 열리며, 그렇지 않으면 모터 출력도 서로 연결되어 비상 제동을 제공합니다.

두 개의 센서가 드라이버에 내장되어 있습니다. 그 중 하나는 CUR(전류 - 전류) 핀에서 흐르는 전류를 생성하고 377µA/A의 계수로 모터 전류에 비례합니다. 온도 센서 출력 TF(Thermal Flag - 온도 플래그) - 개별 오픈 콜렉터. 로그 상태로 들어갑니다. 0. 드라이버 크리스탈이 145 °C 이상으로 가열된 경우.

팬 모터 제어 장치, 본질적으로 모터 드라이버에 대한 요구 사항을 공식화하겠습니다.

제어 장치에는 조작자(사용자)가 엔진을 켜고 끄고, 방향을 바꾸고, 속도를 높이거나 낮출 수 있는 버튼이 장착되어 있어야 합니다. 다양한 색상의 표시등과 사고(과열 또는 과부하)에 대한 경고음으로 엔진 회전 방향을 표시해야 합니다.

공급 전압을 적용한 후 장치는 모터를 켜지 않고 회전 방향을 설정하는 명령을 기다려야 합니다. 수신 여부는 광신호로 확인해야 합니다. "START" 명령에서 모터를 켜고 평균 주파수(PWM 신호의 듀티 사이클 = 0.5)로 지정된 방향으로 회전하기 시작해야 합니다. "SLOWER" 및 "FASTER" 명령에 따라 듀티 사이클은 0.2 ... 1을 초과하지 않고 그에 따라 감소하거나 증가해야 합니다. "시작" 명령.

소비 전류의 허용 값을 초과하면 예를 들어 모터 샤프트의 기계적 걸림의 결과일 수 있으며 후자는 꺼지고 1000Hz의 주파수를 가진 간헐적인 소리 신호가 짧은 버스트(그 사이의 지속 시간과 일시 중지는 1초). 마이크로 회로가 과열되면 엔진을 멈추고 긴 버스트로 소리 신호를 제공해야 합니다(버스트 및 일시 중지 시간은 2초). 가청 경보는 그때까지 켜져 있어야 합니다. 운영자가 장치를 원래 상태로 되돌리는 "STOP" 명령을 내릴 때까지. 그러한 명령이 내려질 때까지 다른 사람에게 응답하지 않습니다.

이미 이 단계에서 MC 프로그램 개발에 필수적이지 않은 세부 사항은 추상화해야 합니다. 예를 들어, 이 경우에는 중요하지 않습니다. 제어 대상(모터)이 팬 드라이브 역할을 하고 환기 유형(배기 또는 공급)은 회전 방향에 따라 달라지며 공기 흐름의 강도는 주파수에 따라 달라집니다. 또한 알고리즘을 개발할 때 일반적으로 PWM 제어 신호의 형성에 중점을 두어 모터와 드라이버를 잊을 수 있습니다. CUR 및 TE 센서의 DIR, BR 및 신호 처리.

공식화 된 작업을 분석하면 다음 단계에서 필연적으로 나타날 몇 가지 문제를 즉시 식별하는 것이 바람직합니다. 예를 들어, 회전 방향이 미리 정의되지 않은 경우 시스템이 "실행" 명령에 응답해야 합니까? 경우 예. 이런 경우 모터는 어느 방향으로 회전해야 할까요? 모터를 정지했다가 재기동한 후에도 설정한 주파수와 회전방향을 유지해야 합니까? 비상 사태 이후는 어떻습니까? 이러한 모든 질문은 가능한 한 빨리 답변되어야 합니다.

구두 설명을 기반으로 MC의 입력 및 출력 신호 목록이 작성됩니다. 그 중 첫 번째는 작업자가 제공하는 명령과 센서 신호 "EXHAUST"를 포함합니다. "미는". "시작". "더 빠르게". "느리게". "멈추다". "과부하"(CUR). "과열"(TF). 두 번째로 엔진 드라이버 및 표시기의 제어 신호: PWM - 회전 속도. DIR - 회전 방향, BR - 엔진을 끕니다. G - 녹색 LED를 켭니다. Y - 노란색 LED를 켭니다. S - 소리.

이상의 내용을 종합하여 다음과 같이 결론을 내릴 수 있다. MK에 필요한 것. 외부 회로를 연결하기 위한 최소 14개의 핀이 있어야 합니다(18개의 입력 및 86개의 출력). CUR 신호는 아날로그이므로 센서 판독값을 허용 가능한 값과 비교하고 논리 신호 "OVERLOAD"를 생성하려면 비교기가 필요합니다. 따라서 MK가 선호됩니다. 비교기 내장. 예를 들어 Z86 시리즈 MK의 최소 02핀 수정이 적합합니다. 가장 저렴한 옵션은 마이크로칩입니다. ZXNUMXEXNUMX. 지금은 여기까지입니다. 장치의 하드웨어에 대해. 이 단계에서 MK의 출력에 대한 입력 및 출력 신호의 분포는 중요하지 않습니다.

또한 구두로 주어진 알고리즘을 소위 유한 오토마톤 그래프의 형태로 묘사하는 것이 좋습니다. 이산 장치는 있을 수 있는 모든 상태, 상태 변경으로 이어지는 모든 이벤트(외부 영향) 및 생성된 모든 출력 신호를 열거할 수 있는 경우 유한 상태 기계로 간주됩니다. 이들은 MK를 기반으로 한 장치입니다.

자동화 그래프의 예가 그림에 나와 있습니다. 삼.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

상태는 그래프의 노드(정점)로 표시됩니다. 이 경우 A. B. C 및 D의 네 가지가 있습니다. 정점은 전환 방향을 나타내는 화살표가 장착된 호로 연결되며, 이 전환을 유발하는 이벤트 Xi는 호 위에 표시되고 그 아래에는 집합이 있습니다. 이 시점에서 자동 장치에 의해 생성된 출력 신호의 Yi는 다음 전환까지 변경되지 않습니다. 이론적으로 그래프의 각 꼭짓점에서 정확하게 많은 호가 나와야 합니다. 가능한 한 자동화 장치에 대한 다양한 외부 영향. 일부 이벤트가 오토마톤의 상태를 변경하지 않으면 해당 호가 출발한 동일한 정점으로 들어가는 것으로 표시됩니다. 그러나 도면을 어지럽히지 않기 위해 실제로는 이러한 호의 도면만 남습니다. 이는 출력 신호의 변화와 관련이 있습니다. 예를 들어, 그림에 표시된 그래프에서 3. 호 A-A 및 B-B를 삭제할 수 있습니다. 일반적인 언어로 이것은 A 및 B 상태의 자동 장치가 X3 이벤트에 응답하지 않음을 의미합니다.

MK 프로그램으로 구현된 오토마톤에 영향을 미치는 이벤트. MK의 외부 출력에 적용되는 신호의 로직 레벨 변경으로 인해 발생하는 "직접"일 뿐만 아니라 "간접"도 있습니다. 후자는 예를 들어 특정 매개변수의 계산된 값과 주어진 값을 비교한 특정 결과 또는 일부 긴 작업의 완료를 포함합니다. 직접 사건과 간접 사건 사이의 선을 긋기 어려운 경우가 있습니다. 예를 들어 MK에 내장된 타이머의 작동과 같은 일반적인 이벤트는 고정된 경우 간접적인 것으로 간주할 수 있습니다. 해당 레지스터의 숫자를 분석하거나 카운트가 끝날 때 타이머에 의해 생성된 신호에 직접 반응합니다. 출력 신호는 MK의 출력에서 ​​로직 레벨을 직접 변경하지 않고 간접적일 수도 있습니다. 종종 오토마톤의 상태 사이를 전환할 때 특정 값은 프로그램 변수에만 할당됩니다.

해결되는 문제로 돌아가서 엔진 제어 자동화의 그래프를 작성해 봅시다. 작업을 분석하면 다음 상태를 구분할 수 있습니다.

  • START - 전원을 켠 직후에 설정합니다. 필요한 초기 작업이 수행됩니다. 프로그램 변수 및 출력 신호의 초기 값이 설정되고 주변 장치가 구성됩니다. 그 후 자동 장치는 STOP1 상태로 이동합니다(간접 이벤트 전환의 좋은 예 - 초기화 완료).
  • STOP 1 - 초기화가 완료되거나 비상 상황이 종료된 후 기계가 진입합니다. 모터의 회전 방향을 설정하는 명령으로 나옵니다.
  • STOP2 - 기계가 "시작" 명령을 기다리고 있습니다.
  • 작업 - 기본 상태, 장치가 PWM 신호를 생성합니다. "STOP" 명령 또는 비상 센서의 신호로 종료합니다.
  • 과열. 과부하 - 해당 센서의 작동 결과 기계가 WORK 상태에서 통과하는 상태. 엔진이 꺼져 있고 장치에서 경고음이 발생합니다. 종료 - "STOP" 명령에서만 가능합니다.

구성된 그래프는 Fig. 4.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

엔진을 켰다가 끄지 않고 임의로 설정한 잘못된 회전 방향을 바꾸는 것은 불가능하다는 것을 쉽게 알 수 있습니다. 또한 시작하려면 항상 방향과 시작이라는 두 가지 명령을 제공해야 합니다. START 명령을 거부함으로써 STOP2 상태를 배제할 수 있습니다. "PRESSURE" 및 "EXHAUST" 명령의 아크를 작업 상태로 직접 지정합니다. 결과적으로 컨트롤 패널에 버튼이 하나 줄어들고 MK 입력이 하나 해제됩니다. 방향을 설정하는 버튼을 누르면 즉시 엔진이 켜집니다. 엄밀히 말하면 지정된 제어 알고리즘의 변경에 대해 고객 또는 장치의 향후 사용자의 동의를 얻어야 합니다. 그러나 아마추어 연습에서 고객, 연주자 및 사용자는 종종 한 사람이며 "스스로 상담"하는 것으로 충분합니다.

그래프가 가변 듀티 사이클 PWM 신호가 생성되는 방식을 반영하지 않는다는 것은 놀라운 일입니다. 일반적인 경우 MC에서 제어하는 ​​특수 장치를 통해 이를 수행할 수 있습니다. 그러나 우리는 모든 것을 순전히 프로그래밍 방식으로 구현하려고 노력하므로 WORK 상태를 둘로 분할해야 합니다. 첫 번째(WORK) PWM=0, 두 번째(WORK 1) - PWM = 1.

이제 그들 사이의 전환을 일으키는 이벤트를 제공합시다. 두 타이머의 번갈아 발사, 그 중 하나는 PWM 펄스의 지속 시간을 설정하고 두 번째는 그들 사이의 일시 중지를 설정하고 각 타이머는 작동하면 다른 타이머를 시작합니다. 이 경우 "논리적" 타이머는 동시에 작동하지 않기 때문에 하나의 "물리적" 타이머를 사용하여 구현할 수 있으며 각 작업 후 프로그래밍 방식으로 시간 지연을 변경할 수 있습니다.

"FASTER" 및 "SLOWER" 명령은 타이머의 시간 지연을 조정하여 합계를 변경하지 않고 지정된 PWM 펄스 반복 주기와 동일하게 둡니다. 자동 장치는 고려된 두 상태에서 이러한 명령에 응답할 수 있습니다. 그러나 알고리즘을 단순화하기 위해 반응을 이들 중 하나만으로 제한하는 것이 허용됩니다. 이러한 상태의 지속 시간이 짧기 때문에 운영자는 실행 지연을 감지할 수 없습니다.

또 다른 필요한 설명은 시간 지연 값의 허용 여부를 확인하는 것입니다. 작업에 따라 PWM 신호의 듀티 사이클. T1/(T1+T0)과 같습니다. 여기서 T1과 T0은 타이머의 시간 지연이며 항상 0,2 ... 1 간격으로 유지되어야 합니다. 두 호 중 하나를 따라 WORK 상태. 첫 번째는 긍정적인 확인 결과에 해당하며, 이를 통과하면 새로운 셔터 속도가 설정됩니다. 두 번째 - 결과가 부정적이며 이전에 적용된 발췌문은 변경되지 않습니다.

계속해서 그래프를 분석해보면 OVERHEAT와 OVERLOAD 상태가 소리 신호의 반복 주기에서만 차이가 나는 것에 주목한다. 그것들을 하나로 결합하여 ACCIDENT라고 부르는 것이 좋습니다. 오디오 신호 S는 위에서 설명한 PWM 신호와 유사하게 두 개의 타이머를 사용하여 생성할 수 있습니다. 또한 이 상태에서 유휴 상태로 유지되는 동일한 "물리적" 타이머를 사용하는 것이 바람직합니다.

소리를 간헐적으로 만들려면 다른 타이머를 사용할 수 있지만 소프트웨어에 구현된 카운터를 사용하여 생성된 신호의 기간을 계산하고 일정 수 이후에 출력 신호를 켜고 끄는 것이 더 쉽습니다. 이 모든 것은 자동화의 추가 상태와 이들 사이의 전환을 제공해야 합니다.

엔진 자동 제어의 개발 그래프가 그림에 나와 있습니다. 5.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

수행할 작업의 구두 공식은 변수에 특정 값을 할당하여 대체됩니다. 예를 들어, "노란색 LED를 켜라"라는 문구 대신 Y=1을 표시하고 녹색 LED를 꺼야 함을 G=0으로 지정한다. 앞에서 언급한 출력 신호 및 타이머 지연 외에도 상수 T는 PWM 펄스 반복 주기이고 변수 N은 소리 신호의 형성된 간격이 끝날 때까지 남아 있는 펄스 S의 수입니다.

다음 단계는 그래프를 MC 연산 알고리즘의 블록 다이어그램으로 변환하는 것입니다. 우선, 모든 그래프 정점(자동 장치 상태)에 번호를 매겨야 합니다. 번호 매기기 순서는 오토마톤의 하드웨어 구현에서 매우 중요합니다. 올바르게 선택하면 장치를 크게 단순화할 수 있습니다. 소프트웨어 구현의 경우 이것은 그다지 중요하지 않으며 대부분의 경우 번호 지정은 임의적일 수 있습니다. 이 프로그램은 작업 과정에서 현재 상태의 수와 동일한 값이 할당되는 소위 "상태 변수"를 반드시 제공합니다. 복잡한 프로그램에는 이러한 변수가 여러 개 있을 수 있습니다. 많은 프로그래밍 언어를 사용하면 숫자 값에 기호 이름을 지정할 수 있습니다. 예를 들어 값 RABOTA를 변수에 할당하는 프로그램의 한 줄이 값 6을 할당하는 줄보다 훨씬 더 설명적이기 때문에 이것은 널리 사용될 수 있습니다.

무화과. 도 6은 제어 알고리즘의 전형적인 블록도를 가장 일반적인 형태로 나타낸다. 초기화 후 프로그램은 주기적으로 실행됩니다. 상태 변수를 구문 분석한 후 각 주기에서 해당 프로시저를 실행합니다. 오토마톤 상태의 변화는 상태 변수에 새로운 값을 할당함으로써 표시되며, 결과적으로 다음 주기에서 다른 절차가 수행됩니다.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

오토마톤의 각 상태를 구현하는 절차는 그림 7과 유사한 블록 다이어그램에 따라 구축됩니다. XNUMX. 먼저 외부 영향(이벤트)을 분석합니다. 다음으로, 프로세스는 오토마톤 그래프의 해당 정점에서 나오는 호가 있는 만큼 많은 분기로 나뉘고, 각 분기는 이 전환을 구현하는 데 필요한 기능의 실행을 제공하며, 마지막으로 상태 변수에 할당됩니다. 호가 향하는 정점의 수와 같은 값. 또 다른 접근 방식도 가능합니다. 먼저 정점에 들어가는 호를 구현한 다음 충격에 반응합니다. 주요 단점은 프로그램이 자동 장치가 주어진 상태로 전달된 상태를 "알아야" 한다는 것입니다. 이는 이전 경우에는 필요하지 않았습니다.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

그림에서 참고하십시오. 그림 7은 상태 절차에서 가능한 두 가지 종료를 보여줍니다. 첫 번째는 이 상태를 종료시키는 이벤트 중 하나가 발견될 때까지 이벤트를 주기적으로 분석합니다. 두 번째 - 이러한 영향이 없는 경우. 점선으로 표시된 대로 절차가 종료됩니다.

외부 영향이 적고 각 상태에서 이에 대한 반응이 구체적이면 이벤트 감지 절차가 상태 처리 블록에 포함됩니다. 예를 들어, 기계가 응답해야 하는 상태에서만 "START" 버튼을 눌렀는지 여부를 확인할 수 있습니다. 종종 이벤트 필터링 절차는 메인 루프(그림 6에서 점선으로 표시됨)에 배치되고 발생한 이벤트와 고유하게 연결된 값이 할당된 변수가 제공됩니다. 예를 들어, 키보드를 폴링한 결과는 누른 키의 코드입니다. 위 옵션 중 두 번째 옵션에 따라 수행되는 상태 처리 블록에서 이 변수의 값만 분석합니다.

이론적 모델과 달리 실제 이벤트는 종종 동시에 발생합니다. 이러한 상황에서 자동 장치는 우선 순위가 가장 높은 이벤트에 먼저 반응해야 합니다. 우선순위를 정하는 가장 쉬운 방법은 이벤트 분석을 위한 올바른 순서를 선택하는 것입니다. 예를 들어, 그림에 표시된 블록 다이어그램에 따라. 7, 이벤트 X1이 가장 높은 우선 순위를 갖습니다. 최저 - HZ에서. 우선 순위가 높은 이벤트가 우선 순위가 낮은 이벤트보다 훨씬 더 자주 발생하면 대기열이 마지막 이벤트에 도달하지 못할 수 있습니다. 이를 방지하려면 드문 이벤트에 가장 높은 우선 순위를 부여해야 합니다. 예를 들어 새로 처리된 각 이벤트를 대기열의 끝에 배치하여 프로그램이 실행되는 동안 후자의 분포를 변경해야 하는 경우가 있습니다.

MK에서 시스템의 예측할 수 없는 동작은 종종 컨트롤 접점의 노이즈 또는 바운스로 인해 발생합니다. 이러한 잘못된 이벤트는 소프트웨어 필터를 사용하여 "차단"되어야 합니다. 대부분의 경우 이벤트가 발생한 것으로 인식하려면 MK의 해당 입력에서 신호의 논리적 레벨이 일정 시간 동안 변경되지 않았는지 확인하는 것으로 충분합니다. 중요한 경우에는 더 복잡한 절차가 사용됩니다.

많은 사건들 중에서 즉각적인 대응이 필요한 "비상 사태"를 골라내는 것이 종종 가능합니다. 전형적인 예입니다. 타이머가 만료되는 순간을 놓치지 않기 위해 프로그램은 레지스터의 상태를 지속적으로 확인해야 하며 타이머가 만료될 때까지 다른 작업을 수행할 수 없습니다. 카운트 종료 시 타이머에 의해 생성된 인터럽트 요청 신호로 문제가 해결됩니다. 그것을 받아들임으로써. MC는 즉시(동일한 이벤트의 정상적인 소프트웨어 처리보다 훨씬 더 빠름) 인터럽트 서비스 루틴의 실행을 진행하며, 이 루틴의 주소(벡터)는 특별히 할당된 프로그램 메모리 셀에 지정되어야 합니다.

실행 중인 프로그램의 우선 순위 벡터 인터럽트 장치는 대부분의 마이크로 컨트롤러에 제공됩니다. 인터럽트는 외부 또는 내부일 수 있습니다. 후자의 경우 인터럽트 요청 입력에는 외부 출력이 없지만 MK 칩에 직접 위치한 요청 소스에 연결됩니다. 일반적으로 내부 인터럽트는 타이머뿐만 아니라 이 MK에 내장된 다른 장치(직렬 포트 컨트롤러, 아날로그 신호 비교기, 아날로그-디지털 변환기)에서도 제공됩니다.

종종 최신 MK의 내부 인터럽트 중 하나는 우발적인 오류로부터 보호하는 역할을 하는 소위 감시 타이머(Watch Dog)와 연결됩니다. 이 타이머에는 상수가 필요합니다.

주소 공간의 특정 위치에 특정 코드를 작성하여 초기화합니다. MC 프로그램은 정상적인 과정에서 이러한 절차가 자주 수행되는 방식으로 구축됩니다. MK가 "정지"되면 감시 타이머의 초기화가 중지되고 잠시 후 시스템의 정상 작동을 복원하도록 설계된 인터럽트 요청을 제출합니다. 일반적으로 감시 인터럽트에 대한 응답은 동일합니다. MK를 원래 상태로 설정하는 외부 신호로.

인터럽트는 구현된 오토마톤의 상태에 따라 활성화 또는 비활성화하여 제어됩니다. 서로 다른 상태의 동일한 인터럽트를 다르게 처리해야 하는 경우 처리 절차는 메인 프로그램 루프처럼 구축되어 상태 분석을 제공합니다. 차이점은 다음과 같습니다. 그러한 절차는 링에서 닫히지 않습니다. 완료되면 MK는 중단된 위치에서 프로그램을 계속 실행합니다. 인터럽트 처리의 결과로 변경된 상태에서 중단된 작업을 계속하면 잘못된 결과가 발생할 수 있기 때문에 이것은 실패로 가득 차 있습니다. 그들은 프로그램 이동의 중요한 섹션을 실행하는 동안 인터럽트를 비활성화하여 이러한 오류로부터 자신을 보호합니다. 의심 할 여지없이 시스템의 반응 속도가 느려집니다.

시스템에 제공된 MC 입력보다 더 많은 인터럽트 요청 소스가 있는 경우 그룹 요청은 OR 체계에 따라 여러 소스의 출력을 결합하여 하드웨어에서 구현됩니다. 그러한 요청을 수락함으로써. MC는 누가 보냈는지 파악하고 그에 따라 처리해야 할 의무가 있습니다.

장치의 전체 알고리즘은 때때로 일련의 인터럽트 처리 루틴에 의해 구현됩니다. 이 경우 메인 루프는 자신에게 단일 무조건 점프 명령까지 여러 기계 명령으로 퇴보합니다. 많은 MK는 특별히 HALT 또는 IDLE 명령을 제공합니다. 본질적으로 작동을 멈춥니다(때로는 시계 생성기도 꺼집니다). 수신된 인터럽트 요청만이 MK를 이 상태에서 벗어날 수 있습니다. 요청 처리를 완료했습니다. MC는 메인 루프에서 제공되는 정지 명령으로 무조건 전환을 수행하고 다시 "잠들게 됩니다". 이 모드는 정지된 MK가 소비하는 전력이 외부 영향에 대한 반응 중에만 증가하면서 여러 번 감소하기 때문에 매우 경제적입니다.

위의 사항을 고려하여 개발된 팬 모터 제어 알고리즘의 블록도는 그림 8와 같이 두 부분으로 구성된다. 9(메인 루프) 및 그림. XNUMX(타이머의 인터럽트 처리). 서로 다른 이벤트를 처리할 때 수행되는 동일한 작업이 결합된다는 점을 제외하면 둘 다 기본적으로 위에서 설명한 일반적인 블록 다이어그램에 해당합니다. 타이머 인터럽트 핸들러는 PWM 신호와 S 신호를 발생시키며 STOP 상태에서 RUN 상태로 전환되면 인터럽트가 활성화되고 STOP 상태로 복귀하면 비활성화됩니다.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

이제 프로그램에는 명확성을 위해 문자열 값(해당 상태의 이름)이 할당된 상태 변수 ST가 있습니다. 위에서 언급했듯이 프로그램에서 이들은 상태 번호 또는 기호 이름과 같은 숫자입니다. 변수 N0에 할당된 값은 생성된 펄스 PWR 및 S의 반복 주기가 동일하고 1ms라는 가정에 따라 선택됩니다. 그렇지 않다면. 블록 다이어그램을 약간 수정해야 합니다.

우리는 마이크로 컨트롤러에서 장치를 설계합니다.

이제 MK 선택, 출력의 입력 및 출력 신호 분배 및 장치의 전체 회로도 개발을 진행할 수 있습니다. MK의 특정 I / O 포트의 비트가 연결될 외부 회로와 이러한 회로의 신호 논리 수준을 결정한 후 프로그래머는 프로그램 개발을 시작할 수 있습니다.

문학

  1. Franke K. 마이크로컴퓨터 소개: Per. 그와 함께. - M.: Energoatomiedat. 1998.
  2. Kagan BM, Stashin VV 마이크로프로세서 자동화 장치 설계의 기초. - M.: Energoatomiedat. 1987.
  3. Stashin VV, Urusov AV, Mologoitseva OF 단일 칩 마이크로 컨트롤러에서 디지털 장치 설계. - M.: Energoatomiedat. 1990.

저자: M. Gladshtein, 리빈스크

다른 기사 보기 섹션 마이크로 컨트롤러.

읽고 쓰기 유용한 이 기사에 대한 의견.

<< 뒤로

과학 기술의 최신 뉴스, 새로운 전자 제품:

터치 에뮬레이션을 위한 인조 가죽 15.04.2024

거리가 점점 일반화되는 현대 기술 세계에서는 연결과 친밀감을 유지하는 것이 중요합니다. 최근 독일 자를란트 대학(Saarland University) 과학자들이 인공 피부를 개발하면서 가상 상호 작용의 새로운 시대가 열렸습니다. 독일 자를란트 대학 연구진이 촉각 감각을 멀리까지 전달할 수 있는 초박형 필름을 개발했습니다. 이 최첨단 기술은 특히 사랑하는 사람과 멀리 떨어져 있는 사람들에게 가상 커뮤니케이션을 위한 새로운 기회를 제공합니다. 연구원들이 개발한 두께가 50마이크로미터에 불과한 초박형 필름은 직물에 통합되어 제XNUMX의 피부처럼 착용될 수 있습니다. 이 필름은 엄마나 아빠의 촉각 신호를 인식하는 센서이자, 이러한 움직임을 아기에게 전달하는 액추에이터 역할을 합니다. 부모가 직물을 만지면 압력에 반응하여 초박막 필름이 변형되는 센서가 활성화됩니다. 이것 ...>>

펫구구 글로벌 고양이 모래 15.04.2024

애완동물을 돌보는 것은 종종 어려운 일이 될 수 있습니다. 특히 집을 깨끗하게 유지하는 데 있어서는 더욱 그렇습니다. Petgugu Global 스타트업의 새롭고 흥미로운 솔루션이 제시되었습니다. 이 솔루션은 고양이 주인의 삶을 더 쉽게 만들고 집을 완벽하게 깨끗하고 깔끔하게 유지할 수 있도록 도와줍니다. 스타트업 펫구구글로벌(Petgugu Global)이 자동으로 배설물을 씻어내는 독특한 고양이 화장실을 공개해 집안을 깨끗하고 산뜻하게 유지해준다. 이 혁신적인 장치에는 애완동물의 배변 활동을 모니터링하고 사용 후 자동으로 청소하도록 활성화되는 다양한 스마트 센서가 장착되어 있습니다. 이 장치는 하수 시스템에 연결되어 소유자의 개입 없이 효율적인 폐기물 제거를 보장합니다. 또한 변기는 물을 내릴 수 있는 대용량 수납 공간을 갖추고 있어 다묘 가정에 이상적입니다. Petgugu 고양이 모래 그릇은 수용성 모래와 함께 사용하도록 설계되었으며 다양한 추가 기능을 제공합니다. ...>>

배려심 많은 남자의 매력 14.04.2024

여성이 '나쁜 남자'를 더 좋아한다는 고정관념은 오랫동안 널리 퍼져 있었습니다. 그러나 최근 모나쉬 대학의 영국 과학자들이 실시한 연구는 이 문제에 대한 새로운 관점을 제시합니다. 그들은 여성이 남성의 정서적 책임과 다른 사람을 도우려는 의지에 어떻게 반응하는지 살펴보았습니다. 이번 연구 결과는 무엇이 남성을 여성에게 매력적으로 만드는지에 대한 우리의 이해를 변화시킬 수 있습니다. Monash University의 과학자들이 실시한 연구는 여성에 대한 남성의 매력에 대한 새로운 발견으로 이어졌습니다. 실험에서 여성에게는 노숙자를 만났을 때의 반응을 포함하여 다양한 상황에서 자신의 행동에 대한 간략한 이야기와 함께 남성의 사진이 표시되었습니다. 일부 남성은 노숙인을 무시했지만, 다른 남성은 음식을 사주는 등 그를 도왔습니다. 한 연구에 따르면 공감과 친절을 보여주는 남성은 공감과 친절을 보여주는 남성에 비해 여성에게 더 매력적이었습니다. ...>>

아카이브의 무작위 뉴스

일회용 내시경 30.04.2011

소금 한 알 크기의 마이크로 카메라가 의료 기술에 혁명을 일으킬 수 있습니다. 많은 사람들이 위 연구를 위해 내시경의 결장을 삼키는 것이 얼마나 불쾌한지 알고 있습니다. 반면에 각 검사 후에는 오염을 제거해야 하므로 시간이 걸립니다.

베를린의 Fraunhofer 신뢰성 및 마이크로 통합 연구소의 과학자들이 발명한 기술을 통해 우리는 한 번에 두 가지 문제를 해결할 수 있습니다. 그것의 도움으로 카메라는 소형화되고 너무 저렴하여 내시경이 일회용이 될 수 있습니다.

기술의 본질은 이것이다. 마이크로 카메라는 렌즈, 광학 센서 어레이 및 분석기로 구성됩니다. 이제 후자는 광섬유로 센서 요소에 연결되어 내시경이 너무 두꺼운 것으로 판명되었습니다. 그리고 센서, 분석기, 렌즈를 유사한 마이크로일렉트로닉스 방식으로 성장시켜 한 번에 많은 값싼 마이크로회로를 얻을 수 있습니다. 그러나 최근까지 XNUMX개의 부품을 모두 따로 제작하여 조립했습니다.

독일 과학자들은 단일 프로세스에서 렌즈, 센서 및 분석기를 성장시킬 수 있었습니다. 그 후에는 기판 (및 28 개의 장치가 적합)을 조각으로 자르고 얇은 전선을 분석기 출력에 연결하는 것만 남아 있습니다. 내시경이 준비되었습니다. 동시에 62,5 킬로 픽셀의 해상도로 매우 선명한 이미지를 제공합니다.

다른 흥미로운 소식:

▪ 런던 버스는 운전자가 경로를 계획하는 데 도움이 됩니다.

▪ 플래닛 로버용 타이어

▪ 우주에서의 레이저 통신

▪ Samsung eUFS 3.1 512GB 고속 플래시 메모리

▪ 40nm 통합 ReRAM이 있는 Panasonic 컨트롤러

과학 기술 뉴스 피드, 새로운 전자 제품

 

무료 기술 라이브러리의 흥미로운 자료:

▪ 무선전자공학 및 전기공학 사이트의 섹션입니다. 기사 선택

▪ 기사 비닐 봉투. 발명과 생산의 역사

▪ 기사 스펀지란? 자세한 답변

▪ 기사 콧물. 보건 의료

▪ 기사 투명한 젤라틴 덩어리. 간단한 레시피와 팁

▪ 기사 그물에서 과자. 포커스 시크릿

이 기사에 대한 의견을 남겨주세요:

이름 :


이메일(선택사항):


댓글 :





이 페이지의 모든 언어

홈페이지 | 도서관 | 조항 | 사이트 맵 | 사이트 리뷰

www.diagram.com.ua

www.diagram.com.ua
2000-2024