Lin 7

LIN overview (5) LIN 검증 (with PLIN)

- LIN 검증 환경 세팅 이제 LIN 검증의 마지막 파트입니다. 지금까지는 제가 설계한 LIN controller끼리 연결해서 data transfer test를 진행했는데요, 다른 LIN controller랑 연결을 해봐야겠죠?? 저는 PEAK 사의 PCAN USB PRO FD(이하 PLIN)으로 LIN 검증을 진행했습니다. PLIN이 있어도 제어 프로그램이 있어야 하겠죠?? PEAK 홈페이지에서 설치 파일을 다운로드할 수 있습니다. https://www.peak-system.com/PCAN-USB-Pro-FD.366.0.html?&L=1 해당 파일을 다운로드하고 설치를 진행하는 과정에서 LIN device driver 옵션을 반드시 설정해야 LIN 제어 프로그램을 사용할 수 있습니다. PLIN을 P..

Ch1 Seminar/IP 2024.01.25

LIN overview (4) LIN 검증 (with transceiver)

제가 설계한 LIN controller IP를 SOC에 올려서 FPGA 합성을 하고 데이터 통신 test를 진행했습니다. 제가 설계한 LIN IP끼리 한 test는 2가지였는데요, 이 글에서는 진행한 test들에 대해 설명해보고자 합니다. - TEST without transceiver 먼저는 FPGA 보드 상에서 transceiver 없이 io 핀끼리 연결해서 test를 진행했습니다. 원래 LIN 통신은 1-wire 통신이지만 저희가 구매한 LIN transceiver는 보드와 연결되는 부분이 TX/RX로 나누어져 있어서 lin_out/lin_in과 lin_oe signal을 만들어서 설계를 하고 보드 핀에 할당했습니다. 그래서 test 환경을 그림으로 나타내면 다음과 같습니다. LIN IP를 2개 넣..

Ch1 Seminar/IP 2023.12.27

LIN overview (4) LIN 검증

전에 한 달 동안 작업했던 LIN controller IP 설계가 끝나서 검증을 위해 체크리스트를 작성하고 있는데요, 이 글에 한번 정리해보려고 합니다. 혹시나 수정해야 할 부분이 있다면 댓글 환영입니다!! - Register Read/WriteIP는 내부에 있는 register를 세팅하여 컨트롤됩니다. 이 register는 버스 접근을 통해 read/write 되는데요, 저는 APB bus를 기준으로 설계했습니다. Register의 기본 값이 제대로 읽히는지 Register에 값이 제대로 쓰이고 읽히는지 확인해야 합니다. - Data loopback그다음으로는 데이터 송수신이 제대로 되는지 확인해야 합니다. 저는 LIN controller 2개를 BFM을 붙여서 연결하고 loopback test를 진행..

Ch1 Seminar/IP 2023.12.08

LIN overview (3) Schedule table - 2

지난 글에서 LDF 파일 format 중간정도까지 살펴보았는데요, 이번글로 끝까지 살펴보도록 하겠습니다. 2023.10.16 - [Ch1 Seminar/IP] - LIN overview (3) Schedule table - 1 LIN overview (3) Schedule table - 1 LIN은 overload를 막기 위해 schedule tabe을 통해 모든 통신을 진행합니다. - Time base 한 Frame에는 Header와 Response가 있고 최대 8-byte 통신이 가능하다고 했습니다. 한 Frame 통신당 걸리는 시간이 정해져 있 veriln-e.tistory.com - LDF format 3. Signal definition ::= Signals { [: , , [, ] ;] } 통..

Ch1 Seminar/IP 2023.10.30

LIN overview (3) Schedule table - 1

LIN은 overload를 막기 위해 schedule tabe을 통해 모든 통신을 진행합니다. - Time base한 Frame에는 Header와 Response가 있고 최대 8-byte 통신이 가능하다고 했습니다. 한 Frame 통신당 걸리는 시간이 정해져 있는데, time base를 기반으로 정해집니다. 한 Frame이 진행되는 시간은 time base의 n배이고, 통상적으로 time base는 5ms 또는 10ms입니다. 그러니까 LIN이 굉~~장히 느리다는 거죠. 이전에 LIN protocol overview에서 PID를 통해 모든 통신을 정의한다고 했는데요, LDF 파일을 통해 모든 통신이 사전에 정의됩니다. 2023.10.04 - [Ch1 Seminar/IP] - LIN overview (1)..

Ch1 Seminar/IP 2023.10.16

LIN overview (2) Sleep, Wake up

- SleepLIN 통신에서는 통신이 진행되지 않을 때(일반적으로 4초 이상 LIN 버스가 비활성 상태이면), 전력 소모를 줄이기 위해 절전모드인 Sleep 상태에 들어갑니다. 그리고 다시 통신이 시작될 때 wake up 신호를 통해 Sleep 상태를 해제시킬 수 있습니다. Master는 Slave에 go to sleep 커맨드를 통해 sleep 상태로 전환시킬 수 있습니다(LIN 2.1). PID가 0x3C일 때, 첫 번째 데이터가 0이고 나머지 데이터가 0xFF면 slave는 sleep 상태로 전환됩니다. 정리하자면 LIN controller는 master가 요청하거나 일정시간 이상 LIN bus가 idle 상태이면 sleep 모드로 들어갑니다. - Wake upSleep모드에 있는 장치가 통신을 시..

Ch1 Seminar/IP 2023.10.11

LIN overview (1) Protocol

오늘날의 자동차는 단순히 이동 수단이 아니라 여러 가지 기능이 있습니다. 이를 구현하기 위해서 자동차에는 내부 통신 규격이 필요한데요, 대표적으로 CAN과 LIN이 있습니다. 이 글에서는 LIN에 대해 정리해 보도록 하겠습니다. - LIN의 특징LIN(Local Interconnect Network)은 자동차의 단순한 기능을 위한 통신 규격입니다. 그러니까 고성능을 위한 통신은 CAN, 저성능을 위한 기능은 LIN이라고 보시면 되겠습니다.저비용1 Master - multi Slave (최대 15개의 Slave 연결 가능)주로 조명, 창문 컨트롤, 좌석 조절기 등의 낮은 성능 지원 (CAN은 엔진 제어, 브레이크 시스템 등의 주요 시스템)1-wire의 단순 구조 통신 (CAN은 2-wire) Applica..

Ch1 Seminar/IP 2023.10.04