(포스팅 2022.02.24)
현업에서 일하다 보면 여러가지 황당한 일을 겪게 됩니다.
그 중의 하나가 의뢰자가 장비 SPEC을 잘 모르는 경우입니다.
(의뢰자는 앞으로 '갑'이라고 부르겠습니다)
제가 이번에 담당한 장비도 비슷한 경우였습니다.
제 장비는 중앙제어기기와 통신을 하는 기능을 가지고 있었고, 그 장비는 또다른 '을'이 만든 장비였습니다.
'갑'은 그 장비의 SPEC 문서를 가지고 있을 뿐, 장비에 대해 잘 알지 못하였습니다.
이런 경우 직접 찾아가서 스코프로 찍어보는 것이 좋습니다.
을 : 저희가 찾아가서 직접 측정을 해보고 싶어서 전화드렸습니다.
갑 : 가능은 한데.. 절차가 좀 복잡해서요.
갑 : 장비 운전자도 수배해야 하고, 도로도 비워야해서.
갑 : 문서로 요청하셔야 할 것 같습니다.
공문서를 만드는게 여러 사람이 움직여야 하고, 결정적으로 귀찮죠.
한번의 방문에 가능한 모든 것을 해결해야 합니다.
직접 방문하여 라인을 따서 스코프에 연결합니다.
가능한 많은 경우의 수를 고려해 미리 장비를 셋팅해 갑니다.
통신라인을 스코프에 물리고 트리거를 걸고, 화면을 동영상 촬영하면서 대기합니다.
1초에 수Kbyte 가 전송되는 것을 트리거가 다 잡지는 못합니다.
대부분 첫 데이터가 전송되는 것만 잡을 수 있습니다.
우선 pulse의 최소 간격을 측정하여 bps 를 알아냅니다.
bps 가 확인되면, 그 bps 기준으로 스코프의 측정간격을 다시 조정합니다.
전송되는 Data 의 윤곽을 잡으려면 20~30개의 pulse들이 한 화면 안에 표시되어야 합니다.
갑에게 협조요청을 하는 것은 번거로우니,
현장에서 최대한 많은 정보를 알아내야 합니다.
RS-232C 신호는 다음의 공통점이 있습니다.
아래는 파형을 분석한 사진입니다.
8bit + Even-parity + Stop 1bit 이네요. 2400bps 8e1 입니다.
회사에 복귀하여 촬영한 동영상을 확인합니다.
영상에서 깔끔하게 파형이 보이는 부분을 캡쳐하여 분석합니다.
아래와 같이 각 byte 를 알 수 있고, 예상했던 parity 가 맞는지를 알 수 있습니다.
RS-232C 통신의 spec 을 알았으니,
이제 프로토콜에 맞추어 준비하여, 다시 '갑'회사에 방문요청을 해야겠습니다.
포스팅은 여기까지입니다.
감사합니다.
Firmware 담당자의 SPI 통신하기 (0) | 2022.04.08 |
---|
댓글 영역