B라는 제어기가 CAN 버스에 CAN 신호를 송신하고 있다면 A제어기는 B제어기의 작업이 끝날 때까지 CAN 신호를 송신 못하나요? 작업이 완료될 때까지 기다려야 하나요?
114
작성한 질문수 1
B라는 제어기가 CAN 버스에 CAN 신호를 송신하고 있다면 A제어기는 B제어기의 작업이 끝날 때까지 CAN 신호를 송신 못하나요? 작업이 완료될 때까지 기다려야 하나요?
답변 2
0
기다리는 주체가 캔컨트롤러라면 질문하신 내용이 맞습니다. 하나의 버스에 여러 메세지를 동시에 보낼 수 없으니 캔 컨트롤러가 메세지 보내려고 했는데 다른 제어기가 이미 메세지 송신 중이라면 해당 메세지 송신 완료될때까지 기다렸다가 송신을 시도합니다.
0
그런데 막상 실차에서 다양한 CAN 신호를 로깅해보면 제동이나 카메라, 레이더와 같은 센서류에서 받는 CAN 신호들이 20ms 혹은 50ms 단위로 실시간으로 다 받던데.. 위 타임 주기 안에 우선순위에 의해 송신 순서가 다 조절되고 있는건가요? 사용자 입장 혹은 수신되는 CAN 신호를 사용하는 제어기 입장에서는 모든 신호가 적절한 때에 누락없이 잘 사용되는 것으로 보여져서요!
0
안녕하세요. 질문하신 내용이 정확히 어떤걸 묻고 싶으신건지 이해를 잘 못했습니다 ㅠㅠ
BaudRate과 메세지 사이즈에 따라 다르지만 메세지 1개가 전송되는데 걸리는 시간이
1m도 걸리지 않을 겁니다. (0.1 ~ 0.2초 정도 ?)
(메세지 전송주기를 말하는게 아니라 한개의 메세지가 전송되는데 걸리는 시간)
그래서 전송 주기가 빠르고 우선순위가 높은 다른 메세지가 있다고 하더라도
20ms, 50ms에 한번 씩 주기적으로 메세지를 보내는데에 문제 될게 없습니다.
다만 전송주기가 빠르고 우선순위가 더 높은 메세지가 엄청나게 많은 상황이라면
문제 될 수 있겠지만, 그런 일이 일어나지 않도록 애초에 네트워크 컨셉을 정할때
사용하는 메세지의 갯수, 메세지 ID , 메세지 전송주기 등을 적절하게 선정했기 때문에
실제 차량에서 문제 없이 통신이 잘 될겁니다.
0
안녕하세요, 인프런 AI 인턴입니다. 엄도흠님.
CAN 통신 시스템에서는 한 번에 하나의 메시지만 버스에 전달될 수 있습니다. 따라서 B 제어기가 CAN 신호를 송신 중일 때, A 제어기는 B 제어기의 송신 작업이 완료될 때까지 기다려야 합니다. 그러나 송신을 준비하는 다른 제어기들이 존재할 경우, CAN 프로토콜의 메시지 우선순위 기능을 통해 우선순위를 결정하고, 높은 우선순위의 메시지가 먼저 송신됩니다.
CAN 통신의 동작 방식
- Arbitration(중재) 과정: 여러 제어기가 동시에 버스 접근을 시도할 때, 메시지 ID를 기반으로 중재가 발생합니다. 낮은 ID를 가진 메시지가 높은 우선순위를 가지며, 충돌 없이 송신할 수 있습니다.
- 비파괴적 중재: 중재 과정에서 우선순위가 낮은 메시지는 자동으로도전하여 반복적으로 접근을 시도하지만, 이는 다른 높은 우선순위의 메시지를 방해하지 않습니다.
관련해서 다음의 유사한 질문에서도 더 자세한 내용을 확인하실 수 있습니다:
저는 질문자님의 이해를 돕기 위해 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
6:19 다이어그램에서 CANH CANL사이에 SPLIT 핀은 뭐하는 핀인가요?
0
21
0
candb와 data
0
82
1
Bus Off(버스 오프) 상태가 흔히 발생되는 상태인가요?
0
243
1
차량용 이더넷 통신 강의 계획은 없으신가요?
0
114
1
강의자료 문의
0
80
2
120옴 저항 관련 문의
0
224
2
여러개 제어기가 동일한 메시지를 수신할 때 동시에 수신하나요?
0
119
2
Error 프레임 보낼 때
0
212
1
E2E protocol을 사용할때 data frame에 crc와 counter 영역을 따로 둔다고 했는데 데이터 영역에 있는 crc와 메세지 프레임에 따로 CRC 영역이 있는데 그 둘간의 차이는 뭘까요...?
0
249
1
D-sub 핀과 120옴 저항 질문드립니다
0
491
2
ERROR PASSIVE FRAME
0
134
1
CAN wake-up 시퀀스에 대해
0
653
2
통신 타이밍을 비교하는 시점
0
174
0
센서신호와 CAN
0
350
1
Profile1에서 사용하는 Data ID : 2BYTE
0
201
2
CRC 계산 방법
0
759
1
CAN DBC 파일이 있는데요. 어느 부분에서 E2E프로토콜
0
383
1
ack 기능 궁금한 점
0
429
2
수업 자료 관련 문의
0
249
1
데이터 영역에서 보면서 궁금증 잇읍니다
0
178
1
CAN통신에서 PDU라는 개념도 있나요?
0
600
2
혹시 무선 충전 관련해서 강의가 만들어질 수 있을까요?
0
212
1
CAN 메시지 ID 관련되서
0
331
2
tja1043에서 모드 설정을 위해 stb-n 와 en 핀을 H,L로 설정한다는게 의미하는 바
0
306
2





