이력 사항
現) 반도체 대기업 (CHIP 회로설계 4년차)
아날로그 IP / 디지털 시나리오 설계
A급 특허 출원
글로벌 외국 기업 엔지니어 기술 대응
前) 스타트업 인큐베이팅 업체 (MCU Firm-ware 설계)
前) 대기업 가전제품 업체 (All-in-one 정수기 생산 기술)
前) 중견기업 의료기기 업체 (CIS, DDI ASIC 설계)
CHIP 설계 취업/이직 충분히 도전할 수 있습니다.
저와 함께 CHIP 설계 취업/이직에 가까워지세요!
"반도체 아날로그/디지털 회로설계를 꿈꾸시나요?
대기업 S전자 현직자의 눈으로 기초부터 도와드립니다!"
반갑습니다! S전자에서 시스템반도체를 설계하고 있는 삼코치 입니다 :)
저는 스타트업에서부터 회로설계 직무에 도전하면서 많은 시행착오를 겪어왔습니다.
PCB 설계, F/W 설계, FPGA 설계, CHIP 설계를 구먹구구 식으로 경험했죠.
그런데 한 가지 아쉬움이 있었습니다.
'왜 회로설계 분야는 체계화된 실습 기회와 취업에 대한 정보가 적을까?'
반도체 공정, 프로그래밍 등의 분야는 콘텐츠가 많았지만, 회로설계는 정보가 적다보니 그저 '숨겨진 세상'이었습니다.
이 글을 읽는 회로설계 취준생분들 또한 저와 같은 답답한 심정을 느껴보셨을 겁니다.
그래서 현직자와 면담도 해보고, 교수님께 물어보고, IDEC 강의를 수강해보기도 하죠.
하지만 알들말듯 여전히 잘 모르는 경우가 대부분 입니다.
그.래.서! 제가 직접 취업까지 연결되는 체계화된 강의를 제작해 버렸습니다!
저는 [아날로그 회로-> 디지털 시스템 -> MCU 펌웨어 -> 드라이버 설계 -> 소프트웨어]를 모두 경험하면서,
'Top-down / Bottom-up'스킬을 통해 제품과 회로를 완벽히 설명해낼 수 있게 되었습니다.
그리고 인프런에서 실무적인 회로를 다루면서 '아날로그/디지털 회로'에 대해 저만의 직관적 해석 방법부터 Trade-off를 따지는 방법까지 모두 풀어드리려 합니다.
저와 함께 기초를 닦고, 실무 역량을 쌓아 자신만의 Chip 설계 Story를 만들어 가봅시다!
Courses
Reviews
- PCB HW Design Practice: Mixed-signal Board Design Project Using STM32
- Inwoo's Story of Semiconductor CHIP Circuit Design, Starting with Products
seongyojeong1229
·
Practical Digital Circuit Design: Designing Computer Architecture and SoC Protocol Digital IPPractical Digital Circuit Design: Designing Computer Architecture and SoC Protocol Digital IP- PCB HW Design Practice: Mixed-signal Board Design Project Using STM32
- PCB HW Design Practice: Mixed-signal Board Design Project Using STM32
Posts
Q&A
TI 홈페이지 Block Diagram 관련 질문드립니다.
안녕하세요, 답변 남겨드립니다.질문을 두 가지로 나눠서 보시면 이해가 훨씬 잘 되십니다.(1) TI 홈페이지 Block Diagram의 “현실성”이 어느 정도인지,(2) 과제 예시로 드린 블록 다이어그램이 어떤 시스템을 가정하고 있는지 입니다.먼저 TI 홈페이지 Block Diagram이 실제 회사에서 사용하는 것과 얼마나 비슷한지부터 말씀드리겠습니다.TI가 사이트에 올려놓는 블록 다이어그램은 두 가지 성격이 섞여 있습니다.하나는 “마케팅용”이고, 다른 하나는 “실제로 현업에서 자주 쓰는 구조를 요약한 교육용/레퍼런스용”입니다.완전히 광고만을 위한 허구는 아니고, 실제로 돌아가는 전형적인 구조를 상당히 충실하게 반영합니다.예를 들어 Automotive Sensor Node, BMS, 인버터, AC/DC 전원, 산업용 센서 노드 같은 시스템 블록을 보시면12 V 혹은 24 V 메인 전원 → 보호 소자 → DC-DC → LDO → MCU/센서/통신칩이라는 흐름이 거의 빠짐없이 들어가 있습니다. 이런 전원 트리 형태는 실제 자동차 ECU, 산업용 컨트롤러, IoT 게이트웨이 보드에서도 그대로 등장합니다. 현업에서 회로를 설계하면, 최상위 시스템 다이어그램 한 장에 대략 10~30개 정도의 블록이 들어가는데, TI가 그려놓은 시스템 블록도 비슷한 스케일을 유지합니다.다만 실제 회사 내부에서 쓰는 블록 다이어그램과 비교했을 때 차이점이 몇 가지 있습니다.첫째, 상세도입니다.TI 사이트의 다이어그램은 고객이 한눈에 이해할 수 있도록 블록을 꽤 크게 묶어놓습니다. 예를 들어 실제 시스템에서는“프론트 엔드 보호 회로(ESD, TVS, EMI 필터) → 커넥터 → DC-DC 컨버터 1차 → DC-DC 보조 레일 → 여러 개의 LDO → 전류 센싱”처럼 다 쪼개서 그리는 경우가 많은데, TI 블록 다이어그램에서는 이것을 “Protection & Power Management” 정도로 하나의 큰 상자로 묶어버리는 식입니다.둘째, 부품 벤더 편향입니다.실제 양산 보드에는 TI, NXP, ST, Infineon, ADI 등 여러 벤더의 칩이 섞여 들어가지만, TI 사이트의 블록에는 당연히 TI 부품만 들어갑니다. 예를 들어 “Automotive Sensor Node” 예시도 실전에서는 DC-DC는 TI, MCU는 ST, 센서는 Bosch, 통신은 NXP 조합이 흔하지만, TI 다이어그램에서는 MCU까지 TI 제품으로 제안하는 식입니다. 구조는 맞지만, 실제 BOM 구성은 회사마다 훨씬 다채롭습니다.셋째, 누락된 현실 요소들입니다.실제 회사 내부 블록 다이어그램에는 종종 다음과 같은 것들이 별도 블록으로 나타납니다.ASILD 레벨 대응을 위한 이중화 센서, 듀얼 MCU, 독립 Watchdog온라인 진단 회로, 자체 Test 모드, 공장 보정(Trim) 회로안전 규격(ISO 26262, IEC 61508 등)을 만족시키기 위한 모니터링 전원 레일TI 블록 다이어그램은 이런 안전·품질 관련 블록을 대부분 생략하고 “핵심 동작 플로우”에 집중합니다. 동작 원리 자체는 맞지만, 실제 양산 시스템에서 요구되는 안전·진단 구조까지는 다 반영되어 있지 않은 경우가 많습니다.그래서 정리하면, TI 시스템 Block Diagram은동작 원리와 전원/신호 흐름 관점에서는 현실과 매우 유사하고,부품 구성과 안전/테스트/진단 같은 디테일은 축약된 “교육 + 마케팅용” 그림이라고 보시면 됩니다.과제를 하실 때는 그래서 다음처럼 받아들이시는 것이 좋습니다.“이 블록 다이어그램은 실제로 동작 가능한 전형적인 구조를 보여준다. 다만 현업에서 쓰는 것보다 약간 단순화되어 있고, 일부 보호/진단/안전 블록이 빠져 있다.”즉, 과제에서는 TI 다이어그램을 그대로 가져와서 전원 흐름, 신호 흐름을 이해하시고, 강의에서 배운 내용에 따라 “여기에는 사실 ESD/TVS가 더 들어가야겠구나, 여기 DC-DC 뒤에 LDO를 하나 더 두는 이유는 노이즈 때문이겠구나” 하는 식으로 현실적인 요소를 덧붙여 보시면 좋습니다.이제 두 번째 질문, 과제 예시로 드린 블록 다이어그램이 어떤 시스템인지에 대해 설명드리겠습니다.과제 예시에서 설정한 시스템은 TI에서 제공하는 Automotive Sensor Node 레퍼런스 디자인을 기반으로 한 “자동차용 센서 노드 ECU”입니다. 즉, 차량의 12 V 배터리를 전원으로 사용하면서 온도, 압력 같은 센서 데이터를 측정하고, 이를 MCU가 처리해서 CAN 통신으로 메인 ECU나 다른 모듈로 전송하는 소형 ECU를 가정한 것입니다.조금 더 시스템적으로 풀어보면 다음과 같습니다.차량에서 제공되는 전원은 12 V Nominal이지만 실제로는 시동 크랭킹 시 약 6~9 V까지 떨어지고, 로드 덤프 상황에서는 순간적으로 40 V 근처까지 튈 수 있습니다. 예시 시스템에서는 이 9~16 V(또는 그 이상 스파이크)를 EMI/ESD 보호 회로로 먼저 한번 걸러주고, AEC-Q100 등급의 자동차용 DC-DC 컨버터로 약 5 V 레일을 만듭니다. 이 DC-DC의 효율이 85~90% 정도라고 가정하면, 예를 들어 5 V 레일에서 100 mA를 소모할 때 입력 전류는 대략I_in ≈ (V_out I_out) / (η V_in) = (5 V 0.1 A) / (0.9 12 V) ≈ 46 mA정도가 됩니다.그 다음 단계에서 5 V 레일을 LDO로 3.3 V로 낮춰 MCU, CAN Transceiver, 일부 디지털 센서를 구동합니다. LDO는 효율만 보면 손해처럼 보이지만, 출력 노이즈와 PSRR 관점에서 DC-DC의 스위칭 리플을 상당 부분 필터링해 주기 때문에, ADC를 쓰는 MCU나 민감한 센서가 있는 Mixed-signal 보드에서는 5 V → 3.3 V 구간에 LDO를 넣는 구성이 현업에서도 자주 사용됩니다. 예를 들어 3.3 V에서 60 mA를 쓰면 LDO에서 소모하는 전력은P_LDO ≈ (5 V - 3.3 V) * 0.06 A ≈ 0.102 W정도이고, 이 정도는 보드 내에서 열 관리가 크게 부담되지 않는 수준이라 “노이즈 이득 > 효율 손실”이라고 판단해서 선택하는 구조입니다.신호 흐름 관점에서 보면, 센서는 보통 두 가지 유형을 가정합니다.하나는 아날로그 출력 센서로, 0~5 V 또는 0.5~4.5 V 범위의 전압을 내보내고, MCU의 ADC(예: 12-bit, 1 ksps ~ 10 ksps 정도)로 샘플링합니다. 샘플링 주기를 10 ms로 잡으면 초당 100 Sample, 센서 하나당 데이터 속도는 대략 12 bit * 100 Hz = 1.2 kbit/s 정도라서 속도 요구사항은 낮지만, 노이즈 민감도는 높습니다.다른 하나는 디지털 센서(I2C/SPI)로, 예를 들어 I2C 400 kHz 또는 SPI 몇 MHz 수준에서 데이터를 전송합니다. 이 경우 배선 길이가 짧고, 통신 대상이 MCU 하나라서 속도는 비교적 느슨해도 되지만, 풀업 저항 값과 라인 커패시턴스에 의해 Signal Integrity가 영향을 받기 때문에 PCB 레이아웃에서 라우팅이 중요합니다.MCU는 이 센서 데이터를 주기적으로 읽고, 예를 들어 100 ms마다 CAN 메시지 하나를 보내도록 설계할 수 있습니다. CAN 통신 속도가 500 kbps라고 하면, 1 프레임이 대략 수십 bit~백수십 bit 수준이므로 100 ms에 한 프레임 정도 보내면 전체 Bus 사용률은 1% 미만으로 매우 낮은 수준입니다. 이런 설계는 자동차 전체 네트워크 부하에 거의 영향을 주지 않으면서도 센서 값을 충분히 자주 업데이트할 수 있다는 장점이 있습니다.이 과제 예시는 그래서 “매우 전형적인 소형 Automotive Sensor ECU”를 모델로 삼고 있습니다. 실제 자동차 회사나 1차 벤더에서 설계하는 도어 모듈, 시트 모듈, 공조 센서 모듈 등도 구조를 뜯어보면12 V 입력 → 보호 및 필터 → DC-DC → LDO → MCU/센서 → CAN/LIN 통신이라는 동일한 패턴을 공유합니다. 차이는 센서 개수, 통신 속도, 전류 용량, 안전 기능(예: 듀얼 센서, 듀얼 MCU) 같은 스펙적인 부분입니다.정리해서 말씀드리면,TI Block Diagram은 “대략 이런 구조로 동작하고, 이런 자리에 TI 부품들을 꽂아 쓸 수 있다”를 보여주는 동시에, 실제 현업에서도 거의 그대로 쓰이는 전형적인 전원·신호 구조를 반영합니다. 과제를 하실 때는 TI 다이어그램을 신뢰해도 되지만, 그 위에 ESD/TVS, 필터, 추가 전원 레일, 저전력 모드 등 강의에서 다룬 현실적인 요소를 한두 단계 더 얹어서 스스로 블록을 세분화해 보시는 것이 좋습니다.과제 예시로 드린 시스템은 “자동차 12 V 배터리를 이용해 센서 데이터를 측정하고 CAN으로 상위 ECU에 전송하는 소형 Sensor Node ECU”를 가정한 것이고, 실제 TI Automotive Sensor Node 레퍼런스 디자인의 구조와 거의 동일합니다. 따라서 전원 흐름에서는 12 V → DC-DC → LDO → MCU/센서/통신, 신호 흐름에서는 센서 → MCU → CAN Transceiver → CAN Bus라는 큰 줄기만 정확히 잡으셔도 시스템 관점에서 충분히 좋은 과제 답안을 작성하실 수 있습니다.
- 0
- 1
- 11
Q&A
PCB Artwork 질문드립니다!
회로설계 질문 답변의 말:안녕하세요, 답변 남겨드립니다.우선 System-level이라는 말을 강의 맥락에서 정리해보면, 개별 부품이나 회로 단위가 아니라 “제품 전체 관점”에서 전원과 신호 흐름, 기능 블록, 인터페이스 관계를 보는 설계 레벨을 의미합니다. 예를 들어 이 강의에서처럼 STM32 MCU, Ethernet PHY, Motor Driver, ADC, DAC, LDO, MIC 등이 한 보드에 섞여 있을 때, 각 블록을 개별 회로로 보는 것이 아니라 “전력이 어디서 들어와서 어떤 레귤레이터를 거쳐 어떤 칩에 얼마의 전류가 분배되는지”, “어떤 신호가 어느 블록을 지나서 최종 출력까지 어떻게 이동하는지”, “노이즈가 어디서 발생해서 어디로 돌아가는지”를 한 번에 그려보는 단계가 System-level입니다. 그래서 섹션 2에서 System-level 이해, 섹션 7의 과제에서 Power & Signal Flow Exploration을 따로 강조하는 이유가 여기에 있습니다.조금 더 구체적으로 말하면, MCU가 최대 100 mA, Motor Driver가 피크 2 A, ADC/DAC/MIC가 합쳐서 수십 mA를 쓴다고 할 때, 전체 보드에서 “5 V 어댑터 하나로 이걸 다 감당할 수 있는지, Surge가 걸릴 때 버틸 수 있는지, 각 레귤레이터별 Margin을 얼마나 줄지, GND를 아날로그/디지털로 어떻게 분리해서 리턴을 어떻게 태울지”를 정량적으로 검토하는 게 System-level 설계입니다. 이 레벨에서 전류 합, 전압 Margin, 노이즈 Budget을 숫자로 정의해두면, 이후의 개별 회로/레이아웃 설계가 훨씬 명확해집니다.이제 질문 주신 PCB Artwork 이후 외주 제작과 칩 실장(솔더링) 방식에 대해 말씀드리겠습니다.현업에서 “외주 제작된 PCB에 칩을 따로 사서 엔지니어가 직접 솔더링” 하는 경우는 분명 존재하지만, 이것은 주로 프로토타입이나 소량 개발 단계에서 많이 쓰는 방식입니다. 예를 들어 R&D 팀에서 보드 3장만 만들어 보는 EVT(Engineering Validation Test) 단계라고 하면, 보통은 Gerber 파일만 PCB 공장에 보내서 ‘Bare PCB’만 받아온 뒤, 사내에서 다음과 같이 처리하는 케이스가 많습니다. 엔지니어 한 명이 하루에 수작업으로 0402 저항·커패시터 기준 약 100~200개의 솔더 Joint를 안정적으로 작업할 수 있다고 가정하면, 부품 수가 300~400개 정도인 Mixed-signal 보드 한 장을 완전히 수동 솔더링하는 데 대략 3~5시간 정도가 걸립니다. 이렇게 2~3장 수준만 필요할 때는 사내 온도조절 납땜 인두, 핫에어, 소형 리플로우 오븐 등을 활용해서 직접 SMD를 실장하는 편이 비용과 일정 면에서 효율적일 수 있습니다.반대로 양산 단계나 수십 장 이상이 넘어가는 파일럿 생산 단계부터는 거의 항상 “PCB + SMT 실장까지 외주(EMS/Assembly 업체)”로 진행합니다. 이유는 세 가지 정도로 요약할 수 있습니다. 첫째, 작업 시간과 인력 비용입니다. 예를 들어 부품 수 500개, 솔더 Joint가 약 800~1000개인 보드를 50장 만든다고 하면, 수동 솔더링으로는 사람 한 명이 아무리 빨라야 1장당 4시간 × 50장 = 200시간, 즉 한 사람이 순수 작업만 잡아도 한 달 가까이 필요합니다. 둘째, 품질과 수율입니다. 수작업은 숙련자라도 1000 Joint 기준 1~2% 수준의 불량 가능성은 거의 피하기 어렵지만, 잘 갖춰진 SMT 라인에서는 AOI, X-Ray 검사까지 포함해 99.9% 이상의 초기 조립 수율을 노릴 수 있습니다. 셋째, 공정 이력 관리와 신뢰성입니다. 의료·자동차·산업용 제품은 납땜 프로파일, 플럭스 종류, 세척 여부, Baking 이력 등이 모두 품질 문서화 대상이라 사내에서 “연구소 작업자 개인 손기술에 의존하는 방식”을 허용하지 않는 경우가 많습니다.강의에서 “원래는 칩들은 존재하지 않지만 외주 업체에서 해주는 곳도 있다”라고 설명한 것은, 기본적으로 PCB 업체는 Gerber만 받아 Bare PCB만 만들어 주는 게 원칙이지만, 요즘은 PCB 제작과 동시에 SMT Assembly까지 같이 해주는 원스톱 업체들도 많다는 뜻입니다. 이런 업체들은 보통 다음 세 가지 방식 중 하나로 일을 받습니다. 첫째, 고객이 BOM과 Pick&Place 파일만 주고 부품 구매까지 전부 업체가 대행하는 Full Turn-key 방식. 이 경우 부품 단가에 일정 마진이 붙고, 납기와 EOL 관리까지 업체가 어느 정도 책임집니다. 둘째, 고객이 주요 IC 같은 고가/긴 납기 부품은 직접 구매해서 보내고, 패시브와 범용 커넥터 등은 업체가 구매하는 Partial Turn-key 방식. 예를 들어 STM32, 고가 Motor Driver, PHY, 고정밀 ADC 같은 것만 고객이 미리 확보해서 보내고, 0402 패시브는 업체가 조달합니다. 셋째, PCB는 외주로 만들고 부품은 전부 고객이 보내는 Consignment 방식으로, 업체는 순수 조립 공정만 수행합니다. 이 방식은 단가 관리가 좋은 대신, 부품 재고관리와 Shortage 책임이 대부분 고객 쪽에 있습니다.실제 회사에서는 이 세 가지를 단계별로 섞어서 씁니다. 예를 들어 스타트업이나 소규모 팀의 초기 프로토타입에서는, 첫 버전은 Bare PCB만 외주 제작하고 핵심 IC와 주변 부품을 직접 솔더링하여 기능을 빠르게 검증합니다. 여기서 발견된 설계 이슈를 반영해 Rev.B를 만들 때는, BGA 패키지나 Fine-pitch QFP처럼 수작업 난이도가 높은 칩들은 PCB 업체에서 먼저 실장해 오고, 커넥터나 테스트 핀 같은 Through-hole 부품은 사내에서 손납땜으로 채우는 식으로 나누기도 합니다. 그리고 양산이 확정된 뒤에는 BOM 확정, 대체 부품 리스트, 조립 공정서까지 포함한 자료를 EMS 업체에 넘겨 “PCB+Assembly+검사”를 한 번에 외주로 돌립니다.연구소/사내 개발 환경이 잘 갖추어진 대기업 R&D의 경우에는 조금 다릅니다. 사내에 소형 SMT 라인이나 프로토타입 전용 라인이 있는 경우도 많습니다. 이런 곳에서는 다음과 같이 진행합니다. PCB는 여전히 외주 fab에서 제작하지만, 조립은 사내 SMT 라인에 올려서 부품 실장, Reflow, AOI까지 내부에서 처리합니다. BGA나 QFN 같은 부품의 리워크를 위한 리워크 스테이션, X-Ray 검사 장비도 사내에 있는 경우가 많습니다. 이런 환경에서는 “칩을 따로 사서 직접 솔더링”이라고 해도, 엔지니어가 인두를 들고 일일이 붙이는 수준이 아니라, 생산기술팀에 조립을 의뢰하는 형태가 됩니다.정리하자면, 질문 주신 “외주제작된 PCB에 칩만 따로 구매해 직접 솔더링하는 경우”는 다음과 같은 상황에서 많이 발생합니다. 첫째, 1~5장 수준의 극소량 프로토타입, 혹은 개인/학생 프로젝트. 둘째, 부품 조달이 까다롭거나 기밀 이슈로 인해 특정 칩은 외주 업체에 넘기기 어려운 경우. 셋째, 회로가 자주 변경될 때라 SMT 라인 세팅과 스텐실 제작 비용을 매번 지불하기 아까운 경우입니다. 반대로 현업에서 본격적인 제품 개발과 양산을 한다고 하면, 대부분은 PCB Artwork 이후에 Bare PCB만 받는 게 아니라, BOM, Pick&Place, Assembly Drawing까지 넘겨서 “PCB 제작 + SMT 조립”을 함께 외주 주거나, 사내 SMT 라인에서 조립하는 방식이 일반적이라고 보시면 됩니다.
- 0
- 2
- 16
Q&A
I2C SCL_Synched, SDA_Synched 질문
안녕하세요, 답변 남겨드립니다. 1. 이 코드에서 값이 언제 / 어떻게 보이는지핵심 포인트 하나만 잡고 가면 됩니다:always @(posedge clk) SCLSynch 여기서 는 논블로킹 할당이라서,posedge clk 순간에레지스터 내부 값은 새 값으로 캡처되지만,그 클럭에서 조합논리(wire) 가 보는 값은 직전 클럭에 있던 값입니다.즉,SCL_posedge 는 “직전 클럭까지의 SCLSynch[2:1]”을 보고 계산되고,SDA_synched 도 “직전 클럭까지의 SDASynch[2:0]”을 보고 계산됩니다.그리고 상태머신이나 data_in 레지스터는 그 두 신호를 보고 같은 posedge clk 에서 동작합니다.그래서 질문하신 것처럼“SCL_posedge가 1이 되는 바로 그 순간 SDASynch[0]이 0→1로 바뀌는 중이라서 둘이 섞여서 메타가 되는 것 아닌가요?”라는 상황은 시간축 상으로 동시에 관측되지 않습니다.SCL_posedge == 1 이라는 사실은 “한 클럭 이전까지 이미 결정돼 있던 SCLSynch[2:1]의 패턴” 때문이고,이번 클럭에서 막 metastable 이 되는 건 SCLSynch와 SDASynch의 “새 값”인데,그 “새 값”은 다음 클럭에서야 SCL_posedge / SDA_synched 계산에 쓰입니다.2. metastability 자체는 어디서 생기고 어떻게 처리되나진짜 메타가 생길 수 있는 곳은 여기뿐입니다:always @(posedge clk) SDASynch[0] SDA가 clk의 setup/hold 타이밍 근처에서 바뀌면 SDASynch[0]은 metastable 이 될 수 있습니다.하지만 한 클럭 주기 동안 시간이 지나면서 대부분 0 또는 1로 수렴하고,다음 클럭에서 SDASynch[1]가 그 값을 받고, 또 그 다음 클럭에서 SDASynch[2]가 받습니다.그래서:“아날로그적으로 애매한 중간값”이 조합로직을 타고 data_in까지 그대로 퍼지는 구조는 아니고,결국은 0 또는 1로 결정된 값만 논리 AND에 들어갑니다.문제가 될 수 있는 건 “언제 샘플링했느냐(타이밍)”이지,data_in이 ‘메타 상태 그 자체’를 받는 건 아닙니다.3단 동기화 체인을 쓰는 이유는metastability가 다음 스테이지까지 살아남을 확률을 쭉 떨어뜨리고,동시에 아주 짧은 글리치/스파이크도 여러 클럭 동안 반복되지 못하게 해서노이즈 필터 역할도 하려는 겁니다.3. SCL_posedge 의 타이밍을 말로 풀어보기SCL이 실제 버스에서 0에서 1로 올라갔다고 생각해봅시다.SCLSynch는 매 클럭마다 오른쪽에서 SCL을 하나씩 밀어넣는 구조라서,클럭이 지날 때마다 대략 이런 식으로 변합니다 (숫자 대신 말로 설명):처음에는 SCLSynch가 예를 들어 000 이었다고 합시다. (SCL도 0)버스에서 SCL이 1로 바뀐다.다음 clk 엣지에서 SCLSynch가 001 이 된다.이때 상위 두 비트는 00 이므로 SCL_posedge는 아직 0.그 다음 clk 엣지에서 SCLSynch가 011 이 된다.이제 상위 두 비트 2:1이 01 패턴이므로, 이 클럭에서 SCL_posedge가 1이 된다.또 한 번 지나면 SCLSynch는 111 이 되고, 상위 두 비트는 11 이므로 다시 SCL_posedge는 0.즉:실제 SCL이 1이 된 뒤, 최소 두 번의 clk를 거쳐야만 SCL_posedge가 1로 올라옵니다.I²C 규격상 SDA는 SCL rising 전에 어느 정도 setup time을 가져야 하기 때문에,내부 clk 기준으로 보면 우리가 데이터를 샘플하는 시점(SCL_posedge==1)에는 SDA가 굉장히 오래 전에 이미 안정적이었어야 합니다.4. SDA_synched = [2] & [1] & [0] 이 의미하는 것SDA도 똑같은 식으로 밀어 넣습니다.SDA가 0에서 1로 바뀌었다고 해볼게요.처음에는 SDASynch가 000.SDA가 1로 바뀐다.첫 번째 clk 이후: 001.세 비트 AND는 아직 0.두 번째 clk 이후: 011.세 비트 AND는 아직 0.세 번째 clk 이후: 111.이때 비로소 세 비트 AND가 1이 된다.즉,SDASynch[2] & SDASynch[1] & SDASynch[0] 이 1이 되려면SDA가 최소 3클럭 동안 연속으로 1 이어야 합니다.질문에서 제안하신wire SDA_synched = SDASynch[2] & SDASynch[1]; 로 바꾸면,SDA가 1로 바뀌고 2클럭 연속 1일 때 1이 됩니다.그러니까 한 클럭 더 빨리 반응하는 대신, 필터링은 조금 약해집니다.metastability 관점에서는둘 다 “이전 클럭까지의 레지스터 값”을 보기 때문에어떤 쪽도 “막 메타가 된 비트와 조합돼서 알 수 없는 상태로 가는” 위험성은 비슷합니다.차이는 “몇 클럭 연속 같은 값이어야 신뢰하겠냐” 라는 필터 강도입니다.5. SCL_posedge 와 SDA_synched 을 같이 쓰는 순간일반적인 슬레이브 수신부는 보통 이렇게 씁니다:always @(posedge clk) begin if (SCL_posedge) data_in 이때도SCL_posedge와 SDA_synched 모두이번 클럭에서 갱신되기 “직전”의 SCLSynch/SDASynch 값에 의해 결정됩니다.이번 클럭에서 막 metastable 이 된 SDASynch[0]의 상태는아직 SDA_synched 계산에 사용되지 않습니다.그건 다음 클럭에서야 반영됩니다.그래서 “SCL_posedge==1 이 되는 그 클럭에서 SDA_synched AND 안에 metastable 비트가 끼어들어 와서 data_in이 메타 상태로 가는” 시나리오는설계 구조상 성립하지 않습니다.
- 0
- 1
- 30
Q&A
LDO의 common source buffer와 관련해서 질문이 있습니다.
안녕하세요, 답변 남겨드립니다.핵심은 VB 노드의 출력 임피던스가 단순 소자들의 ro 합성으로 결정되지 않고, M3와 M7이 만드는 로컬 피드백 루프 때문에 크게 낮아진다는 점입니다. 따라서 책에서 제시한 식은 단순히 VB 노드의 저항을 바라보는 방식으로는 절대 얻을 수 없으며, 루프 이득만큼 출력 임피던스가 감소한 형태로 나타납니다.우선 책에서 말하는 출력 임피던스는 RO ≈ RZ + 1 / ( gm3 gm7 ( ro3 // ro5 ) ) 형태인데, 여기서 ro3 // ro5 는 두 소자의 병렬 조합을 의미하며 ( ro3 * ro5 ) / ( ro3 + ro5 ) 로 표현할 수 있습니다. 이 식은 M3와 M7로 이루어진 피드백 경로가 VB 노드의 작은 신호 전압 변화에 대해 강한 negative feedback을 제공함으로써 얻어지는 결과입니다.VB 노드에 테스트 전류 i_test 를 주입하면 VB에 v_test 가 생성되는데, 출력 임피던스는 RO = v_test / i_test 로 정의됩니다. 하지만 VB는 단순히 M2 게이트에 연결된 출력 노드가 아니라 M7의 gm7, M3와 M5의 ro, 그리고 M3의 gm3를 따라 다시 VB로 되돌아오는 하나의 루프 내부에 있습니다. 작은 신호 관점에서 이 경로는 VB → M7 → (ro3 // ro5) → M3 → 다시 VB 로 이어지는 하나의 완전한 루프이고, 따라서 이 루프의 small-signal loop gain을 반드시 포함하여 임피던스를 계산해야 합니다.이때 루프이득 L 은 gm7 ( ro3 // ro5 ) gm3 로 정량적으로 나타낼 수 있습니다. 즉 입력측 트랜스컨덕턴스 gm7, 중간의 고저항 노드 ro3 // ro5, 그리고 반대쪽에서 다시 VB로 피드백을 주는 트랜스컨덕턴스 gm3 가 곱해진 값이 루프 이득입니다. 출력 임피던스가 피드백 루프에 의해 감소되는 기본적인 원리는 RO_internal ≈ RO_no_feedback / ( 1 + L ) 인데, RO_no_feedback 은 매우 큰 값이므로 1 + L 은 거의 L 로 근사됩니다. 따라서 내부 출력 임피던스는 약 1 / L 로 표현됩니다. 바로 이 결과가 책에서 표현한 1 / ( gm3 gm7 ( ro3 // ro5 ) ) 항입니다.이 항은 M3–M7 루프가 없었다면 매우 큰 저항이었을 VB 출력 임피던스가 로컬 피드백 덕분에 크게 줄어든다는 점을 의미합니다. 또한 최종 출력 임피던스 RO에는 RZ가 직렬로 들어가 있는데, RZ는 compensation zero를 만들기 위한 위상 보상 저항이므로 RO = RZ + RO_internal 형태가 됩니다. 즉 VB 노드의 출력 임피던스는 보상저항 RZ에 내부 루프에 의해 결정된 작은 값 RO_internal이 더해진 구조입니다.정리하면 VB 노드 기준으로 출력 임피던스를 계산하려 하신 접근 방향은 옳으나, 피드백 루프의 존재를 반영하지 않은 단순 저항 계산 방식으로는 책의 식이 절대 나오지 않습니다. 반드시 VB에서 시작하여 M7의 gm7을 지나고, M3·M5의 ro 병렬을 거친 뒤 다시 M3의 gm3를 통해 VB로 되돌아오는 루프를 포함한 small-signal 폐루프 해석을 해야만 책에서 제시한 출력 임피던스 식이 도출됩니다.
- 0
- 2
- 32
Q&A
LDO 버퍼 관련해서 질문이 있습니다.
안녕하세요, 답변 남겨드립니다.먼저 결론부터 말씀드리면, 질문 주신 해석에는 방향이 반대로 잡힌 부분이 있고, 그 때문에 “VEA가 올라가면 VG가 내려간다”는 결과가 나온 것입니다. 실제로는 이 구조가 잘 설계되어 있으면 VEA가 올라갈 때 VG도 올라가는, 즉 소스팔로워(버퍼)처럼 동작합니다.이 회로는 클래스-AB 형태의 push-pull 버퍼입니다. M4(상단 PMOS)와 M2(하단 NMOS)가 실제로 패스 트랜지스터 게이트를 위/아래로 당겨주고, M3-I1, M1-I2가 각각 pull-up, pull-down 쪽의 바이어스를 잡아주면서 “국부 피드백 루프 두 개”를 형성합니다. 하지만 두 루프가 완전히 독립적인 것이 아니라, VG와 I2 노드를 통해 강하게 결합되어 하나의 버퍼로 동작합니다.질문 주신 해석에서 핵심 오류는 두 가지입니다.첫째, I1, I2를 VEA에 따라 변하는 전류처럼 생각하신 점입니다. 이상적인 LDO 버퍼 설계에서는 I1, I2는 거의 일정한 참조 전류입니다. 따라서 VEA가 변할 때 “전류가 줄어든다/늘어난다”기보다는, 전류는 거의 고정되어 있고 그 전류를 맞추기 위해 노드 전압들이 움직인다고 보는 것이 정확합니다. 실제 회로 해석에서는 dI ≈ 0, dV ≠ 0라고 두고 small-signal을 잡는 식입니다.둘째, PU 루프에서 M3 드레인 노드(=M4 게이트)가 어느 방향으로 움직이는지가 반대로 잡혀 있습니다. 간단히 방향만 정리해보겠습니다.예를 들어 NMOS M3의 게이트는 VB0에 고정, 소스는 VEA입니다. PU 루프만 놓고 small-signal으로 보면VEA가 ΔVEA 만큼 상승합니다.그러면 M3의 Vgs3 = VB0 − VEA 이므로 ΔVgs3 하지만 I1은 이상 전류원이라 ΔI1 ≈ 0입니다. M3 드레인 노드(=M4 게이트)의 KCL을 쓰면ΔI1 + ΔIM3 ≈ 0이 되어야 하므로, M3 전류가 줄어든 만큼을 상쇄하기 위해 이 노드 전압이 움직여서 다시 IM3가 I1과 맞춰져야 합니다.VB0는 고정이고 VEA는 이미 올라갔기 때문에, IM3를 다시 키우려면 M3 드레인 전압을 “내려서” Vds를 줄이거나, 아예 M3를 triode 쪽으로 몰아가는 방향으로 노드가 이동합니다. 즉, M3 드레인 노드(=M4 게이트) 전압은 내려가는 방향(ΔVG4 M4는 PMOS로, 소스는 VDD, 게이트는 방금 말한 노드입니다. Vsg4 = VDD − VG4 이므로 VG4가 내려가면 ΔVsg4 > 0, 즉 M4가 더 세게 켜지고 상단에서 더 큰 전류를 끌어내립니다. 그 결과 출력 노드 VG가 위쪽으로 당겨져서 ΔVG > 0, 즉 VEA가 올라갈 때 VG도 같이 올라가게 됩니다.즉 PU 루프에 대한 올바른 흐름은VEA ↑ → M3 전류 ↓ → M4 게이트 전압 ↓ → |Vsg4| ↑ → M4 전류 ↑ → VG ↑와 같은 “양의 전달(버퍼)”입니다. 질문에서 쓰신 “M4 게이트 전압이 상승해서 M4 드레인 전류가 줄어들고, VG가 감소한다”는 부분이 이와 정반대 방향입니다.PD 루프도 비슷한 관점으로 보시면 됩니다. M1은 VEA를 보는 트랜스컨덕터 역할, M2는 NMOS pull-down 디바이스로, I2를 기준으로 M1+M2 전류 합이 맞도록 VG와 하단 노드 전압이 결정됩니다.VEA가 증가하면 M1 gate가 올라가서 M1이 더 많은 전류를 끌어가려 합니다. 그러면 VG 노드의 전류 밸런스가 깨지고 VG가 어느 한쪽으로 움직는데, 그때 M2게이트 = VG도 같이 움직여 M2의 전류가 바뀌고, 최종적으로는 “I2 = IM1 + IM2” 조건을 만족하는 새로운 VG를 찾게 됩니다. 이때 루프 이득과 바이어스를 적절히 설계하면, PD 루프 역시 “VEA가 올라갈 때 VG도 올라가는 방향”으로 동작하도록 만들 수 있습니다. 즉 M1이 더 많이 끌어가려 하면 VG가 약간 내려가면서 M2가 더 꺼지고, I2의 상당 부분을 M1이 가져가게 되어 하단 노드 전압이 변하고, 그에 따라 다시 VG가 조정되는 식의 음의 피드백 구조입니다. 국부 루프를 한 단만 잘라서 보면 순간적으로는 VG가 내려가는 방향인 것처럼 보이지만, 최종 정상상태(루프가 수렴한 상태)에서는 전체적으로 “입력과 같은 방향”으로 움직입니다.실무에서 이 구조를 사용할 때는 다음과 같이 정량적으로 확인합니다.DC 스윕으로 VEA를 예를 들어 0.6 V → 0.8 V 범위에서 스윕하고, VG의 DC 값을 같이 플롯합니다. 정상적인 버퍼라면 VG vs VEA 그래프는 기울기 dVG/dVEA ≈ 0.9~1.0 정도의 직선으로 나옵니다. 즉 gain ≈ 1 follower behavior입니다.같은 바이어스에서 작은 신호 AC 해석을 돌려서, 입력 VEA에 1 V_ac를 걸고 VG의 AC gain을 보시면, 0 dB 근처에서 충분한 위상 여유(> 60° 정도)를 확보하는 방향으로 소자 W/L과 I1, I2를 조정합니다. 이때 push-pull 구조 덕분에 effective gm ≈ gm_PU + gm_PD 수준으로 커지기 때문에, pass transistor 게이트 쪽 pole을 LDO 루프 설계에 유리한 위치로 옮길 수 있습니다.Large-signal transient에서 load를 0 → Iload_max 같은 스텝으로 걸었을 때, VG가 얼마나 빠르게 올라갔다 내려오는지를 보고 slew-rate와 과도 오버슈트를 조정합니다. push-pull 버퍼를 쓰는 이유가 바로 “소스 공급 시에는 M4가, 싱크 시에는 M2가 적극적으로 밀고 당겨서” 수십 mA~수백 mA 단계의 부하 변동에도 수 µs 수준의 응답 속도를 확보하기 위함입니다.정리하면,질문에서의 방향성 해석(“VEA 증가 → PU 루프에서 VG 감소, PD 루프에서 VG 증가”)은 전류원과 노드 움직임 방향을 반대로 잡으신 데서 나온 결과이고, 제대로 KCL과 디바이스 특성을 적용하면 두 루프 모두 VEA와 VG가 같은 방향으로 움직이는, 즉 버퍼(소스팔로워)로서 동작합니다. 실제로 LDO 문헌이나 공정 PDK 예제 회로에서도 거의 동일한 구조의 push-pull 버퍼가 널리 쓰이고 있습니다.따라서 회로 자체의 토폴로지는 소스팔로워 버퍼로서 타당하고, 지금은 “각 노드에서 어떤 전류가 고정이고, 그 전류를 맞추기 위해 어느 전압이 움직이는지”를 작은 신호 관점에서 다시 한 번 정리해 보시면, 직관이 훨씬 깔끔해지실 것 같습니다.
- 0
- 2
- 38
Q&A
LDO Bulk cap 사용가능 여부
안녕하세요, 답변 남겨드립니다.LD1117 계열과 같은 LDO(Low Dropout Regulator)는 입력 및 출력단의 커패시터 용량과 ESR(Equivalent Series Resistance)에 매우 민감하게 반응하는 구조를 가지고 있습니다. 내부 보상 루프(Compensation Loop)가 출력 커패시터의 위상응답에 맞춰 설계되어 있기 때문에, 데이터시트에서 권장된 용량과 ESR 범위를 크게 벗어나면 발진(oscillation)이나 과도응답 불안정 문제가 생길 수 있습니다.LD1117S33CTR의 데이터시트를 보면 입력단에는 0.1uF 이상의 세라믹 커패시터를 권장하고, 출력단에는 10uF 탄탈 또는 저ESR 전해 커패시터를 권장합니다. 이는 LDO 내부 제어루프의 안정성을 위한 최소 요구 조건입니다. 따라서 강의에서 출력단에 10uF를 사용한 것은 데이터시트와 동일하며, 이는 적정한 설계입니다.문제는 입력단 Bulk Capacitor를 얼마까지 확장해도 되는가입니다. 일반적으로 LDO 입력단의 커패시터는 전원선의 노이즈와 트랜지언트 부하에 대응하는 목적을 가지므로, 데이터시트의 최소 권장값(예: 0.1uF)은 단지 내부 루프 안정성 확보용이고, 실제 회로에서는 노이즈 여유를 두기 위해 1uF~10uF 수준으로 확장하는 것이 일반적입니다.47uF 정도의 커패시터를 병렬로 두어 Bulk Cap 역할을 하게 만드는 것은 EMC/EMI 대응 측면에서는 효과적일 수 있습니다. 다만 다음 두 가지를 반드시 고려해야 합니다.첫째, LDO 입력단 커패시터의 ESR과 충전 전류입니다. 입력에 47uF 전해 커패시터를 두면 전원 인가 시 충전 전류가 순간적으로 커지므로, 보호 다이오드(MBRS130LT3G)의 Surge Current Rating을 초과하지 않도록 해야 합니다. LD1117의 입력 전류는 보통 수십 mA 수준이지만, 전원 인가 순간에는 Inrush Current가 1~2A까지 치솟을 수 있습니다.둘째, 대용량 입력 커패시터를 사용할 경우, 출력단의 위상 여유(Phase Margin)에 영향을 줄 수 있습니다. LDO 내부 루프가 입력 임피던스의 변화에 간섭받을 수 있기 때문입니다. 일반적으로 LD1117 계열은 입력단 용량이 100uF 이하에서는 안정성이 유지되는 것으로 보고되어 있으며, 따라서 47uF는 안정성 범위 내입니다.정리하면, 입력단에 47uF Bulk Capacitor를 추가하는 것은 EMC/EMI 필터링이나 전원 라인의 임피던스 저감에 도움이 되며, LD1117의 동작 안정성에도 큰 문제가 없습니다. 다만, 이 커패시터는 반드시 저ESR 세라믹보다는 약간의 ESR(수십 mΩ~수백 mΩ)을 가지는 전해 또는 탄탈 계열이 더 안정적입니다. 또한, 입력단 0.1uF 세라믹을 병렬로 남겨두는 것이 고주파 노이즈 억제에 효과적입니다.즉, 실무적으로는입력단: 0.1uF (세라믹) + 47uF (전해 또는 탄탈) 병렬 구성,출력단: 10uF (저ESR 전해 또는 세라믹)이 구성이 가장 안정적이며, 이는 LD1117의 루프 보상 조건을 충족하면서 EMC/EMI 노이즈 저감에도 효과적인 조합입니다.예를 들어 자동차 전원(12V) 환경처럼 노이즈가 심한 라인에서는 MBRS130LT3G 다이오드 뒤에 LC 필터 또는 Ferrite Bead를 추가하고, 그 뒤에 47uF Bulk Cap을 둠으로써 LDO 입력의 리플을 20~30dB 수준으로 감쇠시킬 수 있습니다. 이 방식은 강의에서 언급된 “EMC/EMI 대응 Bulk Cap 활용” 실무 예시에 해당합니다.
- 0
- 2
- 36
Q&A
BGR의 Vref 회로
안녕하세요, 답변 남겨드립니다. BGR(Bandgap Reference) 회로에서 BJT를 사용하는 이유는 ‘정확한 온도 계수 보상’과 ‘디바이스의 물리적 특성 재현성’ 때문입니다. 기본적으로 BGR은 CTAT(Current To Absolute Temperature) 성분을 가지는 다이오드 전압 Vbe와, PTAT(Proportional To Absolute Temperature) 성분을 가지는 ΔVbe를 적절히 합성하여 온도 변화에 대해 거의 일정한 Vref를 만드는 구조입니다. 이때 핵심은 ΔVbe = (kT/q) * ln(N) 이라는 물리식에서 보듯이 BJT의 베이스-에미터 전압 차가 절대온도에 비례하여 선형적으로 증가한다는 점입니다. 이 관계식은 실리콘 BJT의 물리적 원리(전류 밀도, 캐리어 농도 등)에 의해 매우 정확히 정의되므로, MOSFET이나 PN 다이오드로는 동일한 선형성과 정밀도를 확보하기 어렵습니다. 예를 들어, MOSFET을 이용한 Subthreshold Reference 회로도 존재하지만, 이 경우에는 ID ≈ I0 * exp(Vgs / nVt) 와 같은 식에서 n(서브스레숄드 인자)가 공정, 전압, 온도에 따라 변하기 때문에 PTAT 성분의 직선성이 떨어집니다. 따라서 ±1% 이하의 온도계수(예: 10ppm/°C 이하)를 요구하는 고정밀 BGR에서는 BJT 기반 구조가 여전히 표준으로 쓰입니다. 반면, 저전력이나 CMOS 공정 단일화를 목표로 하는 경우에는 MOSFET만으로 구현한 MOS-only Bandgap 구조도 연구되지만, 기준 전압의 절대 정확도나 공정 간 변동성에서 BJT보다 불리합니다. 질문 주신 두 번째 부분, 즉 Q1과 Q2(BJT)의 전류밀도 비를 n배로 두어 ΔVbe를 생성하고 이를 연산증폭기(Op-amp)를 통해 제어하는 구조는 “Widlar Bandgap” 또는 “Brooks-Baker type”으로 분류됩니다. Op-amp는 두 BJT의 Vbe 차이를 감지하고, 이 전압이 PTAT 특성을 가지도록 저항을 통해 전류를 제어하여 ΔVbe를 생성합니다. 이때 생성된 PTAT 전류와 Vbe(CTAT)를 비율 합성하여 기준전압을 얻습니다. 산업적으로는 이 Op-amp 피드백형 구조가 가장 널리 사용됩니다. 이유는 첫째, PTAT 전류를 저항을 통해 안정적으로 생성할 수 있어 온도 보정 계수 설계가 용이하고, 둘째, 증폭기를 통해 공정 및 공급전압 변화에도 ΔVbe 비율을 일정하게 유지할 수 있기 때문입니다. 반대로 간단히 다이오드 스택만으로 ΔVbe를 직접 합성하는 간소형 Bandgap (예: Sub-bandgap 구조)은 회로가 간단하지만 PSRR(Power Supply Rejection Ratio)와 라인·로딩 레귤레이션 특성이 떨어집니다. 예를 들어, 3.3V CMOS 공정에서 Op-amp 피드백형 BGR은 ±10mV 이내의 정확도를 보장하며, 온도 계수는 15ppm/°C 수준까지 낮출 수 있습니다. 반면, 단순 다이오드 스택형은 100ppm/°C 수준에 머물고, 칩 간 오프셋이 크기 때문에 Precision ADC나 PLL 기준전압으로는 적합하지 않습니다. 요약하자면, BJT는 ΔVbe의 이상적 선형성, 공정 재현성, 그리고 절대전압 기준을 제공하기 때문에 선택됩니다. MOSFET이나 PN 다이오드로도 유사 구조는 가능하지만, 정밀 기준전압의 온도 안정성과 장기 신뢰성 면에서 실리콘 BJT 기반의 Bandgap이 여전히 가장 실용적이며, 피드백 증폭기를 포함한 전류제어형 구조가 산업표준으로 자리잡고 있습니다.
- 0
- 2
- 46
Q&A
17:18 분에서 RJ45잭에 ...
안녕하세요, 답변 남겨드립니다.아래 더 정확한 내용으로 답변 남겨드립니다. 아래 내용으로 참조해주세요.먼저, RJ45 잭의 1, 2, 3, 6핀 조합은 IEEE 802.3 표준에 따라 10/100Base-TX Ethernet의 Differential Pair로 사용되며, 일반적으로 다음과 같습니다.1, 2번핀 : TD+ / TD– (Transmit Data, 송신 라인)3, 6번핀 : RD+ / RD– (Receive Data, 수신 라인)실제 Kycon G8X 시리즈 중 일부 모델(G8X-188S7-BP 등)은 Magnetics(트랜스 내장형) 이 포함된 버전과 Non-magnetic 버전이 혼재되어 있으며, 이때 핀 매핑이 다르게 표기됩니다. 따라서 “5,6핀에 RD”가 표시된 회로는 내부 트랜스의 코일 종단이 7,8번으로 재매핑된 버전이므로, 이는 Magnetics 내장형 RJ45 구조를 전제로 합니다.다음으로 EARTH 접지(Earth Ground) 연결은 RJ45의 Shield(금속 외피)에 대한 Chassis Ground(섀시 접지)를 의미합니다. 데이터시트에서는 Shield terminal을 ‘Shell’ 혹은 ‘Mounting tab’으로 표시하고 있으며, 이 부분은 신호용 GND(Logic GND)가 아닌 보호용 접지(ESD 보호 경로)로 처리해야 합니다.Ethernet 회로에서 이 Shield-GND를 처리하는 표준적인 방법은 다음과 같습니다.Shield(Earth)와 Board GND는 직접 연결하지 않고,0Ω 저항, 100nF 커패시터, 또는 ESD Suppressor를 직렬로 삽입하여 RF 노이즈와 ESD를 바이패스시킵니다.Ferrite bead(임피던스 600Ω@100MHz 수준)를 함께 배치하면, ESD 스트로크나 고주파 노이즈가 Board 내부 회로로 들어오는 것을 억제합니다.예를 들어 STM32 + LAN8720A PHY 회로를 설계할 때, RJ45 Shield는 “EARTH” 네트로 표기되고 이 네트는 Board GND와 100nF 커패시터로 연결되어 있습니다. 실제 레퍼런스 회로는 Microchip LAN8720A Evaluation Board (EVB8720A-CZ)을 참조하시면 동일하게 구성되어 있습니다.즉, 질문하신 “EARTH 접지 레퍼런스 회로”는 Kycon 데이터시트에서 직접 제공되는 것이 아니라, PHY 칩 레퍼런스 설계(예: Microchip, TI, Realtek 등)에서 RJ45 잭의 Shield 처리 부분으로 확인하실 수 있습니다. 대표적으로 아래와 같이 연결됩니다.RJ45 Shield --- [100nF] --- GND | [ESD Diode to GND] 또한, 고속 Ethernet(>100Mbps) 설계에서는 Shield-GND 연결 임피던스를 최소화하기 위해 Shield 접점과 GND Plane 사이의 거리도 3mm 이하로 유지하도록 권장됩니다.따라서, 정리하자면데이터시트의 1,2핀은 TD, 3,6핀은 RD이며, 5,6핀을 RD로 사용하는 것은 특정 RJ45 내부 트랜스 구조 버전(G8X-188S7-BP의 특정 파생 모델) 기준입니다.EARTH 접지는 RJ45 Shield(Earthing tab)용이며, PHY 신호 GND와 직접 연결하지 않고 100nF 커패시터 또는 Ferrite bead를 통해 간접 연결해야 합니다.레퍼런스는 PHY 칩 벤더(Microchip, TI 등)의 Evaluation Board Schematic에서 확인하는 것이 가장 정확합니다.추가로 회로 예시나 Layout Reference를 원하신다면 LAN8720A EVB 회로도를 기반으로, RJ45-EARTH-GND 경로 부분을 분석해드릴 수도 있습니다. 원하신다면 해당 부분의 정량적 설계(임피던스 계산 포함)로 이어서 설명드리겠습니다.
- 1
- 1
- 29
Q&A
no data path질문
안녕하세요, 답변 남겨드립니다.강의 내용 그대로 따라했는데 “no path”가 나왔다면합성된 Top module에 clk 포트가 실제 존재하는지,create_clock 구문이 해당 포트명과 일치하는지,Timing Analyzer 실행 시 SDC가 실제로 적용되었는지를 확인해보셔야 합니다.Quartus나 Vivado에서는 흔히 SDC가 “unconstrained” 상태로 빠지는 경우가 있어, GUI 상에서 Constraint Assignment 창에서 파일을 수동으로 추가해야 정상 동작합니다.즉, 강의의 절차는 맞더라도 현재 사용 중인 Tool의 버전 차이 또는 Clock 포트 미인식으로 인해 Analyzer가 Path를 탐색하지 못하는 것이 원인일 가능성이 높습니다.
- 0
- 2
- 37
Q&A
A0, A1 핀 질문 있습니다.
안녕하세요, 답변 남겨드립니다.ADC의 A0, A1 핀을 DGND에 연결하신 부분은 정확히 말씀하신 대로 I2C Slave Address를 고정하기 위한 하드웨어 어드레스 설정 목적입니다. 대부분의 ADC 칩(예: ADS1115, ADS1015 등)에서는 A0, A1 핀이 Address Pin으로 정의되어 있으며, 각 핀을 GND, VDD, SDA, SCL 중 어디에 연결하느냐에 따라 I2C Address가 결정됩니다.데이터시트 35페이지에서 확인하신 '1000000'이라는 7비트 I2C Address는, A0, A1 핀이 모두 DGND에 물린 상태를 의미합니다. 즉, 이 구성이 칩의 기본 주소 (0x40 또는 0x48 등, 상위 비트 포함 시 8비트 주소로 표현됨)를 선택하게 되는 것입니다.예를 들어, 다음과 같은 형태로 Address Mapping이 정해져 있습니다.A1=GND, A0=GND → 1000000 (0x40)A1=GND, A0=VDD → 1000001 (0x41)A1=VDD, A0=GND → 1000010 (0x42)A1=VDD, A0=VDD → 1000011 (0x43)이 방식의 목적은 하나의 I2C 버스에 동일한 ADC 칩을 여러 개 연결할 때, 각 칩의 주소 충돌을 피하기 위함입니다. 예컨대 MCU가 I2C를 통해 4개의 ADC를 제어하려면 각 칩의 A0/A1 핀을 조합하여 서로 다른 Address를 갖도록 설정합니다.실무적으로는 보드에서 단일 ADC만 사용한다면 불필요한 floating이나 노이즈 coupling을 방지하기 위해 A0, A1을 단순히 GND에 묶어 고정 주소로 두는 것이 가장 안정적입니다. 반면 확장 가능성을 고려한 설계라면, 0Ω 저항 패턴(즉, 옵션 저항 자리)을 두어 A0/A1을 VDD로 점퍼 변경할 수 있게 합니다. 이렇게 하면 생산 시 보드 리비전 없이도 Address를 유연하게 변경할 수 있습니다.정리하자면, ADC의 A0, A1 핀을 DGND에 연결하신 이유는 의도적으로 I2C Address를 ‘1000000’으로 설정하기 위한 하드웨어 고정 설정이며, 이는 데이터시트의 Address Table에 기반한 표준적인 구성입니다.
- 0
- 2
- 38






