본문 바로가기

ECU MAP DATA

차량 맵핑 데이터에 대한 소소한 이야깃거리

안녕하세요, 언리미티드 입니다.

 

이번 내용은 작업 글은 아니고, 차량 맵핑 데이터에 관한 내용입니다.

 

리맵 작업을 하거나, 작업을 결정하기 이전에 궁금한 점을 여쭤보는 분들이 종종 계십니다.

 

"언리미티드는 실차맵 아니지요?"

"가격이 저렴한데 데이터맵인가요?"

"다이노 측정을 해야 제대로 맵핑하는 게 아닌가요?"

 

전체 내용을 다 설명하자면 내용도 너무 길어지고 지루한 내용일 듯하여 적당히 포인트로 집어서 적어봅니다.

 

 

많은 맵핑 업체에서 얘기하는 실차맵이라는 표현이 있습니다. 차량을 다이나모미터에 두고 측정하는 게 실차맵이라고 들 합니다.

 

 

 회사 홍보의 방편이겠지만, 단순히 다이나모미터에 수치만 측정한다고 실차맵이라고 하는 건 말장난에 가깝습니다. 

 다이나모미터를 무엇 때문에 측정하느냐... 어떤 분들은 차량의 출력을 보기 위해서 측정을 원하지만, 실제로는 차량의 맵 데이터를 가다듬기 위한 과정입니다. 각종 센서(공연비, 람다 센서 등) 값과 출력 그래프를 통해 차량의 데이터를 가다듬는 과정을 위해 이와 같은 측정 과정을 거치는 것이 중요 부분입니다. 이는 차량의 출력을 최대한 이끌어내면서도 무리가 가지 않도록 데이터 수정하는 과정이며, 차량을 다이나모 측정기기에 묶고 한두 번 측정하는 것으로는 이러한 과정을 완성 시킬 수 없습니다. 다이나모미터 출력그래프를 보고 수정하는 것이 선두 과정이며, 그 이후엔 드라이버의 실 주행 피드백을 통해 구간 별로 데이터를 가다듬는 과정도 후행 됩니다. 이러한 과정을 거쳐서 만들어진 데이터는 다른 차량에 그대로 적용하기 애매합니다. 차량마다 컨디션이 다르기 때문에 데이터를 만드는 차량에서는 발생하지 않았지만 타 차량에서는 문제가 발생할 수 있습니다. 차라리 이렇게 만들어진 데이터를 전체적으로 출력다운 시켜서 타 차량에 적용하면 별 트러블 없이 적당히 밸런스가 나오게 되는 편 입니다.

 

 만약 맵데이터를 입력하기 전/후 단 1회의 측정을 거친다면, 이건 일반적으로 말하는 데이터맵과 다를게 1도 없습니다. 그저 리맵 이전과 이후 출력 데이터만 측정해 주었을 뿐 이지요. 계산된 데이터 맵의 출력과 휠 마력의 차이를 실제로 측정하는 것이 됩니다. 

 단순하게 출력 데이터 측정은 저희가 보유하고 있는 Insoric RealPower 장비가 더 현실적인 데이터가 되기도 합니다. 타이어가 어떤 계열이냐, 현재 차량의 중량(짐, 기름양, 탑승 인원 등)에 따라서 발생하는 출력 차이에 대해서도 반영된 데이터로 역학 계산을 하기에 현 차량에 대해 현실적인 차량 출력 측정이 됩니다.

 

<<보유중인 INSORIC REALPOWER DYNO-SYSTEM PROFESSIONAL>>

 

 

 그럼 데이터 맵만 넣는 것이 문제가 있는 것이냐고 하면 딱히 그렇지만은 않습니다. 차량의 맵을 만들며 전체적인 센서 및 출력 값으로 밸런스가 잘 잡힌 맵을 만들고 LiveData 상으로도 각종 센서 값에 큰 문제가 없다면 이러한 데이터는 동일 차량에서는 일일이 차량마다 데이터 수정할 필요 없이 적용이 가능합니다. 다만, 이렇게 주입하는 데이터가 어느 정도 가다듬어진 데이터인지, 아니면 단순히 해외 맵 데이터 업체에서 구매한 데이터를 아무런 수정 없이 넣는 것 인지에 따라서는 차량의 상태에 영향이 있을 수 있습니다.

 위 화면은 WinOLS라는 맵을 수정하는 프로그램을 통해서 차량 데이터를 본 내용 입니다. 이 이외에도 ECM Titanium, 각종 장비 제조사에서 제공하는 리맵 프로그램 등 데이터를 수정하는 방법은 다양합니다 만, 과거부터 현존 가장 많이 사용하는 프로그램이 WinOLS 입니다.(이 프로그램의 정가가 비싸서 OLD 버전 해적판을 쓰는 업체도 많습니다)

 ECU 데이터를 추출해서 WinOLS 프로그램에서 연다고 위와 같이 나오지 않습니다. 맵이 존재하지 않는 Binary 파일이 추출되며, 이에 대한 각 위치에 대한 주소 및 입력된 수정 값은 각 차량 별로 다르기 때문에 단순히 데이터만 열어서는 확인할 수 없습니다. WinOLS 프로그램이 ECU 제조사 별로 파형을 감지하여 대략적인 맵영역을 감지해주긴 합니다.

 

 위 데이터는 해당 차량에 대한 A2L이라는 일종의 Library 데이터(일종의 맵의 주소 및 데이터 위치를 영역별로 표시해주는 사전)를 통해 차량 ECU 데이터의 맵 영역을 매칭 시켜서 비교한 데이터 입니다. 동일한 차종의 차량이라고 하더라도 주소가 일정한 게 아니라 버전에 따라 뒤죽박죽 섞여 있기도 합니다. 이걸 A2L 파일을 이용해서 수정할 MAP영역을 찾고 수정 과정을 거칩니다. 한 ECU 바이너리 데이터에서 어떤 영역은 8bit 기준, 어떤 영역은 16bit 기준으로 되어 있고 기준점 자체가 다른 경우도 있기에 이러한 A2L이 없다면 정확한 맵 해석이 어렵습니다. 다만, 오랜 경험을 거친 맵퍼는 데이터의 2D 그래프 만으로 해당 영역이 어떤 부분인지 짐작이 가능하기도 하지요. 간단한 데이터 수치 변경은 A2L로 맵을 찾지 않아도 그 영역 맵을 직접 만들어서 수정할 수 있습니다. 영어 원문을 읽으면 어떨 때에는 특정 단어의 정확한 뜻이 필요하기도 하지만, 단어를 잘 몰라도 어림짐작으로 문장이 뜻하는 바를 읽기도 하지요? 유사하다고 보시면 됩니다.

 

 상기 데이터 중 위쪽 데이터는 타사에서 맵을 진행한 E63 AMG 차량의 데이터를 수정하기 위해 추출한 데이터를 저희가 보유한 DynoChiptuningFiles사에서 공급 받았던 CLS63 AMG 차량 데이터를 A2L 맵영역 매칭 후 비교한 것 입니다. Stage2 맵 작업을 위해 추출한 데이터 내용입니다.

 아이러니하게 실차 맵임을 강조하고 수많은 데이터를 수정한다고 하는 타사 맵데이터가, 저희가 유럽에서 공급 받았던 리맵 데이터와 값이 상당수 동일했습니다. 출력에 관련된 부분에서 수정해 놓은 수치값이 동일하게 입력되어 있다면 이는 우연이 아닙니다.  저희가 공급 받은 데이터와 흡사한 데이터 계산 방식의 업체에서 데이터를 받아서 넣은 걸로  생각됩니다.(어쩌면 동일 회사일지도?)

 

 

 

 

 일부 데이터가 차이가 나기도 했습니다 만, 이 부분 중, 직접 맵을 수정 했다기 보다는 CLS63AMG(또는 동일 데이터의 벤츠 AMG 차량)의 순정 수치를 응용해서 리맵 하였습니다. 사실 이 방식이 어떻게 보면 안정적이긴 합니다만, 이건 맵업체에서 직접 만든 맵이라고 말하기엔 아이러니 합니다. 조금 더 상위 차량의 데이터를 바탕으로 가져다 놓았을 뿐이니까요. 그렇다고 해도 어찌했건 원래 차량의 데이터가 아닌, 출력을 좀 더 끌어올린 데이터이니 안정적으로 리맵한 데이터라 볼 수 있습니다.

 

 다만, 정말 출력을 좀 더 끌어올리기 위한 부분에 대해서 유럽데이터를 크게 수정 없이 넣으면서 A2L(라이브러리 데이터)를 통해 디테일하게 수정한다고 홍보하는 것은... 글쎄요... 뭐 모든 차량을 위와 같이 맵을 하진 않겠지요. 분명 진짜 차량에 맞게 수정하는 데이터도 있으리라 생각합니다만, 그렇게 진행할 경우 단순히 1시간 이내에 리맵 데이터를 만드는 건 쉽지 않습니다.

 

 

 위는 ECU맵을 위한 A2L 파일들 입니다. 해당 데이터가 있다고 동일 모든 차량의 데이터 주소가 딱 맞지 않습니다. 차량에 따라 ECU가 아예 바뀌는 경우도 있고, 동일한 ECU임에도 불구하고 출력을 향상 시키면서 데이터가 조금씩 바뀌기도 합니다. 그래서 보통 기본적으로 해당 ECU 제조사의 대표 하드웨어 버전에 대한 A2L 파일을 기준으로 맵 매칭을 해서 사용합니다. 

 만들어진 시기에 따라 다른데, 최신 ECU 버전에 대한 A2L은 상당히 비싼 경우도 많습니다. 단순히 파일 하나 가격이 수백만원 이상에 이르기도 합니다. 남들보다 빠르게 차량 테스트하고 커스터마이징을 하기 위해서 브랜드 맵에선 이러한 ECU A2L데이터를 빠르게 확보하여 맵데이터를 만듭니다. 해외 대표 맵데이터 업체들도 이러한 A2L을 확보해서 각 맵업체에 커스터마이징 맵데이터를 공급하는 편 입니다. 데이터는 시간이 지나면 가격이 내려가는데, 그럼 일반 맵 업체에서도 차량 커스터마이징을 위해서 구매하기도 합니다. 그래야 정확한 데이터 위치의 수정이 가능하니까요.

 

 그런다고 A2L이 만능이냐 하면 그건 아닙니다. 차량 연식이 바뀌면서 ECU 하드웨어 버전은 바뀌지 않더라도 소프트웨어가 변경되는 경우가 많습니다. 단순히 숫자만 바뀌기만 하는 것이 아니라, 주소지 자체가 바뀌는 경우도 허다합니다. 거기에 차량의 ECU가 변경된 초기 데이터를 보면, 테스트를 위해 이런저런 쓰이지 않는 것으로 보이는 데이터도 혼재되어 있습니다. 이는 차량 뿐만 아니라 상당수 첨단 전자기기에선 종종 볼 수 있는 부분 입니다. 휴대폰의 경우에도 안드로이드 OS 데이터를 뒤집어보면 개발하다가 중단된 데이터가 남아있기도 하고, 기능이 사라지면서 필요가 없지만 다른 기능과 연계되어 지우지 못하고 남겨진 데이터가 적잖이 있습니다. ECU 역시 엄밀히 말하면 프로그래밍과 다를 게 없기에 기존에 없던 센서가 들어가면서 그 값이 새로 들어가기도 하고, 차량 엔진 제어 조건을 추가하면서 유사한 데이터가 늘어나기도 합니다. 그러다 보니 각 제어하는 ECU 맵데이터 영역이 뒤바뀌기도 하기에 미세하게 잡기 위해선 위와 같은 A2L 파일로 각 맵영역을 매칭 시켜야 하는데, 이 것만 꽤 오랜 시간이 소요되기도 합니다.

 

 << 맵데이터를 받기 위해 순정 데이터를 전송하고 리맵 데이터를 받는 과정>>

 

 

 그럼, 차량 데이터는 위와 같이 A2L로 수정을 하는 것이냐... 하면 대부분 업체가 그렇지는 않습니다. 소소하게 개인 차량의 출력을 올리기 위해 개인이 맵을 하는 경우에야 이것저것 조금씩 데이터를 수정해 볼 수 있겠지만, 맵 업체에선 방문하신 손님 차량에 이런 모험을 할 수는 없습니다. 해서도 안되구요. 그 때문에 많은 업체가 해외로 차량 데이터를 보내서 리맵된 데이터를 구매하는 방식으로 많이 진행합니다.(저희도 Dynochiptuningfiles社 외 몇 군데 업체를 더 통하여 데이터를 공급 받습니다) 여기서 맵데이터를 수정할 수 있는 업체는 이렇게 구매한 베이스 데이터를 차량의 컨디션에 맞게 수정을 거쳐서 넣어줍니다. 왜냐하면 이렇게 구매한 데이터에서는 보통 신차 컨디션 기준으로 공식에 맞춰서 리맵한 데이터가 있기에, 연식이 많이 지난 차량은 오히려 하드웨어 적으로 부담이 될 수도 있습니다. 그로 인해 트러블이 생기는 것 보다는, 출력을 줄이더라도 안정적인 데이터가 들어가는 편이 낫다고 생각합니다.

 

 

 위 데이터는 순정 맵데이터와 DynoChiptuningFiles 등에서 받은 내용의 비교 입니다. 위에 데이터는 대략 1만개 이상의 Bytes 데이터가 다르다고 나오고 아래에는 2만개 이상의 Bytes 데이터가 다르다고 나옵니다.  이렇게 해서 리맵 데이터를 넣으면 1만개 이상의 데이터를 수정했다고 해야 할까요? 이런 부분에 대해서는 언급할 필요조차 없는 부분이라 생각합니다. 차량의 데이터 컨트롤이 세분화되면 조건에 따른 유사 영역을 여러 곳 수정해야 하는 곳이 발생하는데, 그럼 수정하는 데이터 양이 2~3배가 증가하기도 합니다. 이는 차의 출력을 제어하기 위한 부분이지, 많은 데이터를 수정했다고 자랑할 내용이 아닙니다. 오히려 불필요하게 이런저런 데이터를 조금씩 다 수정하는 것보다, 꼭 필요한 연계된 영역들만 수정하는 게 낫기도 합니다.

 

 

 차량에 ECU가 적용된 이후, 출력을 향상 시키기 위해선 각종 하드웨어를 컨트롤 하는 ECU에 어떠한 프로그램이 입력되어 있는지에 따라 퍼포먼스 조절이 가능합니다. 프로그래밍 관점에서는 이걸 코딩으로 부르는 게 맞지만, 차량이 움직일 수 있는 영역을 지도처럼 펴질 수 있고, 이에 대한 수정을 한다는 점에서 Remap이라고 합니다. 이러한 리맵은 기본적인 부분은 비슷하지만, 출력에 대한 향상 방식은 맵퍼에 따라 차이가 있고 당연히 그 결과도 다릅니다. 하지만 어떤 방식이 옳고 틀리다라는 정석은 없습니다. 성향의 차이지요. 

 

국내에도 상당히 많은 맵핑 업체가 존재 합니다. 업체에 따라서 단순히 맵데이터만 구매해서 넣어주는 업체, 맵 수정 영역을 커스터마이징하여 최대한 출력을 높게 뽑아주는 업체, 차주의 성향에 맞춰서 디테일하게 데이터를 만져주는 업체가 있는가 하면, 맵이라는 것을 펼쳐보는 방식도 모르고 해외의 유명 브랜드 맵장비로 차량 데이터만 읽은 후 맵데이터를 본사로 보내 해당 데이터를 다운 받아서 차량에 넣어주기만 하는 업체도 있습니다. 데이터 자체는 안정적일 수 있으나 보통 맵의 커스터마이징을 지원하지 않으며, 실제 브랜드에서는 개별 수치 입력을 지원하는데도 불구하고 업체가 임의로 값을 정하여 무조건 그 값으로만 데이터를 받기도 합니다. 원래 브랜드에서 홍보하는 데이터보다  이 데이터가 엔진 문제 발생 요인을 줄이기 위해 적당히 안정적인 값으로 데이터를 요청하다 보니 제원 엔진 출력에 비해 턱없이 낮은 경우도 자주 볼 수 있습니다. 이를 부담이 가지 않은, 안정적인 데이터라고 홍보하기도 하는데... 출력을 많이 올리지 않으면 안정적일 수 밖에 없는 건 당연한 얘기지요.

 

 항상 맵 작업에 대한 내용만 쓰다보면 지겹기도 하고... 맵이 무언지는 이미 알고 계시는 분들도 많으실 테니 실제 맵이 어떤 식으로 만들어지는지 가볍게 소개하려고 글을 썼는데, 글 내용이 생각보다 길어졌네요. 지루하지 않으셨는지 모르겠습니다.

 

 사실 위 내용 중에선, 업계에서 공개하기 꺼려하는 내용들도 있으리라 생각합니다. 반면에 차주 분들은 궁금해 하시는 내용이 되기도 하고요. 위와 비슷한 내용을, 유선 또는 맵하는 과정에서 문의하는 분들도 많으시기에 이 참에 그냥 적당히 설명 드릴 겸 길게 적어 봤습니다.

 

 긴 글 읽어주셔서 감사합니다 :)