3월, 2025의 게시물 표시

르네사스 타겟 보드를 이용한 CAN통신(5)

 5. 맺음말 본 문서에서는 르네사스사의 타겟보드를 이용에서 CAN 모듈을 구동하기 위한 환경을 구성하고 CAN 통신 프로그램을 작성하고, CAN 버스를 구성하여 시험하는 방법을 기술하였다.  그러나 CAN 규격에는 CAN 버스에 오류가 발생하였을 때 복구하는 방식, CAN 버스를 시험하는 여러 선택 사항 등 다양한 선택 사항들이 있음을 알 수 있으며, 본 문서에서는 모든 선택 사항을 시험할 수 없었다. 따라서 정상적인 운용 상태에서 시험 환경이 제공하는 방식의 CAN 버스 통신을 구현하고 시험하였다. 추후 각종 운용 선택 사항에 대해서는 추가 시험이 필요할 것으로 생각된다. 다만 본 문서를 참조하여 기본적인 CAN 통신 방식을 RL78/F13 MCU를 사용하여 구현하여 CAN 버스를 사용할 수 있을 것으로 생각된다. [참고문헌] [1] Renesas Electronics, RL78/F13 Target Board QB-R5F10BMG-TB User’s Manual, Rev 2.00, 2013.08.07.  [2] Texas Instrument, Application Report “Introduction to the Controller Area Network”, May 2016. [3] Renesas User’s Manual, “RL78/ F13,F14 16-bit Single-Chip Microcontoroolers User’s Manual: Hardware”, Rev. 2.20, Sep 2023. [5] USB-CAN analyzer User Manual, file:///C:/Users/USER/Downloads/USB-CAN%20User%20Manual(v7.0).pdf [6] Renesas Electronics, High Performance Relative Humidity and Temperature Sensor HS300x Datasheet, 2021/8

르네사스 타겟 보드를 이용한 CAN통신(4)

이미지
4. CAN 모듈 시험 CAN 모듈을 시험하기 위해서 우리는 르네사스 사의 타겟 보드 2개를 준비하여 각각 다른 프로그램을 탑재하여 버스 구성을 하고 시험하였으며, PC와 통신 시험을 하기 위해 Seeed Studio 사의 USB-CAN 분석기를 USB 포트를 통해 PC에 연결하였다. 시험을 위한 CAN 버스의 구성은 그림 24와 같다. 그림 24. 시험 구성 4.1 CAN 분석기 CAN 분석기는 Seeed Atudio 사의 USB-CAN 분석기 V8.0을 사용하였으며 구동 소프트웨어의 GUI는 그림 25에 나타내었다.[5] 그림 25의 GUI에서 COM Configuration 창에서 COM port 설정 및 연결이 가능하며, CAN Configuration 창에서 CAN 모드, 통신 속도등을 설정할 수 있다. 그리고, 메시지를 편집하여 메시지를 전송할 수 있으며 메시지 수신 창을 통해 수신되는 메시지를 모니터링 할 수 있다. CAN 버스의 종단 저항 120Ω의 저항도 연결되어 있어서 단말 들을 버스에 연결하면 별도의 종단 저항 없이 데이터를 송 수신 할 수 있다. 그림 25. USB-CAN Analyzer 구동 소프트웨어 4.2 CANtest1 CANtest1은 MCU의 RTC(Real Time Clock) 기능을 활성화하고, 0.5초 간격으로 인터럽트가 발생하게 하여 현재 시각을 메시지로 CAN 버스를 통해 전달하게 하고, CAN 버스로부터 Remote 메세지를 수신하면 다시 그때의 현재 시각을 전송하게 하고, CAN 버스로부터 Data 메시지를 수신하면 RTC의 시간을 설정하는 함수를 구동하여 RTC 시간을 설정하도록 하였다. 4.2.1 RTC 설정 RTC 설정은 CS+의 Code Generator의 Real-time Clock을 클릭하여 그림 26과 같이 설정한다. 인터럽트는 0.5초 간격으로 발생하게 설정하고, 우선순위는 Low로 설정한다. Code Generator에서 “Generate Code” 버튼을 클릭하면 r_cg_rtc.c와 r_cg_rt...

르네사스 타겟보드를 이용한 CAN통신(3)

이미지
 3. RL78/F13 CAN Module 본 절에서는 르네사스사의 MCU인 RL78/F13의 CAN 모듈의 사용법과 설정하는 과정에 대해 설명한다. 3.1 CAN 모듈 개요 RL78/F13는 ISO11898-1 사양에 맞는 CAN 모듈 하나를 제공한다. 그림 9에는 CAN 모듈 블록 다이어그램을 나타냈으며, 표는 CAN 모듈의 사양을 나타내었다.[3] 그림 9. CAN 모듈 블록 다이어그램 표 4. CAN 모듈 사양 3.2 환경 설정 본 절에서는 타겟보드의 환경을 설정하는 과정을 살펴본다. 르네사스 사의 개발환경(CS+)을 이용한 상세한 환경 설정 과정은 참고문헌[4]를 참조하면 되고, 여기에서는 CAN 모듈을 구동하기 위해 특별히 유의해야 할 것만 설명한다. 먼저 클럭 설정은 타겟보드의 외부 클럭 X1이 4MHz의 발진기를 갖고 있기 때문에 4MHz로 설정하여 주면 되고, High-speed OCO clock을 24MHz로 설정하여야 한다.(그림 10 참조) 그림 10. CAN 모듈 사용을 위한 Clock 설정 그리고 그림 2에 나타낸 회로도를 살펴보면, CAN 트랜시버의 TX 핀이 MCU의 P10에 연결되어 있고, RX 핀은 MCU의 P11, MCU의 P12가 트랜시버의 S 핀에 연결되어 있다. S 핀은 트랜시버의 제어 신호로 LOW가 입력되면 정상 통신 모드이고, HIGH가 되면 Silence Mode로 CAN 버스에 아무런 신호를 전달하지 않기 위한 제어 신호이다. 따라서 P10은 출력, P11은 입력, P12는 출력으로 설정하여야 하며, P10은 기본 출력을 HIGH로, P12는 기본 출력은 LOW로 설정하여야 한다.(그림 11참조) 그림 11. Port1 설정 3.3 CAN 모듈 구동 소프트웨어 본 절에서는 CAN 모듈을 구동하기 위한 초기화과정, 메시지 송신 모듈, 메시지 수신 모듈 소프트웨어에 대해 살펴본다. 3.3.1 CAN 모듈 초기화 CAN 모듈 초기화 프로그램은 다음과 같다. 먼저 CAN 모듈을 활성화하기 위해 ...

르네사스 타겟보드를 이용한 CAN 통신(2)

이미지
2. CAN 통신 개요 본 절에서는 CAN 통신의 개요에 대해 소개한다. 2.1 CAN 통신 네트워크 CAN 통신은 자동차 부품회사인 보쉬(BOSCH)에서 개발된 차량용 네트워크 통신 방식으로, 전기적 노이즈 발생이 많은 자동차 환경에서 신뢰성을 확보하기 위해 개발된 통신 방식이다.[2] CAN 통신은 여러 개의 제어기를 병렬로 연결하여 데이터를 주고받는 구조로 되어 있으며, 통신 라인을 공유하는 모든 제어기가 마스터 역할을 하고 있으므로 필요에 따라 언제든지 통신할 수 있다. 통신 선로상에 데이터를 띄워 놓으면, 어떤 제어기든지 필요할 때마다 데이터를 가져가 사용하는 방식으로 그림4와 같은 버스 구조를 갖고 있다. 버스 구조를 갖고 있기 때문에 각 노드는 자신이 수신하고자 하는 메시지를 등록하여 필요한 메시지만을 수신할 수 있고, 송신하고자 하는 메시지가 있으면 버스를 사용하기 위한 중재 기능을 이용하여 언제든지 메시지를 버스에 실어 보낼 수 있다. 그림 4. CAN 노드의 연결 2.2 CAN 통신 회로 구성 제어기 내의 CAN 통신 회로 구성은 그림 5에 나타낸 블록도와 같다. CAN 버스와는 CAN_H와 CAN_L 신호로 연결되어 신호를 송수신한다. CAN 버스는 제어기 커넥터를 통해 연결된 후 CAN 트랜시버로 연결되고, CAN 트랜시버는 마이크로컨트롤러 (MCU)와 연결된다.  그림 5. 제어기 내의 CAN 회로 구성 CAN 버스의 신호를 디지털 논리 신호로 바꿔주기 위한 역할을 한다. 즉 CAN_H 신호와 CAN_L 신호가 전위차가 있으면(Dominant) 논리 신호 LOW(0)으로 변환하고 전위차가 없으면(Recessive) 논리 신호 HIGH(1)로 변환하여 MCU로 전달하는 기능을 담당한다. 그림 6. CAN 버스의 신호 2.3 CAN 프로토콜 CAN의 프레임 표준 프레임과 확장 프레임이 있으며 표준 프레임 구조는 그림7에 나타냈으며 각 구성 필드의 설명은 다음 표 2와 같다. 그림 7. 표준 프레임 구조 표 ...

르네사스 타겟보드를 이용한 CAN 통신(1)

이미지
본 문서는 르네사스사의 타겟보드(QB_R5G10BMG_TB)를 이용하여 CAN(Controller Area Network) 통신을 수행하기 위한 프로그래밍 및 시험과정을 설명하기 위한 문서이다. 먼저 CAN 통신의 개요를 살펴보고, 르네사스사의 타겟보드의 구성, 타겟보드에서 사용된 MCU(Micro-Controller Unit)의 매뉴얼 중에서 CAN 모듈과 관련된 부분을 검토한 뒤, CAN 통신을 시험하기 위한 MCU 설정과 프로그램을 설명하고 시험환경을 구성하여 시험을 통해 검증하는 과정을 설명한다. 1. 르네사스 타겟보드 르네사스가의 타겟보드 QB_R5G10BMG_TB를 데이터 시트를 통해 살펴보면 다음과 같다. 1.1. 특징 - MCU는 RL78/F13(R5F10BMG)가 사용되었다. - 4MHz의 Oscillator가 탑재되어 있다. - 확장성이 있는 만능 기판 영역이 탑재되어 있다. - 플래시 메모리 프로그래밍과 온칩 디버깅 기능이 모두 지원된다. - MCU의 모든 핀을 연결할 수 있는 코넥터가 탑재되어 확장성이 뛰어나다. 1.2 하드웨어 규격 표1. 르네사스 타겟보드 규격 1.3 치수 및 부품 레이아웃 [주의] 위 그림에서 CN1과 CN2는 Board에 있는 마크와 반대로 되어 있음. 1.4 회로도 [참조] 타겟 보드에는 CAN과 LIN 인터페이스를 개발하기 위한 드라이버가 탑재되어 있다.