본문 바로가기

전체 글126

[C++] 클래스 상속(Inheritance) 개념 정리 1. 개요어느덧 C++ 클래스 설계 문법을 펌웨어 실무 (디바이스 라이브러리)에 적용하면서 익숙해져 가고 있다.최근 BSP 라이브러리와 링킹하여 사용하다가 클래스 상속과 관련된 부분에서 문제가 발생하였는데, 클래스 상속에 대한 개념을 다시한번 정리해보고자 하였다.2. 클래스 접근 제어자 (Access Specifiers) 복습C++에서는 다음과 같은 세 가지의 접근 제어 지시자를 제공한다.1. public2. private3. protected(1) public class MyClass {public: int publicVar; void publicMethod() { cout public으로 선언된 멤버는 어디에서나 접근 가능. 즉, 클래스 외부에서도 객체를 통해 직접 접근.. 2024. 10. 1.
센서 데이터 소스 1. IoT 센서 디바이스에서 수집되는 데이터의 사례IoT는 센서를 탑재한 다양한 디바이스가 연결되어 디바이스로부터 다양한 데이터를 취득할 수 있다.센서의 정밀도나 출력값의 연산 등은 임베디드 S/W에 의해 구현된다.본 포스팅의 관점은 센서의 원리와 구조보다는 "다양한 센서로 부터 어떤 데이터를 취득할 수 있는가" 에 중심을 둔다.센서의 본질을 파악하는 것도 중요한 기술이지만, 센서로 부터 어떤 데이터를 창출할 수 있는 가도 임베디드 구현에 있어서 매우 중요한 기술(센싱 기술)이라 볼 수 있겠다.(1) 스마트폰 디바이스GPS(Global Positioning System) : 위도, 경도의 데이터를 출력가속도 센서 : 스마트폰의 움직임, 흔들림, 가로, 세로 등의 판단자이로 센서 : 스마트폰의 회전 움직.. 2024. 9. 18.
회원별 당구 에버리지 데이터 분석 (feat. Pandas) 1. Data 분석 동기Python과 데이터분석을 활용하지 않은지 꽤 오래되어서 Pandas와 Matplotlib라이브러리 사용법을 잊어버리고 있었다...최근에 취미생활로 활동 중인 당구 동호회에서 회원별 에버리지 Data를 수집하고 있는데 이를 활용하여 그동안 잊고 지냈던 Python 감각을 일깨워 주고자 했다. 임베디드 영역에서도 온 디바이스 AI 열풍으로 AI 관련 기술을 익히는 건 아깝지 않다고 생각한다. (데이터분석은 AI 알고리즘을 활용하기 위해 매우 필요한 기술스택이다.)2.  원천 데이터 xlsx 파일을 csv 파일로 변환하기pip install pandas openpyxl # 당연히 Pandas는 설치되어야 한다.import pandas as pdavg_file = "AVG_Data.xl.. 2024. 9. 16.
[L4] 방화벽 (Firewall) 실무에서 네트워크 인프라 구축 중에 건물의 방화벽으로 부터 발생한 이슈가 있었다. 오늘은 OSI 4계층에 해당하는 방화벽 장비는 어떤 원리로 동작하는지 정리해보고 문제를 분석해보고자 한다.1. 방화벽의 개념"방화벽(Firewall)" 이라는 장비는 네트워크 중간 (대부분 LAN과 WAN 영역 사이)에 위치하여 해당 장비를 통과하는 트래픽을 사전에 주어진 정책 조건에 맞추어 허용하거나 차단하는 장비이다.네트워크에서 보안을 제공하는 장비를 넓은 의미에서 모두 방화벽의 일종으로 불러왔지만 일반적으로 네트워크 3,4 계층에서 동작하고 세션을 인지, 관리하는 SPI (임베디드 통신 SPI가 아니다... Stateful Packet Inspection의 줄임말) 엔진을 기반으로 동작하는 장비를 방화벽이라고 부른다... 2024. 9. 12.
전류 4-20mA 센서 , 전압 0-10V 센서 1. 산업용 센서센서의 출력 특성은 센서에서 생성되는 전기 출력 유형에 따라 달라진다. 센서의 출력은 대부분 전압, 전류 이고 아주 특이한 경우로 임피던스(저항)이거나 다른양의 함수일 수도 있다.스마트 팩토리나 자동화에 들어가는 센서들은 산업용 센서를 주로 사용하는데, 센서의 출력 특성이 4-20mA 전류이거나, 0-10V의 전압 신호이다. 특히 수치가 필요한 아날로그적 센서에 많이 사용된다. (디지털은 ON/OFF)종류에는 온도, 압력, 진동, 수분, 속도, 기울기 등이 있겠다.2. 센서 스케일 (Scale)센서를 사용할 때, 고려해야할 특성들은 여러가지가 있겠지만 기본적으로 스케일(Scale)을 따져봐야한다.스케일은 전압 전류 또는 디지털 값과 같은 전기적 신호로 데이터를 출력할 때, 이 데이터가 의.. 2024. 9. 10.
PNP BJT 스위칭 출력 이슈 1. 보드 설계 이슈 ( 디지털 출력 미동작)최근 보드 설계를 진행하였는데, 디지털 출력 기능이 동작하지 않는 현상이 발견됬다.스위칭 출력 용도를 위해 PNP BJT를 사용하였는데, 생각지도 못한 실수를 저지르고 말았다.2. NPN과 PNP 구조 다시 확인하기....ㅠNPN은 베이스(B) 전압이 이미터(E) 전압보다 0.7V (문턱전압) 커야 한다. (VB - VE > 0.7V)PNP는 이미터(E) 전압이 베이스(B) 전압보다 0.7V (문턱전압) 커야한다. (VE - VB > 0.7V) 회로도를 보면 SS8550 (PNP) 트랜지스터의 이미터(E) 전압과 베이스(B) 전압이 같은것을 확인 할 수 있겠다 즉, PNP 스위칭 동작이 수행되기 위한 VE - VB > 0.7V  조건을 만족하지 못한것이다. (.. 2024. 9. 5.
실시간 운영체제 (RTOS) 마이크로 컨트롤러(MCU)를 다루고 프로그래밍하는 임베디드 분야에서는 사실 RTOS의 필요성을 못느낄 수도 있는데, 사실 나도 그렇다. 운영체제(Operation System)는 프로그램 실행 관리를 수행하는 소프트웨어이다.운영체제에는 범용 운영체제와 실시간 운영체제 (Real Time Operating System, RTOS)가 있다.1. RTOS (Real Time Operating System) 개념RTOS의 목적은 정해진 시간(실시간)에 데이터 처리를 하기 위한 스케줄링 운영체제이다.임베디드 시스템이 가지는 시간 제약에는 실행 시작 타이밍이나 언제까지 처리를 완료할 것인지가 있다.처리를 종료시킨다는 것은 입력 Data를 받아 출력 Data를 출력하기까지의 처리를 완료시키는 것을 의미한다.시간제약은.. 2024. 9. 4.
전류 CT 센서 인터페이스 모듈 - RMS 취득 펌웨어 1. 개발 이슈 ( issue )(1) 오프셋(Offset) 전압오차율 0.1%의 0603 저항기와 탄탈 커패시터를 활용하여 오프셋 전압 (1.65V) 오차를 최소화 하려 노력해 보았지만, 실제 테스트 펌웨어 작업 후 약 20mV 정도의 오차를 보였다. 즉, 이상적으로는 오프셋 전압이1650mV가 유지되어야 한다. 그러나 ADS1115 ADC를 통하여 측정해본 결과는 1640~1665mV로 미세하게 오프셋 전압이 유지되지 못하는 현상이 있었다.원인은 실제로 인입되는 노이즈이거나 3.3V LDO에서 출력되는 전류에 따라 전압이 미세하게 바뀌는 특성 때문일 것이라고 추정된다. 해결하기 위해서는 오프셋 전압을 오차율이 최대한 적은 1.65V LDO를 활용해보는 것인데, 찾아본 결과 이 마저도 0.5%의 오차율.. 2024. 8. 21.
전류 CT 센서 인터페이스 모듈 - 브링업(Bring Up) 1. 보드 도착 (실물 사진)보드가 도착하였다. 포장은 나름 잘 되어 있는 듯 하였다.2. 테스트구현 (기준 전압 측정)CT 센서와 연결하여 기준(Reference) 전압을 출력해보았다. 1663.38mV (1.66V) ~ 1646.00mV (1.64V) 가 측정되었는데 기준 전압 오차가 0.01V 정도 되는 것 같다. 전압분배기의 저항기의 오차율을 고려해 볼 때 그럭저럭 나올만한 결과 인것 같다.아무것도 연결되지 않은 상태 일 때의 측정 mV를 시리얼플로터로 출력해보았다. 순간적으로 관찰해보았을때 0.20mV 정도의 노이즈를 보인다. 노이즈일 수도 있지만 기준전압 자체가 불안정한 현상일 수 도 있을 것이다.3. 테스트구현 (실제 부하 작동)선풍기(부하)를 연결 후 단상 선에 센서를 체결하였다. 강풍(약.. 2024. 8. 12.
LVGL 구현 관련 정리 1. 하드웨어(H/W) 요소(1) 터치스크린 패널 종류종류특징저항막 (감압식)- 패널에 일정 압력을 가했을때(누르는 힘)에 의한 저항의 변화를 감지- 필름이 접촉될 정도의 압력을 가해야 하기 때문에, 터치 인식률이 낮음- 산업현장에서 장갑을 낀 손으로도 사용이 가능하기 때문에 산업 디스플레이에 주로 쓰임정전용량식- 패널에 전극 변화를 감지하여 인식- 터치감도가 매우 좋으며, 중소형 모델에 적용하기도 적합함- 대부분 모바일 스마트폰 터치스크린 패널에 사용되고 있음 (2) 터치스크린 보드의 구조 (LVGL 지원 보드) 터치스크린 보드 형태의 구조는 대부분 이렇다.디스플레이 컨트롤 칩은 다양하며 드라이버가 이미 라이브러리에 구현되어 있기 때문에 구현 시 소스코드에서 해당 드라이버 헤더파일 주석을 해제하여 사용.. 2024. 7. 31.