디젤엔진제어, CAN Kingdom 과 J1939 1. 배경 J1939 가 J1939 가아닌애플리케이션들에대하여더우수한성능을제공하면서 정말로 CAN Kingdom 에서 map 될수있는가? 이질문에대하여예! 라고말씀드리고싶습니다. J1939는 CAN 식별자들이사전정의된한정된범위까지이므로매우 " 경직된 " 프로토콜입니다. 업데이트시기와데이터포맷들도마찬가지로사전정의됩니다. 그러나, 엔진시스템컨트롤러는이러한사전정의들어떤것에도제한되지않고유연한업데이트시기들과다른데이터포맷들을지원할수있어야할것입니다. CAN Kingdom에서 J1939를 map 하려는최초의시도는 J1939에의해정의된데이터포맷들을사용하려는것에의해서였을것입니다. 이것이된다면, King의 17 페이지를시스템설계자들이더욱편리한데이터포맷들을생성하도록, 그리고또한 King의 18 페이지로데이터포맷들을보다더압축하도록소개하여나중에는프로토콜을훨씬더효율적으로만들수있습니다. King 의페이지 5, "Action Page -Reaction Page" 소개는한층더강화된성능을만들수있게할것입니다. CAN Kingdom 모드에서, 단편화된메시지들은 J1939 모드에서훨씬더신뢰적이고빠르게처리될수있습 니다. 그러나, J1939 로설정되었을때 CAN Kingdom 모듈이 J1939 에따라반드시정확히동작해야만합니 다. J1939에서빠진부분은네트워크관리입니다. 초안 J1939/81에있지만, 이것은대개구현되지않으며다만각제조업체는자신들의고유한, 대부분매우간단한, 방법들을갖고있습니다. 표준적인 CAN Kingdom 구현은제조업체특정네트워크관리 (Network Management) 에관한대부분의필요조건들을충족시킬것입니다. 아직네트워크관리에관심이없는 J1939 사용자들은만약그들이 CAN Kingdom에서자신들의 J1939 설계기초를쌓는다면우수한해법을 " 무료로 " 갖게될것입니다. 2. J1939 필수사항들 2.1 King 의관련페이지들 J1939 매핑을 ECU 로만들기위해서다음의 CAN Kingdom King 의페이지들을지원해야할것입니다 : King's Page 0 Start/Stop, Modes, CAN Kingdom 필수. King's Page 1 시스템에서의모듈초기화, CAN Kingdom 필수.
King's Page 2 CAN ID 배정, CAN Kingdom 필수 King's Page 12 Repetition Rate 와 Open Window Setup Page. 다음의페이지들은비록 J1939 를 map 하는데실제로필요하지는않더라도, CAN Kingdom 사용자들을위해 매우유용한모듈들을만들수있으므로반드시중시되어야합니다 : King's Page 3 그룹에할당. 대부분의 CAN Kingdom 구현들은이기능을갖고있습니다. King's Page 4 그룹에서제거 (Page 3 이구현되는경우필요.) King's Page 8 CC 레지스터설정. 이기능은 J1939에서언급되는것이아니라상위시스템에서필요합니다. King's Page 9 물리주소의변경. King's Page 10 동일한 Envelope 의두개연속전송들간의최소시간경과. 버스관리기능조성. ( 사건이트리거된시스템시간을예측가능하게만드는데필요.) King's Page 11 순환시간기초설정페이지 (Circular Time Base Setup Page). 위와같이 CAN Kingdom 구현은약 3k ROM 과 100 byte RAM 을필요로합니다. 2.2 필요한 J1939 파라매터들 간단한엔진제어를하기위해서는다음의 J1939 메시지들이효율적입니다 : 시스템컨트롤러에서 : TSC1 (J1939/71 3.3.1) 엔진 EDC 로부터 : EEC2 (J1939/71 3.3.6) EEC1 (J1939/71 3.3.7) Engine Configuration (J1939/71 3.3.17) + 전송프로토콜 (J1939/21 3.10) 의하위세트 Engine Temperature (J1939/71 3.3.28) Engine Fluid Level/Pressure (J1939/71 3.3. 29) J1939 를따르는이러한메시지들의대략적형태 :
많은 CANHUG (CAN Hydraulics Users Group) 시스템들은 J1939 이상의다른시스템구조를갖고있습니다. J1939 는평면구조를지원하지만대부분의 CAN Kingdom 시스템들은비록 CAN Kingdom 이평면시스템설계역시허용한다하더라도, 하나의노드는시스템설계자자신에의해고안된, 하나의시스템컨트롤러가되는것으로가정합니다. 여기서우리는간단히, CAN Kingdom 사용자와시스템컨트롤러노드가있고, 이것이엔진에대한제어를 한다고가정합시다. 이것은 CAN Kingdom 의필수사항은아닙니다. 다른노드들, 예를들어 ASR/ 견인제어 와자동변속기가네트에연결되어 J1939 네트워크에서엔진제어기능을공유할수있습니다. System Controller City ( 그리고엔진을제어해야만하는다른모듈들 ) 에서우리가필요한것은, 두개의의무적폴더들 (King의문서와 Mayor의문서를포함하는 ) 이외에, 한개또는두개의전송폴더들 ( 두개의수신지주소들이어떻게구현되는가에따라달라짐 ) 과 CAN Kingdom과함께위와같은메시지들을설정하기위한다섯개의수신폴더들입니다. 그리고나면 Engine Controller City는다섯개의전송폴더들과한두개의수신폴더들을필요로합니다. EEC2는가속페달 (AP2) 위치에관한정보를담고있으며 J1939는이것이엔진컨트롤러에의해측정된다는것으로가정합니다. 어떤시스템에서는, 그러나 AP 위치가다른모듈에의해측정되고동일한데이터포맷을가진메시지가전역 (global) 메시지로써엔진컨트롤러로전송됩니다. 그런메시지가시스템컨트롤러에서전송된다면, 그런후하나의수신폴더는그곳에서 Transmit로설정되어야만하며또다른전송폴더는 Engine Controller City에서필요합니다.
2.3 J1939 CAN ID J1939 의 CAN ID 들은다음과같이구성됩니다 : Priority Selectable. Two default levels, high = 3 and low = 6 R Reserved = 0 DP Data Page Currently = 0 PF PDU (Protocol Data Unit) Format. PS PDU Specific 0-239 Single destination address 240-255 Group Extension. Global address = 255 SA Source Address 자세한것은, J1939/213.2 를참고하시기바랍니다. 현재우리는 J1939 사용자들을위한기본 Envelope 를만들기위해서 J1939 표준에따라 CAN Kingdom Envelope 에서비트들을채우기만하면됩니다. CAN Kingdom 설계자들은적절한 Envelope 할당을위한더 효과적인구조를확실하게선택할것입니다. 3. CAN Kingdom Letters set up as J1939 messages 3.1 TSC1 TSC1 은엔진의제어를시행하는모듈을위한것입니다. 고정된업데이트속도는 10ms 이며엔진은 broadcast 메시지에서 Override Control 모드비트가 00 으로설정되어제어모듈이제어를포기하거나또는더높은 Override Control 모드우선순위를가진메시지가수신되거나혹은 TSC1 메시지가두개의업데이트주기동안 CAN 버스상에나타나는것이중지될때까지 TSC1 명령을준수합니다. 3.1.1 TSC1 페이지형식 TSC1 메시지에관한 CAN Kingdom 페이지형태는아래와같이표시됩니다. 이데이터의세부적인자세한 사항들은 J1939/71 3.3.1 을참고하십시오.
3.1.2 TSC1 CAN ID J1939 를따르는 TSC1 의 CAN ID 의대략적형태는다음과같습니다 : 이것은한개또는두개의엔진을가진시스템들의경우작동하지만더많은엔진들을가진시스템들의경우, 예를들면기차또는선박시스템들, 또다른 ID가어쨌든정의되어야합니다. 모두에대한그룹주소를가진다중-엔진시스템들의경우도또한흥미로운대상이될수있습니다. 이것은 J1939 에서는가능하지않지만, CAN Kingdom에서는문제가되지않습니다. 이문서가고정된폴더 3 에놓여진다고가정해봅시다. CAN Kingdom 에서이 ( 또는이러한 ) Envelope( 들을 ) 설정하는것은 King 의페이지 2 에의해실행됩니다 :
3.1.3 Repetition rate 우리가다음과같이순환시간기초설정 (Circular Time Base Setup) 의고정된실행을만들었다고가정해봅 시다 : 2µs 에 grain 고정세그먼트당 grains 의수는 250 에고정 revolution 당세그먼트들수는 200 에고정최대시간의 revolutions 수는 200 에고정 이와같은순환시간설정은 2μs의 resolution, 세그먼트당 5 ms, revolution 당 100 ms, 그리고 20 s 의최대시간을부여하게됩니다. TSC1의 10ms의필요반복속도는 King의페이지 12에의해설정됩니다 :
3.2 EEC2 3.2.1 EEC2 데이터포맷 EEC2 데이터내용은 " 가속페달위치 (Accelerator pedal position) / 현재속도에서의백분율하중 (Percent Load at Current speed)" 입니다. 관련 CAN Kingdom 페이지형태는아래와같습니다 :
3.2.2 EEC2 CAN ID EEC2 메시지에관한 CAN 식별자는 J1939 에서다음과같이정의됩니다 :
CAN Kingdom 구현의한예에서, EEC2 문서는고정된폴더즉, 폴더 3 에위치하게됩니다. 이폴더로위의 ID 를가진 Envelope 는 King 의페이지 2 에의해배정됩니다 : 여기서우리는 AP 위치가엔진 1 에서전송되었다고가정했습니다. 만약이것이 Management Computer 에 서전송되었다면, 라인 2 와 3 은교체되고 EEC2 문서에있는라인 2 와 3 은사용불가 (Not Available) 를알리 는 1:s 로채워지게됩니다. ( 왜냐하면그정보출처가확실히엔진이기때문입니다 ).
3.2.3 EEC2 Repetition rate TSC1 을위한것과같은순환시간기초설정 (Circular Time Base Setup) 의고정된구현을만들었다고가정합 시다. 그러면 EEC2 의 50 ms 의필요반복속도는 King 의페이지 12 에의해설정됩니다 : 3.2.4 EEC1 EEC1 메시지는위의다른두개의메시지들과동일한방식으로설정되어집니다. J1939에의하여, 반복속도는엔진속도에의존합니다. 그이유는측정-전송의두가지방법들이허용되기때문입니다 : Crank Angle 또는 Time-Based Update Rates. 그러면샘플링과전송간의최대그리고최소시간지연이서로다른속도로명시됩니다. J1939 규격의이부분은그다지관련이없어보입니다. 측정과 CAN 전송은두개의독립적인작업들이기때문에, 어떤반복속도도허용될수있으며 J1939/71 3.1.6.2, 2."Normal" 업데이트속도는 20ms의고정된전송속도가표준 J1939 모듈에효율적이된다는것을보여줍니다.
3.2.5 EEC1 Document EEC1 문서는아래와같으며고정된폴더, 예를들어 Folder 4, 에위치하고있습니다.
3.2.6 EEC1 CAN ID EEC1 CAN ID 는다음과같으며초기메시지로써 King 의페이지 2 에의해설정되어집니다. 3.2.7 EEC1 반복속도 EEC1 은초기메시지로써동일한방식으로 20 ms 반복속도로설정되게됩니다. 3.3 엔진구성 (Engine Configuration) 엔진구성파라매터들은 28 바이트를포함하며 J1939 전송프로토콜에따라보내집니다. CAN Kingdom 에 서엔진구성은다중 - 페이지문서이며 Line 0 에페이지번호를넣음으로써 J1939 전송프로토콜과동일한 형식을얻게됩니다. J1939 비사용자들에게는엔진구성이그다지효율적인것같지않습니다. Reference Engine Torque 는바이트 20 과 21 에서전송되기는하나결코변하지않습니다. 이것은자신의 고유한매개변수인셈입니다. 포인트 3 에서엔진속도의 MSB 와 LSB 는포인트 5 의속도그리고토그와마 찬가지로서로다른두개메시지들에서전송됩니다. 엔진구성메시지에대한 CAN ID 를생성하기위해다른메시지들을위한것과동일한구조를사용하는것이가능하다할지라도, J1939는단편화된메시지들을처리하는다른방법을갖고있습니다. 단편화된메시지들은 J1939/21 3.10.3 "Transport Protocol - Connection Management Messages." 에따라처리됩니다. J1939 비사용자들은페이지매김된엔진구성문서의직접사용이보다더간단하고, 빠르며안전하기때문에아마도이것을사용하지는않을것입니다. J1939 전송프로토콜은다른방식들, CAN Kingdom 과 map 할수있는모든가능한방법들로구현될수있 습니다. 여기서우리는가장간단한방법, SAE J1939/21 있는 FIGURE C3 에따른방송데이터전송순차 (Broadcast Data Transfer Sequence) 를간단히언급만할것입니다. 그러면우리는각각 50 과 200 ms 까지의기간내에서데이터가포함된 4 개메시지들이뒤에이어지는 TP.CM_BAM 메시지에의한엔진구성의전송을시작해야하며, 어떠한확인응답또는오류처리절차를다 루어서는안될것입니다.
3.3.1 엔진제어를위한연결관리 (TP.CM) CAN Kingdom Connection Management Document 양식에서엔진제어파라매터는다음과같이보입니다 : 3.3.2 엔진제어 CAN ID 에관한 Broadcast announce 메시지 TP.CM_BAM 문자는이것의양식에배정된다음의 CAN ID 를갖게됩니다 :
3.3.3 Engine Configuration Document J1939 에따른엔진구성문서는아래와같은형태를보입니다. 각페이지는결과적으로 50 에서 200 ms 의 시간틀내에서전송됩니다.
3.3.4 엔진구성 CAN ID 엔진구성데이터에관한 CAN ID ( 전체적으로분산된 ) 는 J1939/21 FIGURE 11 를따르게됩니다 ;
3.4 엔진온도 엔진온도메시지들은이전의단일페이지메시지들과동일한방식으로설정되어집니다. 3.4.1 엔진온도문서 (Engine Temperature Document)
3.4.2 엔진온도 CAN ID
3.5 엔진유체수준 / 압력 (Engine Fluid Level/Pressure) Engine Fluid Level/Pressure 메시지들은이전의단일페이지메시지들과동일한방식으로설정되어집니다. 3.5.1 엔진유체문서 (Engine Fluid Document)
3.5.2 엔진유체수준 / 압력 CAN ID (Engine Fluid Level/PressureCAN ID) 4. 결론 이예는 J1939가 CAN Kingdom에서직접 map 될수있다는것을보여주고있습니다. J1939 사용자들은 " 순수 " J1939 모듈과 J1939의필요조건에따라설정된 CAN Kingdom 노드사이에서어떠한차이도발견할수없을것입니다. 그러나, CAN Kingdom 사용자들의경우, 훨씬더많은유연성이시스템설계자들에게주어집니다.