SPI

  • Serial Peripheral Interface
  1. 전이중 통신 모드로 동작
    • 전이중 통신: 양방향 통신이 가능 (ex. 전화 - 내가 말하면서 들을 수 있음)
  2. 마스터 슬레이브 모드로 동작
  3. 마스터가 데이터 초기화 가능
  4. Chip Select 라인으로 여러 슬레이브 선택 가능

SPI 인터페이스

  • SPI는 4가지의 신호 지정, 이 4가지의 신호가 있어야 SPI 통신 가능
    1. SCLK
      • Serial Clock(직렬 클럭)
      • 마스터에서 출력하여 슬레이브로 입력
      • SPI 통신의 주기를 SCLK로 설정 가능
      • 동기화 신호이며 통신 Clock이라고 생각하면 됨
    2. MOSI
      • Master Output Slave Input
      • 마스터 출력, 슬레이브 입력
      • 실제 마스터에서 슬레이브로 데이터를 전송할 때 MOSI를 이용
    3. MISO
      • Master Input Slave Output
      • 슬레이브 출력, 마스터 입력
      • 보통 MOSI로 슬레이브에 명령 DATA가 입력, MISO로 슬레이브에서 응답 DATA 출력
    4. CS
      • Chip Select
      • 보통 SS핀(Slave Select)으로 슬레이브 선택할 때 사용

SPI: N 통신의 이해

  • SCLK로 동기식 클럭을 만들어 줌
  • CS로 Slave를 선택하여 통신
  • SPI는 한 개의 Slave Device와만 통신 가능, CS를 LOW로 주면 해당 장치와 통신

→ 통신하지 않는 Slave는 CS에 High를, 통신하는 Slave는 CS에 LOW를 주면 됨

SPI, DSPI, QSPI

  1. SPI
    • 대부분의 단일 SPI 직렬 처리 속도: 10Mbps
    • 단일 SPI 병렬 처리 속도: 10 – 24Mbps
  2. DSPI
    • 전송 속도를 두 배로 높일 수 있는 듀얼 I/O 인터페이스
    • MISO 및 MOSI 데이터 핀은 클록 주기당 2비트를 전송하기 위해 반이중 모드에서 작동
    • MOSI 라인은 IO0, MISO 라인은 IO1
    • DSPI 직렬 처리 속도: 약 20Mbps
  3. QSPI
    • 처리량 4배 향상
    • 2개의 추가 데이터 라인 추가
    • 클록 사이클마다 4비트 전송
    • 데이터 라인 IO0, IO1, IO2, IO3
    • QSPI 직렬 처리 속도: 약 40Mbps

참고자료

SPI(Serial Peripheral Interconnect) 버스 란?
[회로설계 - 기초이론] SPI 통신 쉽게 이해하기
What are the Differences of Single vs Dual vs Quad SPI?

'technology > IP' 카테고리의 다른 글

Memory Types on Embedded Programming  (0) 2022.11.01
CAN (Controller Area Network)  (0) 2022.10.24
ADC (Analog-to-Digital Converter)  (0) 2022.09.30

Memory Types

  1. 전원 차단 시 지워지는 것

    • RAM: Random Access Memory
  2. 전원 차단 시 지워지지 않는 것

    • ROM: Read Only Memory
  3. RAM

    • RAM
    • SRAM
      • Static RAM
      • DRAM에 비해 5배 빠르며 비싸다. Static의 의미는 전기를 주는 한 데이터가 지워지지 않는다는 의미이며, Dynamic은 1초마다 refresh(Capacitor에 전자를 채워주는 것) 해야 데이터가 유지된다.
      • 보통 MCU의 RAM에 SRAM만 있는 이유는 속도 때문!
  4. ROM

    • ROM

    • Flash

    • EEPROM

    • Flash와 EEPROM, Emulation

      • Flash: 싸고 빠르며 큰 block 단위로 지우고 쓸 수 있다.

      • EEPROM: 상대적으로 비싸고 느리며 작은 block 단위로 지우고 쓸 수 있다.

        → 작은 크기의 데이터를 쓰면 EEPROM, 큰 데이터를 쓰면 Flash 사용

      • Flash

        • Program Flash: 프로그램 Code 저장
        • Data Flash: 사용할 데이터(ex. Setting 값) 저장

        → EEPROM, Program Flash, Data Flash 중 기능과 가격을 고려해서 메모리 선택

      • Emulation

        1. 필요성

          • 자동차 분야에서는 ECU 소프트웨어의 복잡성과 기능 안전 요구사항 증가로 많은 양의 데이터를 비휘발성 메모리에 저장하는 기능 요구

            → 기존 ECU는 외장 EEPROM에 데이터를 저장

            → 최근에는 MPU 내부의 일부 Flash 영역에 데이터 저장 기능 구현: Emulation

            → Flash Memory가 EEPROM의 역할 대체하는 EEPROM Emulation 적용 추세

          • 가격이 싼 Flash memory를 EEPROM과 같이 쓰기 위해서 Emulation 하는 것

        2. 방법

          • Flash는 큰 block 단위, EEPROM은 작은 block 단위이기 때문에 Flash를 EEPROM처럼 쓰려면 알고리즘이 필요
          • 하나의 데이터를 변경할 때도 블록 내부의 모든 데이터를 다시 저장해야 함
          • Flash Memory를 다수의 블록으로 나누어 특정 블록에는 변경되지 않는 데이터를 저장하고 나머지 블록에 순차적으로 변경된 데이터 저장
        3. 문제점

          • 변경된 데이터 식별을 위해 비트 단위의 비교 연산과 복구 연산 필요

            → 성능이 떨어짐

          • 제어 정보 저장하는 블록은 동일 위치에 제어 정보를 기록하기 때문에 다른 블록에 비해 수명이 짧음

            • 일반적으로 Flash가 기록 수명이 EEPROM보다 짧음

              → 수명 보장에 치명적

        4. 효과

          • EEPROM 소자가 필요하지 않아 비용 절감 효과가 있음(EEPROM 소자 비쌈)
          • EEPROM에 대한 회로 설계가 필요하지 않아 PCB 레이아웃 설계에서의 장점이 있음
  5. 사용 예시

    • 코드: 전원이 꺼져도 사라지지 않아야 함 → ROM의 한 종류인 Flash에 저장

      전원이 켜지면 실행되어야 함 → RAM Memory에 올리고 MCU 실행

      RAM 영역에서 실행하고 전원을 끄면 RAM 내용이 삭제됨

    • Setting 값(ex. 모니터 밝기): 전원이 꺼져도 저장되어 있는 것이 편함 → ROM의 한 종류인 EEPROM에 저장

      • EEPROM: Flash에 비해 Read/Write 속도가 느리고 쓰는 횟수도 제한되어 있음
  6. 실제 사용하고 싶은 MCU를 선택할 때 고려할 것

    • 사용할 코드의 크기 → Flash

    • 실제 프로그램 실행 시 RAM에 올릴 코드의 크기 → SRAM

    • 전원이 꺼져도 값이 유지되어야 하는 변수 → EEPROM

      → 동일 Family에서 메모리 크기가 다른 Chip을 만드는 이유

참고 자료

RAM, ROM, Flash 메모리::하드웨어
마이크로컨트롤러(MCU); Program memory(Flash memory)와 Data memory(SRAM)비교
[반도체] 플래시 메모리(Flash Memory)
[반도체] 반도체 분류 사전 (3) - 시스템 반도체
ROM과 RAM - EEPROM, Flash Memory, NVRAM
Memory Types on Embedded Programming(Memory의 종류 및 고려해야 할 점)

'technology > IP' 카테고리의 다른 글

SPI (Serial Peripheral Interface)  (0) 2022.11.03
CAN (Controller Area Network)  (0) 2022.10.24
ADC (Analog-to-Digital Converter)  (0) 2022.09.30

Controller Area Network(CAN)

  • 차량 내에서 호스트 컴퓨터 없이 MCU나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격
  • 차량 내 ECU(Electronic control unit)들은 CAN 프로토콜 사용하여 통신

특징

  1. 메시지 지향성 프로토콜(Message-Oriented Protocol)

    • 메시지 우선순위에 따라 ID 할당 → 이 ID를 이용해 메시지 구별

      ex. 임의의 한 노드 A가 메시지를 전송

      → 나머지 노드들은 A가 전송한 메시지가 자신에게 필요한 메시지인지를 판단(ID기반 판단)

      → 자신에게 필요하다면 받아들이고, 아니라면 무시

  2. 보완적인 에러 감지 매커니즘

    • 높은 안정성 보장
      • 다양한 에러 감지 매커니즘이 상호 보완적으로 에러 감지
    • 짧은 에러 회복 시간
      • 메시지 전송 시 에러가 감지되면 자동으로 해당 메시지를 즉시 재전송하는 기능
  3. 멀티 마스터 능력

    • 감독자 노드 필요 없음

      • CAN 기반 네트워크는 버스 점유를 위한 감독자 노드(Bus Master) 필요 없음

      • 모든 노드가 버스 마스터로 버스가 비어있다면(idle) 언제든지 메시지 전송 가능

      • 모든 노드는 버스가 비워지는 즉시 메시지 전송 시작

        ex. CAN 버스에서 두 개의 노드가 메시지를 동시에 전송하려고 하면, 우선순위(식별자, ID)에 따라 각각 전송됨

        → 우선순위가 높은 메시지(더 낮은 ID번호가 우선순위 높음)가 먼저 전송

  4. 결점 있는 노드의 감지와 비활성화

    등장 배경

  • 초기에는 자동차 내 모듈이 많지 않아 UART 방식(일대일, Point-To-Point)로 ECU 연결
  • 서로 다른 모듈간 통신을 위해 많은 선(Line)이 필요해짐
    • 유지 보수 문제, 무게 증가, 연비 하락의 문제 발생
  • CAN 등장
  • 여러 개의 CAN 디바이스가 서로 통신할 수 있는 안정적인 네트워크(다중 통신 방식, Multi Master 방식) 제공
  • ECU가 시스템 내 디바이스마다 아날로그 및 디지털 입력 대신 단일의 CAN 인터페이스만 보유

→ 자동차의 비용과 중량 감소 효과

CAN 통신의 종류

  1. C-CAN (Chassis CAN)
    • 고속 CAN 통신을 하고 CLU, YRS엔진, 미션, ABS, ECU(엔진), TCU 등 빠른 데이터 통신을 요구하는 ECU에서 사용됨
  2. B-CAN (Body CAN)
    • C-CAN에 비해 저속 통신을 하고 BCM 라이트, 파워윈도우, 스마트 키 모듈과 같은 주행과 관계 없는 통신에 주로 사용됨
  3. M-CAN(Multimedia CAN)
    • 전자 기기들로 네비게이션, 차량 내 멀티미디어 통신 기기와의 연동을 위한 각종 모듈을 포함
  4. P-CAN (Power CAN)
    • DATC 모듈, TCU, EMS(ECU, 각종 센서, 각종 액츄에이터) 등이 있으며 샤시 관련해서 겹치는 통신이 있음
  • 각 CAN의 통신 속도는 125Kbps~1Mbps
참고 자료

CAN 프로토콜 통신

CAN 통신의 이해 | FESCARO

'technology > IP' 카테고리의 다른 글

SPI (Serial Peripheral Interface)  (0) 2022.11.03
Memory Types on Embedded Programming  (0) 2022.11.01
ADC (Analog-to-Digital Converter)  (0) 2022.09.30

자율주행은 새로운 개념은 아니다.
1918년 Oakland Tribune Newspaper의 실린 "Motor Car of the Future"에서는 "The new car will be [...] controlled entirely by a set of push buttons."라고 자율주행의 모습을 예견하기도 했다.

이제는 기술 허들을 극복하고, 진짜 자율주행의 잠재력이 보이고 있다. 자율주행을 이해하기 위해, 먼저 일반적인 AI의 관점에서 자율주행을 보아야 한다.

인공지능은 크게 세 가지로 분류된다.
Artificial Narrow Intelligence (ANI)
특정 문제 해결에 전문화된 AI, 인간이 할 수 있는 하나의 기능을 초월하는 인공지능을 말함. 약 AI(Weak AI, 인간을 돕는 도구로 설계, 구현된 AI)라고도 함
Aritificial General Intelligence (AGI)
모든 영역에서 인간 수준인 AI, 하나의 인간을 초월하는 인공지능. 강 AI(Strong AI, 인간의 지능을 완벽하게 모방한 AI)로 분류
Artificial Super Intelligence (ASI)
인류 전체의 지능을 초월하는 AI, 초인류. AGI와 마찬가지로 강 AI

하지만 해당 분류에 대해서는 아직 여러 논쟁이 있는 듯하다. 오히려 분류에 갇혀 인공지능 이해에 혼란을 준다는 의견도 있고..

AGI나 ASI는 아직 개발 중인 분야이며, 자율주행은 ANI로 분류된다. 알파고가 또다른 대표적 ANI의 예시. 근거리 미사일 추격 시스템?(Target system of close-range defense of approaching missiles)도 ANI라고 함.

자율주행의 5단계는 아래 그림과 같다.

자율주행 단계도 마찬가지로 여러 논쟁이 있는 것으로 보이나.. 아무튼 자율주행을 소개할 때 가장 먼저 거론되는 내용이다.

이미 OEM(완성차 기업)은 크루즈 컨트롤, 자동 주차 시스템 등 자율주행 Level 1의 기능을 대부분 도입했다.
지금은 Level 2: 테슬라의 Autopilot, 캐딜락의 Super Cruise, 벤츠의 Drive Pilot이 sweet spot라고 볼 수 있다.

Level 3부터는 Redundancy를 규정으로 지켜야 하기 떄문에 Redundancy가 핵심 역할을 하게 된다. 이에 더해 Level 3부터는 책임 소재에 문제가 생긴다!
이를 위해 차량에는 환경을 인지하기 위한 센서와 센서에서 수집한 정보를 올바르게 처리하기 위한 더 많은 Intelligence가 필요하다. 이 두 가지가 현재 차량 산업의 주요 도전임.

단계가 올라갈수록 현 기술의 위치는 불투명하다. 테슬라의 사례에서 볼 수 있듯 자율주행과 관련된 사고가 생기고 있다.
VDA(독일 차량 산업 협회)는 2025년에 Level 3에 도달할 것이라고 예상하고 있다.

자율주행이 현재 실현 가능한 한계에 다다랐다는 건 사실이다.
자율주행은 수많은 개발, 프로세스로 인한 비용 문제와 사회적 문제와 연관되어 있다. 이 미래를 준비하기 위해서는 끊임 없이 진화해야 할 것이다.


인공지능 단계 정리할 겸 자율주행 + 인공지능과 관련된 자료를 찾아 정리해보려는 의도였는데.. 이정도면 그냥 번역 아닌가 싶다.
물론 번역도 아님.. 번역이라기엔 다소 엉망진창인 면이 있기 때문이죠
읽으면서 꽤 흥미롭다고 생각해서 정리를 시작했는데 막상 정리하고 나니 아주 러프하게만 다뤄서 당연하게 느껴지는 얘기 같기도 하고..
근데 자율주행에서 알고리즘, NPU는 공부해도 전체를 아우르는 인공지능 관점에서 생각해 본 적이 없어서
인공지능과 결합해서 자율주행 개념을 정리하는 의미에서는 또 좋았다..

참고한 자료
Autonomous Driving - One step closer to artificail intelligence
인공지능(AI), [4IR-3.2] 4차 산업혁명 기술 이해-2
메리츠증권 김준성 텔레그램

Mobility Terminology

Ultrasonic

→ 초음파 센서

→ 일정한 간격으로 높은 주파수를 쏘아 주변을 감지하는 센서로, 20mm에서 10m사이의 가까운 거리의 물체를 감지하는 데 사용


OBU

→ On Board Unit

→ 차량 단말기


RBU

→ Road Side Units

→ 노변기지국


OTA

→ Over The Air

OTA

→ 새로운 소프트웨어, 펌웨어, 설정, 암호화 키 업데이트를 휴대전화, 셋톱박스 등의 장치에 무선으로 배포하기 위한 방식을 말한다.

→ 펌웨어의 경우, ROM, EPROM, flash memory 등 비휘발성 메모리에 탑재되어 있어서 생산 이후에는 변경이 불가능하다. 따라서 펌웨어의 버그나 새로운 기능을 추가하기 위해 반드시 필요한 물리적 연결의 불편함을 해결하기 위해 무선으로 배포하는 기술이 필요하다.

→ 하나의 중앙 제어소에서 모든 사용자에게 전송 가능하다. (사용자는 업데이트 거부 및 변조 불가능)


ASIL/ISO 26262

→ ASIL(자동차 안전 무결성 수준)은 자동차 시스템과 관련된 치명도를 표현하는 기준으로, 치명적인 위험의 노출, 제어 가능성, 심각도의 함수이다.

→ ASIL = f(E, C, S) (E: Exposure, C: Controliability, S: Severity)

ASIL 노출 등급 분류
ASIL 법주

ASIL 수준이 갖는 의미

  • ISO 26262는 ASIL 수준에 따라 고장 상황에서도 설계자 및 시스템 엔지니어가 실현해야 하는 안전 요구사항을 정의하며, 시스템이 사용자(운전자, 승객, 도로 교통 이용자 등)의 안전에 대해 충분한 여유를 제공해야 한다.
  • ASIL 수준은 특정 모듈에 결부되는 것이 아니라 특정 기능에 결부된다.
  • ASIL 수준은 감지 가능성 향상 및 대응 조치 실행과 같이 동일한 기능을 수행하는 두 가지 개별적인 요소의 분리를 통해 낮출 수 있다.
  • 구현된 방식 그대로 안전 핵심 기능의 추적 가능성을 입증할 수 있으려면 설계 사이클의 각 단계에서 적절한 증거를 유지해야 한다.
    ASIL 평가 방법

SAE

→ 국제자동차기술자협회


OEM, Tier 0.5,1,2,3

→ 자동차산업 밸류체인

자동차 산업 에코시스템


SVM

→ Surround View Monitoring
→ E-mirror와 동일 개념


T-RVC

→ RVC : 후방 카메라

→ 원래 R-RVC라고 하나 R이 경쟁사 이름이라 우리는 T-RVC라고 함


모빌리티는 끝! 다음에는 반도체 산업 용어 정리가 될 예정이다.

TED 원영상 보기

요약

  • 암흑에너지가 고르게 있으면 밀어내는 중력이 존재 → 그래서 우주 팽창이 가능
  • 왜 하필 그 숫자의 암흑에너지가 나오는가?
  • 암흑에너지는 초끈이론에서 끈이 만드는 다차원으로 인한 것으로 설명 가능
  • 우리는 그럼 어떤 차원에 있는가? 너무 많은 가능성이 있음
  • 반대로, 아주 각기 다른 차원 모양을 가지는 우주가 퍼져있고 그 중에 적절한 암흑에너지를 만드는 차원에 우리가 살고 있는 건 아닐까?
    • 암흑 에너지가 더 적을 경우 우주는 소멸하고, 더 많을 경우 흩어지는 힘이 강해 은하, 별 생성이 불가능하기 때문에 적절한 암흑에너지를 가지는 우주만 은하, 별이 있고 우리가 여기 살 수 있는 건 아닐까?
  • 실제로 빅뱅 당시를 보완한 급팽창이론에 의하면 양자장에 의해 폭발이 일어났고, 이 양자장은 에너지가 크고 효율적이라 우리 우주 뿐만 아니라 다른 우주도 한번에 터졌을 수 있음
  • 우주가 서로 부딪힐 가능성도 있는데, 이때 우주복사에너지가 변할 것으로 예상. 우주복사에너지는 지문 같은 것으로 변하면 근거가 됨
  • 아주 먼 미래에는 팽창으로 아주 깜깜한 우주가 될 수도 있다. 그때의 천문학자들은 우리가 말하는 반짝이고 동적인 우주를 믿지 않을 것. 우리는 탐험할 수 있는 축복 받은 시대에 살고 있다.

+ Recent posts