Ch1 Seminar 29

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

AMBA AXI (1) Signals

AMBA 버스는 AXI 버스를 마지막으로 마무리하려고 합니다. AXI 버스는 보다 높은 Performance에 집중한 버스로 APB나 AHB와 다르게 Read와 Write을 동시에 할 수 있다는 특징이 있습니다. - 특징 Read와 Write을 동시에 할 수 있는 이유는 Write/Read channel이 구분되어 있기 때문입니다. AXI 채널은 다음과 같이 구성되어 있습니다. Write channel: Write Address, Write Data, Response Read channel: Read Address, Read Data APB(AHB)는 pwrite(hwrite) 신호가 1이면 write transfer, 0이면 read transfer이기 때문에 write와 read를 동시에 할 수 없는..

UART 통신 overview

UART(Universal asynchronous receiver/transmitter) 통신은 이전에 설명드린 I2C나 SPI와 달리 동기 신호(clock)를 사용하지 않는 프로토콜입니다. 비동기화 통신은 동기화 통신보다 전송 속도가 느린데, 어떤 차이가 있을까요?? - 장점 클럭을 쓰지 않기 때문에 클럭 핀이 필요 없고 1:1 통신이어서 address phase나 slave select 핀이 필요 없다. 데이터 송수신하는 2개의 핀만 사용 Tx, Rx가 나뉘어져 있어서 전이중 통신 지원 오랫동안 사용되었기에 복잡하지 않고 관련 문서도 잘 정리되어 있음, 많은 장치가 UART 지원 - 단점 클럭을 사용하지 않기 때문에 느린 속도, 1:1 통신 통신을 위해 전송속도(baud rate)를 잘 맞춰줘야 하고..

Ch1 Seminar/IP 2023.07.26

AMBA AHB (4) Arbitration

AHB bus에 대한 글은 중재(Arbitration)에 대한 설명으로 마무리하면 될것같습니다. - AHB Arbitration HBUSREQ: Master가 Arbiter에게 bus를 사용하고 싶다고 요청하는 신호입니다. HLOCK: Master가 bus를 계속 사용하고 있으니 끊지 말아달라고 Arbiter에게 요청하는 신호입니다. HGRANT: Arbiter가 가장 높은 우선순위를 가진 Master에게 High를 띄워줍니다. HMASTER: 현재 bus를 사용중인 Master를 표시해줍니다. HMASTLOCK: 현재 Master가 locked sequence를 수행중임을 나타냅니다. HSPLIT: Slave가 다시 split transaction을 할 수 있다고 알려줍니다.