본문 바로가기

임베디드 개발/펌웨어107

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.
오실로스코프 프로브 (1x, 10x) 패시브 프로브와 액티브 프로브 오실로스코프 프로브는 크게 패시브 프로브와(수동 프로브) 액티브 프로브(능동 프로브)로 분류할 수 있다. 두 프로브 유형의 차이는 마치 수동소자와 능동소자의 차이처럼 독립적인 전원 공급이 필요한가 여부인데 그중에서 수동 프로브는 전원 공급 없이도 작동하는 가장 기본적인 프로브로 비용이 저렴하고 내구성이 좋다는 장점을 가진다. 보통 오실로스코프를 구입하면 패시브 프로브가 세트로 포함되는데 대표적으로 1:1, 10:1 프로브가 있다. 보통은 10:1 프로브가 더 흔하며 1:1(1x)와 10:1(10x)를 전환할 수 있는 스위치가 포함된 프로브도 존재한다.    1:1(1x) 프로브1x 프로브는 입력 신호를 아무런 감쇠 없이 그대로 오실로스코프에 전달한다. 1x 프로브는 민감도가.. 2024. 5. 22.
MAX7424 5th-Order Lowpass Switched-Capacitor Filters MAX7424은 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시리즈의 경우 Low Active로 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.