해결된 질문
작성
·
592
0
VN1640A, nxp s32g 보드 사용자입니다.
(답변이 언제 달릴지 몰라 잡다한 질문 몰아서 올립니다^^;;)
canoe 로 계측을 시작하면 네트워크 장비 내부적으로 무슨 변화가 생기나요? (이 질문을 드리는 이유는 계측 start 버튼을 누르면 네트워크 버스 상태와 관련된 can 신호들이 계측이 되는데요. 계측을 하지 않으면 이 신호는 발생하지 않기 때문입니다. 전기공학적으로 너무 당연한 일인지도 모르겠지만, 그런쪽으로 지식이 짧아 잘 이해가 가지 않습니다. 또한, 그 버스 상태 can 신호들은 주요 계측 대상도 아니어서 오히려 번거롭기만 하네요. 물론, 가르쳐 주신 대로 버퍼에 안 담기게 할 수는 있지만, 해당 rx can 신호 자체를 막을 수는 없네요.)
node 의 의미가 정확히 무엇인가요? (컴퓨터 네트워크에서 얘기하는 end point 와는 다른 것 같고, 하나의 보드내에서도 여러 node 가 존재할 수도 있는 개념 같은데요. 조금 더 보충 설명 해주시면 고맙겠습니다.)
IG 창에서 column 삭제는 어떻게 하나요? (trace 창 처럼 column configuration 이 없고 오로지 항목 추가만 있는 것 같은 느낌이네요.)
이상입니다.
p.s.) 예전에 someip 관련해서 canoe 를 사용할 때는 완전 막막했는데, 이런 강의가 인프런에 올라와서 넘 반갑네요. 일주일도 안되어서 계측, 송신 모두 가능하다니 인프런, 그리고 강사님 모두에게 감사 드립니다.
다만, 하나 건의사항으로 FD 프레임 관련해서 최초 canoe network 설정시 조금 더 강조해서 설명해 주시면 고맙겠습니다. FD 의 경우에는 data rate 까지 정확하게 맞추지 않으면 계측, 송신 모두 안되었습니다. (sample point 는 아무렇게 해도 무방한 것 같습니다.) 심지어 use database setting 을 체크를 해도 FD 에는 유효하지 않았습니다. dbc 파일 자체에 적혀 있는 network attribute 내용들을 보고 확인하여 맞춰주지 않으면 안되었습니다. FD 관련해서 이런 부분을 꼭 언급해 주시면 고맙겠습니다.(일반 프레임은 웬만한(?) 설정으로 잘 계측이 됩니다.)
답변 2
0
1번 질문은 제가 이해를 잘못했습니다. 버스 상태와 관련된 CAN 신호들이 계측된다.
계측하지 않으면 신호가 발생하지 않는다. 라는게 무슨 말인지 이해를 잘 못했습니다.
버스상태 can 신호라는게 무엇을 말하는건가요??
제가 상황을 이해한게 맞을까요?
캐노를 통해서 메세지tx 하는게 없는 상황에서, 캐노로 start를 하지 않았을때는 사용중인 보드에도 캔 메세지 계측이 안되는데 캐노로 start를 하면 메세지 계측이된다. 이게 맞나요?
제 생각에는 ack 와 관련이 있을거같습니다.
네트워크 장비도 캔통신이 가능한 mcu 가 달려있는 보드입니다. 캐노에서 계측을 start하면 그때부터 장비가 버스상에 모든 메세지를 수신하게 됩니다.
한편, 캔통신에는 ack라는게 있습니다.
송신측 제어기는 메세지를 보낸 후 누군가 수신측에서 ack 비트값을 0으로 적어줘야 송신에 성공했다고 판단합니다.
제 생각에는 말씀하신 메세지를 누군가 주기적으로 송신하고 있는데 캐노에서 start를 안하면 해당 메세지 수신해주는 제어기가 없으니까 아무도 ack를 0으로 쓰지않을거고. 그러므로 해당 메세지는 전부 송신에 실패하여 유효하지않은 메서지로 판댠될거고. 그래서 사용하는 보드에서 계측이 안되는거 같습니다,
제 추측으로는 사용중인 보드는 메세지를 계측은 하지만 ack를 쓰지않는 거 같습니다.
그래서 네트워크장비 start를 안하면 답장 해주는 수신측이 없어서 메세지가 유효하지 않아서 보드에도 계측이 안되고. 캐노로 start를하면 네트워크장비가 ack를 날리니까 유효한 메세지로 판단되서 보드에서도 계측되는듯 합니다.
말씀하신 내용중에 다른활성화된 보드를 연결하는 경우를 말씀하셨는데. 아마 해당 메세지에 대해 ack를 날려 줄 수있는 보드가 연결된 경우를 말하는거 같습니다.
답변이 늦었습니다^^;;
직접 보여 드리면서 질문을 드리면 아무것도 아닌 질문인 것 같은데, 제 설명이 적절하지 못했던 것 같습니다.
어찌되었든, start를 해야만 네트워크 장비측(VN1640A)에서도 '유효한 ACK를 보낼 수 있는 내부 상태를 갖게 된다' 라고 정리해 주시니 어느 정도 이해가 되었습니다. 고맙습니다^^
0
안녕하세요.
1) FD 관련해서는 제가 너무 간단히 설명을 했었네요. 말씀하신대로 내용을 강조하도록 하겠습니다. 피드백 주셔서 감사합니다.
2) IG 창에서 컬럼삭제하려면 아래와 같이 하시면됩니다.
3) 노드에 대하여
노드는 Canoe에서 만드는 가상의 제어기 입니다.
자동차 내부에 하나의 캔 버스에 여러개의 제어기들이 서로 연결되서 통신하고 있는데.
canoe 상에 Node 하나가 각각의 제어기 역할을 할 수 있습니다.
예를 들어 MPDS Node 1개, ADAS Node 1개, Brake Node 1개
이런식으로 만들어서 각각 Node 별로 서로 다른 동작을 시킬 수 있습니다.
CAPL이라는 프로그래밍 언어를 사용하여 코딩을 하면.
각각의 Node 별로 Code를 실행하면서 각자 서로 다른 동작을 할 수 있습니다.
그리고 강의에서는 다루지 못했는데.
Vector에 Interaction Layer라는 기능이 있는데..
그 기능을 적절히 사용하면
각각의 Node를 CAN DBC에 정의된 각각의 Node 처럼 컨트롤 할 수 있는(?) 기능이 있습니다.
글로 여기 다쓰기에는 좀.. 애매하네요
상세한 답변 고맙습니다^^
Interaction Layer 까지 써 볼 수 있을지는 잘 모르겠지만, 기회가 있다면 node 에 대해서도 더 잘 이해할 수 있을 것 같습니다.
현재 사용중인 보드는 전용 하네스 케이블과 연결되어 있습니다. 이 케이블은 여러가닥의 선들을 묶어 놓은 것이고, 그 중에는 전원 공급을 위한 선도 있고, 이 보드를 오가는 CAN 신호와 관련된 여러 채널의 d-sub 케이블도 있습니다. 이 d-sub 케이블 중 FD와 관련된 4개를 골라 VN1640A 에 연결한 상태입니다.
한편, 이 보드의 특징으로는 보드 내부에서 오가는 모든 CAN 신호들은 자체 DDR 메모리에 쓰여집니다. 따라서, canoe 정도로 상세하게 계측은 못하지만, 그 메모리에 직접 접근하여 정보들을 읽어 들여 어떤 신호들이 오가는지 알아 볼 수 있습니다. (이 DDR 메모리는 다른쪽 플랫폼(autosar)에 CAN 신호를 전달하기 위해 존재합니다.)
일단, 제 사용환경은 위와 같습니다. 이런 상태에서 canoe 에서 start 버튼을 눌러 계측을 시작하면 각 채널별로 동일한 rx 메시지가 계측됩니다. 즉, 각 채널에 대하여 CAN 버스의 active 여부 (또는 sleep 여부) 를 나타내는 메시지들을 주기적으로 수신하게 됩니다.
다시 stop 버튼을 누르면 이 신호는 발생하지 않습니다. 발생하지 않는다는 것은 DDR 메모리쪽을 확인해서 알 수 있었습니다. 즉,
DDR 메모리상의 움직임과 canoe 의 trace 화면의 변화 양상이 똑같습니다. 얼핏 들은 바로는 이 보드에 다른 활성화된 보드를 맞물리면(어떻게 그렇게 하는지는 저도 잘 모릅니다;;) 역시 그 때도 그런 신호가 나간다고 하였습니다. (이것이 이론적으로 그렇다는 것인지 실제로 어떤 장비를 통해서 계측을 한 것인지는 확인할 길은 없습니다.) 사실이 어떻든가에 제가 궁금한 것은 canoe 상에서 start/stop 버튼을 누르는 행위가 VN1640A라는 물리적인 장비 내부에 어떤 변화를 일으키는지 입니다. 결론적으로 canoe 상에서 start 를 누르면 장비가 켜지고(?) stop 하면 꺼지는(?) ... 대충 이런식으로 이해하면 되는 걸까요?