본문 바로가기

DSP, MCU/펌웨어89

Makefile 작성법 Makefile이란?Makefile은 프로젝트의 컴파일, 빌드 및 기타 작업을 자동화하는데 사용되는 파일로 make라는 유틸리티와 함께 사용된다. Makefile은 일련의 규칙과 지시를 포함하고 있어서 해당 규칙에 맞게 작성하면 소스코드를 컴파일하는 과정을 간소화할 수 있다.   왜 Makefile이 필요한가?자동화: Makefile을 사용하면 여러 파일을 컴파일하고 링크하는 과정을 자동화할 수 있다.효율성: 의존성 파일의 타임스탬프를 비교하여 변경된 파일만 다시 컴파일하므로 빌드 시간을 줄여준다.재사용성: 프로젝트마다 반복되는 빌드 작업을 쉽게 재사용할 수 있다.일관성: 모든 개발자가 동일한 빌드 과정을 따르도록 할 수 있다.  Makefile 작성법을 익히기 위한 예제 프로젝트  디렉토리 구성/pro.. 2024. 6. 22.
접지(Ground)의 종류 접지란? 접지는 이론적으로 전압이 0인 지점에 연결하여 전기적 기준을 설정하는 것을 의미한다. 접지의 종류는 신호접지(Signal ground), 섀시접지(Chassis ground), 대지접지(Earth ground 또는 Earth)로 나눌 수 있으며 각 심볼과 정의는 다음과 같다.  1. 신호접지 (Signal Ground) 신호접지는 주로 전자기기 내부의 신호 처리 회로에서 사용되는 접지이다. 이 접지는 신호의 기준 전위(0V)로 사용되며, 신호 간섭을 최소화하고 신호 품질을 보장하기 위해 중요한 역할을 한다.      2. 섀시접지 (Chassis Ground) 섀시접지는 전자기기의 금속 케이스 또는 섀시에 연결되는 접지이다. 이 접지는 기기의 외부 금속 케이스와 연결되어 케이스에 의한 전자파의 .. 2024. 6. 14.
RJ45 커넥터에서 LED의 의미 RJ45 커넥터는 이더넷 연결을 위한 표준 인터페이스로 네트워크 상태에 대한 정보를 제공하는 LED 지시등이 내장되어 있다. 일반적으로 이 LED는 초록색과 노란색 2개가 존재하며 각 LED가 나타내는 의미는 다음과 같다.         위 내용이 일반적인 구성이며 PHY칩에서 LED 모드 설정을 변경할 수 있기 때문에 다른 의미를 내포할 수도 있다. 2024. 6. 7.
이더넷 트랜스포머의 역할 이더넷 트랜스포머의 역할에 대해 알아보자.   위 그림은 이더넷 인터페이스를 보여주는데 사실상 요약된 그림이고 실제는 다음과 같다. MAC(in CPU/MCU) ↔️ PHY ↔️ Transformer ↔️ RJ45 ↔️ UTP ↔️ RJ45 ↔️ Transformer ↔️ PHY ↔️ MAC(in CPU/MCU)    그럼 여기서 Transformer의 역할은 무엇일까?  가장 큰 역할은 다음의 두 가지이다.Galvanic Isolation : 두 회로간 직접적인 전기적 연결을 제거해 고전압 스파이크와 지상 루프 등의 전기적 간섭으로 부터 보호하는 것. (Galvanic Isolation을 제공하는 IC는 위 그림처럼 세로 점선을 그려놓는듯 하다..)Impedance Matching : 서로 다른 임피던.. 2024. 5. 26.
오실로스코프 프로브, 1:1 프로브와 10:1 프로브 패시브 프로브와 액티브 프로브 오실로스코프 프로브는 크게 패시브 프로브와(수동 프로브) 액티브 프로브(능동 프로브)로 분류할 수 있다. 두 프로브 유형의 차이는 독립적인 전원 공급이 필요한가 여부인데 그중에서 수동 프로브는 전원 공급 없이도 작동하는 가장 기본적인 프로브로 비용이 저렴하고 내구성이 좋다는 장점을 가진다. 보통 오실로스코프를 구입하면 패시브 프로브가 세트로 포함되는데 대표적으로 1:1, 10:1 프로브가 있다.  1:1 프로브1x 프로브는 입력 신호를 아무런 감쇠 없이 그대로 오실로스코프에 전달한다. 1x 프로브는 민감도가 높으며 작은 레벨의 신호를 원 신호 그대로 보고자 할 때 사용한다. 한편 1x 프로브는 10x 프로브에 비해 상대적으로 입력 임피던스가 낮아서 측정 대상 회로에 더 큰 .. 2024. 5. 22.
MAX7418 5th-Order Lowpass Switched-Capacitor Filters MAX7418은 5차 로우패스 필터 IC로 Corner frequency를 1Hz에서 45kHz 사이로 제어할 수 있으며 Switched-Capacitor 방식을 사용한다.   Switched-Capacitor Filter(SCF)란? 커패시터의 전하를 고속으로 연결됐다 끊어지는 스위치로 제어함으로써 저항과 동일한 동작을 하게 하여, 기존의 능동 필터에서 저항 부분을 구성하는 것이라고 한다. 참고: http://magazine.hellot.net/magz/article/articleDetail.do?flag=all&showType=showType1&articleId=ARTI_000000000035002&articleAllListSortType=sort_1&page=1&selectYearMonth=2009.. 2024. 5. 13.
오실로스코프 1M Ohm, 50 Ohm 설정에 관해 오실로스코프 1M Ohm, 50 Ohm 입력 설정에 관해.. 측정장치의 입력은 입력 임피던스가 높을수록 측정장치에 영향을 주지 않는다. 따라서 오실로스코프의 경우 특별한 경우가 아니면 디폴트로 1MΩ으로 설정해둔다. 여기서 특별한 경우란 수백MHz의 대역폭이 높은 신호를 측정하는 경우 또는 신호의 반사를 막기 위해 임피던스 매칭이 필요한 경우이다. 즉, 일반적인 측정에서는 오실로스코프는 1MΩ 입력으로 설정하고, 수백MHz의 고주파 대역의 신호를 측정하는 경우 또는 주파수 특정이 중요한 경우에는 오실로스코프를 50Ω 입력으로 설정하고 50Ω BNC 케이블을 사용해 측정한다.  다음 그림은 출력 임피던스가 낮고 상승시간이 빠른 에지 신호를 오실로스코프의 입력 임피던스를 1MΩ(왼쪽) 및 50Ω(오른쪽)으로.. 2024. 5. 9.
AD5292BRUZ-100, Digital Potentiometer 데이터시트 분석 AD5292BRUZ-100은 Analog Devices사의 디지털 포텐셔미터 IC이다. SPI 인터페이스로 제어가 가능하며 내부에 최대 20번까지 쓰기 가능한 20-TP memory가 있어서 칩의 전원이 공급되거나 리셋이 발생할 때 자동으로 설정할 저항값을 써둘 수 있다. 블락 다이어그램을 보면 결국 시리얼 인터페이스로 RADC 레지스터에 원하는 설정값을 써서 A와 B사이에 있는 전위차계의 Wiper 위치를 조정하는 원리이다.     뒤에 붙는 모델명에 따라 조절가능한 저항값과 해상도가 달라지는데 AD5292BRUZ-100 모델은 0Ω부터 최대 100 kΩ까지 조정할 수 있고, 해상도는 1024단계로 설정된다. 즉, 97.65625Ω 단계로 저항 값을 정밀하게 설정할 수 있다.       참고로 전위차계.. 2024. 5. 7.
BH2227FV, D/A Converters 데이터시트 분석 BH2227FV는 Rohm사의 DAC 칩으로 MCU의 DAC 채널이 모자른 경우 사용할 수 있다. 8bit 해상도를 가지고 R-2R-type D/A Convert를 4채널 가진다. R-2R-type DAC에 대해선 밑에서 설명하겠다.2개의 독립적인 파워소스를 사용할 수 있으며 최적화된 파워소스는 3V/5V인데 2.7V에서 5.5V까지는 허용된다.built-in 리셋 기능이 있어서 power up 동안 모든 채널이 LOW 출력하는게 보장된다.3선식 serial interface를 사용한다.           R-2R-type D/A Convert란? Binary Weighted DAC라고도 하는데 모든 디지털 비트에 대해 R과 그 2배인 2R 이렇게 두 개의 저항으로 구성되며, 비트 입력이 많을 수록 즉,.. 2024. 5. 5.
ADG201A, Analog Switch IC 데이터시트 분석 ADG201A는 Analog Devices 사에서 나온 LC2MOS Quad SPST Switches이다.칩에는 4개의 SPST(Single Pole Single Throw) 스위치가 존재하고 각각 독립적으로 제어가 가능하여 ±15V의 아날로그 신호를 통과시킬 수 있다. Functional Block Diagram을 보면 INx핀으로 디지털 로직 컨트롤을 통해 SPST 스위치를 제어하고 Dx와 Sx간의 경로를 쇼트시켰다 오픈시켰다 한다. ADG201A시리즈의 경우 0이면 스위치 ON, 1이면 스위치 OFF이다. D는 Drain, S는 Source의 약자같은데 실제로 아날로그 신호를 어느쪽에서 어느쪽으로 라우팅할 지는 응용에 따라 달라질 수 있을 것 같다 신호를 통과시킨다는게 중요하지.         그리.. 2024. 5. 3.
인텔 hex 포맷 이해하기 (+ Intel hex to Bin 변환) 인텔 hex 포맷 이해하기 Intel Hex 란? Intel HEX는 ASCII 텍스트 형식으로 이진 정보를 전달하는 파일 형식이다. 주로 MCU의 펌웨어 프로그래밍을 위해 흔히 사용된다. 이 파일 형식은 각 줄이 콜론(:)으로 시작해서 줄바꿈 문자(LF나 CR)로 구분되는 여러줄의 레코드로 구성되며 각 줄은 바이너리 정보를 16진수 ASCII 문자 형태로 담고 있다. 그럼 Intel Hex파일은 Binary파일과 실행파일(.elf 또는 .out)과는 어떻게 다를까? STM32CubeIDE 툴을 사용해서 빌드하면 보통 .elf파일만 생성된다. .elf파일은 Executable and Linkable Format으로 변수 및 함수 심볼 정보, 시스템의 메모리 구조 등 메타데이터를 포함하고 있어 디버거 같은.. 2024. 4. 23.
2의 거듭제곱에 대한 나머지 연산 최적화 및 bit mask 생성 2의 거듭제곱으로 나머지 연산을 수행할 때는 % 연산자 대신 비트 연산을 사용해 연산속도를 최적화할 수 있다. 예를 들어, 어떤 수 x에 대해 x % 8 의 결과를 구하고 싶다면, x를 7과 비트 단위로 AND 연산하는 것과 결과가 같으므로 x & 7 으로 대체할 수 있다. 예시. #include #define BUFSIZE 8 int main() { int x = 10; int result = x & (BUFSIZE - 1); printf("Result: %d\n", result); return 0; } 위와 같이 알아내고자 하는 bit를 전부 1로 셋하고 & 연산으로 값을 추출하는 것은 비트 마스크기법이다. 관련글을 쓴 김에 mask를 생성하고 사용하는 방법에 대해 좀 더 글을 써보겠다. 펌웨어 프로.. 2024. 4. 8.
UTP 케이블의 종류 및 RJ-45 pinout UTP 케이블 일반적으로 우리가 부르는 랜케이블이라고 부르는 이더넷 통신에 사용되는 UTP(Unshielded Twisted Pair) 케이블은 두가닥씩 꼬여진 4쌍의 총 8가닥의 전선으로 이루어져 있고 말단에는 RJ-45 커넥터가 달려 네트워크 장비를 연결하는데 사용된다. 전선은 단색과 줄무늬색으로 구성되어있고 같은 색 쌍은 차동신호로 TX/RX 데이터 전송해 쓰인다. 10BASE-T와 100BASE-T 이더넷 표준에서 UTP 케이블의 8선 중 1, 2, 3, 6번 핀 4선만 사용해 데이터 전송을 처리했고, 1000BASE-T(Gigabit Ethernet) 또는 그 이상의 속도를 지원하는 네트워크 표준에서는 8개의 선을 모두 사용해 통신한다. RJ45 Pinout UTP 케이블을 클림핑할 때 사용되는.. 2024. 3. 28.
USB 2.0 pin out + ID핀 역할 제목은 USB 2.0 pinout으로 했지만 USB 1.0 부터 USB 2.0 표준에서의 Type-A 및 Type-B 커넥터의 핀 구성은 사실 동일하다. Type-A 커넥터는 +5V VCC, 차동신호 데이터 라인 2개(D-, D-), GND 총 4개의 핀을 사용한다. 그리고 Type-B Mini, Type-B Micro 커넥터는 ID핀이 추가되서 총 5개의 핀을 사용하는데 이 핀은 USB OTG(On-The-Go)기능을 지원하기 위해 사용된다. ✔ OTG란? USB는 USB 컨트롤러가 존재하는 호스트와 그 반대인 게스트라는 개념이 있는데 일반인들이 호스트와 게스트 개념을 몰라도 연결 방향을 실수하지 않도록 호스트(PC)에는 Type-A 단자를 달고 주변기기(프린터, 디카, 스마트폰)에는 Type-B단자를.. 2024. 3. 16.
1번 핀 찾는 법 보드와 IC, 커넥터와 케이블에서 1번 핀을 빠르게 찾는 법을 알아보자 보드 회로 기반에 실크레이어로 핀 번호가 인쇄되어 있는 경우는 가장 찾기 쉬운 케이스이다. 위의 방법으로 찾을 수 없을 땐 회로기판이나 어댑터를 뒤집어 까서 납땜 모양을 살펴보자. 일반적으로 다른 핀의 납땜 모양은 둥글지만 1번 핀의 납땜은 정사각형 모양으로 되어있다. IC 칩 IC 칩에서 컷 마크인 노치를 발견하면 노치가 왼쪽에 위치하도록 방향을 돌려주고 그 때 1번 핀은 노치 바로 아래에 있는 왼쪽 하단 핀이며, 이 핀부터 반시계방향으로 숫자가 부여된다. 보통 노치 대신 1번핀과 가장 가까운 코너에 작은 원형 모양의 도트가 있는 경우도 있는데 이때도 읽는 방법은 동일하다. 리본 케이블 보통 리본 케이블의 1번은 어두운색을 띄기 때.. 2024. 2. 24.
CAN 통신의 ISO 표준 CAN (Controller Area Network) 통신의 표준은 주로 ISO 11898 시리즈에서 파생되어 다양한 부분에서 여러 표준이 정의되어 있는데 크게 CAN 트랜시버에 적용되는 물리계층 표준과 CAN 컨트롤러에 적용되는 데이터링크 계층 표준으로 나뉠 수 있다. 물리계층 표준: ISO 11898-2: 고속 CAN(CAN High-Speed)의 물리 계층을 정의한다. 차량 내 통신에서 주로 사용되며, 데이터 전송 속도는 최대 1 Mbps이다. ISO 11898-3: 저속 CAN(CAN Low-Speed)의 물리 계층을 정의한다. 주로 차량의 간단한 네트워크 및 저속 통신에 사용되며 Fault Tolerant(내고장성, 결함 허용) 특징을 가지고 있다. 데이터 링크 계층 표준: ISO 11898-1.. 2024. 1. 9.
Ethernet 물리 계층의 표준 IEEE에서 정의하는 주요 Ethernet 물리계층의 전송속도별 구분 Ethernet (10BASE-T) : IEEE 802.3에서 정의된 최초의 Ethernet 표준으로 10 Mbps의 속도를 지원한다. 4가닥의 UTP (Unshielded Twisted Pair) 케이블을 사용하며, 최대 케이블 길이는 100 미터이다. Fast Ethernet (100BASE-T) : IEEE 802.3u에서 정의된 표준으로 100 Mbps의 속도를 지원한다. 역시 4가닥의 UTP 케이블을 사용하며, 최대 케이블 길이는 100 미터이다. Gigabit Ethernet (1000BASE-T) : IEEE 802.3ab에서 정의된 표준으로 1 Gbps의 속도를 제공한다. Cat 5e, Cat 6, 또는 Cat 6a의 8.. 2024. 1. 8.
ARINC 429 waveform ARINC 429 Tx_H, Tx_L 라인을 잡고 파형을 디코딩해보자. 위 사진은 100kbps, odd parity로 Label은 210, SDI는 00, Data 값은 0, SSM은 00인 데이터를 전송한 파형이다. 이전글에도 언급한적 있지만 Label은 MSB first로 전송되고 나머지는 LSB first로 전송된다. Label은 8진수(Octal number)인데 Label 필드가 8 bits이니 2bit, 3bit, 3bit로 끊어읽으면 된다. 즉 여기서 알 수 있는 건 Label의 최대값은 Decimal로 255, Hexa로는 0xFF, Octal로는 377이다. ARINC 429 파형은 RZ 방식이라 스파이크 부분만 보면 되니까 읽기편한 감이 있다. 아무튼 파형에서 Label 필드 부분을 .. 2024. 1. 1.
RS-422, RS-485 Waveform RS-422 RS-422 은 두 개의 전압 신호 선을 사용해 데이터를 전송하는 Balanced(Differential) signaling을 사용하므로 Tx+와 Tx-를 측정한다. 일반적으로 양극성 신호라인을 A, 그 반대 극성의 신호를 B라고 하는데 아래 사진에서 노란색이 A라인(Tx+), 연두색이 B라인(Tx-)이다. RS-422 데이터 해석 A-B 전위차가 positive인 경우 그리고 수신단에서 A - B > 200mV 이면 Logic 1(= mark)로 해석한다. A-B 전위차가 negative인 경우 그리고 수신단에서 A - B < -200mV이면 Logic 0(= space)으로 해석한다. START bit가 Logic 0, STOP bit가 Logic 1이고 LSB first로 데이터가 전송.. 2023. 11. 24.
RS-232 Waveform RS-232RS-232는 비동기 직렬통신 표준중 하나로 데이터는 클락신호 없이 전송된다. 송신자와 수신자는 서로 다른 클락을 사용하지만 서로 동일한 Buad rate로 설정하고 데이터 전송의 시작과 끝을 알리는 비트를 사용해 데이터를 정확히 송수신할 수 있다.  RS-232 Waveform 분석 RS-232 통신파형을 스코프로 측정하면 다음과 같다.Single ended 신호라서 tx핀만 측정하면되고, ASCII 코드 '1'을 터미널에 입력해본다.     신호 레벨 Vmin은 -9.5V, Vmax는 +600mV 정도로 Vpp가 10.1V로 측정되었다.출력전압사양은 마이너스 전압이 -3V~-15V 플러스 전압이 +3V~+15V 사이로 보통 ±12V를 사용한다고 알고있는데 내가 갖고있는 컨버터가 산업용이 아.. 2023. 11. 23.
Vmax, Vmin, Vp, Vpp, Vavg, Vrms Vmax : 파형의 가장 높은 지점에서 GND까지의 전압값 Vmin : 파형의 가장 낮은 지점에서 GND까지의 전압값 Vpp (Peak to Peak) : 파형의 가장 높은 지점에서 낮은지점까지의 전압값 잠깐❗ Vavg과 Vrms에 대해 알아보기 전에 우리나라의 가정용 전기는 220V AC이다. 그런데 교류전압은 방향도 값도 계속 변하는데 어떻게 딱 220V라고 정해서 말하는 걸까? 사실 이때의 220은 Vrms 값이며 가정용 전기는 최대 전압(Vpeak)이 311V인 60Hz 사인파다. 즉, +311V와 -311V 를 1초에 60번 오르내리는 전압이다. Vavg : 파형의 평균 전압값 사인파형의 AC 전압의 경우 한 사이클 동안(0에서 2π까지)의 평균값을 구하게 되면 0이 된다. 따라서 보통 양의 반.. 2023. 11. 20.
Excalibur systems DAS-429UNET/RTx & Mystic ARINC-429 multi-channel adapter for USB or Ethernet equipped computers ARINC429 to USB 컨버터로 429통신장비를 테스트해볼 수 있는 제품이다.마이크로 5핀 usb 케이블이 2개 필요하다. 하나는 PWR에 연결하고, 하나는 데이터통신선인데 hub나 연장케이블을 쓰지 않고 PC에 바로 연결하도록한다.    홈페이지 회원가입 후 Software Tools(driver) 설치, 회원가입 시 비밀번호는 6자 미만으로 해야한다.  https://www.mil-1553.com/arinc-429-708-664 ARINC-429 / 708, 664p7 & Ethernet | Downloads | Support | Excalibur SystemsARINC.. 2023. 11. 11.
SPI interface ARINC 429 Transceiver IC, HI-35850 데이터시트 분석 HI-35850 datasheet 분석 TMS320F28388D DSP 사용 기준으로 작성되었다. Features ARINC specification 429 compliant3.3V or 5.0V logic supply operationDrop-in replacement for Holt’s HI-3585 with improved SPI host interface (12 MHZ)Read multiple receive FIFO messages with a single SPI Opcode (New)On-chip analog line driver and receiver connect directly to ARINC 429 busProgrammable label recognition for 256 labels32.. 2023. 11. 10.
RS-422, RS-485 통신에서 GND 연결은 필요한가? 결론: GND 연결없이도 통신이 될 순 있지만 잠재적 통신 오류나 IC 손상을 피하기 위해 GND 연결이 필요하다. https://www.sealevel.com/support/why-do-i-need-to-connect-a-ground-line-when-using-rs-422-or-rs-485-communications/ Why do I need to connect a ground line when using RS-422 or RS-485 communications? - Sealevel By connecting the ground wire, you avoid potential communication problems. Learn more. www.sealevel.com 2023. 10. 29.
RS-422 RS-422 Specification Attribute Specification Cabling Point-to-Point, Single-ended Multi-drop Max Driver 1 Max Receiver 10 Maximum distance 1200m at 100kbps Maximum data rate 10 Mbps at 15m Signaling Balanced Maximum Nominal Voltage ± 7V Minimum Transmitter's Driver Output Voltage ± 2V Receiver Input Sensitivity ± 200mv Mark (1) Positive difference (A - B > 200mv) Space (0) Negative difference (A.. 2023. 9. 15.
스위치의 접점 SPST, SPDT, DPST, DPDT 스위치 또는 릴레이 등의 소자는 내부 접점 구조에 따라 SPST, SPDT, DPST, DPDT 등으로 분류된다. 각 단어의 뜻은 다음과 같으며, 스위치의 연결 유형을 결정하는 두 가지 요소는 Pole과 Throw 이다 SPST : Single Pole Single Throw SPDT : Single Pole Double Throw DPST : Double Pole Single Throw DPDT : Double Pole Double Throw . Pole : Pole은 동일한 물리적 스위치(same lever, knob or button)으로 제어할 수 있는 회로의 수를 의미한다. Single Pole 스위치는 하나의 회로를 제어할 수 있고, Double Pole 스위치는 두개의 회로를 동시에 제어할 .. 2023. 9. 15.
Momentary switch and Latching switch Latching switches Latching switches are switched on by the user and then remain on until switched off again. They do not require continuous compression from the user. Latching switches can be found in the home and are used for things like light switches, central heating switches or on stereos. Momentary switches Momentary switches require continuous compression. They will switch on when the user.. 2023. 9. 15.
D-SUB Overview D-sub 커넥터는 D-subminiature의 약자로, D모양의 금속 쉘 내부에 2열 이상의 커넥션(핀 또는 소켓)이 있는 것이 특징이다. D-sub 도입 당시엔 컴퓨터에 사용되는 가장 작은 커넥터여서 subminiature(초소형)이라는 이름이 붙었다. Types 쉘 크기와 핀 또는 소켓 수, Male/Female 타입에 따라 여러 종류가 있다. 주로 RS-232, RS-485와 같은 직렬 통신에 DB-9 커넥터를 사용하고, 컴퓨터와 디스플레이간 연결에 DE-15 커넥터를 사용한다. Pin Numbering 2023. 9. 15.
Difference between Cold Reset and Warm Reset Cold Reset : A cold reset is a method of resetting the system by completely turning off the power and then turning it back on. It is used to bring the system back to its initial state and can be used to resolve hardware-related issues. Caution needed when performing a cold reset as it may lead to data loss or affect system stability. Warm Reset: A warm reset is a method of restarting the system .. 2023. 8. 14.
Types of IC Packages IC 패키지 종류 https://electrical-information.com/package-types/ Types of IC Packages There are way too many different types of semiconductor (IC or transistor) packages. For example, SO electrical-information.com 2023. 7. 24.