[W5100] W5100 RTR / RCR 세팅 관련


#1

안녕하세요.

셋업된 제품(W5100+AVR)에서 통신에러에 대한 컴플레인이 발생하여 검토 중에 있습니다.

현장의 상황은 약 1000여대가 설치가 되어 있고 1초 주기로 Modbus 통신을 하고 있습니다.
통신 에러는 패킷을 놓치는 것으로 추정이되고 1000여대 중 약 10대가 일 1~5회정도 통신 에러가 발생한다고 합니다.

이와 관련하여 Code 검토 중 RTR과 RCR 세팅 값을 보고 의문이 들어서 문의 드립니다.
현재 세팅 값은 RTR 15000, RCR 5로 세팅이 되어 있습니다.

1초 주기로 통신을 하는 상황에 적절한 세팅인지 의견 부탁 드립니다.
추가로 RTR과 RCR값을 선정하는 일반적인 방법이 있다면 알려주시기 바랍니다.

감사합니다.


#2

안녕하세요

글이 중복으로 올라와있어서 이전글들은 삭제하고 카테고리를 한국어 포럼으로 이동하였습니다.


#3

안녕하세요

RTR값이 15000인경우 재전송주기가 15000100us= 1.5s로
재전송 과정후 Timeout 발생하여 통신에러가 발생하는데 소요되는 총시간은
1.5s + 1.5s
2 + 1.5s4 + 1.5s8 + 1.5s *16=46.5s로 문제가없다고 생각됩니다.

image
image
위의 image는 W5100 datasheet의 일부분으로 해당 Address에 값을 write해주시면됩니다.
ioLibrary를 사용하고 계시는 경우 아래와 같이 작성해주시면 됩니다.
setRTR(15000)
setRCR(5)


#4

답변 감사 드립니다.

그렇다면 현재 통신 주기가 1sec인 상황에서 1.5s로 재전송이 세팅을 하는것보다,
기본 세팅 값인 200ms로 하는 것이 만약 재전송 케이스가 발생하다면
다음 요청 패킷이 들어오기 전에 미리 처리할수 있기 때문에 효과적이라고 판단해도 될까요?
Ack 시점 확인 결과 일반적으로 120~205ms 정도에 들어오기 때문에 220ms로 세팅을 하려고 합니다.


#5

안녕하세요

200ms 하는것이 재전송이 더빠른 주기로 발생하여
해당패킷이 수신완료가 될때까지 걸리는 시간이 더 빠르기때문에 효과적이라고 판단됩니다.