Baud Rate와 물리적 와이어 길이 관계
Baud Rate 와 물리적 와이어 길이 관계를 설명해 주시는 부분이 잘 이해가 안갑니다.
1Mbps 는 최대 40m
500kbps는 최대 100m
125kbps는 최대 500m
속도가 빠를 수록 다른 제어기가 ACK를 미리 보내지 않기 위해(?) 길이가 짧아야 한다는 부분이 잘 와닿지가 않네요...
조금 더 쉬운 설명 부탁드려도 될까요?
답변 2
1
제가 위에 글을 너무 길게 썼는데 짧게 써볼게요.
송신측 제어기는 메세지를 쏜 후, ack 비트값이 0이 되는지 여부를 확인합니다.
수신측 제어기는 메세지를 수신받은 후, 수신을 성공적으로 했으면 ack bit를 0으로 바뀝니다. 일종의 답장 같은거죠.
한편, 송신측은 메세지를 보낸 후 ack 비트값이 0이 되는지 여부를 평생 기다리는게 아니라 1bit time 까지만 기다립니다.
1bit time은 통신속도가 빠르면 빠를 수록 짧아집니다. 즉 ack 를 기다리면서 확인하는 시간이 짧아진다는거죠.
근데, 송신자와 수신자가 물리적으로 엄청 멀리 떨어져 있다면. 수신자가 ack를 0으로 쓴다고해도 이 0이라는 신호가 송신측 전선에 도달할때까지는 물리적으로 시간이 소요돼요.
근데 송신자는 ack신호를 1bit time 동안만. 확인할거니까. 만약 선이 엄청 길다면 수신자가 ack에 0을 썼는데. 이 신호가 아직 송신측에 도달하지도 않았는데 1 bit time이 지났으니까 ack가 0이 아니라고 판단하고 넘어가버립니다.
그니까. 속도가 빠르면 빠를 수록. 수신측의 ack신호가 송신자한테 빨리 도달해야됩니다.
(속도가 빠르다 = 1 bit time이 짧다= 송신자가 ack 기다리는 시간이 짧다)
Ack신호가 빨리 도달하려면 둘사이 전선이 짧아야죠 !
그러니까 속도가 빠르면 선이 짧아져야된다는 겁니다.
0
일단 Ack 비트의 역할과 동작을 잘 이해하셔야 합니다. Ack 비트는 메세지 수신측의 답장? 같은 개념인데요.
메세지 수신자는 메세지를 받으면 해당 메세지에 문제가 없는지 체크를 하고 문제가 없다면 ack bit 를 dominant(0)으로 write합니다.
문제가 있다고 판단하면 dominant로 쓰지 않습니다. 그러면 ack 비트는 recessive 상태를 유지하게 됩니다.
한편, 송신측은 메세지를 보낸 후 ack 비트값이 0으로 바뀌는지 확인합니다. 만약 0으로 바꼈다면 누군가가 메세지를 수신했고, 문제 없다고 판단했다는 의미죠.(앞에 수신측 동작 설명참고)
그러므로 이 경우 본인이 보낸 메세지가 문제없이 잘 송신됐구나하고 판단합니다.
근데 만약 ack 비트가 계속 1이라면 내 메세지를 아무도 받지 않았거나 뭔가 문제가 있구나 하고 이것을 에러상황으로 인식하게 됩니다.
근데 송신측이 한도 끝도 없이 계속 ack 값이 0으로 바뀔때까지 기다리면서 확인하는게 아니고 ack 비트는 1비트이기 때문에. 1비트에 해당 되는 시간동안만 확인하는 겁니다.
근데 1 bit 시간은 bps에 의해 결정되죠?
예를 들어 통신속도가 1bps면 1bit 시간은 1초입니다.
통신속도가 1000 bps면 0.001초 입니다.
근데 여기서 고려해야되는게.
수신측 제어기가 dominant 값을 write하는게 결국은 can high, can low 전선에 전압값을 컨트롤 하는거잖아요? 근데 통신선이 예를들어 엄청 길어서 서울~부산만큼 500km 떨어져있다고 가정해봅시다.
그러면 수신측에서 메세지에 문제 없다고 판단해서 dominant 값을 write했을때.
전선에 전압레벨이 500km 짜리 전선에 모두 동시에 딱! 바뀌는게 아니라 수신측 근처 전선부터 2.5v 로 바뀔거고 이게 전선으로 퍼지고 퍼져서 저기 끝에 500km 떨어진 송신측 전선도 2.5v 로 바뀌게 되는데 그럴려면 어쨋든 물리적으로 시간이 걸린단 얘기입니다.
근데 위에서 얘기했듯이 송신측이 ack를 확인하고 기다리는 시간은 1bit time 이에요. 근데 선이 너무 너무 길면 수신측의 ack가 송신측 근처 전선에 아직 도달하기전에 송신측은 ack 값이 안바뀌네? 하고 이걸 에러로 판단해버립니다. 근데 만약 통신속도가 엄청나게 느려서 1bit time이 엄청 길다고 생각해보죠.
그러면 물리적으로 전선을 타고 ack가 도달할때까지 충분히 확인할 수 있게되죠..
6:19 다이어그램에서 CANH CANL사이에 SPLIT 핀은 뭐하는 핀인가요?
0
23
0
candb와 data
0
85
1
Bus Off(버스 오프) 상태가 흔히 발생되는 상태인가요?
0
249
1
차량용 이더넷 통신 강의 계획은 없으신가요?
0
114
1
강의자료 문의
0
82
2
B라는 제어기가 CAN 버스에 CAN 신호를 송신하고 있다면 A제어기는 B제어기의 작업이 끝날 때까지 CAN 신호를 송신 못하나요? 작업이 완료될 때까지 기다려야 하나요?
0
114
2
120옴 저항 관련 문의
0
224
2
여러개 제어기가 동일한 메시지를 수신할 때 동시에 수신하나요?
0
119
2
Error 프레임 보낼 때
0
213
1
E2E protocol을 사용할때 data frame에 crc와 counter 영역을 따로 둔다고 했는데 데이터 영역에 있는 crc와 메세지 프레임에 따로 CRC 영역이 있는데 그 둘간의 차이는 뭘까요...?
0
250
1
D-sub 핀과 120옴 저항 질문드립니다
0
491
2
ERROR PASSIVE FRAME
0
136
1
CAN wake-up 시퀀스에 대해
0
655
2
통신 타이밍을 비교하는 시점
0
174
0
센서신호와 CAN
0
351
1
Profile1에서 사용하는 Data ID : 2BYTE
0
201
2
CRC 계산 방법
0
767
1
CAN DBC 파일이 있는데요. 어느 부분에서 E2E프로토콜
0
383
1
ack 기능 궁금한 점
0
430
2
수업 자료 관련 문의
0
249
1
데이터 영역에서 보면서 궁금증 잇읍니다
0
178
1
CAN통신에서 PDU라는 개념도 있나요?
0
601
2
혹시 무선 충전 관련해서 강의가 만들어질 수 있을까요?
0
213
1
CAN 메시지 ID 관련되서
0
331
2





