🌏 네트워크 매니지먼트란? CAN 네트워크 매니지먼트는 자동차의 제어 장치(ECU) 간 통신의 안전성과 신뢰성을 보장하기 위해 CAN(Controller Area Network) 버스 상에 연결된 모든 ECU의 상태를 모니터링하고 관리하는 프로세스를 의미하며 주요 기능은 아래와 같다. 각 ECU의 네트워크 활성/비활성 상태 모니터링 각 ECU는 NM 메시지 또는 CAN 버스 활동을 통해 다른 ECU의 네트워크 상태를 감지한다. 네트워크 비활성 상태에 진입하거나 탈출할 때 NM 메시지를 사용하여 다른 ECU에 알린다. 네트워크 활성/비활성 상태 변화 제어 특정 조건 충족 시 ECU는 네트워크 활성 상태로 전환됨 (예: 엔진 시동, CAN 버스 활동 감지) 특정 조건 충족 시 ECU는 네트워크 비활성 상태로..
📥 Flash Reprogramming 이란? 임베디드는 개발은 보통 ECU(전자 제어 장치)를 개발자가 코딩을 통해 개발한 소프트웨어(펌웨어)를 사용해 원하는 기능을 하도록 하는 것을 의미한다. 이 때, ECU에 소프트웨어를 업데이트 하는 과정을 Flash Reprogramming 이라고 부른다. 개발 단계 이후 양산 단게에서도 오작동을 수정하거나 새로운 기능을 추가하는 등의 소프트웨어 업데이트가 필요한 경우 Flash Reprogramming을 통해 소프트웨어를 업데이트 할 수 있다. 자동차의 OBD-II 포트에 제조사별로 사용하는 펌웨어 업그레이드 장비를 연결해 Flash Memory에 소프트웨어를 업데이트 하는 방식을 사용한다. 📥 주요 구성 요소 Flash Reprogramming 과정은 Fla..
(※ 많은 사이트를 보고 공부해나가며 직접 정리한 것으로 올바르지 않은 내용이 있을 수 있습니다.) 💾 PCB vs Chip SOC를 이해하기 전 알아야할 칩, 회로 기판 등의 개념에 대해서 조사하였다. 회로 기판 (Board) 칩 (Chip) 정의 구리 등의 전도성 금속 회로판에 여러 칩, 부품, 연결망을 연결한 것 실리콘 판에 여러 반도체 소자를 집적한 것 주요 구성 전자 부품, 연결자, 전원 공급 장치 등 반도체 소자 (CPU, 메모리, 입출력 등) 크기 다양한 형태가 있으나 상대적으로 큼 실리콘 웨이퍼의 크기에 따라 다르나 보통 작음 용도 전자 회로를 구성하여 여러 기능도 수행 가능 (e.g. CPU 보드: PC에 연결 가능) 모든 기능이 아닌 특정 기능을 주로 수행 (e.g. CPU 칩: 데이터..
🚙 소프트웨어 플랫폼 소프트웨어 플랫폼은 소프트웨어와 하드웨어를 연결해주는 중간 계층이다. 컴퓨터에서는 OS, 드라이버 등의 소프트웨어를 통해 하드웨어에 접근하고 자동차에서는 AUTOSAR, XENON, ODIN과 같은 소프트웨어 플랫폼을 통해 접근한다. 현재 AUTOSAR의 점유율은 약 80% 정도이고 계속 증가하는 추세이다. 구분 제어기 컴퓨터 소프트웨어 응용 SW 각 제어기별 기능 SW (ex. Auto Light, Wiper, Room Lamp, ...) 응용 SW (ex. Excel, Outlook, 프린터 기능, ...) SW 플랫폼 공통 기능 모듈, 표준 인터페이스 + Tool (ex. XENON, ODIN) OSEK OS, AUTOSAR .NET 프레임워크, 윈도우 7, 리눅스 그래픽 드라..
🧪 Simulink 란? Simulink(시뮬링크)은 MATLAB의 확장 기능으로, 동적 시스템(시간에 따라 변화하는 시스템)을 보기 쉽게 그림으로 표현하고 해당 시스템 동작을 분석하는 데 있어 도움을 주는 그래픽 다이어그램 환경이다. 예를 들면 전기 모터를 사용해 물을 펌프하는 시스템을 만든다고 하면 simulink를 사용해 전기 모터 동작에 필요한 블록(부품)과 펌프 동작에 필요한 블록(부품)을 추가하고 전기 모터가 자동 시 펌프가 물을 펌핑하도록 서로 연결한다. (※ 이 과정을 모델링이라고 부른다.) 해당 모델의 시뮬레이션을 시작하고, 사용자는 전기 모터에 따라 물이 펌핑 되는데 있어 필요한 정보들을 얻을 수 있다. Simulink 특징 직관적인 그래픽 시스템 그래픽 다이어그램을 통해 내가 만들 시..
📝 MATLAB 이란? MATLAB = Matrix(행렬) + Laboratory(실험소) MATLAB은 공학의 기초인 행렬을 만들고 필요한 계산 및 조작을 수행하는 프로그래밍, 프로그래밍 언어이다. (※ MATLAB 언어가 MATLAB 프로그램에서 사용되기 때문에 프로그램, 언어 둘다 맞는 표현이다.) 핵심 기능 수치 계산, 데이터 수집, 데이터 분석, 데이터 시각화, 결과 문서화 및 공유 기능이 핵심 기능이다. MATLAB 명령어, 함수 중심의 언어 MATLAB은 명령어와 함수 중심 언어로, 객체 및 절차 지향 프로그래밍을 지원한다. 폴더 기능 기본 작업 공간은 C:\Users\User\Documents\MATLAB 이며 window와 기본 명령어는 비슷하다, 📝 MATLAB 주요 내용 정리 기본 내..
🤖 실습 목표 이전 채팅 서버, 채팅 클라이언트 프로그램에 이어 IoT 서버, 클라이언트 실습을 진행하였습니다. 채팅 서버, 채팅 클라이언트 내용 -> https://toby12.tistory.com/53 iot_server, iot_client 프로그램 작성 프로그램 빌드 센서, 디바이스 데이터 베이스 구축 클라이언트 -> 서버 센서 데이터 조회 요청 및 확인 클라이언트 -> 서버 디바이스 설정 업데이트 요청 및 확인 🤖 상세 기능 서버 소켓 및 스레드 초기화: 서버 소켓 생성 및 초기화 클라이언트의 연결을 처리하는 스레드를 생성 클라이언트 관리: 최대 32개의 클라이언트를 관리할 수 있는 배열과 해당 클라이언트 수를 추적하는 변수 설정 클라이언트의 ID 및 비밀번호를 미리 등록된 정보와 비교하여 인증..
📬 소켓 통신 이란?? 아래 글에서 정리하였습니다. https://toby12.tistory.com/52 [ubuntu] 소켓 통신 데이터 전송 및 저장 소켓 통신이란? 우선 소켓은 두 개의 컴퓨터(엔드포인트)를 연결하는 통로를 의미하며 두 개의 컴퓨터는 이를 통해 네트워크가 형성된다. 위 상태에서 데이터를 주고 받는 통신을 하는 것을 소 toby12.tistory.com 📬 실습 목표 1. 소켓 통신을 이용한 채팅 프로그램 작성 ※ 채팅 서버 ※ 서버 초기화 및 소켓 생성 매개변수로 받은 포트 번호로 서버 초기화 및 소켓을 생성 클라이언트 연결 대기 및 인증 accept 함수를 사용하여 연결 요청받은 클라이언트의 연결 클라이언트가 연결되면, ID 및 비밀번호를 받아 인증 수행 클라이언트 관리 및 쓰레드..