samcoach
@samcoach
Học viên
5,191
Đánh giá khóa học
493
Đánh giá khóa học
5.0
이력 사항
現) 반도체 대기업 (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를 만들어 가봅시다!
Khóa học
Đánh giá khóa học
ghdrms16657515
·
Thực hành thiết kế phần cứng PCB: Dự án thiết kế bo mạch tín hiệu hỗn hợp (Mixed-signal) sử dụng STM32Thực hành thiết kế phần cứng PCB: Dự án thiết kế bo mạch tín hiệu hỗn hợp (Mixed-signal) sử dụng STM32- Thiết kế mạch tương tự thực tế : Thiết kế Analog IP và cải thiện hiệu suất
didcjs106078
·
Thực hành thiết kế phần cứng PCB: Dự án thiết kế bo mạch tín hiệu hỗn hợp (Mixed-signal) sử dụng STM32Thực hành thiết kế phần cứng PCB: Dự án thiết kế bo mạch tín hiệu hỗn hợp (Mixed-signal) sử dụng STM32kdhs0709
·
Thực hành thiết kế phần cứng PCB: Dự án thiết kế bo mạch tín hiệu hỗn hợp (Mixed-signal) sử dụng STM32Thực hành thiết kế phần cứng PCB: Dự án thiết kế bo mạch tín hiệu hỗn hợp (Mixed-signal) sử dụng STM32- Thiết kế số và tương tự cùng dự án thực tế cho người mới bắt đầu thiết kế mạch
Bài viết
Hỏi & Đáp
LPDDR4의 VDD2 / VDDQ 전원 질문
안녕하세요, 답변 남겨드립니다.먼저 1번에서 말씀하신 VCC_DDR와 VCC1V8_LPDDR_A의 관계는, 질문하신 방식으로 읽는 것이 전기적으로는 맞습니다. 비드는 노이즈를 줄이거나 전원망을 고주파 관점에서 분리하기 위한 소자이지, DC 전압을 1.8V에서 1.1V로 바꿔주는 소자는 아닙니다. 그래서 해당 페이지에 보이는 연결만 놓고 보면, VCC1V8_LPDDR_A와 비드 하나로 이어진 쪽은 본질적으로 같은 1.8V 계열 전원으로 이해하는 것이 맞습니다. 여기서 강의 의도는 “비드를 지나면 1.1V가 된다”는 뜻이 아니라, DDR 전원이 메모리 근처에서 어떻게 분기되고, 왜 비드와 디커플링을 사용해서 로컬 전원처럼 구성하는지를 보여드리려는 데 있었습니다. 즉, 이 회로 조각은 전압 변환 경로를 설명하는 그림이 아니라 전원 분배 구조를 설명하는 그림이라고 이해하시면 가장 자연스럽습니다.질문자 입장에서는 당연히 “그럼 이게 VDD2에 직결된 것처럼 보이는데, 그러면 1.1V가 아니라 1.8V 아닌가요?”라고 물으실 수 있습니다. 이때 답변의 핵심은, 지금 보시는 페이지가 VDD2의 최종 전압값을 확정해서 보여주는 페이지는 아니라는 점입니다. 강의 자료에서는 VCC_DDR라는 이름이 이 장면 안에서 단독으로 의미가 완성되는 전원명이 아니라, 다른 전원 페이지와 함께 읽어야 하는 중간 전원명 또는 분배용 net name으로 사용된 것입니다. 실무 회로도에서도 이런 표현은 꽤 흔합니다. PMIC 출력은 예를 들어 BUCK2_1V1처럼 적혀 있고, 그 뒤 분배망에서는 VCC_DDR, 메모리 핀에서는 VDD2 또는 VDDQ처럼 각각 다른 이름을 쓰는 경우가 있습니다. 이름이 다르다고 다른 전원인 것도 아니고, 이름이 비슷하다고 같은 전원인 것도 아닙니다. 그래서 이번 강의에서는 전원 rail의 절대값보다도 “DDR 전원이 보드 상에서 이런 식으로 분리되고 근처에 디커플링이 붙는다”는 구조를 이해하는 쪽에 초점을 둔 것입니다.조금 더 친절하게 풀어서 말씀드리면, 회로도를 읽을 때는 보통 세 단계를 거칩니다. 첫 번째는 지금처럼 눈에 보이는 연결을 따라가는 것입니다. 두 번째는 그 net이 다른 시트에서 어떤 이름으로 정의되어 있는지를 확인하는 것입니다. 세 번째는 실제 칩의 핀 기능과 대조해서 이 net이 VDD1인지, VDD2인지, VDDQ인지까지 닫아보는 것입니다. 이번 자료는 첫 번째와 두 번째 단계의 중간 정도까지만 보이도록 편집된 상태라서, 질문자분 입장에서는 충분히 “전압이 섞여 보인다”라고 느끼실 수 있습니다. 그 해석은 틀렸다기보다는, 자료가 일부만 발췌되어 있어서 생기는 자연스러운 반응이라고 보시면 됩니다.2번에서 말씀하신 VCC_DDRC가 어떤 PMIC와도 연결이 안 보인다는 점도 같은 맥락입니다. 이 역시 “실제로 연결이 없다”는 의미로 보시기보다, 강의 자료에서 source 쪽을 생략하고 분배 이후의 net만 보여주고 있기 때문에 그렇게 보이는 것입니다. 실제 회로도에서는 PMIC 출력 페이지, power tree 페이지, 그리고 DDR schematic 페이지가 분리되어 있는 경우가 많습니다. 그러면 DDR 페이지 안에서는 VCC_DDRC라는 이름만 보이고, PMIC 쪽 buck 또는 LDO와의 직접 연결은 다른 시트에 숨어 있게 됩니다. 특히 교육용 자료나 리뷰용 자료에서는 전체를 다 펼치면 오히려 핵심이 흐려지기 때문에, 일부러 source를 생략하고 메모리 근처 전원 분배만 보여주는 경우가 많습니다. 이번 강의도 그 의도로 보시면 됩니다. 그래서 VCC_DDRC는 “어느 PMIC와도 연결되지 않은 미정의 전원”으로 읽기보다, “다른 페이지에서 이미 생성되어 들어오는 DDR 관련 전원 net”으로 이해하시는 것이 맞습니다.
- 0
- 1
- 16
Hỏi & Đáp
수강연장
안녕하세요,문의주셔서 감사합니다.해당 강의는 무제한으로 바뀌었고, 공지를 한번 드리긴 했었는데기존 수강생 분들도 물론 무제한으로 바꿔드리고 있습니다!반영해드렸으니 확인해보시고 또 궁금한 점은 편히 문의주세요!
- 0
- 2
- 19
Hỏi & Đáp
ODT_CA 셋업 관련 문의
안녕하세요, 답변 남겨드립니다.이 부분은 MR 제어와 strap 개념이 같이 들어가 있어서 문서만 보면 헷갈리기 쉬운 포인트입니다. 강의에서 ODT_CA_A를 10k로 풀업하고 ODT_CA_B를 10k로 풀다운한 의도는, RK3399가 이 핀을 런타임에 직접 토글한다는 의미보다는 어떤 die 또는 rank가 CA bus termination을 제공할 수 있는지를 보드 레벨에서 미리 정해두는 쪽에 가깝습니다. JEDEC LPDDR4 규격에서는 CA ODT 값 자체는 MR11[6:4]로 정하지만, ODT_CA bond pad가 LOW면 MR11이 켜져 있어도 그 die는 CA bus를 terminate하지 않고, HIGH이면서 MR11 값이 valid일 때만 terminate하도록 정의하고 있습니다. 같은 문맥에서 shared command bus 구조라면 ODT_CA ball을 시스템 보드에서 제공하라고 적혀 있는 이유도, termination 제공 주체를 보드에서 선택하기 위해서입니다.그래서 질문 주신 MR11, MR22와 ODT_CA_A/B는 서로 대체 관계가 아니라 역할이 분리되어 있다고 보시면 맞습니다. MR11은 RTT 값을 240 ohm, 120 ohm, 80 ohm, 60 ohm, 48 ohm, 40 ohm 가운데 어떤 값으로 쓸지 정하는 레지스터이고, MR22는 CK, CS, CA에 대한 override나 disable 동작을 일부 제어합니다. 반면 ODT_CA 핀은 그 ODT 기능을 이 die에서 허용할지 말지를 가르는 하드 strap에 더 가깝습니다. LPDDR4 계열 datasheet에서도 ODT_CA pin is used in conjunction with the mode register to turn on or off the on-die termination for CA pins라고 설명하고 있어서, 핀과 MR이 함께 동작하는 구조로 이해하시는 게 맞습니다.RK3399 쪽에서 ODT 관련 설정이 보이는 것은 DDR controller 또는 PHY가 ODT를 운용할 수 있다는 의미로 보시면 됩니다. RK3399 datasheet에도 DDR PHY 쪽에 programmable output and ODT impedance with dynamic PVT compensation 기능이 있다고 나와 있는데, 이건 PHY 초기화와 트레이닝, MR 세팅 관점의 기능 설명이지 외부 ODT_CA strap 핀을 대신해 준다는 뜻은 아닙니다. 실제 bring-up에서는 컨트롤러가 MR 세팅과 calibration을 맡고, 보드는 ODT_CA strap으로 어느 쪽 rank나 die가 CA ODT 제공 주체가 될지를 정해주는 식으로 역할이 갈립니다.그래서 강의 schematic에서 ODT_CA_A를 pull-up, ODT_CA_B를 pull-down 해둔 것은 보통 A 채널 쪽은 terminating rank로 허용하고, B 채널 쪽은 non-terminating rank로 두려는 의도로 읽으시면 됩니다. 보드에 LPDDR4 package가 두 개 들어가고 shared CA topology를 쓴 구조라면, 반대편 package에서는 이 설정을 반대로 가져가서 채널별로 termination provider가 하나만 남도록 맞추는 구성이 자연스럽습니다. JEDEC도 multi-rank system에서는 one rank가 전체 command bus를 terminate하도록 설계된다고 명시하고 있어서, 강의에서 잡은 방향은 이 표준 의도와 맞닿아 있습니다. 다만 이 문장은 전체 rank topology를 같이 봐야 100% 단정할 수 있으니, 반대편 package의 ODT_CA_A/B가 반대로 들어갔는지까지 함께 확인해 보시면 의도가 더 선명해질 것 같아요.10k 저항값 자체는 고속 종단값을 만드는 용도가 아니라, ODT_CA를 전원 인가 시점부터 확실한 H 또는 L로 고정해 두기 위한 약한 strap 저항으로 보시면 됩니다. 이 핀은 고속 토글 신호가 아니라 defined logic level만 만족하면 되는 입력 성격이라서, 수 kΩ에서 수십 kΩ 정도의 약한 bias를 두는 방식이 실무에서 무난합니다. 이 구간에서는 저항값보다 floating 없이 boot sequence 초기에 논리 상태가 확정되는지가 더 중요하고, 그 다음이 schematic의 strap 방향과 DDR init script의 MR 설정이 서로 충돌하지 않는지 확인하는 부분이네요.
- 0
- 1
- 28
Hỏi & Đáp
[LTspice 질문] PSRR 측정 방법 질문드립니다.
안녕하세요, 답변 남겨드립니다.비슷한 질문이 이전에도 한 번 나와서 같은 기준으로 말씀드리면, 지금처럼 VDD에만 AC 1V를 넣고 AC 해석을 했을 때 LTspice에서 보이는 V(vout_active)는 강의 기준으로는 A_v,supply to output를 보고 있는 것이 맞습니다. 그래서 강의에서 사용한 정의대로 해석하시면 PSRR(dB) = A_v,input to output(dB) - A_v,supply to output(dB)로 보시면 되고, 질문 주신 것처럼 이전에 구한 DC gain에서 이번에 측정한 Vout 값을 빼주는 방식이 맞습니다. 측정값이 -10.7 dB처럼 음수라면 실제 계산은 DC gain - (-10.7 dB)가 되니까 PSRR 값은 그만큼 더 커지게 됩니다.여기서 헷갈리기 쉬운 지점이 하나 있는데, PSRR이라는 단어를 자료마다 조금 다르게 씁니다. 어떤 문헌은 PSRR = 20log10(DeltaVDD/DeltaVOUT)처럼 전원 리플이 출력으로 얼마나 직접 새는지만 보기도 하고, 어떤 문헌은 opamp의 differential gain과 supply gain의 비로 보기도 합니다. 강의에서는 후자 쪽 의도로 설명드린 겁니다. 즉, 단순히 전원에서 출력으로 얼마가 전달되느냐만 보는 게 아니라, 원래 이 증폭기가 입력을 얼마나 잘 증폭하는지까지 같이 반영해서 보는 관점이라고 이해하시면 맞아요.실무에서도 이 부분을 섞어서 쓰면 숫자는 나와도 의미가 달라져서 review 때 자주 짚고 넘어갑니다. 예를 들어 supply-to-output gain만 보면 -10 dB, -20 dB 수준으로 나와도, 정작 open-loop DC gain이 60 dB에서 80 dB 사이면 실제 PSRR은 70 dB에서 100 dB 수준으로 해석될 수 있습니다. 그래서 회로팀 내부에서는 보통 "supply gain"과 "PSRR"을 따로 적어두고, 어떤 정의를 썼는지 같이 명시하는 편이 안전하네요.지금 올려주신 셋업에서는 저주파 PSRR 숫자 하나를 확인하는 목적이라면 현재 방식으로 충분합니다. 다만 주파수에 따른 PSRR curve를 더 엄밀하게 보고 싶다면 입력에 AC 1V를 넣어서 구한 A_v,input to output(f)와, 전원에 AC 1V를 넣어서 구한 A_v,supply to output(f)를 각각 구한 뒤, 주파수별로 dB subtraction을 해주는 방식이 가장 정확합니다. 2-stage opamp는 Miller compensation, 출력 노드 pole, current mirror 경로 때문에 100 kHz 이상부터 supply coupling 메커니즘이 바뀌는 경우가 많아서, 저주파에서의 DC gain 하나만 가지고 전 대역 PSRR을 해석하면 오차가 커질 수 있습니다.그래서 질문 주신 문장에 바로 답을 드리면, 강의에서 의도한 PSRR 정의 기준으로는 "네, 이전에 구한 DC gain에서 이번 AC 해석으로 얻은 V(vout_active)를 dB 기준으로 빼주시면 됩니다"가 맞습니다. 다만 다른 자료에서 PSRR을 -Vout(dB)처럼 바로 읽는 경우가 보이더라도 그건 정의가 다른 것이지, 지금 강의 해석이 틀린 것은 아닙니다.
- 0
- 2
- 27
Hỏi & Đáp
CS에 관한 질문
안녕하세요, 답변 남겨드립니다.질문하신 해석이 거의 맞습니다. 핵심은 “CS 개수를 채널 기준으로 보느냐, 패키지 전체 기준으로 보느냐”를 분리해서 보는 것입니다. 업로드된 커리큘럼에서도 이 질문이 LPDDR4 schematic 설계 파트에 해당하는 이유가 바로 여기인데, LPDDR4는 일반 DDR처럼 단순히 x32 한 덩어리로만 보면 계속 헷갈리게 됩니다.LPDDR4는 구조적으로 2 x 16-bit channel로 조직됩니다. 즉 x32 디바이스라고 해도 내부적으로는 Channel A 16bit + Channel B 16bit로 쪼개져 있고, 각 채널은 자기 CA/CK/CS를 가집니다. TI의 LPDDR4 가이드도 LPDDR4가 다른 DDR과 달리 2개의 16-bit 채널로 구성된다고 설명하고 있고, Micron 계열 LPDDR4 데이터시트에서도 CS0_A, CS1_A, CS0_B, CS1_B처럼 채널 A/B별 CS가 따로 정의되어 있습니다. 그래서 “채널당 CS 2개”라는 문장과 “패키지 전체에서 CS 핀이 4개 보인다”는 현상은 서로 모순이 아니라, 같은 사실을 다른 기준으로 표현한 것입니다.정리해서 보면 채널 A에는 Rank0/Rank1 선택용으로 CS0_A, CS1_A가 있고, 채널 B에는 Rank0/Rank1 선택용으로 CS0_B, CS1_B가 있습니다. 따라서 한 패키지가 dual-channel이고 각 채널이 2-rank를 지원하면 총 CS 수는 2 channels x 2 CS/channel = 4개가 됩니다. 질문에 적어주신 “한 개의 칩 안에 두 개의 채널이, 그리고 한 채널당 두 개의 랭크가 존재하기 때문에, 칩 한 개에는 총 4개의 CS가 존재하는 것인가”라는 해석이 바로 이 구조에 해당합니다.RK3399 쪽도 같은 맥락으로 보시면 됩니다. RK3399 데이터시트에는 DDR[i]_CSN[j]가 j=0~3으로 표기되지만, 동시에 설명 문구는 “each channel supports up to 2 ranks”라고 적혀 있습니다. 즉 컨트롤러 입장에서는 한 DDR 인터페이스 안에 채널이 있고, 각 채널마다 최대 2개의 rank를 고를 수 있으니, 물리 핀 표기상으로는 총 4개의 CSN이 나와도 논리적으로는 “채널당 2개”가 맞습니다. Rockchip의 HW design guide도 RK3399와 LPDDR4를 pin-to-pin으로 연결하라고 설명하는데, 이 역시 LPDDR4의 채널 분리 구조를 전제로 한 표현입니다.실무에서는 여기서 한 번 더 체크하셔야 할 게 있습니다. 모든 LPDDR4 패키지가 항상 4개의 CS를 실제 사용한다는 뜻은 아닙니다. single-rank x32 패키지라면 보이는 CS는 채널당 1개씩만 활성 사용되고, dual-rank 패키지일 때만 CS1_A, CS1_B까지 의미가 생깁니다. Micron 자료에도 dual-channel single-rank 패키지와 dual-channel dual-rank 패키지가 구분되어 따로 나와 있습니다. 회로도에서 이 구분을 놓치면 미사용 CS를 잘못 풀업하거나 NC로 착각해서 bring-up 때 초기화 실패가 날 수 있고, 특히 DDR training 단계에서 rank topology와 소프트웨어 device tree, DRAM init 파라미터가 1-rank/2-rank로 어긋나면 부팅은 돼도 메모리 사이즈가 절반만 잡히거나 특정 온도 구간에서 read leveling이 불안정해지는 문제가 나옵니다. 양산 관점에서는 이런 이슈가 재현율 5~10% 수준의 간헐 불량처럼 보여서 더 까다롭습니다.그래서 질문에 대한 한 문장 답을 드리면, “네, LPDDR4 한 패키지 안에 Channel A/B가 있고 각 채널이 2-rank를 지원하는 구성이라면 CS0_A, CS1_A, CS0_B, CS1_B로 총 4개의 CS가 존재하는 것이 맞습니다. 다만 이것은 패키지 전체 기준 4개이고, JEDEC이나 AP 설명에서 말하는 것은 채널당 2개입니다.” 이렇게 이해하시면 거의 정확합니다.추가로 회로도 검토하실 때는 해당 LPDDR4 부품이 truly dual-rank package인지, 아니면 package pinout은 공용인데 실제 SKU는 single-rank인지까지 꼭 확인하셔야 합니다. 이 부분은 데이터시트의 package block diagram에서 single-rank / dual-rank 표기를 보는 게 가장 확실하고, 단순 pin list만 보면 혼동이 자주 생깁니다. 설계 초반에 10분 아끼려다가 later stage에서 DDR init parameter, ZQ calibration sequencing, training script까지 같이 흔들리는 케이스가 꽤 많습니다.
- 0
- 1
- 18
Hỏi & Đáp
강의수강 만료일 연장 신청
안녕하세요,문의주셔서 감사합니다.해당 강의는 무제한으로 바뀌었고, 공지를 한번 드리긴 했었는데기존 수강생 분들도 물론 무제한으로 바꿔드리고 있습니다!반영해드렸으니 확인해보시고 또 궁금한 점은 편히 문의주세요!
- 0
- 2
- 30
Hỏi & Đáp
강의 만료일 연장 신청
안녕하세요,문의주셔서 감사합니다.해당 강의는 무제한으로 바뀌었고, 공지를 한번 드리긴 했었는데기존 수강생 분들도 물론 무제한으로 바꿔드리고 있습니다!반영해드렸으니 확인해보시고 또 궁금한 점은 편히 문의주세요!
- 0
- 2
- 26
Hỏi & Đáp
강의 질문
안녕하세요, 답변 남겨드립니다.지금 생각하고 계신 공부 방식은 방향이 맞습니다. 처음 한 바퀴는 완벽 이해보다 전체 흐름을 몸에 익히는 데 집중하고, 두 번째부터 빈칸을 메우는 방식이 실제로 가장 효율이 좋습니다. 특히 컴퓨터공학 전공에서 임베디드로 넘어오신 경우에는 코드나 시스템 사고는 이미 강점이 있는 편이라서, 이번 강의에서는 회로 자체를 “암기”하려고 하기보다 전원 흐름, 신호 흐름, 부품 선택 근거를 연결해서 보는 습관을 만드는 쪽이 훨씬 중요합니다. 이번 커리큘럼도 시스템 레벨 이해, Requirement Sheet 분석, 부품 선택, Block Diagram, Power Budget, STM32 데이터시트 해석, 각 기능 블록 schematic, Mixed-signal layout 순으로 이어지기 때문에, 순서를 거꾸로 건너뛰지 않고 따라가는 게 좋습니다.처음 1회독에서는 “따라한다”가 맞는데, 그냥 손만 따라가면 남는 게 생각보다 적어요. 기준을 하나 두고 따라가셔야 합니다. 예를 들면 강의를 들을 때마다 이 보드에서 5V가 어디서 들어와서 3.3V, 1.8V 혹은 아날로그 전원으로 어떻게 분기되는지, STM32는 어떤 인터페이스로 PHY, ADC, DAC, Motor Driver와 연결되는지, 왜 이 위치에 decoupling capacitor가 필요한지 정도는 매번 종이에 직접 다시 그려보셔야 해요. 이 정도를 10분 안에 말이나 그림으로 재구성할 수 있으면 그 챕터는 어느 정도 자기 것이 된 겁니다. 반대로 영상을 볼 때는 이해된 것 같았는데 빈 종이에 못 그리면 아직 내 것이 아닙니다.과목 특성상 3단계로 나눠서 보시면 훨씬 덜 흔들립니다. 첫 번째는 흐름 파악입니다. 여기서는 과제1처럼 Power & Signal Flow를 보는 눈을 만드는 데 집중하시면 되고, 각 IC의 세부 register나 절대최대정격 수치를 전부 외우려고 할 필요는 없습니다. 두 번째는 설계 근거 축적입니다. Requirement Sheet, 부품 선택, Block Diagram, Power Budget, STM32 pin mapping 구간에서는 “왜 이 부품인가”, “왜 이 핀에 이 기능을 넣는가”, “전류 마진을 몇 % 둘 것인가”를 스스로 설명할 수 있어야 합니다. 전원은 실무에서 보통 예상 소비전류의 1.2배에서 1.5배 정도 마진을 두고 보기 시작하고, LDO나 DCDC는 최대 부하에서 발열과 드롭아웃까지 같이 보지 않으면 나중에 보드가 붙어도 불안정해집니다. 세 번째는 검증 관점입니다. schematic과 layout 단계에서는 “동작한다”보다 “왜 문제없이 양산 가능한가”를 봐야 해요. Return path가 끊기지 않는지, Analog/Digital GND를 어떻게 다룰지, Ferrite bead를 넣는 위치가 합리적인지, PHY 주변 EMI 리스크가 없는지, 디버깅 핀이 살아 있는지 같은 부분입니다. 커리큘럼도 정확히 그 순서로 쌓이게 되어 있습니다.컴퓨터공학 전공이라는 점은 오히려 Mixed-signal 보드에서 꽤 유리하게 작용할 수 있습니다. STM32 같은 MCU를 다룰 때는 펌웨어 관점에서 어떤 핀이 부팅, 디버그, 통신, 인터럽트에 민감한지 감이 있으면 pin mapping 품질이 좋아지고, 디버깅 시간도 30% 이상 줄어드는 경우가 많아요. 대신 부족해지기 쉬운 쪽은 전원, 아날로그 정확도, 레이아웃에서의 물리적 감각입니다. 예를 들어 ADC가 12bit라고 해서 항상 12bit 성능이 나오는 게 아니고, 전원 리플, 기준전압 안정도, GND 리턴 경로, 디지털 스위칭 노이즈 때문에 실제 유효해상도가 1비트 이상 깎이는 상황이 흔합니다. 그래서 이번 강의에서 PHY, ADC, DAC, LDO, Motor Driver, MIC 같은 블록이 왜 묶여 있는지를 잘 보셔야 해요. 이 조합이 바로 현업에서 Mixed-signal 보드가 어려운 이유를 압축해서 보여주거든요.공부할 때는 강의를 보는 시간과 손으로 남기는 시간을 5:5 정도로 맞추시는 걸 권합니다. 1시간 강의를 봤으면 최소 30분에서 60분은 직접 정리하거나 다시 그려보셔야 해요. 여기서 정리도 예쁘게 필기하는 방식보다, 한 페이지에 Block Diagram, 한 페이지에 Power Tree, 한 페이지에 주요 인터페이스 표, 한 페이지에 “실수 포인트”만 적는 방식이 더 좋습니다. 실수 포인트에는 예를 들어 I2C pull-up 값 범위를 왜 그렇게 잡았는지, Crystal load capacitance 계산 시 stray cap을 얼마나 볼지, Ethernet PHY 주변 magnetics와 ESD/TVS를 어디에 둘지, bulk capacitor를 입력단과 부하단 중 어디에 우선 배치할지 같은 내용을 적어두면 됩니다. 이런 메모가 나중에 면접 답변의 재료가 됩니다. “강의를 들었다”보다 “3.3V rail에 최대 420mA가 걸려서 regulator를 600mA급으로 올리고, 발열 여유 15도 이상 확보하려고 copper area를 넓혔다” 같은 식의 말이 훨씬 강합니다.반복 학습도 그냥 처음부터 다시 보는 방식보다는 재구성 중심으로 하셔야 합니다. 두 번째 회독에서는 영상을 틀기 전에 먼저 혼자 그 챕터의 회로를 그려보세요. 예를 들어 STM32 최소 시스템이면 VDD, VDDA, VSS, BOOT, NRST, SWD, crystal, decoupling, I2C pull-up 정도를 빈 종이에 먼저 배치해 보고, 그다음 강의와 비교하면서 빠진 이유를 찾는 식입니다. 이때 정답과 얼마나 비슷한지가 핵심이 아니라, 빠진 항목이 왜 위험한지를 이해하는 게 핵심입니다. SWD가 빠지면 bring-up 때 펌웨어 다운로드부터 막히고, NRST 처리가 어색하면 디버깅이 꼬이고, VDDA decoupling이 빈약하면 ADC 성능이 흔들릴 수 있습니다. 이런 식으로 “빠졌을 때 생기는 고장 모드”를 같이 기억하면 훨씬 오래 갑니다.과제는 절대 제출용으로만 보시면 안 됩니다. 과제1의 Power & Signal Flow Exploration은 사실 뒤에 나오는 모든 schematic과 layout의 기준점입니다. 여기서 흐름이 안 잡히면 나중에 부품을 붙여도 회로가 조각처럼 보이고, 반대로 여기서 흐름을 제대로 잡아두면 Requirement Sheet 분석, Power Budget 작성, 각 IC schematic, Mixed-signal layout이 전부 한 줄로 이어집니다. 결국 실무자는 회로를 예쁘게 그리는 사람이 아니라, 요구사항에서 출발해서 전원, 신호, 부품, 배치, 검증까지 일관되게 이어붙이는 사람입니다. 이번 강의도 그 감각을 만들도록 설계되어 있습니다.지금 단계에서는 속도를 조금 늦추셔도 괜찮습니다. 대신 한 챕터를 넘길 때 “이 회로가 왜 이렇게 생겼는지 3분 이상 설명할 수 있는가”를 꼭 체크해 보세요. 그 기준으로 보면 한 번에 빨리 많이 듣는 것보다, 일주일에 3강에서 5강 정도를 보고 직접 회로와 블록도를 다시 만드는 방식이 더 탄탄합니다. 그렇게 1회독을 끝내고 나면, 두 번째부터는 이해 속도가 처음보다 2배 이상 빨라지고, 그때부터 비로소 데이터시트 문장이 보드 설계 의사결정으로 연결되기 시작할 겁니다.
- 0
- 2
- 60
Hỏi & Đáp
RJ45 library 누락
안녕하세요, 답변 남겨드립니다.확인해보면 RJ45 소자가 라이브러리에서 빠진 상태는 아닙니다. Mixed_signal.kicad_sym 내부에 해당 항목이 들어 있고, property "Value"가 "RJ45 LAN", footprint도 "CON10_P106_RJ45_TH_ST"로 정의되어 있어서 파일 자체 누락은 아닙니다.심볼 리스트에 안 뜨는 경우는 대체로 파일이 없는 문제가 아니라 KiCad가 그 파일을 현재 프로젝트에서 제대로 읽고 있지 못하는 경우가 많습니다. 실무에서도 이런 증상은 라이브러리 재다운로드보다 Symbol Library Table 쪽을 확인하면 5분 안에 정리되는 편이에요. Preferences -> Manage Symbol Libraries에서 Mixed_signal.kicad_sym가 Global 또는 Project 라이브러리에 실제 등록되어 있는지 먼저 보시고, 같은 nickname으로 예전 경로가 한 번 더 잡혀 있지는 않은지도 같이 확인해보시면 됩니다. 같은 이름 라이브러리가 2개 이상 걸려 있으면 새 파일을 받아도 계속 이전 파일을 바라보는 경우가 생각보다 자주 생깁니다.여기서 한 가지 더 보셔야 할 부분이 있습니다. KiCad 심볼 선택창에서 보이는 이름은 property "Value" 문자열이 아니라 symbol 정의 이름 기준으로 잡히는 경우가 많아서, 파일 안에 "RJ45 LAN"이 들어 있어도 검색어를 RJ45로 넣었을 때 바로 안 잡힐 수 있어요. 이럴 때는 Mixed_signal.kicad_sym 파일을 텍스트로 열어서 (symbol "심볼명") 부분의 실제 이름을 확인한 뒤 그 이름으로 검색해보시면 금방 찾습니다. 지금 보신 "RJ45 LAN"은 표시용 값일 가능성이 높고, 심볼명은 LAN_JACK, RJ45_xxx, Connector 계열처럼 다르게 들어가 있는 경우가 있습니다.그래도 목록에 반영이 안 되면 라이브러리를 삭제 후 다시 등록하고 KiCad를 한 번 재실행해보시는 게 좋습니다. mixed-signal 보드에서 RJ45 쪽은 단순 8핀 커넥터로 끝나는 경우보다 실드, LED, 탭 핀까지 포함돼서 10핀 이상으로 정의되는 경우가 많아서, 검색 범위를 RJ45 하나로만 보지 말고 LAN, Connector, Shielded Jack 쪽까지 넓혀서 보는 편이 안전하네요. 실제 PCB 단계에서는 심볼 유무보다 footprint 매칭 오류가 더 큰 리스크라서, 심볼을 찾은 뒤에는 pin count와 footprint "CON10_P106_RJ45_TH_ST"가 데이터시트의 실장홀 간격, 실드 탭 위치, LED 유무와 맞는지도 같이 보셔야 합니다. 여기서 1핀만 어긋나도 PHY TX/RX 페어가 뒤집혀서 디버깅 시간이 반나절 이상 날아가는 경우가 나옵니다.정리하면 이번 건은 RJ45 소자 누락이라기보다 라이브러리 등록 경로 또는 심볼명 검색 조건 문제로 보는 게 맞겠습니다.
- 0
- 2
- 44
Hỏi & Đáp
Differential Amp의 4가지 종류
안녕하세요, 답변 남겨드립니다.지금 단계에서는 V_out의 일반화된 식을 끝까지 유도하려고 너무 붙잡고 계시지 않아도 됩니다. 오히려 그 부분을 지금 무리해서 파고들면 회로마다 붙는 가정이 달라서 더 헷갈리기 쉬워요. 차동증폭기는 겉으로는 비슷해 보여도 load가 저항인지, active load인지, single-ended로 뽑는지, differential로 뽑는지에 따라 식이 금방 달라집니다. 그래서 입문 단계에서는 “이 회로가 어떤 장단점을 갖는지”를 먼저 몸에 익히는 쪽이 훨씬 잘 남습니다.지금 시점에서 꼭 가져가셔야 하는 건 아주 단순합니다. 첫째, 입력이 조금 차이나면 출력이 어느 방향으로 움직이는지 볼 수 있어야 합니다. 둘째, gain이 왜 커지거나 작아지는지 감이 있어야 합니다. 셋째, 출력 스윙이 넓은 구조인지, headroom을 많이 먹는 구조인지 구분할 수 있어야 합니다. 넷째, 왜 어떤 구조는 저전압에 불리하고 어떤 구조는 고이득에 유리한지 설명할 수 있으면 충분합니다. 여기까지 되면 이미 입문 단계에서는 잘 따라오고 계신 겁니다.V_out 식은 처음부터 “완전한 정답 공식”으로 외우기보다, 작은 신호 관점에서 아주 거칠게 보는 정도면 충분해요. 예를 들면 “출력 = 입력차 x 이득”이라고 먼저 받아들이고, 그 이득이 대충 gm x R_out 형태로 결정된다고 생각하시면 됩니다. 즉 gm이 커지면 더 민감하게 증폭되고, 출력저항 R_out이 커지면 gain이 커진다, 이 정도 감각이 먼저예요. 실제 회로식이 복잡해지는 이유는 ro가 들어오고, active load가 들어오고, differential to single-ended 변환이 들어오기 때문이지, 본질이 완전히 다른 것은 아닙니다.실무에서도 신입분들이 처음부터 모든 구조의 V_out 폐형식을 손으로 다 유도하지는 않습니다. 먼저 보는 건 “이 구조를 왜 썼는가”입니다. 예를 들어 gain을 20 dB 더 끌어올리고 싶으면 active load나 cascode 계열을 생각하게 되고, 대신 출력 스윙은 줄어들 수 있겠네요. 반대로 저전압 1.2 V 근처에서 안정적으로 굴려야 하면 headroom이 부족해서 멋있는 구조가 오히려 못 쓰는 경우가 많아요. 이런 판단이 먼저 서야 나중에 식을 봐도 머리에 들어옵니다.공부 순서를 아주 쉽게 잡아보면, 지금은 각 차동증폭기마다 “입력은 어디로 들어가고, 출력은 어디서 나오고, 누가 전류를 나눠 가지며, load가 무엇인지” 이 네 가지만 바로 말할 수 있으면 됩니다. 그 다음 단계에서 differential output일 때는 v_od = A_d x v_id 정도로 보고, single-ended output이면 절반 계수나 mirror 효과가 붙을 수 있다는 정도만 익히시면 충분해요. 여기서부터는 강의 뒤쪽에서 current mirror, active load, output resistance를 배우면 식이 훨씬 자연스럽게 보이기 시작합니다.지금 억지로 복잡한 식을 다 외우는 것보다, 회로를 봤을 때 “아 이건 gain은 괜찮은데 swing이 아쉽겠네”, “이건 구조는 단순한데 저항 load라 면적이 좀 커지겠네”, “이건 offset이나 mismatch 영향을 더 조심해야겠네” 이런 말이 나오기 시작하면 훨씬 좋은 방향으로 공부하고 계신 거예요. 입문 단계에서는 그 정도가 맞고, 그 기반이 잡힌 뒤에 식으로 들어가야 덜 힘들고 오래 갑니다.지금은 각 회로의 V_out 정확한 유도식까지 붙잡기보다, 어떤 구조가 왜 gain이 크고 왜 출력 스윙이 줄고 왜 구현이 복잡해지는지를 이해하는 데 집중하시면 됩니다. V_out 식은 나중에 gm, ro, active load 개념이 익숙해진 뒤에 다시 보면 훨씬 덜 복잡하게 보입니다.
- 0
- 1
- 37






