묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
SRAM 강의 TB 작성 후 waveform 확인시에 dout이 모두 don't care 처리 관련 질문드립니다.
SRAM 기본 모델링 코드 작성후, RTL view통해서 확인시에 dout 값이 모두 xxxxxx로 처리가 되는데, TB 작성에도 문제가 없어보여 고쳐야할 부분이 있는지 문의드립니다.
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
Set_Phases
U(A)상,V(B)상,W(C)상 제어를 위한 코드에서TIM1을 이용해서 3상에 20KHz의 PWM을 신호를 발생 시키는데. 여기서 2가지 질문이 있습니다. 20KHz의 PWM 선정 조건이 있는지 궁금합니다. 단순 실험적 조건인건지, 아니면 하이사이드의 충전 시간 등 어떠한 고려 사항을 토대로 선정을 하셨는지 궁금합니다. 20KHz의 상보 동작의 구동방식에서 어떤식의 코드에서 상단만 PWM이 들어가고 하단은 상보동작의 ON/OFF 시스템이 되는지 궁금합니다.아마, Set_Phases 함수인거 같은데 해당 부분에 부연 설명 좀 부탁드리겠습니다.
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
상단 스위치 PWM 장단점.
안녕하세요. 해당 강의에서 유니폴라 PWM제어 방식에서 상단 스위치만 PWM을 해서 구동을 하신다고 하셨습니다. 여기서 상단만 PWM , 하단은 ON/OFF 제어를 통해 스위칭 손실 감소와, 전류센싱에 유리한 점은 이해됩니다.하지만, 상단 스위치 PWM의 경우는 상단 MOSFET이 LOW일때, 부트스트랩 커패시터가 충전을 하게 되는데, 듀티비가 잘못계산되어 충전 기회가 적어서 Rds(on)이 증가되어 발열이 나거나, 심한경우 MOSFET이 ON이 안되는 경우가 생기지 않나요? 구동의 안정성은 상단 PWM보단 하단 PWM 제어가 더 안정성이 높지 않나요?
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
부트스트랩 커패시터.
안녕하세요. 인버터 설계시 부트스트랩 커패시터 관련 문의드립니다.현재 영상에서는 부트스르탭 커패시터로 C60 (100nF) 을 사용하셨습니다. 인버터 설계시 부트스트랩 회로에서의 부트스트랩 커패시터와 PWM의 주파수가 적절해야 하는걸로 알고 있습니다.혹시 100nF으로 설계하신 이유가 아래의 사양서상 추천 용량을 사용하신 건가요? (0.022µF to 0.1µF local decoupling capacitor is recommended between the HB and HS pins.)혹시 그렇다 하시면, 해당 커패시터에 걸리는 충전전압 11.3V이므로 정격 전압은 15V 이상의 커패시터 전압용량으로 선정해야 안전한건가요?
-
해결됨[6주 과정] 전동킥보드로 배우는 임베디드 실전 프로젝트
MOSFET 파트에서 오류
3:38초 부근에서 30A전류에 Ron=1 에서 P가 30W가 아니라 900W아닌가요?
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
STM32 사용 관련 문의
안녕하세요 강의 따라 하는 도중 0:53초 화면에서 Finish 누르면 아래 화면처럼 뜨는데 해결 방법을 알 수 있을까요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
타이머 최대 주파수 질문
안녕하세요 강의 잘보고 있습니다.타이머 2는 최대가 72MHz니까 굳이 외부 크리스탈 안써도 사용이 가능하지요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
vivado와 quartus 프로그램의 systhesis 결과 차이에 대해 궁금한 점 있습니다
quartus를 쓰면 gate level로 합성되게 되는 반면에, vivado를 쓰면 주로 LUT형태로 합성이 되는데 왜 그런지 궁금합니다! 그리고 vivado에서 power, timing 분석하려고 하는데, power는 잘 뜨는데, 각 port마다의 timing이 아무것도 안나옵니다. vivado에서는 어떻게 설정해야하는지 궁금합니다.
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
ADC Conversion mode.
안녕하세요. 좋은 강의를 열강 하다 보니 질문이 계속 생겨서 귀찮게 해드리는거 같아서 죄송합니다.2가지 질문이 있습니다.SMPR2 주석에 6.2us의 주기가 있는데, 이것이 혹시 Tconv 시간을 말씀하시는건가요? 맞다면, 6.2us가 아니라 7.5us가 아닌가요?(Tconv = (sampling + conversion)*CLK = (56+12)* 111.1ns(9MHz) = 7.5us)이번강좌에서 쓰로틀을 ADC로 읽는 과정에서 ADC Conversion mode를 single 로 하셨는데,이렇게 되면 매번 코드에 SWSTART 반복과 EOC 대기를 을 진행해야 해서 CPU에 부하가 많이 걸리지 않나요? 어차피 While문 루프고, 쓰로틀은 계속적인 모니터링이 필요한 Analog 값이니 Continuous Conversion을 통해 1번만 트리거를 걸고 지속적으로 값을 모니터링을 하는게 더 효율적인 방법인거죠?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[9장 led 점등 시간 제어 불가]
안녕하세요 🙂9장 Vitis Serial Terminal 을 통해 register에 Write, Read까지는 진행을 완료하였습니다.Zybo Z7-10 보드를 사용하고 있어 보드의 차이로 인해 led 점등 시간 제어가 안되는거 같습니다. 다른 분도 동일한 어려움을 겪으신거 같은데 "ip를 다시 생성하고 시도해서" 해결한 것으로 확인됩니다. 저 또한 여러번 ip 재생성과 여러 버전의 Vivado, Vitis를 사용하여 시도하였으나 모두 실패하였습니다. (2020.2, 2022.2, 2023.1)툴 버전의 문제는 아닌것으로 파악되며 보드의 차이로 인한 문제라고 밖에 생각되지 않는 상황입니다. 어떤식으로 해결을 할 수 있을지 조언 부탁드립니다. 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
valid/ready 스트림 구조 관련 질문이 있습니다!
안녕하세요 맛비님! 개인 실습 중 질문이 있어 질문드리게 된점 양해부탁드립니다. 먼저 현재 실습 중인 내용 말씀드리겠습니다. axi4-lite 를 통해서 텍스트에 입력되어 있는 input data를 인풋bram 에 입력시킵니다.그 후, 개인적으로 만든 연산코어를 통해 연산하고 나서 연산결과를 연산코어 내의 레지스터에 저장합니다.레지스터에 저장된 값을 output bram 에 입력합니다.연산코어가 여러개여서 1-3 과정을 반복했습니다. 정리하면, input txt -> data_mover_bram -> bram0 -> 연산core -> data_mover_bram -> bram1 -> 연산core -> data_mover_bram -> bram2 ...-> 연산 core -> 매 clk 마다 연산결과 출력과 같은 구조를 만들었습니다.testbench simulation 상에서는 원하는 결과를 얻었습니다. 하지만, fpga 에 올리기 위해 generate bitstream 과정을 진행하다가 아래 사진과 같이자원을 고려하지 않고 구현했음을 깨달았습니다. (보드는 zybo z7 10 입니다) 제 추측으로는 연산결과를 각 연산core 에서 레지스터에 저장했다가 bram 에 입력했던 점이 문제라고 생각됩니다. 연산결과가 32bit 가 쌓일 때마다 결과 bram 으로 입력하는 방안을 고민 중인데 그러려면 각 연산 코어에서 bram 에 입력할때 AXI4 stream 을 사용해야 하는게 맞는지, valid/ ready 스트림 구조만 사용하는지 좋을지 알려주시면 감사하겠습니다.강의 외 내용이 많아서 죄송합니다 ㅜㅜ (답변 거부하셔도 괜찮습니다.)
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
스위치 인터럽트 동작이해.
안녕하세요.초보적인 질문 일 수가 있는데.. 동작이 잘 이해가 되지 않아서 질문 드립니다. 스위치 동작 Falling Edge에서만 인터럽트가 발생되는 코드로 버튼을 누르면 하드웨어 적으로 LOW되고 Falling 인터럽트가 발생되서 LED가 off 되는건 이해가 됩니다만, 버튼을 안누르면 하드웨어 적으로 High가 되지만 인터럽트는 발생이 안되서 LED의 상태는 유지 되어야 하는거 아닌가요?즉, 지금의 동작은 누르면 LED OFF, 때면 LED ON 동작인데.동작이 Falling에서만 인터럽트가 발생되서, 누를때만 ON됐다가 다시 누르면OFF 됐다가하는 동작이 되어야 하는게 아닌가 궁금합니다.
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
ADC 변환 단계 질문
안녕하세요. 강의 잘 듣고 있습니다. ADC 변환 단계 설명자료에서 8bit는 step이 256이라고 되어 있습니다.그런데,8비트는 0~255로 2^8-1 = 255.3.3V / 255 = 약 12.94mV로 계산되는 것이 맞지 않나 싶어서 문의드립니다. 10비트 = 1024-1, 12비트 = 4096-1, 16비트 = 65536-1 로 마찬가지입니다.확인 부탁드립니다.감사합니다.
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
보상 회로 설계시 낮은 주파수 대역폭을 선택한 이유가 궁금합니다.
안녕하세요. 강사님.파워스테이지 + 주파수 보상 시 전체 대역폭 설정시 24.8kHz, 14kHz 중 낮은 주파수 대역을 선택한 이유가 궁금합니다.주파수 보상으로 대역폭을 높이면 전류의 빠른 변화에도 반응할 수 있는게 아닌가요? 그러면 낮은 주파수 대역폭보다 높은 주파수 대역폭이 더 유리할 거라 생각되는데 상대적으로 낮은 주파수 대역을 선택한 이유가 무엇인가요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Platform Invalid 오류
안녕하세요 🙂[1. 질문 챕터] : 8장 실습 오류 관련 질문[2. 질문 내용] : 플랫폼 인식 실패 오류[3. 시도했던 내용, 그렇게 생각하는 이유] :// Error Log fatal error: myip.h: No Such file or directory // Vitis Log 09:13:53 ERROR : Failed to openhw "D:/Xilinx/Vitis/2022.2/project/axi/axi_plat/export/axi_plat/hw/axi.xsa" Reason: D:/Xilinx/Vitis/2022.2/project/axi/axi_plat/export/axi_plat/hw/axi.xsa is not available in the current workspace use 'getprojects' command to see list of available projects in current workspace 09:13:53 INFO : Result from executing command 'getProjects': RemoteSystemsTempFiles;axi_app;axi_app_system;axi_plat 맛비님 강의 영상을 따라서,hw/driver, ps7_cortex~, zynq_fsbl 아래의 myip 폴더의 Makefile을 전부 수정했는데 빌드를 할때마다 위와같은 오류가 나타납니다. 프로젝트를 Clean 한 이후에 다시 빌드하면 아래처럼 Platform Invalid 에러가 납니다.
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
제어기 대역폭 관련 질문 드립니다.
안녕하세요. 강사님.강의 잘 보고 있습니다. 제어기 대역폭 관련하여 GPT에 물어보니 제어기 대역폭은 보통 샘플링 주파수의 1/10에서 1/20로 설정한다고 합니다. 이유로는 나이퀴스트 주파수와 위상 지연이 연관이 있다고 하는데 이 부분이 아무리 봐도 이해가 안되네요. 왜 대역폭을 샘플링 주파수의 1/10으로 설정하는지 알 수 있을까요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
tool 질문
현재 pc에 vivado가 깔려 있는 상태인데, vivado로 진행하여도 해당 수업 참여하는데 지장없을까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
시계만들기 아키텍처-1 의 코딩 방식에 관한 질문
안녕하세요 🙂[1. 질문 챕터] : Verilog HDL/FPGA 외전1 - Chapter2[2. 질문 내용] : 아키텍처-1 의 코딩 방식에 관한 질문[3. 시도했던 내용, 그렇게 생각하는 이유] :module clock_arch1 ( input clk, rst, en, output reg [5:0] sec_cnt, // clog2(60) output reg [5:0] min_cnt, // clog2(60) output reg [4:0] hour_cnt // clog2(24) ); wire w_sec_tick; gen_sec u_gen_sec ( clk, rst, en, w_sec_tick ); wire sec_th = sec_cnt == 60-1; wire min_th = min_cnt == 60-1; wire hour_th = hour_cnt == 24-1; always@(posedge clk) begin if(rst) begin sec_cnt <= 0; min_cnt <= 0; hour_cnt <= 0; end else if (w_sec_tick) begin if(sec_th) begin sec_cnt <= 0; if(min_th) begin min_cnt <= 0; hour_cnt <= hour_th ? 0 : hour_cnt + 1; end else begin min_cnt <= min_cnt + 1; end end else begin sec_cnt <= sec_cnt + 1; end end end endmodule 파형은 문제없이 나온것 같은데, 이런 방식으로 중첩 if 문을 사용하면 기존 Matbi_Watch_1 구조와 다르게 합성되어 타이밍에서 문제가 되는지 궁금합니다. 경계값(th)를 초 단위가 아닌 분/시/일/월 단위로하게되면 if 중첩은 깊어지겠지만 tick_cnt를 60/24/30/12으로 줄 수 있어서 큰 카운터가 필요하지 않을 것 같은데, 이 부분은 어떻게 생각하시는지 궁금합니다.
-
미해결고급 C언어
fputs에서 fwrite 로 변경 후 버퍼타입이 헷갈리는데요
동영상에서 34분 전후를 보면fputs는 line 버퍼 사용하고 있고fwrite 로 변경후 fully 버퍼를 사용한다고 나오는데fwrite 를 써도 출력 대상이 stdout 이니까버퍼 종류는 똑같이 line 버퍼가 아닌가요?
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
속도 계산에 대한 문의입니다.
안녕하세요, 속도 계산하는 코드에 질문이 있습니다. speed_km_h = motor_speed_rpm * (3.14159f * 0.6283f) * 60.0f / 1000.0f;위 코드에서 0.6283f 라는 숫자에 대해서 궁금하여 글 남깁니다. 인 휠 모터의 지름은 20cm라고 알고 있습니다. 이를 미터로 계산하면 0.2m이고 둘레를 계산하기 위해 3.14159를 곱하면 0.6283184라는 숫자가 나오더군요. (둘레 x RPM x 60) / 1000 해서 km/h를 구하는 용도의 코드인 것 같은데 3.14159가 한번 더 중복되어 곱해진 것 아닌가 하여 글 남깁니다. 감사합니다.