Nothing Special   »   [go: up one dir, main page]

KR0168308B1 - 데이터 로거 기능을 갖는 전자제어장치 테스트용 에뮬레이터와 그 구현 및 제어 방법 - Google Patents

데이터 로거 기능을 갖는 전자제어장치 테스트용 에뮬레이터와 그 구현 및 제어 방법 Download PDF

Info

Publication number
KR0168308B1
KR0168308B1 KR1019960016685A KR19960016685A KR0168308B1 KR 0168308 B1 KR0168308 B1 KR 0168308B1 KR 1019960016685 A KR1019960016685 A KR 1019960016685A KR 19960016685 A KR19960016685 A KR 19960016685A KR 0168308 B1 KR0168308 B1 KR 0168308B1
Authority
KR
South Korea
Prior art keywords
data
emulator
ram
computer
ecu
Prior art date
Application number
KR1019960016685A
Other languages
English (en)
Other versions
KR970075884A (ko
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 KR1019960016685A priority Critical patent/KR0168308B1/ko
Publication of KR970075884A publication Critical patent/KR970075884A/ko
Application granted granted Critical
Publication of KR0168308B1 publication Critical patent/KR0168308B1/ko

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/005Testing of electric installations on transport means
    • G01R31/006Testing of electric installations on transport means on road vehicles, e.g. automobiles or trucks

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Combustion & Propulsion (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 차량의 실제 테스트 시 전자제어장치에서 출력되는 값을 검출하여 전자제어장치가 정상적인 동작을 하는지 판별하며, 특히 2개의 컨트롤러를 가지는 차량에 있어서 이를 동시에 테스트할 수 있도록 한 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터와 그 구현 및 제어 방법에 관한 것으로, 기존에 사용되던 전자제어장치 테스트 장비에 비해 실차 테스트를 위한 모든 요건을 하나의 보드에 직접시켜 구현함으로써, 개발에 필요한 비용의 절감 및 장비 셋-업 등 테스트 시간을 단축시킬 수 있고, 프로그래머의 필요에 따라 변수의 내용을 모니터링할 수 있으므로 디버깅 작업에 소요되턴 시간을 단축시키는 효과가 있으며, 또한 하나의 장비임과 동시에 소형이므로 이동이 편리하고 차량에도 쉽게 장착할 수 있어 실외에서의 실험이 간편해짐과 더불어 부대 장비가 필요치 않은 이점이 있다.

Description

데이터 로거 기능을 갖는 전자제어장치 테스트용 에뮬레이터와 그 구현 및 제어 방법
제1도는 본 발명에 의한 에뮬레이터의 개략적인 블록도.
제2도는 제1도의 각 블록에 대한 상세 회로도.
제3도는 본 발명에 의해 구현된 에뮬레이터 동작 시 초기화 과정을 설명하는 순서도.
제4도는 본 발명에 의해 구현된 에뮬레이터 동작 시 브레이크 작동에 따른 A/D 변환 모드를 설명하는 순서도.
제5도는 본 발명에 의해 구현된 에뮬레이터 동작 시 통신 요구 상황에 따른 통신 모드를 설명하는 순서도.
제6도는 본 발명에 의해 구현된 에뮬레이터의 통신모드 동작 시 다운-로드 과정을 설명하는 순서도.
제7a도는 본 발명에 의해 구현된 에뮬레이터의 통신모드 동작 시 제1,2 램 데이터 업-로드 과정을 설명하는 순서도.
제7b도는 본 발명에 의해 구현된 에뮬레이터의 통신모드 동작 시 A/D 데이터용 램 데이터 업-로드 과정을 설명하는 순서도이다.
* 도면의 주요부분에 대한 부호의 설명
1 : 제1인터페이스부 1-1 : 제1컨넥터
1-2 : 제2컨넥터 2 : 제1버퍼부
2-1 : 제1어드레스 버퍼 2-2 : 제1데이터 버퍼
2-3 : 제2어드레스 버퍼 2-4 : 제2데이터 버퍼
3 : 메모리부 3-1 : 제1램
3-2 : 제2램 3-3 : A/D 데이터용 램
4 : 제2버퍼부 4-1 : 제1어드레스 버퍼
4-2 : 제1데이터 버퍼 4-3 : 제2어드레스 버퍼
4-4 : 제2데이터 버퍼 5 : 중앙 제어부
5-1 : 중앙처리장치 5-2 : 롬
5-3 : 어드레스 디코더 6 : 먹스
7 : 제2인터페이스부
본 발명은 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터와 그 구현 및 제어 방법에 관한 것으로, 차량의 실제 테스트 시 전자제어장치에서 출력되는 값을 검출하여 전자제어장치가 정상적인 동작을 하는지 판별하며, 특히 2개의 컨트롤러를 가지는 차량에 있어서 이를 동시에 테스트할 수 있도록 한 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 및 그 구현 방법에 관한 것이다.
일반적으로 차량을 생산하면 이 차량을 시판하기 전 테스트를 거치게 되는데, 현재 실차 테스트는 마이크로 프로세서 개발 시스템(Microprocessor Development System; 이하 MDS라 칭한다) 장비와, 롬 에뮬레이터와, A/D 컨버터 등의 주요 장비와, 이에 따른 부대장비를 차체에 직접 실장하고 이러한 장비를 조작 및 모니터링 하는 테스트 요원이 탑승하여 실차 테스트를 행하고 있다.
그러나 상기와 같은 방식으로 테스트를 하게 되면, 승용차의 경우 테스트 장비로 인해 탑승공간이 부족한 불편함이 있고, 또한 상기 사용되는 장비가 모두 고가의 장비라서 실제 차체에 실장하여 테스트하기는 불가능하다.
따라서 거의 모든 실험이 실험실에서 수행되고 있으며, 이에 따라 실차 테스트 시의 환경을 맞추어 주어야 하므로 이에 대한 노력과 시간이 다소 많이 요구되고 있는 실정이다.
또한 안티 브레이크 시스템(Anti Break System; 이하 ABS라 칭한다)과 같은 2개의 중앙처리장치를 사용하는 컨트롤러의 경우 실제 2개의 중앙처리 장치의 프로그램을 동시적으로 실차 디버깅(Debugging)하기란 불가능하였다.
한편, 어떠한 시스템을 에뮬레이션 하게되면, 상기 에뮬레이션에서 출력되는 데이터를 기록하는 장비가 필요하게 되는데, 기존에는 로거기(Logger)를 이용하여 기록하였다.
하지만 상기 로거기 또한 에뮬레이터와는 별도의 장비로써, 테스트 시 별도 설치를 해야만 하는 불편함이 있다.
따라서 본 발명은 상기에 기술한 바와 같은 종래 문제점을 감안하여, 기존의 MDS 장비와, 롬 에뮬레이터와, A/D 컨버터 및 로거기 등의 테스트 장비를 통합하여 하나의 에뮬레이터로 구현하고;
차량 테스트에 더 많은 유연성을 부여하여 실차 테스트와 흡사한 테스트를 가능케 하며;
또한 컴퓨터와의 통신은 38400BPS를 사용하여 기존보다 향상된 속도로 프로그램다운-로드를 할 수 있도록(64KByte의 프로그램도 약 20초 이내에 로딩할 수 있음)하는 에뮬레이터를 제공하려는데 목적이 있는 바, 이를 가능케 하기 위해;
에뮬레이터의 기본 기능에 다수개의 램을 사용해 프로그래머에게 프로그램 디버깅을 위한 데이터 저장장소를 제공하며, 또한 전자제어장치로부터 시작(start) 시그널과 동기 시그널을 입력받아 차량에 부착된 다수개의 센서로부터 입력되는 신호를 A/D 변환하여 램에 저장하고, 이어 사용자는 상기 램에 저장된 데이터를 컴퓨터 상에서 디스플레이하도록 함으로써 로거기 역할을 하도록 하며;
A/D 컨버터를 사용하여 차량에 부착된 다수개의 센서로부터 입력되는 신호를 저장할 수 있도록 함으로써 실차 테스트와 흡사하도록 하고;
이와 더불어 2개의 중앙처리장치를 사용하는 컨트롤러의 테스트를 위해 2개의 램을 독립적으로 사용할 수 있도록 하며;
메인 컴퓨터와의 인터페이스를 통해 차량의 작동에 따라 각 모드를 분류하여, 모드별로 차량을 테스트하도록 함으로써, 하나의 에뮬레이터로 동시 테스트를 가능케 하는 에뮬레이터를 구현하는 것이다.
즉, 테스트 대상인 안티 브레이크 시스템(ABS) 내 전자제어장치의 각 롬(Master-롬, Slave-롬)과 접속되는 부분인 제1인터페이스부와;
상기 제1인터페이스부를 통해 컴퓨터 및 전자제어장치 각각과 에뮬레이터 내의 각 램간의 어드레스 및 데이터 전송 시 충돌을 방지키 위한 제1버퍼부와; 전자제어장치 테스트 결과 발생하는 결과 값을 전송 받아 저장하는 각 램을 포함하는 메모리부와; 상기 각 램과 중앙제어부 내의 중앙처리장치 사이의 어드레스 및 데이터 전송 시 충돌을 방지키 위한 제2버퍼부와; 상기 각 램 중 제1,2 램을 선택적으로 액티브시키는 먹스와; 에뮬레이터의 각 부 제어 및 컴퓨터와의 통신을 행하는 중앙 제어부 및; 상기 중앙 제어부와 컴퓨터 사이의 직렬통신을 제공하는 제2인터페이스부로 구성한 것이다.
이하 본 발명의 일 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
본 발명에서 구현한 로거 기능을 갖는 에뮬레이터의 개략적인 구성은 제1도에 도시된 바와 같이, 테스트 대상인 ABS 내 전자제어장치의 각 롬(Master-롬, Slave-롬)과 접속되는 부분인 제1인터페이스부(1)와; 상기 제1인터페이스부(1)를 통해 컴퓨터 및 전자제어장치 각각과 에뮬레이터 내의 각 램(3-1,3-2) 간의 어드레스 및 데이터 전송 시 충돌을 방지키 위한 제1버퍼부(2)와; 전자제어장치 테스트 결과 발생하는 결과 값을 전송 받아 저장하는 각 램(3-1,3-2,3-3)을 포함하는 메모리부(3)와; 상기 각 램(3-1,3-2,3-3)과 중앙 제어부(5) 내의 중앙처리장치(5-1) 사이의 어드레스 및 데이터 전송 시 충돌을 방지키 위한 제2버퍼부(4)와; 상기 각 램(3-1,3-2,3-3) 중 제1,2 램(3-1,3-2)을 선택적으로 액티브시키는 먹스(6)와; 에뮬레이터의 각 부 제어 및 컴퓨터와의 통신을 행하는 중앙 제어부(5) 및; 상기 중앙 제어부(5)와 컴퓨터 사이의 직렬 통신을 제공하는 제2인터페이스부(7)로 구성되며;
이때 도면에 표시된선은 어드레스 버스를 나타내는 선이고,선은 데이터 버스를 나타내는 선이고,선은 RS 232 케이블을 나타내는 선이고,은 센서값 입력을 나타내는 선이고, 마지막으로은 제어라인을 나타내는 선이다.
제2도는 상기 각 구성을 상세하게 도시한 회로도로, 상기 제1인터페이스부(1)는 ABS 내에 사용되는 실제 EP-롬과 간단한 접속을 행하기 위해 EP-롬과 같은 형상의 소켓인 제1컨넥터(1-1)와, 제2컨넥터(1-2)로 이루어지는 바, 본 발명에서는 현재 제작되는 전자제어장치의 구성이 512Kbyte의 EP-롬을 사용하는 것이 대부분이기 때문에, 상기 각 컨넥터(1-1,1-2)를 27C512 칩을 사용하여 핀 구성을 상호 맞추었으며, 이러한 추세는 향우 전자제어장치에서 사용하는 롬이 바꿔다 하더라도 그와 동일하게 컨넥터를 교체하면 되므로 업-버젼 가능하다.
상기 전자제어장치의 각 롬과 각 램(3-1,3-2) 간의 데이터 충돌을 방지키 위한 제1버퍼부(2)는 전자제어장치의 마스터-롬과 슬레이브-롬에 입/출력되는 어드레스를 각각 일시 저장하는 제1,2어드레스 버퍼(2-1,2-3)와, 데이터를 일시 저장하는 제1,2데이터 버퍼(2-2,2-4)로 이루어지며, 본 발명에서는 어드레스 버퍼용으로 8핀용 LS373칩을 사용하고, 데이터 버퍼용으로는 8핀용 LS245칩을 사용하며, 어드레스 버퍼용 칩은 실제 회로 구현 시에는 16핀이 필요하기 때문에 제2도의 회로도에 도시된 바와 같이 2개의 칩을 각각 일조로 이루어 실장한다.
상기 메모리부(3)는 전자제어장치의 마스터-롬 및 슬레이브-롬 테스트 결과 발생하는 결과 값을 저장하며, 또한 컴퓨터로부터 다운-로딩되는 프로그램을 저장하는 제1램(3-1)과, 제2램(3-2) 및 차량에 부착된 다수개의 센서로부터 입력되는 값을 저장하는 A/D 데이터용 램(3-3)으로 이루어지며, 본 발명에서는 상기 제1,2램(3-1,3-2)은 1M 용량의 램을 사용하고, A/D 데이터용 램(3-3)으로는 256KByte 용량의 62C256칩을 사용하며, 이때 상기 A/D 데이터용 램(3-3)에 저장되는 데이터는 디지털 값으로 각각의 센서로부터 입력되는 아날로그 값을 중앙처리장치(5-1)를 통해 디지털 값으로 변화시킨 값이다.
상기 중앙처리장치(5-1)와 각 램(3-1,3-2,3-3) 간의 데이터 충돌을 방지키 위한 제2버퍼부(4)는 중앙처리장치(5-1)로부터 입/출력되는 어드레스를 각각 일시 저장하는 제1,2어드레스 버퍼(4-1,4-3)와, 데이터를 일시 저장하는 제1,2데이터 버퍼(4-2,4-4)로 이루어지며, 본 발명에서 이때 사용되는 칩은 상기 제1버퍼부(2)와 동일하게 어드레스 버퍼용으로 8핀용 LS373칩을 사용하고, 데이터 버퍼용으로는 8핀용 LS245칩을 사용하며, 어드레스 버퍼용 칩은 실제 회로구현 시에는 16핀이 필요하기 때문에 제2도의 회로도에 도시된 바와 같이 2개의 칩을 각각 일조로 이루어 실장한다.
상기 중앙 제어부(5)는 에뮬레이터 시스템 전체를 제어하며, 차량의 각 센서들로부터 입력되는 아날로그 값을 디지털로 변화시켜 A/D 데이터용 램(3-3)에 저장토록 하는 중앙처리장치(5-1)와, 상기 중앙처리장치(5-1)의 실행을 위해 필요로 되는 프로그램이 저장된 롬(5-2) 및 중앙처리장치(5-1)를 통해 제2인터페이스부(7)로 입력되는 어드레스를 디코딩하여 각 어드레스 버퍼(4-1,4-4)를 제어하는 어드레스 디코더(5-3)로 이루어지며, 참고사항으로 본 발명에서 사용하는 중앙처리장치(5-1)는 TMS370C150 칩을 사용하는 바, 이의 클럭 주파수는 20MHz이고, 프로그램 용량은 4KByte 정도이다.
롬(5-2)으로는 256KByte용량의 27C256 EP-롬 칩을 사용하며, 어드레스 디코더(5-3)로는 LS138 칩을 사용한다.
상기 먹스(6)는 메모리부(3)의 제1, 제2램(3-1,3-2)을 선택적으로 액티브시키는 바, 일 출력 단자는 각 램(3-1,3-2)의 칩셀렉터 단자(CS)를 액티브 시키는데 사용하고, 나머지 출력 단자는 각 램(3-1,3-2)의 기능을 다운-로드 받을 경우(WE)와 업-로드시킬 경우(OE)를 각각 액티브시키는데 사용한다.
이때 상기 본 발명에서 사용하는 먹스(6)는 LS257칩을 사용한다.
상기 제2인터페이스부(7)는 에뮬레이터와 컴퓨터간의 직렬 통신을 제공하는 RS-232C 컨넥터와 연결된 직렬통신 제어용 칩으로 본 발명에서는 MAX233칩을 사용한다.
아울러 상기 중앙처리장치(5-1)의 단자 중 차량에 부착된 각 센서로부터 입력되는 아날로그 신호를 입력받는 단자는 각 8개의 아날로그 값을 입력받을 수 있는 BNC 케이블(a)을 차량과 중앙처리장치(5-1)에 연결하여 입력받는바, 도면에는 AN0∼AN7 단자로 표기되어 있으며, 이중 사용하지 않는 포트는 1KOhm 정도의 저항으로 풀-다운 시켜주는 것이 시스템의 안정화를 위해 바람직하다.
이와 같이 연결되는 본 발명의 메모리 칩 연결을 다시 한번 요약하면, 상기 제1,2램(3-1,3-2)은 전자제어장치와 에뮬레이터의 중앙처리장치(5-1)에서 공유하여 사용하므로 양쪽의 메모리 컨트롤 시그널과, 어드레스 및 데이터 버스가 모두 연결되어 있으며, 이들의 데이터 충돌을 방지하기 위해 상기에서도 언급한 바와 같이 모든 버스에는 버퍼가 연결되어 있고, 상기 버퍼의 온(on)/오프(off)를 중앙처리장치(5-1)에서 제어토록 한다.
또한 상기 제어와 동시에 먹스(6)로 하여금 각 램(3-1,3-2)의 액티브를 제어케 하여 각각 전자제어장치와 에뮬레이터로부터의 입력을 각 램(3-1,3-2)에 저장토록 한다.
이러한 상기 먹스(6)의 제어 역시 중앙처리장치(5-1)에서 행한다.
또한 상기 메모리부(3)의 각 램(3-1,3-2)과 A/D 데이터용 램(3-3)은 상호 같은 부분의 어드레스를 사용하기 때문에 이들간의 충돌을 피하도록 하여야 하는 바, 이는 A/D 데이터용 램(3-3)의 칩셀렉터 단자(CS)를 중앙처리장치(5-1)에서 제어토록 함으로써, 칩셀렉터 단자(CS)를 난-액티브 시키면 A/D 데이터용 램(3-3)이 작동하지 않게 되어 어드레스 충돌을 방지한다.
마지막으로 중앙 제어부(5) 내 롬(5-2)은 서로 할당된 메모리 중 중복되는 부분이 없기 때문에 직접 중앙처리장치(5-1)에서 롬(5-2)으로 버스를 연결하여 사용한다.
즉, 상기 설명한 3개의 램(3-1,3-2,3-3)은 어드레스를 공유하며, 롬(5-2)과 중앙처리장치 내의 램(도면에는 도시하지 않음)은 어드레스디코더(5-3)에 의해 직접 어드레스 디코딩되는 것이다.
상기와 같이 구성된 본 발명의 로거 기능을 갖는 에뮬레이터의 하드웨어적인 동작 과정을 평상시 동작과, 차량의 브레이크를 작동시켰을시 행하는 동작과, 전자제어장치 및 컴퓨터와의 통신을 행할 시의 동작으로 나누어 상세히 설명하면 아래와 같다.
첫째, 평상시 동작은 메모리부(3)의 각 램(3-1,3-2)을 전자제어장치에서 전용으로 사용할 수 있도록 하기 위해, 먹스(6)를 제어하여 전자제어장치의 메모리 컨트롤 시그널이 직접 제1램(3-1)과, 제2램(3-2)을 제어할 수 있도록 포트를 접속(열어 준다)한다.
이에 따라 상기 각 램(3-1,3-2)에서 중앙처리장치(5-1)로 향하는 어드레스 및 데이터 버스 즉, 제2버퍼부(4)는 모두 디스에이블되고, 전자제어장치와 각 램(3-1,3-2) 사이의 어드레스 및 데이터 버스 즉, 제1버퍼부(2)만 인에이블된다.
따라서 위와 같은 상황에서 중앙처리장치(5-1)에서는 각 램(3-1,3-2)을 억세스 할 수 없게 된다.
상기와 같은 상태 이외에도 평상시 동작시에는 A/D 데이터용 램(3-3)의 버퍼(도면에는 도시하지 않음)도 디스에이블되며, 이 역시 억세스 되지 않는다.
이에 따라 평상시 동작시의 데이터 흐름은 중앙 제어부(5) 내의 롬(5-3)과 중앙처리장치(5-1) 사이, 그리고 전자제어장치와 상기 각 램(3-1,3-2) 사이에서만 이루어진다.
또한 상기와 같이 에뮬레이터의 테스트 모드가 평상시 테스트 모드라는 것을 알리는 디스플레이 방식은 발광 다이오드(LED)의 토글 간격을 약 1초 간격으로 토글시켜 사용자가 인지토록 한다.
둘째, 차량의 브레이크를 작동시켰을시 행하는 동작은 먼저 차량에서 브레이크를 동작시켰다라는 것을 알리는 인터럽트 신호(하이(high)상태의 신호임)가 중앙처리장치(5-1)의 인터럽트 두 번째 단자(INT2)로 입력된다.
상기 신호는 차량과 2핀짜리 컨넥터(b)를 사용하여 연결한 단자의 첫 번째 단자(BRAKE SIGNAL)에서 입력되며, 두 번째 단자(MAIN TIMING)로부터는 상기 신호에 대한 동기 시그널이 입력되며, 이는 중앙처리장치(5-1)의 인터럽트 첫 번째 단자(INT1)로 입력된다.
이와 같은 브레이크 작동 신호가 중앙처리장치(5-1)로 입력되면, 중앙처리장치(5-1)에서는 이를 A/D 변환 준비 신호로 인지하며, 이때의 제1,2램(3-1,3-2)에 관련된 일체의 동작 상황은 상기 평상시의 동작과 동일하다.
단지 A/D 데이터용 램(3-3)의 칩셀렉터 단자(CS)에 입력되는 값이 '로우'로 액티브되어, 롬(5-3)이 억세스 되지 않을 경우에는 상기 A/D 데이터용 램(3-3)이 선택되어 사용될 수 있도록 한다.
즉, A/D 데이터용 램(3-3)을 액티브시키는 것이다.
또한 중앙처리장치(5-1) 내부적으로는 A/D 변환 준비를 하며, 상기에서 언급한 2핀 컨넥터(b)의 두 번째 단자(MAIN TIMING)로부터 클럭이 입력되면 이 클럭의 각 에지 즉 폴링 에지와, 라이징 에지 각각에 동기시켜 BNC 케이블(a) 을 통해 차량에 부착된 8개의 센서로부터 입력되는 아날로그 데이터를 디지털 데이터로 변환시킨다.
이어 상기 변환된 데이터는 중앙처리장치(5-1)의 제어 하에 A/D 데이터용 램(3-3)에 저장되며, 각 저장이 완료된 상태에서 브레이크 시그널이 로우(low) 상태로 입력되면 브레이크 작동이 중단되었음을 인지하고서 브레이크 작동시 모드에서 벗어나 평상시 동작 모드로 전환한다.
아울러 이러한 브레이크 동작 모드시를 알리는 디스플레이 방식은 발광 다이오드의 토글 간격을 평상시 동작 때의 토글 간격보다 배정도로 빠르게 토글시켜 브레이크 동작 시 모드임을 알린다.
셋째, 전자제어장치 및 컴퓨터와의 통신을 행할 시의 동작은 에뮬레이터가 통신 모드로 전환하려면 컴퓨터로부터 이 동작에 대한 요구가 있어야만 하는 바, 일단 통신에 대한 요구가 있으면 우선 해당되는 각 램(3-1,3-2)을 전자제어장치의 버스로부터 차단시킨다.
이는 즉, 해당되는 램의 버스 중 전자제어장치로 접속되어 있는 쪽을 차단하고, 중앙처리장치(5-1)에서 램을 전용으로 사용할 수 있도록 중앙처리장치(5-1)로 향하는 버스를 접속시키는 것이다.
상기처럼 버스 접속이 완료되면 상기 접속된 램의 칩셀렉터 단자(CS)에 연결된 중앙처리장치(5-1) 단자를 인에이블시켜 해당되는 어드레스가 출력되면 동작을 할 수 있도록 준비한다.
이와 같은 상태에서 업-로드일 경우를 제외하고는 A/D 데이터용 램(3-3)은 디스에이블 되고, 먹스(6)는 중앙처리장치(5-1)가 사용하고자하는 램을 스위칭한다.
이어 통신 모드에서 요구되는 사항에 따라 해당되는 램에 데이터를 라이트(WE) 하거나, 읽어내(OE) 컴퓨터로 전송한다.
반대로 업-로드일 경우에는 상기 A/D 데이터용 램(3-3)이 인에이블되고, 이에 저장된 데이터를 어드레스에 따라 컴퓨터로 전송한다.
그리고 마지막으로 컴퓨터 측으로부터 종료 신호를 받아 평상시 동작으로 복귀한다.
이러한 통신 동작 모드시를 알리는 디스플레이 방식은 발광 다이오드의 토글 간격을 평상시 동작 때의 토글 간격보다 배정도로 빠르게 토글시켜 통신 동작 시 모드임을 알린다.
아울러 상기 본 발명에서 사용되는 각 칩들은 상기와 같은 기능을 할 수 있는 다른 칩을 사용해도 무방하며, 도면에 도시된 각 낸드 게이트(NAND1∼NAND3) 및 인버터(I1∼I6)는 중앙처리장치(5-1)와 각 연결된 단자를 제어키 위해 신호를 조합하는 소자로 사용되고, 또한 도면에 표기된 c부분은 중앙처리장치(5-1)의 리셋단자(RESET)에 신호를 입력하는 부분이며, d부분 역시 중앙처리장치(5-1)의 동작을 위한 클럭(CLK)입력 및 접지의 크리스탈(XTAL) 발진 접지(VSS)단이다.
마지막으로 각 칩의 단자 표긴 중 A는 어드레스 단자를 나타내며, D는 데이터 단자를 나타내고, I/O는 입/출력 단자를 나타내며, RX는 수신, TX는 송신을 나타낸다.
이상과 같은 구성 및 하드웨어적인 동작 과정을 통해 본 발명에 의해 구현된 로거 기능을 갖는 에뮬레이터의 실제 동작 과정을 각 순서도를 참조하여 상세히 설명하면 하기와 같다.
본 발명의 에뮬레이터를 이용하여 전자제어장치 테스트 중 에뮬레이터에 전원이 공급되어 동작할 시 초기화 과정을 나타내는 순서도는 제3도에 도시된 바와 같이, 에뮬레이터에 전원이 입력되면, 먼저 시스템의 초기화를 이루는 제1단계(S1)와; 상기 단계(S1)를 거쳐 동작을 실행함과 동시에 전자제어장치로부터 브레이크 동작 신호의 입력을 나타내는 인터럽트 신호(INT2)가 하이 상태로 입력되었는지의 여부를 판단하여, 인터럽트 발생 시 A/D 변환 모드로 점프하는 제2단계(S2)와; 상기 단계(S2)에서 판단 결과 인터럽트가 발생하지 않으면 통신 모드를 나타내는 통신 포트에 어떠한 데이터가 입력되었는지의 여부를 판단하여, 통신 모드 요구시 통신 모드로 점프하며, 그렇지 않을 경우 전원의 온/오프 여부를 판단해 전원이 오프되지 않는 이상 상기 각 단계(S2,S3)들을 계속 반복 수행하는 제3단계(S3)로 이루어져 실행된다.
이때 상기 제1단계(S1)의 초기화 과정을 상세히 설명하면, 초기화 과정은 우선 중앙처리장치(5-1)의 내부 램을 클리어 시키고, 램 내부의 스택은 56개를 설정한다.
이어 발광 다이오드를 동작시키기 위하여 램의 내부에 있는 타이머1(T1)은 듀얼 컴페어 모드(Dual Compare Mode)로 설정하고, 타이머2(T2)는 사용하지 않기 때문에 일반 포트로 설정한다.
또한 본 에뮬레이터에서는 1개의 중앙처리장치(5-1) 만을 사용하기 때문에 고속도의 동기직렬 입/출력 시스템(Serial Periphral Interface : 이하 SPI라 칭한다)인 SPI도 일반 포트로 정의하고 이 SPI의 기능을 소거시킨다.
그리고 컴퓨터와의 통신을 위해 직렬통신 인터페이스(Serial Communication : 이하 SCI라 칭한다)인 SCI핀은 그 고유의 기능을 수행케 하고, 데이터의 포맷은 1비트의 스타트 비트(1 Start)와, 8비트의 데이터 비트(8 Data)와, 1비트의 스탑 비트(1 Stop)에 페리티 비트 없이(No parity) 설정하며, 전송 속도는 38.4Kbps로 설정한다.
인터럽트는 수신 인터럽트(Rx)만 인에이블하여 컴퓨터에서 통신 요구가 있을 경우에는 곧바로 통신을 시작할 수 있도록 한다.
상기와 같은 초기화 과정을 거친 후, 계속하여 모드의 전환이 있는지의 여부를 판별하는 것이다.
여기서 가장 간단한 평상시의 모드론 설명하면, 평상 시 모드에서는 제1 또는 제2램(3-1,3-2)을 전자제어장치에서 전용으로 사용할 수 있도록 포트를 조절하고, 연속적으로 브레이크 동작이 있는지의 여부를 판단하는 브레이크 시그널이 입력되었는가를 감시한다.
이와 같은 상태에서 만약 타이머 인터럽트나 수신 인터럽트가 발생하지 않고, 또한 브레이크 시그널이 '하이' 상태로 입력되지 않는 한 연속적으로 상기 루틴을 반복 수행한다.
이때 상기 타이머 인터럽트란 각 모드의 상태를 표시하는 발광 다이오드의 상태 변환을 제어하는 인터럽트로써, 중앙처리장치(5-1)의 메인 프로그램을 수행시켰을 시, 메인 프로그램은 각 동작 상태에 맞게 비교레지스터에 토글 타임 값을 세팅하는데 이 값과 카운터의 현재 카운팅하고 있는 값이 동일할 때 인터럽트가 발생하는 바, 이는 인터럽트 서브 부틴(Interrupt Sub Routine : ISR)의 현재 발광 다이오드 상태를 체킹하여 이 값을 토글시킨다.
이어 상기 상태를 기록하고 카운터 값을 클리어 시킨 후, 인터럽트 서브 루틴(ISR)을 종료한다.
이처럼 작동되는 타이머 인터럽트 신호는 사용자가 본 발명의 에뮬레이터를 작동시켰을 때 현재 어디 부분을 체크하고 있는지, 또는 브레이크 등을 밟았을 시 브레이크 동작에 대한 데이터 처리를 하고 있는지 등의 에뮬레이터의 동작 상태를 모니터링 하기 위해 주로 사용된다.
또한 상기 제2단계(S2)에서 브레이크 작동시에는 먼저 발광 다이오드(LED)의 동작을 제어하여 평시동작과 구분되도록 하고, A/D 데이터용 램(3-3)을 인에이블시킨 후, 연속적으로 인터럽트(INT2)의 레벨을 감시하며, 이 상태에서 인터럽트(INT1)가 입력되면 이 인터럽트(INT1)의 라이징 에지와 폴링 에지 각각에서 센서를 통한 채널 1부터 A/D 변환을 시작한다.
변환된 데이터는 순차적으로 설정된 번지에 저장되며 모든 채널의 A/D 변환이 완료되었으면 브레이크 동작 모드를 종료하고, 변환이 완료되지 않았으면 다음 채널의 변환을 시작한다.
이 상태에서 브레이크 동작이 완료되면 저장된 마지막 바이트의 어드레스가 저장되고 평시 동작으로 복귀한다.
상기와 같은 과정에서 A/D 변환 모드를 실행하는 과정을 제4도에 도시된 순서도를 참조하여 상세히 설명하면, 인터럽트(INT2)가 발생하여 A/D 변환 모드로 전환되면, 먼저 브레이크 작동시 테스트 상황임을 알리기 위해 발광 다이오드를 제어하여 평상 시 모드 보다 약 2배 빠른 속도로 점멸되도록 함과 동시에, A/D 데이터용 램(3-3)을 인에이블시키는 제1단계(S2-1)와; 상기 단계(S2-1) 이후 상기 인터럽트(INT2)의 레벨을 계속 검출하여 만약 레벨이 '로우' 상태로 전환되면, 상기 A/D 데이터용 램(3-3)을 디스에이블 시킴과 동시에, 상기 발광 다이오드를 정상적인 상태로 초기화시키면서 A/D 변환 루틴을 종료하는 제2단계(S2-2)와, 상기 단계(S2-2)에서 검출 결과 계속 '하이' 상태를 유지하면 상기 브레이크 시그널(인터럽트(INT2))에 대한 동기 신호인 인터럽트(INT1)가 발생하였는가의 여부를 판별하여 발생하지 않았을 시 계속 반복 수행하는 제3단계(S2-3)와; 상기 단계(S2-3)에서 인터럽트(INT1)가 발생하면 입력되는 클럭의 각 에지부분(라이징 에지, 폴링 에지)에서 차량의 각 센서로부터 입력되는 데이터의 샘플링 및 A/D 변환을 수행하는 제4단계(S2-4)와; 이어 모든 데이터의 변환이 완료되었는 가의 여부를 판단하여 모두 완료되었으면 상기 변환시킨 데이터를 저장하고, 완료되지 않았으면 다음 센서로부터 입력되는 데이터에 대해 상기 제4단계(S2-4)를 반복 수행하는 제5단계(S2-5)로 이루어져 순차 실행된다.
이때 상기 제5단계(S2-5)에서 데이터를 저장시킬 시 본 발명에서는 데이터 저장 시작번지를 2000h 번지부터 할당하며, 다음에 계속하여 입력되는 모든 입력 데이터는 상기 램에 순차적으로 설정된 번지에 저장된다.
또한 상기 제2단계(S2)에서 판단 결과 인터럽트가 발생하지 않고, 통신 모드 요구가 있을 시, 통신 동작은 최초의 신호가 컴퓨터로부터 전자제어장치로 입력되었을 때 이 신호가 등록된 신호인지를 판별하여, 등록된 신호가 아니면 평상시 동작 모드로 복귀하고, 등록된 신호이면 통신 모드를 행한다.
참고적으로 상기 등록된 신호는 다운-로드 마스터, 다운-로드 슬레이브, 업-로드 마스터, 업-로드 슬레이브, 업-로드 A/D 신호가 있다.
이러한 과정을 순서도로 상세히 설명하면 제5도에 도시된 바와 같이, 먼저 통신 요구가 발생하여 통신 모드임을 알리기 위해 발광 다이오드를 제어하여 평상시 모드보다 약 2배 빠른 속도로 점멸되도록 함과 동시에, 신호를 입력받는 제1단계(S3-1)와; 상기 단계(S3-1)에서 입력된 신호가 프로그램다운-로드 마스터 요구 신호인지의 여부를 판별해, 프로그램다운-로드 마스터일 때 그에 해당하는 포트를 셋팅한 후 프로그램다운-로딩(e)을 실행하는 제2단계(S3-2)와; 상기 판단 결과프로그램 다운-로드 마스터 요구가 아니면, 프로그램다운-로드 슬레이브인지의 여부를 판별하여, 프로그램다운-로드 슬레이브일 때 그에 해당하는 포트를 셋팅한 후 프로그램다운-로딩(e)을 실행하는 제3단계(S3-3)와, 상기 판단 결과 프로그램다운-로드 슬레이브 요구가 아니면, 데이터 업-로드 마스터인지의 여부를 판별하여, 데이터 업-로드 마스터일 때 그에 해당하는 포트를 셋팅한 후 데이터 업-로딩(f)을 실행하는 제4단계(S3-4)와; 상기 판단 결과 데이터 업-로드 마스터 요구가 아니면, 데이터 업-로드 슬레이브인지의 여부를 판별하여, 데이터 업-로드 슬레이브일 때 그에 해당하는 포트를 셋팅한 후 데이터 업-로딩(f)을 실행하는 제5단계(S3-2)와; 상기 판단 결과 데이터 업-로드 슬레이브 요구가 아니면, 데이터 업-로드 A/D 값인지의 여부를 판별하여, 데이터 업-로드 A/D 값일 때 그에 해당하는 포트를 셋팅한 후 데이터 업-로딩(f)을 실행하는 제6단계(S3-2)와, 상기 모든 단계(S3-2∼S3-6)를 만족하지 않을 시, 즉 입력된 신호가 등록되지 않은 신호일 때 모든 포트 및 발광 다이오드를 초기화 시킴과 동시에 통신 모드를 종료하는 제7단계(S3-7)로 이루어져 순차 실행된다.
또한 상기 제2단계(S3-2) 또는 제3단계(S3-3)에서 다운-로딩(e) 수행을 요구하면, 먼저 통신에 사용되는 각종 레지스터들을 클리어한 후, 상호(컴퓨터와 전자제어장치) 준비신호를 송/수신한 다음 컴퓨터에서 전자제어장치로 파일을 전송하며, 이어 중앙처리장치(5-1)에서는 상기 전송되온 데이터의 종류를 인식하고, 한 라인 분을 버퍼에 저장한 다음 읽어내 데이터의 오류를 체크하면서 지속적으로 파일 전송이 완료될 때까지 데이터를 수신한다.
이때 파일의 끝임을 알 수 있는 것은 전송되온 라인에 저장된 데이터타입을 나타내는 바이트를 읽었을 시, 마지막 라인을 표시하는 데이터가 저장되어 있으면 라인의 마지막임을 인지하고서 다운-로드를 중지하고 다음 명령을 대기하는 상태로 된다.
이와 같은 과정을 순서도를 참조하여 상세히 설명하면, 제6도에 도시된 바와 같이, 다운-로드 모드가 시작되면 통신에 사용되는 각종 레지스터들을 클리어시키고, 컴퓨터로 수신준비완료신호(Ack)를 전송하는 제1단계(e-1)와; 컴퓨터에서 인텔 헥사 포맷으로 된 파일이 한 라인당 전송되어 오면 한 라인에 포함된 데이터의 갯수가 몇 개인지 판단하는 제2단계(e-2)와; 상기 단계(e-2)에서 갯수 파악이 완료되면 그후에 입력되는 데이터를 한 바이트씩 입력받은 후, 상기 입력받은 데이터에 에러가 발생하였는지 판별하는 제3단계(e-3)와; 상기 판단 결과 에러가 발생하였다면 전송에러 메세지를 송신하여 상기 라인에 해당하는 라인을 재전송하도륵 요구하는 제4단계(e-4)와; 상기 제3단계(e-3)에서 판단 결과 에러가 발생하지 않았을 시, 제3단계(e-3)와 제4단계(e-4)를 반복 수행하면서 라인에 포함된 모든 데이터를 입력받았는 지의 여부를 판단하는 제5단계(e-5)와, 모든 데이터를 입력받아 버퍼에 저장이 완료되면 상기 데이터에 대한 체크-섬(Checksum)을 수행하여, 전송된 라인의 마지막 바이트에 저장된 체크-섬 값과 비교해 일치하지 않으면 재전송을 요구(상기 제4단계(e-4)를 반복 수행)하는 제6단계(e-6) 및; 상기 비교결과 두 값이 일치하면 버퍼에 저장되었던 데이터를 로딩하여 실제 메모리(제1 또는 제2램)에 저장한 다음, 상기 라인에서 데이터 타입 바이트를 읽어 이 라인이 파일의 마지막 라인(End of File)인지 확인하고, 확인한 결과 마지막이면 다운-로드를 종료하며, 마지막이 아니면 다음 라인을 전송받기 위해 수신준비완료신호(Ack)를 전송한 후 상기 제2단계(e-2)부터 순차적으로 반복 수행하는 제7단계(e-7)로 이루어져 다운-로딩을 수행한다.
참고로 상기 통신 모드에서 전송되는 인텔 헥사 포맷의 파일에서 한 라인분의 프레임 포맷은 아래 표 1과 같이 이루어진다.
상기 표 1에서 ( )안의 숫자는 바이트 수를 나타내고;
;: 현재 파일이 인텔 헥사 포맷임을 나타내는 표시이고;
Data Lenght(1):현재 라인에 포함된 총 데이터의 갯수(Address, Type, Checksum 포함)를 나타내고;
Start Address (2):데이터의 첫 번째가 위치할 주소를 나타내고;
Data Type:현재 라인이 마지막 라인임을 나타내는 표시이고;
Data:실제 저장될 데이터를 나타내고;
Checksum:에러체크를 하기 위해 사용되는 것으로 라인에 포함된 모든 숫자의 합을 2의 보수를 취하여 저장한 것이다.
한편 상기 제4단계(S3-4) 또는 제5단계(S3-5)에서 업-로딩(f) 수행을 요구하면, 다운-로드일 때와 동일하게 송신준비완료신호(Ack)를 전송하고, 해당되는 램을 전용으로 사용할 수 있도록 해당되지 않는 램은 전자제어장치와 연결을 끊는다.
이어 컴퓨터로부터 어드레스를 할당받은 후 데이터를 업-로딩하며, 주어진 어드레스까지 전송이 완료되면, 전송 동작을 중지하고 다음 명령을 기다린다.
또한 업-로드가 A/D 데이터용 램(3-3)에 저장된 데이터를 전송하는 경우일 때에는 A/D 데이터용 램(3-3)을 제외한 제1,2램(3-1,3-2) 모두를 디스에이블시키며, 이때에는 중앙처리장치(5-1)가 A/D 변환 중 저장된 데이터의 어드레스를 기억하고 있기 때문에 컴퓨터로부터 어드레스를 할당받는 과정은 생략된다.
그리고 그 이후 동작은 제1 또는 제2램(3-1,3-2)의 업-로딩 과정과 동일하다.
이와 같은 과정을 순서도를 참조하여 상세히 설명하면, 제7a도와 제7b도에 도시된 바와 같이, 제7a도는 데이터 램인 제1,2램(3-1,3-2) 중의 어느 하나의 업-로딩(f)일 경우를 나타내는 순서도이고, 제7b도는 A/D 데이터용 램(3-3)에 저장된 데이터의 업-로딩(f)일 경우를 나타내는 순서도로, 먼저 제7a도를 설명하면 제1 및 제2램(3-1,3-2)에 저장된 데이터를 업-로딩하기 위해 송신준비완료신호(Ack)를 컴퓨터로 전송하는 제1단계(f1-1); 컴퓨터에서 상기 신호(Ack)를 수신한 후, 업-로딩할 데이터에 대한 어드레스를 할당하면, 중앙처리장치(5-1)에서 상기 어드레스에 따른 데이터의 양을 계산한 다음 상기 계산된 값을 전송하는 제2단계(f1-2); 상기 제2단계(f1-2)완료 후 컴퓨터로부터 수신준비완료신호(Ready)를 받아 모든 준비가 완료되었음을 확인한 후, 16바이트의 데이터를 전송하고, 이어 상기 데이터에 대한 체크-섬을 계산하여 전송하는 제3단계(f1-3)와, 컴퓨터에서는 상기 전송된 체크-섬을 입력받아 자신이 계산한 체크-섬과 비교하여, 동일하지 않을 시 재전송을 요구하는 제4단계(f1-4) 및; 상기 단계(f1-4)에서 비교결과 동일할 경우 모든 데이터의 전송이 완료되었는가의 여부를 판단해 전송되지 않았으면 다음 데이터 전송을 요구하여 상기 제3단계(f1-3)부터 반복 수행하고, 모든 데이터의 전송이 완료되었으면 업-로드 모드를 종료한 후 다음 명령을 대기하는 제5단계(f1-5)를 거쳐 업-로딩을 수행한다.
제7b도는 A/D 데이터용 램(3-3)에서 컴퓨터로 데이터를 업-로딩하는 과정을 나타내는 순서도로, A/D 데이터용 램(3-3)에 저장된 데이터를 업-로딩하기 위해 송신준비완료신호(Ack)와, 전송할 데이터의 양을 계산한 값을 컴퓨터로 전송하는 제1단계(f2-1); 상기 단계(f2-1)에 대한 응답으로 컴퓨터로부터 수신준비완료신호(Ready)가 전송되면 모든 준비가 완료되었음을 확인한 후, 16바이트의 데이터를 전송하고, 이어 상기 데이터에 대한 체크-섬을 계산하여 전송하는 제2단계(f2-2)와; 컴퓨터에서는 상기 전송된 체크-섬을 입력받아 자신이 계산한 체크-섬과 비교하여, 동일하지 않을 시 재전송을 요구하는 제3단계(f2-3) 및; 상기 단계(f2-3)에서 비교결과 동일할 경우 모든 데이터의 전송이 완료되었는가의 여부를 판단해 전송되지 않았으면 다음 데이터 전송을 요구하여 상기 제2단계(f2-2)부터 반복 수행하고, 모든 데이터의 전송이 완료되었으면 업-로드 모드를 종료한 후 다음 명령을 대기하는 제4단계(f2-4)를 거쳐 업-로딩을 수행한다.
이와 같이 동작되는 프로그램을 중앙처리장치(5-1)에 저장한 다음 전자제어장치와 컴퓨터 간의 데이터 전송 및 각 상황에 다른 데이터를 처리한다.
이상에서 상세히 설명한 바와 같이 본 발명은 기존에 사용되던 전자제어장치 테스트 장비에 비해 실차 테스트를 위한 모든 요건을 하나의 보드에 직접시켜 구현함으로써, 개발에 필요한 비용의 절감 및 장비 셋-업 등 테스트 시간을 단축시킬 수 있고, 프로그래머의 필요에 따라 변수의 내용을 모니터링 할 수 있으므로 디버깅 작업에 소요되던 시간을 단축시키는 효과가 있다.
또한 하나의 장비임과 동시에 소형이므로 이동이 편리하고 차량에도 쉽게 장착할 수 있어 실외에서의 실험이 간편해지며, 부대 장비가 필요치 않은 이점이 있다.

Claims (20)

  1. 실차 테스트용 에뮬레이터에 있어서, 테스트 대상인 안티 브레이크 시스텝(ABS) 내 전자제어장치의 각 롬(Master-롬, Slave-롬)과 접속되는 부분인 제1인터페이스부(1)와; 상기 제1인터페이스부(1)를 통해 컴퓨터 및 전자제어장치 각각과 에뮬레이터 내의 각 램(3-1,3-2) 간의 어드레스 및 데이터 전송 시 충돌을 방지키 위한 제1버퍼부(2)와; 전자제어장치 테스트 결과 발생하는 결과 값을 전송 받아 저장하는 각 램(3-1,3-2,3-3)을 포함하는 메모리부(3)와; 상기 각 램(3-1,3-2,3-3)과 중앙 제어부(5) 내의 중앙처리장치(5-1) 사이의 어드레스 및 데이터 전송 시 충돌을 방지키 위한 제2버퍼부(4)와: 상기 각 램(3-1,3-2,3-3)중 제1,2램(3-1,3-2)을 선택적으로 액티브시키는 먹스(6)와; 에뮬레이터의 각 부 제어 및 컴퓨터와의 통신을 행하는 중앙 제어부(5) 및: 상기 중앙 제어부(5)와 컴퓨터 사이의 직렬 통신을 제공하는 제2인터페이스부(7)로 구성됨을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터.
  2. 제1항에 있어서, 상기 제1인터페이스부(1)는, ABS 내에 사용되는 실제 EP-롬과 간단한 접속을 행하도록, EP-롬과 같은 형상의 소켓인 제1컨넥터(1-1)와, 제2컨넥터(1-2)로 이루어짐을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터.
  3. 제1항에 있어서, 상기 전자제어장치의 각 롬과 각 램(3-1,3-2) 간의 데이터 충돌을 방지키 위한 제1버퍼부(2)는, 전자제어장치의 마스터-롬과 슬레이브-롬에 입/출력되는 어드레스를 각각 일시 저장하는 제1,2어드레스 버퍼(2-1,2-3)와, 데이터를 일시 저장하는 제1,2데이터버퍼(2-2,2-4)로 이루어짐을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터.
  4. 제1항에 있어서, 상기 메모리부(3)는, 전자제어장치의 마스터-롬 및 슬레이브-롬 테스트 결과 발생하는 결과 값을 저장하며, 컴퓨터로부터 다운-로딩되는 프로그램을 저장하는 제1램(3-1)과, 제2램(3-2) 및, 차량에 부착된 다수개의 센서로부터 입력되는 값을 저장하는 A/D 데이터용 램(3-3)으로 이루어짐을 특징으로 하는 데이터 로거(Logger)기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터.
  5. 제4항에 있어서, 상기 A/D 데이터용 램(3-3)에 저장되는 데이터는, 중앙처리장치(5-1)를 통해 디지털 값으로 변환된 데이터로, 차량에 부착된 각각의 센서로부터 입력되는 값임을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터.
  6. 제1항에 있어서, 상기 중앙처리장치(5-1)와 각 램(3-1,3-2,3-3) 간의 데이터 충돌을 방지키 위한 제2버퍼부(4)는, 중앙처리장치(5-1)로부터 입/출력되는 어드레스를 각각 일시 저장하는 제1,2어드레스 버퍼(4-1,4-3)와, 데이터를 일시 저장하는 제1,2 데이터 버퍼(4-2,4-4)로 이루어짐을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터.
  7. 제1항에 있어서, 상기 먹스(6)의 일 출력 단자는 각 램(3-1,3-2)의 칩셀렉터 단자(CS)의 액티브 동작을 제어토록 하고, 나머지 출력 단자는 각 램(3-1,3-2)의 기능을 다운-로드 받을 경우(WE)와 업-로드 시킬 경우(OE)에 따라 각각 액티브 동작을 제어토록 함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터.
  8. 제1항에 있어서, 상기 중앙 제어부(5)는, 에뮬레이터 시스템 전체를 제어하며, 차량의 각 센서들로부터 입력되는 아날로그 값을 디지털로 변화시켜 A/D 데이터 용 램(3-3)에 저장토록 하는 중앙처리장치(5-1)와, 상기 중앙처리장치(5-1)의 실행을 위해 필요로 되는 프로그램이 저장된 롬(5-2) 및, 중앙처리장치(5-1)를 통해 제2인터페이스부(7)로 입력되는 어드레스를 디코딩하여 각 어드레스 버퍼(4-1,4-4)를 제어하는 어드레스 디코더(5-3)로 이루어짐을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터.
  9. 실차 테스트용 에뮬레이터 구현 방법에 있어서, 에뮬레이터의 기본 기능에 다수개의 램을 사용해 프로그램 디버깅을 위한 데이터 저장 장소를 제공하며; 전자제어장치로부터 시작 시그널과 동기 시그널을 입력받아 차량에 부착된 다수개의 센서로부터 입력되는 신호를 별도의 램에 저장한 후, 모니터링하도록 함으로써 로거기 역할을 수행토록 함과 동시에, 실차 테스트와 흡사한 테스트가 되도록 하고; 두개의 중앙처리장치를 사용하는 컨트롤러(ABS)의 동시 테스트를 위해 에뮬레이터 내의 2개 램을 독립적으로 사용토록 하며; 메인 컴퓨터와의 인터페이스를 통해 차량의 작동에 따라 각 모드를 분류하여, 모드별로 차량을 테스트하도록 함으로써, 하나의 통합된 에뮬레이터로 차량 테스트를 함과 동시에 로거기 기능까지 수행토록 하는 에뮬레이터를 구현함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 구현 방법.
  10. 제9항에 있어서, 상기 2개의 램을 독립적으로 사용토록 하는 방법은, 전자제어장치 내의 마스터-롬 및 슬레이브-롬과 각각 연결되는 제1, 제2램(3-1,3-2)의 어드레스 충돌을 방지키 위해, 먹스(6)를 거친 메인 컴퓨터를 통해 각 램(3-1,3-2)의 액티브를 제어하고, A/D 데이터용 램(3-3)은 중앙처리장치(3-3)에서 직접 제어토록 함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 구현 방법.
  11. 제9항에 있어서, 모드 별 테스트 중 평상시 동작시에는, 메모리부(3)의 각 램(3-1,3-2)을 전자제어장치에서 전용으로 사용할 수 있도록, 먹스(6)를 제어하여 전자제어장치의 메모리 컨트롤 시그널이 직접 제1램(3-1)과, 제2램(3-2)을 제어토록 포트를 접속하여, 상기 각 램(3-1,3-2)에서 중앙처리장치(5-1)로 향하는 어드레스 및 데이터 버스는 모두 디스에이블 시킴과 동시에, 전자제어장치와 각 램(3-1,3-2) 사이의 어드레스 및 데이터 버스만 인에이블시키도록 구현함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 구현 방법.
  12. 제9항에 있어서, 모드 별 테스트 중 통신 모드시 동작은, 통신에 대한 요구가 있으면 해당되는 램의 버스 중 전자제어장치로 접속되어 있는 쪽을 차단하고, 중앙처리장치(5-1)에서 램을 전용으로 사용할 수 있도록 중앙처리장치(5-1)로 향하는 버스를 접속시키며, 버스 접속 완료후 상기 접속될 램의 칩셀렉터 단자를 인에이블시켜 해당되는 어드레스가 출력되면 동작토록 함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 구현 방법.
  13. 제9항에 있어서, 모드별 테스트 동작 시, 각 모드의 정상적인 동작 중임을 사용자가 모니터링토록 타이머 인터럽트를 통한 발광 다이오드의 토글 간격을 제어토록 함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 구현 방법.
  14. 실차 테스트용 에뮬레이터의 제어 방법에 있어서, 에뮬레이터에 전원이 입력되면, 시스템의 초기화를 이루는 제1단계(S1)와; 상기 단계(S1)를 거쳐 동작을 실행함과 동시에 전자제어장치로부터 브레이크 동작 신호의 입력을 나타내는 인터럽트 신호(INT2)가 하이 상태로 입력되었는지의 여부를 판단하여, 인터럽트발생 시 A/D 변환 모드로 점프하는 제2단계(S2)와; 상기 단계(S2)에서 판단 결과 인터럽트가 발생하지 않으면 통신 모드를 나타내는 통신 포트에 어떠한 데이터가 입력되었는지의 여부를 판단하여, 통신 모드 요구시 통신 모드로 점프하며, 그렇지 않을 경우 전원의 온/오프 여부를 판단해 전원이 오프되지 않는 이상 상기 각 단계(S2,S3)들을 계속 반복 수행하는 제3단계(S3)로 이루어져 실행됨을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 제어 방법.
  15. 제14항에 있어서, 상기 초기화 과정(51)은, 중앙처리장치(5-1)의 내부 램을 클리어시키면서 램 내부의 스택을 설정하고, 발광 다이오드의 동작을 제어토록 타이머1(T1)을 듀얼 컴페어 모드로 설정하며, 컴퓨터와의 통신을 위해 직렬통신 인터페이스(SCI)인 SCI 포트를 인에이블시킨 다음, 수신 인터럽트(Rx)만 인에이블시켜 컴퓨터에서 통신요구가 있을 경우 통신을 시작토록 준비함을 특징으로 하는 데이터로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 제어 방법.
  16. 제14항에 있어서, A/D 변환 모드를 실행하는 과정(S2)은, 인터럽트(INT2)가 발생하여 A/D 변환 모드로 전환되면, 브레이크 작동시 테스트 상황임을 알리기 위해 발광 다이오드의 점멸 속도를 제어함과 동시에, A/D 데이터용 램(3-3)을 인에이블시키는 제1단계(S2-1)와; 상기 단계(S2-1) 이후 상기 인터럽트(INT2)의 레벨을 계속 검출하여 레벨이 '로우' 상태로 전환되면, 상기 A/D 데이터용 램(3-3)을 디스에이블시킴과 동시에, 상기 발광 다이오드를 정상적인 상태로 초기화시키면서 A/D 변환 루틴을 종료하는 제2단계(S2-2)와; 상기 단계(S2-2)에서 검출 결과 계속 '하이' 상태를 유지하면 상기 브레이크시그널(인터럽트(INT2))에 대한 동기 신호인 인터럽트(INT1)가 발생하였는가의 여부를 판별하여 발생하지 않았을 시 계속 반복 수행하는 제3단계(S2-3)와; 상기 단계(S2-3)에서 인터럽트(INT1)가 발생하면 입력되는 클럭의 각 에지에 동기시켜 차량의 각 센서로부터 입력되는 데이터의 샘플링 및 A/D 변환을 수행하는 제4단계(S2-4)와; 이어 모든 데이터의 변환이 완료되었는 가의 여부를 판단하여 모두 완료되었으면 상기 변환시킨 데이터를 저장하고, 완료되지 않았으면 다음 센서로부터 입력되는 데이터에 대해 상기 제4단계(S2-4)를 반복 수행하는 제5단계(S2-5)로 이루어져 순차 실행함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 제어 방법.
  17. 제14항에 있어서, 통신 모드 요구시 동작 과정(53)은, 통신 요구가 발생하여 통신 모드임을 알리기 위해 발광 다이오드의 점멸 속도를 제어함과 동시에, 신호를 입력받는 제1단계(S3-1)와; 상기 단계(S3-1)에서 입력된 신호가 프로그램다운-로드 마스터 요구 신호인지의 여부를 판별해, 프로그램다운-로드 마스터일 때 그에 해당하는 포트를 셋팅한 후 프로그램다운-로딩(8)을 실행하는 제2단계(S3-2)와; 상기 판단 결과 프로그램다운-로드 마스터 요구가 아니면, 프로그램다운-로드 슬레이브인지의 여부를 판별하여, 프로그램다운-로드 슬레이브일 때 그에 해당하는 포트를 셋팅한 후 프로그램다운-로딩(e)을 실행하는 제3단계(S3-3)와; 상기 판단 결과 프로그램다운-로드 슬레이브 요구가 아니면, 데이터 업-로드 마스터인지의 여부를 판별하여, 데이터 업-로드 마스터일 때 그에 해당하는 포트를 셋팅한 후 데이터 업-로딩(f)을 실행하는 제4단계(S3-4)와, 상기 판단 결과 데이터 업-로드 마스터 요구가 아니면, 데이터 업-로드 슬레이브인지의 여부를 판별하여, 데이터 업-로드 슬레이브일 때 그에 해당하는 포트를 셋팅한 후 데이터 업-로딩(f)을 실행하는 제5단계(S3-2)와; 상기 판단 결과 데이터 업-로드 슬레이브 요구가 아니면, 데이터 업-로드 A/D 값인지의 여부를 판별하여, 데이터 업-로드 A/D값일 때 그에 해당하는 포트를 셋팅한 후 데이터 업-로딩(f)을 실행하는 제6단계(S3-2)와; 상기 모든 단계(S3-2∼S3-6)를 만족하지 않을 시, 즉 입력된 신호가 등록되지 않은 신호일 때 모든 포트 및 발광 다이오드를 초기화시킴과 동시에 통신 모드를 종료하는 제7단계(S3-7)로 이루어져 순차 실행됨을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 제어 방법.
  18. 제17항에 있어서, 다운-로드(e) 동작을 수행하는 과정(e)은, 다운-로드 모드가 시작되면 통신에 사용되는 각종 레지스터들을 클리어 시키고, 컴퓨터로 수신준비완료신호(Ack)를 전송하는 제1단계(e-1)와; 컴퓨터에서 파일이 한 라인 당 전송되어 오면 한 라인에 포함된 데이터의 갯수가 몇 개인지 판단하는 제2단계(e-2)와, 상기 단계(e-2)에서 갯수 파악이 완료되면 그 후에 입력되는 데이터를 한 바이트씩 입력받은 후, 상기 입력받은 데이터에 에러가 발생하였는지 판별하는 제3단계(e-3)와; 상기 판단 결과 에러가 발생하였다면 전송에러 메세지를 송신하여 상기 라인에 해당하는 라인을 재전송하도륵 요구하는 제4단계(e-4)와; 상기 제3단계(e-3)에서 판단 결과 에러가 발생하지 않았을 시, 제3단계(e-3)와 제4단계(e-4)를 반복 수행하면서 라인에 포함된 모든 데이터를 입력받았는 지의 여부를 판단하는 제5단계(e-5)와; 모든 데이터를 입력받아 버퍼에 저장이 완료되면 상기 데이터에 대한 체크-섬(Checksum)을 수행하여, 전송된 라인의 마지막 바이트에 저장된 체크-섬 값과 비교해 일치하지 않으면 재전송을 요구(상기 제4단계(e-4)를 반복 수행) 하는 제6단계(e-6) 및; 상기 비교결과 두 값이 일치하면 버퍼에 저장되었던 데이터를 로딩하여 실제 메모리(제1 또는 제2램)에 저장한 다음, 상기 라인에서 데이터 타입 바이트를 읽어 이 라인이 파일의 마지막 라인(End of File)인지 확인하고, 확인한 결과 마지막이면 다운-로드를 종료하며, 마지막이 아니면 다음 라인을 전송 받기 위해 수신준비완료신호(Ack)를 전송한 후 상기 제2단계(e-2)부터 순차적으로 반복 수행하는 제7단계(e-7)로 이루어져 다운-로딩을 수행함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 제어 방법.
  19. 제17항에 있어서, 업-로드 동작(f) 중 제1 또는 제2램에 저장된 데이터를 전송하는 과정은, 제1 및 제2램(3-1,3-2)에 저장된 데이터를 업-로딩하기 위해 송신준비완료신호(AcK)를 컴퓨터로 전송하는 제1단계(f1-1), 컴퓨터에서 상기 신호(Ack)를 수신한 후, 업-로딩할 데이터에 대한 어드레스를 할당하면, 중앙처리장치(5-1)에서 상기 어드레스에 따른 데이터의 양을 계산한 다음 상기 계산된 값을 전송하는 제2단계(f1-2); 상기 제2단계(f1-2) 완료 후 컴퓨터로부터 수신준비완료신호(Ready)를 받아 모든 준비가 완료되었음을 확인한 후, 16바이트의 데이터를 전송하고, 이어 상기 데이터에 대한 체크-섬을 계산하여 전송하는 제3단계(f1-3)와, 컴퓨터에서는 상기 전송된 체크-섬을 입력받아 자신이 계산한 체크-섬과 비교하여, 동일하지 않을 시 재전송을 요구하는 제4단계(f1-4) 및, 상기 단계(f1-4)에서 비교결과 동일할 경우 모든 데이터의 전송이 완료되었는가의 여부를 판단해 전송되지 않았으면 다음 데이터 전송을 요구하여 상기 제3단계(f1-3)부터 반복 수행하고, 모든 데이터의 전송이 완료되었으면 업-로드 모드를 종료한 후 다음 명령을 대기하는 제5단계(f1-5)를 거쳐 업-로딩을 수행함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 제어 방법.
  20. 제17항에 있어서, 업-로드 동작(f) 중 A/D 데이터용 램(3-3)에 저장된 데이터를 업-로딩하는 과정은, A/D 데이터용 램(3-3)에 저장된 데이터를 업-로딩하기 위해 송신준비완료신호(Ack)와, 전송할 데이터의 양을 계산한 값을 컴퓨터로 전송하는 제1단계(f2-1); 상기 단계(f2-1)에 대한 응답으로 컴퓨터로부터 수신준비완료신호(Ready)가 전송되면 모든 준비가 완료되었음을 확인한 후, 16바이트의 데이터를 전송하고, 이어 상기 데이터에 대한 체크-섬을 계산하여 전송하는 제2단계(f2-2)와; 컴퓨터에서는 상기 전송된 체크-섬을 입력받아 자신이 계산한 체크-섬과 비교하여, 동일하지 않을 시 재전송을 요구하는 제3단계(f2-3) 및, 상기 단계(f2-3)에서 비교결과 동일할 경우 모든 데이터의 전송이 완료되었는가의 여부를 판단해 전송되지 않았으면 다음 데이터 전송을 요구하여 상기 제2단계(f2-2)부터 반복수행하고, 모든 데이터의 전송이 완료되었으면 업-로드 모드를 종료한 후 다음 명령을 대기하는 제4단계(f2-4)를 거쳐 업-로딩을 수행함을 특징으로 하는 데이터 로거(Logger) 기능을 갖는 전자제어장치(ECU) 테스트용 에뮬레이터 제어 방법.
KR1019960016685A 1996-05-17 1996-05-17 데이터 로거 기능을 갖는 전자제어장치 테스트용 에뮬레이터와 그 구현 및 제어 방법 KR0168308B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960016685A KR0168308B1 (ko) 1996-05-17 1996-05-17 데이터 로거 기능을 갖는 전자제어장치 테스트용 에뮬레이터와 그 구현 및 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960016685A KR0168308B1 (ko) 1996-05-17 1996-05-17 데이터 로거 기능을 갖는 전자제어장치 테스트용 에뮬레이터와 그 구현 및 제어 방법

Publications (2)

Publication Number Publication Date
KR970075884A KR970075884A (ko) 1997-12-10
KR0168308B1 true KR0168308B1 (ko) 1999-05-15

Family

ID=19459030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960016685A KR0168308B1 (ko) 1996-05-17 1996-05-17 데이터 로거 기능을 갖는 전자제어장치 테스트용 에뮬레이터와 그 구현 및 제어 방법

Country Status (1)

Country Link
KR (1) KR0168308B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305408B2 (en) 2013-06-07 2016-04-05 Hyundai Motor Company Multiple electronic control unit diagnosing system and method for vehicle

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305408B2 (en) 2013-06-07 2016-04-05 Hyundai Motor Company Multiple electronic control unit diagnosing system and method for vehicle

Also Published As

Publication number Publication date
KR970075884A (ko) 1997-12-10

Similar Documents

Publication Publication Date Title
JP3715456B2 (ja) 物理的および/またはシミュレートされたハードウエアを含み、エンベットされたマイクロプロセッサ・システムをテストするシステムおよび方法
JP3929574B2 (ja) 集積回路装置及びその通信方法
JP3929573B2 (ja) 集積回路装置及びその通信方法
JP7247213B2 (ja) デバッグコントローラ回路
JP3998303B2 (ja) Tapコントローラを有する集積回路
US5566303A (en) Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's
JPH0769853B2 (ja) 回路内エミュレータ
GB2350706A (en) Debugging semiconductor integrated circuit device with processor
US5954813A (en) Data processor with transparent operation during a background mode and method therefor
EP0537688B1 (en) Power-up sequence system
JP3929572B2 (ja) 集積回路装置及びその通信方法
JP4504466B2 (ja) コンピュータシステム内の通信を実行する方法
JPH06208548A (ja) スマート・バス制御ユニット
KR0168308B1 (ko) 데이터 로거 기능을 갖는 전자제어장치 테스트용 에뮬레이터와 그 구현 및 제어 방법
EP0535697A1 (en) Microprocessor bus interface protocol analyzer
US6002737A (en) Timer using a single counter to track multiple time-outs
JP4481695B2 (ja) デバッグ用切換器、デバッグ方法
EP0082722A2 (en) Computer system with auxiliary service computer
US7437283B2 (en) System for evaluating target board by using evaluation microcomputer in which storage of environment data are powered by evaluation tool
EP0569128A2 (en) Extended high-speed testing of microprocessor-based devices
US5931930A (en) Processor that indicates system bus ownership in an upgradable multiprocessor computer system
US20020162094A1 (en) Embedded microprocessor emulation method
JP2002149203A (ja) 系切替制御装置、及び制御装置のcpu二重化システム
JP2001350648A (ja) マイクロコンピュータ
KR19980074527A (ko) 퍼스널컴퓨터의 적외선포트를 이용한 롬바이오스 데이터수정장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee