본문 바로가기

ALL123

Stream 클래스 분석 (feat. Serial) Stream 클래스오늘은 Arduino 클래스 중 하나인 Stream C++ 클래스를 분석해본다.해당 클래스가 중요한 이유는 데이터 입출력 처리의 기본 클래스로써 WiFi 부터 Ethernet, UART, I2C, SPI 등등 각종 통신에서 Stream 클래스를 상속하여 사용하고 있기 때문이다. (Stream 클래스를 기반으로 인터페이스 된다.)코드의 내용은 오픈소스로써 깃허브 주소에서 확인 할 수 있다.https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/Stream.cpp arduino-esp32/cores/esp32/Stream.cpp at master · espressif/arduino-esp32Arduino core for the.. 2025. 3. 19.
통신 펌웨어 구현 가이드 메모리 및 데이터 처리(1) 메모리  MSB와 LSBMSB(Most Significant Bit/Byte)는 비트단위에서 최상위 비트를 의미하고, 바이트 단위에서는 최상위 바이트를 의미LSB(Least Significant Bit/Byte)는 비트 단위에서 최하위 비트를 의미하고, 바이트 단위에서 최하위 비트를 의미MSB, LSB 용어는 시리얼 통신 구현 뿐만  아니라 모든 통신에서 LSB 부터 전송할 것인가 MSB부터 전송할 것인가와 같은 규약 (프로토콜)을 정할 때 사용된다. (2) 메모리 데이터 저장 타입, 리틀 엔디안과 빅 엔디안CPU는 데이터를 메모리에 MSB 부터 저장할 것 인지, LSB 부터 저장할 것 인지에 따른 저장 순서에 의해 리틀 엔디안(Little Endian)과 빅 엔디안(Big .. 2025. 3. 15.
Embedded PLC 보드 브링업 (Bring Up) 1. JLCPCB 주문 보드 도착보드 납땜 상태는 매우 괜찮았다. 설계한 대로 SMT 공정이 잘 적용된 것 같다.14일 만에 보드가 도착했는데 배송은 UPS에서 담당했다. 환율이 올라서 세금도 더 올라간듯 하다. (약 8만원의 세금이 부과됨)급하게 뜯느라 사진은 찍지 못하였는데 포장 상태도 매우 잘 된 편이다.2. 케이스 조립혹시 나 규격이 맞지 않을지 걱정했지만, 조립 나사 홀 규격에 맞게 잘 적용이 되었다. (자로 열심히 노가다 한 보람이 있다. ㅎㅎ)OLED 0.96인치 디스플레이도 장착에 문제가 없었다.상부 케이스와 결합 또한 문제가 없었다.사진은 최종적으로 조립한 모습이다.보드 SMT는 샘플로 2장만 적용하였고 나머지 3장은 PCB만 제작하였다. (오른쪽 사진은 PCB의 모습과 같이 촬영)3. .. 2025. 3. 14.
마이크로컨트롤러 (MCU) 시장 동향 1. 마이크로컨트롤러(MCU) 시장은 임베디드 시스템 개발자의 필수적인 안목임베디드 시스템 개발자에게 마이크로컨트롤러는 없어서 안될 필수사항이다.마이크로컨트롤러는 임베디드 시스템에서 두뇌의 역할을 하며, 센서, 액추에이터, 통신 모듈 등과 상호작용하면서 전체 시스템을 제어 하는 핵심적인 역할을 수행한다.개발자가 구현하려는 임베디드 시스템 프로젝트에 적합한 마이크로컨트롤러를 선정하기 위해서는 마이크로 컨트롤러 시장과 기술을 파악할 수 있는 안목이 필요하다. (이는 제품의 라이프사이클과 장기적인 유지보수에도 큰 영향을 미친다.)선택한 MCU에 따라서 시스템의 성능, 전력 소비, 확장성, 비용, 개발 난이도가 결정된다.2. MCU 선정 시 고려해야 할 항목① 성능 및 아키텍처코어(CPU): ARM Corte.. 2025. 3. 9.
액추에이터 - 모터 (Motor) 1. 자동화의 원동력 모터 (Motor) 모터는 대표적인 액추에이터 중 하나로, 산업에서 가장 널리 사용되면서도 제어 기술이 매우 까다로운 편이다.산업, 자동화, 가전, 이동수단, 로봇 기술, 철도 등 거의 모든 기계 시스템에서 핵심적인 역할을 담당하는 필수요소로 자리잡고 있다. 모터는 단순한 회전 장치를 넘어서 현대 산업과 기술 발전을 가능하게 한다.스마트 팩토리에서는 다양한 형태의 모터가 사용되며, 정확한 속도, 방향, 토크 제어가 필수적이다. 모터 없이 공장의 컨베이어가 움직일 수 없고 로봇또한 동작할 수 없으며, 기계 장비가 가공을 수행할 수도 없다.모터는 단순한 부품이 아니라, 현대 문명을 움직이는 핵심 기술이며, 지속적인 연구와 개선이 필요한 필수적인 요소이다.특히 산업용 임베디드 시스템(Em.. 2025. 3. 8.
자료구조 (Data Structure) 1. 자료구조 (Data Structure) 개념 자료구조(Data Structure)란 데이터(정보)를 효율적으로 저장하고 관리하며, 필요한 연산을 효과적으로 수행할 수 있도록 조직하는 방법을 의미한다.2. 자료구조 (Data Structure) 필요성효율적인 데이터 저장데이터를 체계적으로 저장하여 빠르게 접근하고 사용할 수 있도록 함.연산의 최적화검색, 삽입, 삭제 등의 연산을 최소한의 연산량으로 수행할 수 있도록 설계됨.메모리 관리제한된 메모리를 효율적으로 사용하고 낭비를 줄임.알고리즘 성능 향상알고리즘의 성능을 최적화하여 실행 속도를 높일 수 있음.3. 자료구조 (Data Structure) 분류3 - 1. 선형 자료구조 (Linear Data Structures)데이터가 순차적으로 저장되는 구조.. 2025. 3. 5.