ECU(electronic control unit)

ECU
ECU(electronic control unit)는 센서로부터 입력되는 신호를 변환하는 입력 인터페이스, 정해진 순서에 따라 입력 데이터의 산술 연산 또는 논리 연산을 행하는 컴퓨터부(마이크로 컴퓨터)와 그 결과를 액추에이터 작동 신호로 변환하는 출력 인터페이스로 구성된다.

[ECU의 구성]

⑴ 입력 인터페이스
센서로부터 출력되는 신호(ECU에 입력되는 신호)는 센서의 종류에 따라 다양한 형태가 있다. 입력 인터페이스는 그 출력 신호를 컴퓨터가 취급할 수 있는 값으로 변환하는 회로이다.

①A/D 컨버터(아날로그 디지털 변환기)
컴퓨터는 디지털 값밖에 취급할 수 없기 때문에 아날로그 값으로 출력하는 센서의 신호를 A/D 컨버터에 의해서 디지털 값으로 변환할 필요가 있다.
예를 들면, 에어 플로 미터로부터 입력되는 공기 유량 신호일 경우에는 고분해 기능 및 고정도(高精度)가 요구되기 때문에 11비트 정밀도의 축차 비교형 A/D 컨버터 등이 사용된다.
이것은 에어 플로 미터의 아날로그 출력의 최고 전압값을 211까지 양자화하고, 4ms마다 샘플링하여 2진 코드로 출력한다.

②디지털 입력 버퍼
컴퓨터는 디지털 값으로 사용하더라도 센서로부터 출력되는 디지털 신호를 그대로 입력할 수 없다.
자동차에서 사용되는 컴퓨터는 ECU의 내부에서 만들어지는 안정된 +5V 전원으로 작동시키기 때문에 그림의 ⓑ∼ⓔ와 같은 여러 가지 형태의 입력 신호를 컴퓨터가 처리할 수 있도록 정형(整形)해 줄 필요가 있다.
ⓑ는 컴퓨터의 전원 전압의 범위를 넘는 것, ⓒ는 전압이 플러스 마이너스로 흔들리는 것, ⓓ는 기계식의 전기 접점의 채터링과 노이즈에 의해 불필요한 전압이 발생하는 것, ⓔ는 높은 서지 전압을 포함하는 신호이다.

⑵ 출력 인터페이스
컴퓨터에서 출력 신호를 증폭하여 액추에이터를 작동시키는 것이다. 컴퓨터의 출력은 미소 전류여서 큰 일을 하는 액추에이터를 직접 구동할 수 없다.
출력 인터페이스는 컴퓨터의 미소 신호를 파워 트랜지스터로 전력을 증폭하여 액추에이터에 공급하는 회로이다. 액추에이터는 솔레노이드, 모터, 릴레이 및 표시 장치(램프, 형광 표시관, LCD 등) 등이 있다.

⑶ 컴퓨터
컴퓨터는 ECU의 심장부이다.

마이크로 컴퓨터
컴퓨터란 CPU(중앙정보처리장치 : Central Processing Unit), 기억장치, 입력 포트, 출력 포트의 4가지로 구성되어 사람의 손을 거치지 않고 산술 연산, 논리 연산을 하는 데이터 처리 장치라고 정의된다.
마이크로 컴퓨터(마이크로 컴퓨터 또는 마이크로 프로세서)의 정확한 정의는 없지만 통상 한 개 내지 여러개의 LSI 칩에 상술한 기능을 정리하여 간단하게 하는 것을 말하고 있다.

⑴ 컴퓨터의 구성
컴퓨터의 구성을 그림에 나타낸다. CPU는 컴퓨터의 중심으로 미리 메모리 장치에 기억되어 있는 프로그램(작업 순서를 일정한 순서에 따라 컴퓨터 언어로 기입된 것)의 내용을 실행하는 것이다.

[컴퓨터의 구성]

즉 프로그램의 순서에 따라 메모리 장치에서 실행 명령을 불러내어 디코드(CPU 내부에서의 처리에 필요한 제어 신호로 변환한다)하고 오퍼랜드(명령의 실행이 대상이 되는 데이터)를 입력 포트나 메모리로부터 읽어내는 것으로서 CPU는 그들 데이터의 산술 연산과 논리 연산을 하여 그 결과를 메모리 장치에 저장시키거나 출력 포트를 통해 출력하여 액추에이터 등을 작동시키기도 한다.
입출력 포트는 CPU의 지령에 의해 특정되는 입력 장치(센서)로부터 데이터를 거두어 들이거나 특정되는 출력 장치(액추에이터)에 데이터를 출력하는 인터페이스의 역할을 가진다. CPU, 메모리, 입출력 포트는 어드레스 버스, 데이터 버스, 제어 신호선에 의해 연결되어 있으므로 데이터의 주고 받기가 빈번하게 이루어진다.
메모리상의 모든 데이터 저장 장소는 번지가 설정되어 있고, CPU는 이 번지를 호출함으로서 그 데이터를 입수할 수 있다. 또한 재차 번지를 지정하므로써 연산 처리한 결과의 데이터를 그 장소에 저장해 둘 수 있다. 입력 포트 및 출력 포트(쌍방 모두 I/O 포트라고 부른다)도 일종의 메모리 장치로서 다루기 때문에 번지(실제는 포트 번호로 다룬다)를 가지고 있다.
CPU로부터 메모리 및 I/O 포트로는 어드레스 버스(번지명을 전송하는 공통 신호선)를 통해 필요로 하는 번지를 호출하여 해당하는 메모리 또는 I/O 포트는 데이터 버스(데이터를 전송하는 공통 신호선으로 쌍방향 통신)에 데이터를 실어 보낸다.
이때, CPU로부터 동시에 제어 신호가 보내져 오고 있으며, 제어 신호가 “입력 지령”일 때는 메모리 및 입력 포트는 자기의 데이터를 CPU로 출력하고 역으로 “출력 지령”일 때는 메모리는 CPU로부터의 데이터를 기입하고 출력 포트는 출력 변환 회로로 데이터를 보낸다.

⑵ 마이크로 컴퓨터
컴퓨터가 대형화되면 32비트, 50비트 더 나아가 그 이상의 데이터를 일시에 처리하지만, 자동차에 사용되는 것은 현재는 8비트가 주류이다.
8비트 컴퓨터일 경우 1개의 명령을 표현하는데, 1번지 즉 1바이트로는 끝나지 않는 것은 2번지, 3번지(2바이트, 3바이트)를 사용해서 실행한다. 이때 1개의 명령어를 실행하는데 1바이트 명령에 비해 몇배의 시간도 걸리고, 1개의 명령 때문에 메모리 영역을 여분으로 취하게 된다.
자동차의 제어 시스템이 보다 고도화되고 복잡함과 동시에 방대한 데이터량의 처리가 필요하게 될 경우에는 16비트 또는 32비트로 고속·대량 데이터 처리가 필요하게 된다.
CPU(중앙정보처리장치)의 내부 구성 및 역할은 뒤에서 설명하겠지만 CPU는 레지스터(연산 처리를 하기 위한 일시적인 메모리), 연산부(사칙 연산·논리 연산을 행한다), 및 제어부(연산 처리에 필요한 데이터 전송의 타이밍 등의 순서를 제어한다)로 이루어진다.
이 부분을 LSI화해서 마이크로칩으로 한 것을 “마이크로 컴퓨터”(또는 마이크로 프로세서)라고 부르고 있다. 또한 메모리나 I/O 포트의 부분도 일체로 LSI화해서 하나의 마이크로칩 위에 구성한 마이크로 컴퓨터는 “싱글 칩 마이크로 컴퓨터”라고 불리우며, 다음과 같은 특징을 갖기 때문에 자동차용으로는 최적이다.

①모든 기능이 수 ㎜ 각의 칩에 들어가 버리기 때문에 소형·스페이스 절약화에 유리
②메모리와 I/O 포트를 연결하는 버스 라인 등이 1개의 실린콘 칩 상에 일체로 배치되기 때문에 외부로부터 전기 노이즈에 따라 컴퓨터가 오동작의 우려와 주변 회로에 노이즈 방출이 없다.

⑶ CPU의 작동
그림은 CPU의 구성도를 나타낸 것으로 앞으로 설명한 것처럼 레지스터부, 연산부, 제어부로 구성된다. 다음은 8비트 마이크로 컴퓨터를 예로 들어 설명한 것이다.

[8비트 CPU의 내부]

①레지스터부
레지스터는 데이터를 “등록”한다는 의미로서 일부 기능을 제외하고 연산을 위해 메모리와 I/O 포트로부터 읽는 데이터나, 연산 도중 결과를 일시적으로 메모리하여 두는 기능을 가지며, 다음과 같은 레지스터가 있다.

㉮범용 워킹 레지스터
B, C, D, E, H, L이 있으며 각각 8비트로 구성된다. 실행 프로그램의 지시에 따라 데이터의 이동, 일시 보관이나 연산 때에 사용된다. HL 레지스터는 짝이 되어 번지 데이터의 등록에 사용된다.

㉯템퍼러리 레지스터
W, Z가 있으며, CPU가 명령을 처리하는 과정에서 데이터를 일시적으로 보유해 두는 레지스터로 프로그래머는 직접 사용할 수 없다.

㉰프로그램 카운터
CPU가 프로그램을 실행하는 경우, 프로그램 메모리의 번지를 순번으로 지정하여 그 지정에 따라 순서대로 실행할 필요가 있다. 이 번지 지정을 실행하는 것이 프로그램 카운터이다. 프로그램 카운터는 실행해야 할 명령이 있는 번지를 지정하고, 그 번지에 저장되어 있는 데이터가 명령 레지스터로 전송되면 그것이 1바이트 명령이라면 +1번지, 2바이트 명령이라면 +2번지, 3바이트 명령이라면 +3번지, 점프 명령의 경우에는 점프해야 할 번지에 설정되어 대기한다. 프로그램 카운터는 16비트로 구성된다 website here.

㉱스택 포인터
프로그램 실행중에 현재 처리중인 데이터를 메모리 내에 미리 설정하여 둔 영역(스택 영역, 데이터를 여러 겹으로 쌓아둔다는 뜻)으로 전송하기도 하고, 거기에서 다시 데이터를 꺼내는 조작이 이루어진다. 서브루틴의 인터럽트와 점프 명령이 있었을 때 현재 처리 중인 데이터와 번지를 일시 피난시키는 것이다. 스택 포인터는 스택 영역 내의 메모리 번지를 지정하기 위한 레지스터로서 16비트로 구성된다.

②연산부
연산부는 다음에 나타내는 ALU(산술 논리 유닛 : arithmetic logic unit), 어큐뮬레이터, T 레지스터(템퍼러리 레지스터) 및 플러그에 의해 구성된다.

㉮ALU
산술 연산(가산·감산), 논리 연산(논리적·논리합), 비교 등을 실행한다. ALU 안에는 AND 회로, OR 회로, NOT 회로, 가산 회로 등이 각각 8비트 분만큼 내장되어 있으며 제어부에서의 지령에 따라 각종 연산이 이루어진다.

㉯어큐뮬레이터와 T 레지스터
쌍방 모두 8비트로 구성되어 ALU에 접속되며 ALU가 연산하는 데이터를 일시적으로 기억하는 메모리이다. 예를 들면 명령 “ADD B”(어큐뮬레이터와 B 레지스터의 내용을 가산하고, 결과를 어큐뮬레이터에 저장시킨다)는 다음과 같이 실시된다.
㉠B 레지스터의 내용이 버스를 통해서 T 레지스터(템퍼러리 레지스터)로 옮겨지며, 어큐뮬레이터의 내용이 어큐뮬레이터 래치로 옮겨진다.
㉡T 레지스터와 어큐뮬레이터 래치의 내용이 ALU에서 더해지고 버스를 통해서 그 결과가 어큐뮬레이터로 저장된다. 어큐뮬레이터에 저장된 데이터는 CPU 밖으로 전송할 수 있다.

㉰플러그 ALU의 연산 결과를 감시하고 정해진 조건이 성립되었는지 아닌지를 제어부에 알려주는 것으로, 제어부는 그에 따라 다음의 처리를 어떻게 할 것인가를 결정한다. 플러그의 종류는 C, S, Z, P, CY1이 있다.

예를 들면 Z 플러그는 연산 결과 후 레지스터의 내용이 제로가 된 것을 나타낸다. 이 플러그를 이용하여 명령이 지정하는 번지로 뛰어 넘어 그 번지의 명령을 실행하는 것도 가능하다(점프 명령).

③제어부
제어부는 CPU 내부의 레지스터와 ALU에 대해 데이터 전송을 지령하거나 ALU의 작동 제어, CPU 외부 회로의 제어 및 외부에서의 컨트롤 신호를 받아 그에 필요한 CPU 내부의 제어를 실행하기도 한다. 주요 제어 기능은 메모리와 I/O 포트의 데이터 입·출력이다.
㉠레지스터간의 데이터 전송
㉡ALU의 연산 회로 대체
㉢명령의 실행 타이밍
㉣외부로부터의 지령에 의거하는 CPU의 동작 타이밍

또한 제어부에서는 다음과 같은 처리와 실행이 행하여진다.

㉮명령 레지스터 명령의 패치(프로그램에 쓰여진 명령을 메모리로부터 읽는 동작)시에 CPU 중에서 이 명령을 일시 보존해 두는 장소로서 1바이트의 명령이 들어간다. 이 레지스터의 명령어를 집어넣음으로써 CPU의 처리 작동이 시작된다.
㉯명령 디코더 명령 레지스터에 있는 명령 코드를 해독하고 그 명령의 실행을 행하는 회로부(내부 레지스터, 연산부 등)로 실행 지시를 보낸다.

⑷ 메모리
컴퓨터가 작동할 때에 필요로 하는 명령과 데이터를 기억해 두는 장치로서 이 메모리가 없으면 컴퓨터는 전혀 작동할 수 없으며, 메모리 장치에는 RAM과 ROM이 있다.
RAM(random access memory)은 데이터의 개정을 자유롭게 할 수 있지만 전원을 차단하면 기억되고 있었던 데이터는 지워지게 된다. 데이터의 일시 보유와 시시각각으로 변화하는 리얼 타임 데이터값의 기억에 사용된다.
ROM(read only memory)은 한번 기입하면 그대로 기억을 계속해서 유지하여 전원을 차단하더라도 데이터는 지워지지 않는다. 전혀 변경을 필요로 하지 않는 고정 데이터의 기억에 사용되는 것으로 컴퓨터의 작동 프로그램과 계산 결과의 참조값을 기입해 두는데 사용된다.

⑸ 마이크로 컴퓨터의 사용 예
싱글 칩 마이크로 컴퓨터의 사용 예를 그림에 의해 설명한다. 싱글 칩 마이크로 컴퓨터는 앞에서 설명한 것처럼 CPU, 메모리 장치의 RAM 및 ROM, 입력 포트와 출력 포트로 이루어진다.

[마이크로 컴퓨터 사용 회로 예]

입력 포트에는 아날로그 값으로 출력하는 센서의 신호는 A/D 컨버터를 경유해서 접속되고 또한, 디지털 값으로 출력하는 센서의 신호는 디지털 입력 버퍼를 경유하여 접속된다. 출력 포트에는 출력 버퍼가 접속된다. CPU의 연산 결과인 디지털 값은 그대로 또는 아날로그 값으로 변환되어 액추에이터가 필요로 하는 전력으로까지 증폭되어 액추에이터를 작동시킨다.
클러(clock) 단자에는 수정 발진기가 접속되어 CPU의 가장 기본이 되는 클록 펄스가 만들어진다. 발진기의 발진 주파수는 컴퓨터의 제어 대상에 따라서 4∼16㎒ 정도의 주파수가 사용된다. 통상, 자동차의 전원은 정격 12V인데 주행 상태에 따라 이 전압값은 크게 변동하기 때문에 마이크로 컴퓨터에 필요한 안정된 5V 전원을 얻기 위해 정전압 전원이 설치되어 있다.
즉 이그니션 스위치를 ON하고 있을 때 전원 단자 VCC에 전압이 가해지고 전원 단자 VO에는 이그니션 스위치가 OFF일 때에도 전압이 가해지고 있다. 그러므로 이그니션 스위치가 OFF로 되어 있어도 마이크로 컴퓨터 내부의 일부 RAM의 메모리가 소멸하지 않게끔 백업하는 것이다.
전원 단자로는 VO만의 구조인 마이크로 컴퓨터도 있으며 이 경우에는 이그니션 스위치의 ON일 때와 OFF일 때에 필요로 하는 전류값을 마이크로 컴퓨터 내부에서 교환하는 기구를 가진다.

①INT(initializing) 단자
프로그램의 이니셜라이즈 또는 리셋을 하는 단자이다. 정전압 전원 장치에 일체로 구성된 INT 회로에서 리셋 펄스가 발생된다. 펄스는 이그니션 스위치를 투입하고 5V 전압이 VCC 단자에 걸린 직후에 1회 출력되어 프로그램 실행을 이니셜라이즈 루틴에서 스타트시킨다.

②WDT(watch dog timer)
마이크로 컴퓨터의 출력 포트에 주기적으로 출력되는 펄스수를 카운트하는 것으로 프로그램의 실행이 바르게 이루어지고 있다는 것을 마이크로 컴퓨터가 어느 일정 시간 간격으로 펄스를 출력해서 알려준다. 그러므로 WDT는 그 펄스를 카운트하여 마이크로 컴퓨터를 감시하는 것이다.
만약 규정 시간내에 바람직한 수만큼의 펄스가 계수되지 않을 경우 프로그램의 과다함 등을 일으켜 잘못된 처리가 이루어지고 있다는 것으로서, WDT는 INTI 회로에 리셋 펄스 발생을 요청한다.

③WI(write inhibit)
전원 전압이 이상 저하시에 마이크로 컴퓨터의 RAM의 개정이 이루어지지 않도록 기입을 금지하는 것으로 엔진의 크랭킹시 등 배터리 전압이 순간적으로 저하한 경우에는 잘못된 데이터가 기입되는 것을 방지하는 것이다.

비글세상에서…

2 thoughts on “ECU(electronic control unit)”

  1. De andere dag , terwijl ik aan het werk was, mijn zus neef stal mijn iPhone en getest om te zien of het kan overleven een dertig klapvoet, gewoon zo dat ze een youtube sensatie kan zijn. Mijn Apple iPad is nu gebroken en ze heeft 83 views. Ik weet dat dit totaal off topic, maar ik moest delen met iemand!

    ReplyReply
  2. I have noticed you don’t monetize your page,
    don’t waste your traffic, you can earn extra cash
    every month because you’ve got hi quality content.
    If you want to know how to make extra bucks, search for: Mrdalekjd methods for $$$

    ReplyReply

Leave a Reply

Your email address will not be published. Required fields are marked *