Toby's Study Blog
article thumbnail
[ubuntu] 소켓 통신 데이터 전송 및 저장
embedded 2023. 11. 20. 18:30

📁 소켓 통신이란? 우선 소켓은 두 개의 컴퓨터(엔드포인트)를 연결하는 통로를 의미하며 두 개의 컴퓨터는 이를 통해 네트워크가 형성된다. 위 상태에서 데이터를 주고 받는 통신을 하는 것을 소켓 통신이라고 부른다. 소켓 통신은 연결 지향형 통신인 TCP와 비연결 지향 통신인 UDP가 있다. 📁 소켓 통신 과정 사용자가 구글에 무언가를 검색할 때를 예시로 들면 통신 과정은 다음와 같다. 서버 측 (Google 서버 PC) socket() 함수를 통해 소켓을 생성 bind() 함수를 통해 소켓에 IP 주소와 포트 번호를 할당하여 클라이언트가 서버에 연결할 수 있게 함 listen() 함수를 통해 클라이언트의 연결 요청을 기다림 accept() 함수를 통해 클라이언트의 연결 요청을 수락하고, 다른 클라이언트의 ..

article thumbnail
[protocol] bxCAN 이론 정리
embedded 2023. 10. 29. 22:34

📶 bxCAN 이란? ST Microelectronics에서 개발한 CAN 통신 인터페이스이며 표준 CAN과 확장 CAN을 모두 지원하며 아래와 같은 특징이 있다. 고속 전송 : CAN protocol 2.0 A, B를 통해 1 Mbit/s의 전송 속도 지원 저전력 소비 : 저전력 모드에서 10 µA 이하의 전력 소비를 지원 다중 CAN bus 지원 : 최대 4개의 CAN bus를 동시에 지원 Message filtering : 특정 메시지만 전송하거나 수신할 수 있음 Error handling : CAN bus에서 발생하는 오류를 처리 📶 bxCAN 구조 위 diagram은 Dual CAN block diagram 으로 2개의 CAN bus를 각각 Master(메시지 전송용)와 Slave(메시지 수신용..

article thumbnail
[device] CAN Gateway 이론 정리
embedded 2023. 10. 26. 19:57

🚪 CAN Gateway란? 자동차 안에응 아래와 같은 여러 CAN Bus가 존재하며 여러 CAN Bus들은 서로 물리적으로 연결 장치를 통해 연결되어 있는 네트워크 구조를 가지고 있다. Chassis CAN 기본적인 기능을 제어하는 ECU 간의 통신에 사용되는 Bus (e.g. 엔진, 변속기, ABS, ESP, 스티어링, 브레이크 등) Infotainment CAN 각종 정보, 엔터테이먼트 시스템을 제어하는 ECU 간의 통신에 사용되는 Bus (e.g. 오디오, 내비게이션, 음악 등) Powertrain CAN 파워트레인을 제어하는 ECU 간의 통신에 사용되는 Bus (e.g. 모터, 배터리, 충전기 등) CAN Gateway는 서로 다른 CAN Bus(Network) 간 Message와 Signal ..

article thumbnail
[protocol] CAN 통신 이론 정리
embedded 2023. 10. 14. 01:33

AMP, Bit Timing, Re Synchronization, ID Filter, Fault Confinement 등에 대한 구체적인 추가 상세 내용들은 정리가 부족하여 우선 비공개로 작성 하였습니다. 🚗CAN 통신이란? 차량 내 각종 장치(e.g. 센서, 액추에이터 등) 간의 통신을 위해 만들어진 통신이며 효율성, 안정성, 신뢰성을 추구함 (※ CAN 통신 개발 전에는 N:N UART 통신을 사용하여 배선 연결 관리 및 시스템 제어가 매우 복잡하였다.) 차량 내 제어기와 진단 장치는 ECU가 포함되어 있으며 센서, 엑추에이터 등에개 명령을 내리거나 정보를 수집 ECU 내부에 MCU라는 미니컴퓨터에 연결되어 있어 개발자는 MCU를 통해 여러 기능을 정의하고 ECU에게 기능 수행 명령을 전달할 수 있다..

article thumbnail
[protocol] UDS 이론 정리
embedded 2023. 10. 13. 19:26

🚐 진단 통신 프로토콜 이란? 진단 통신은 자동차 제어기의 고장에 따른 사고를 방지하기 위한 ISO 기반 표준 통신 프로토콜이다. 진단 통신에 필요한 장치를 차량의 ECU 또는 OBD 단에 연결하여 공통적으로 아래와 같은 기능을 수행 한다. ECU 리프로그래밍 : 진단통신을 통해 ECU에 새로운 소프트웨어를 업데이트하여 오류 수정 및 성능 개선 ECU 정보 획득 : ECU의 다양한 정보를 획득 오류 진단 : 오류 코드를 읽고 해석하여 차량의 문제를 진단 🚐 진단 통신 프로토콜 종류 진단 통신 프로토콜은 아래 3가지가 있으며 역할은 서로 비슷하나 중점 사항에 따라 조금씩 다르며 3가지 모두 법적 의무사항이 있다. 1) UDS(Unified Diagnostic Services) - 차량 오작동 진단에 중점을..

article thumbnail
[stm32] Bluetooth 이론 및 실습
embedded 2023. 10. 11. 17:43

🚙 Bluetooth 란? 2.4GHz 주파수 대역을 사용하는 근거리 무선통신 기술이며 전력 소모가 적고, 연결이 간편한 특징을 가지는 통신이다. 와이파이와 비교하여 정리하면 아래와 같다. 특 성 와이파이 블루투스 주파수 대역 2.4GHz, 5GHz 2.4GHz 최대 데이터 속도 9.6Gbps 24Mbps 전력 소비 높음 낮음 연결 범위 100m 10m 보 안 높음 낮음 사용 용도 인터넷 연결, 대용량 데이터 전송 근거리 장치 연결, 소형 데이터 전송 블루투스 모듈 [zs-040] zs-040은 블루투스 4.0을 지원하며 2.4GHz 주파수 대역, 1Mbps 속도를 가지는 블루투스 통신 모듈이다. uart 또한 지원한다. F429zi MCU에는 블루투스 기능이 없어 블루투스 모듈이 따로 필요하다 해당 모..

article thumbnail
[stm32] RTOS 실습
embedded 2023. 9. 18. 21:14

🚃 실습 목표 FreeRTOS를 사용하여 두 개의 스레드 간 통신 예제 구현 1.1 두 개의 Task 생성 및 osEventFlags, osThreadFlags (FreeRTOS에서 제공하는 이벤트 플래그 관리 API) 생성 1.1 EventFlag가 define 되어있을 경우 thread1_Task() 에서 osEventFlags 생성 1.2 EventFlag가 define 되어있지 않을 경우 thread1_Task() 에서 osThreadFlags 생성 1.3 EventFlag가 define 되어있을 경우 thread2_Task() 에서 이벤트 플래그 객체 대기 1.4 EventFlag가 define 되어있지 않을 경우 thread2_Task() 에서 thread1의 플래그 대기 1.2 LED2, L..

article thumbnail
[stm32] RTOS 이론 정리
embedded 2023. 9. 11. 20:57

🚃 RTOS 란? 사용자 - 프로그램 - 하드웨어 간 소통을 통해 도와주는 OS에서 수행하는 작업이 제한 시간 안에 정확하게 이루어져야 할 때 사용하는 것이 RTOS이다. Window와 같은 OS는 용량이 크고 MCU는 실시간성이 중요하기 때문에 RTOS 중 가벼운 RTOS를 주로 사용한다. 🚃 RTOS의 분류 RTOS는 크게 소프트웨어와 하드웨어 RTOS로 나뉜다. 소프트웨어 RTOS 원하는 장치에서 RTOS 소프트웨어를 실행하여 RTOS를 사용하는 것을 의미한다. 실시간성이 요구되나 소프트웨어상의 딜레이 등의 장애가 있어도 될 때 사용한다. (※ e.g. 실시간 게임, 비디오 스트리밍, 각종 애플리케이션 등에 사용하며 FreeRTOS, ChibiOS/RT 등이 있다.) 하드웨어 RTOS RTOS 기능..

검색 태그