메인 메뉴/ Simulation/ LIN RBS Simulation을 클릭하여 LIN Remaining Bus Simulation 창을 연다.
ldf 파일의 설정에 따라 창의 왼편에 채널과 노드들이 표시된다. 창의 오른편에 네트워크/ 노드/ 스케줄 테이블/ 메시지/ 신호가 표시된다.
Channel 1 탭을 선택한다. MasterNode만 활성한다. 시뮬레이션을 On 한다.
Channel 2 탭을 선택한다. MasterNode를 제외한 나머지 노드들을 활성한다. 시뮬레이션을 On 한다.
시뮬레이션을 시작한다. 트레이스창에 RBS 메시지들이 표시된다.
RBS 창에서 Tx 메시지의 신호값을 변경한다. 트레이스창에서 신호값이 변경되는 것을 볼 수 있다.
위 실험으로 MasterNode가 헤더 부분을 슬레이브 노드들이 응답 부분을 전송하는지 확신할 수 없지만, 내가 TSMaster를 개발했다면 꼭 그렇게 했을 것이다.
RBS 창에서 신호를 선택해서 마우스 우클릭을 하면, Generate MP read code와 Generate MP write code 메뉴를 선택할 수 있다.
미니프로그램 에디터창에 붙여넣기를 하면 RBS 신호의 값을 읽거나 쓰는 코드를 볼 수 있다. 아래는 채널 1 (코드에서는 0이다.)/ LINDemon (네트워크)/ MasterNode (노드)/ WiperStates (메시지)/ WiperState (신호)를 읽고 (get) 쓰는 (set) 코드이다. 즉, 시험 용도에 맞게 미니프로그램에서 RBS 신호들을 변경할 수 있다.
// get signal
com.lin_rbs_get_signal_value_by_address("0/LINDemo/MasterNode/WiperStates/WiperState", &d);
// set signal
com.lin_rbs_set_signal_value_by_address("0/LINDemo/MasterNode/WiperStates/WiperState", &d);
결론
TSMaster로 LIN RBS 하는 방법을 살펴보았다.
LIN의 기본적인 항목들을 설명하였다. LIN은 마스터-슬레이브 방식이며, 마스터가 헤더를 전송해야 슬레이브들이 응답을 전송할 수 있다. 네트워크는 메시지 송수신 주체들과 스케줄 표를 갖고 있다. 이는 ldf 파일에 있다.
TSMaster에서 LIN 하드웨어 설정을 설명하였다.
전송(Transmit)창에서 LIN 메시지를 전송하는 방법을 설명하였다.
RBS창에서 LIN 메시지를 전송하는 방법을 설명하였다.
LIN 전송창과 LIN RBS 창을 사용하는 방법은 CAN 전송창과 CAN RBS 창을 사용하는 방법과 유사한 점이 많다.
LIN이 마스터-슬레이브 방식이기에 이와 관련된 설정들이 있다. LIN 메시지 전송과 LIN RBS에 마스터-슬레이브 방식의 특징을 고려하여 고려하여 관련 설정을 해주면 된다.