안녕하세요. 러찌입니다.
이번 글에서는 WAD-MX6 보드에서 CAN 통신을 테스트 해보았습니다.
CAN 통신은 Controller Area Network의 준말로,
차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이
서로 통신하기 위해 설계된 표준 통신 규격입니다.
자세한 내용은 구글링 해보시면 아실 거라 생각됩니다.
i.MX6 에는 레퍼런스 매뉴얼에서 보듯이 CAN을 지원하고 있으며
CAN 2.0B 프로토콜 스펙을 지원하는
"FLEXCAN" 모듈 통신 컨트롤러가 탑재되어 있습니다.
이를 이용해서 CAN 통신을 수행할 수 있으며,
저희 WAD-MX6 보드에는 CAN1과 CAN2 인터페이스를 지원하고 있습니다.
그래서, 다른 장비와 CAN 통신을 할 수도 있지만,
WAD-MX6 보드 하나로도 동작이 되는지 테스트해 볼 수 있습니다.
WAD-MX6 보드에 CAN1과 CAN2를 각각 서로 연결하고,
WEC2013용 디바이스 드라이버와 간단한 어플리케이션을 이용해서,
Transfer 동작을 테스트 해보았습니다.
CAN1은 Sender 모드로 동작시키고, CAN2는 Receiver 모드로 동작시켜,
CAN1에서 바이너리 데이터를 전송하여, CAN2 에서 수신하여
데이터가 정확하게 수신되는지 확인해 보았습니다.
아래 영상에서 보듯이, 동작이 잘 됩니다.
위 그림과 같이 저희가 만든 BSP에는 CAN이 디바이스 드라이버로
들어가 있으며, 이를 추가해서 빌드하고 OS를 만들면,
어플리케이션에서 쉽게 CAN을 테스트할 수 있도록 설계하였습니다.
이로써, i.MX6 기반의 WAD-MX6 보드를 이용해 CAN 동작이
Windows Embedded Compact 2013 OS 환경에서 잘 동작되는 것을 확인하였습니다.
글 읽어주셔서 감사합니다.
좋은 하루 되시기 바랍니다.
아래는 관련 영상입니다.