본문 바로가기

Vivado36

[Harman 세미콘 아카데미] 54일차 - Verilog(온습도 센서 개요 및 통신프로토콜 Coding) [온습도 센서의 개요 및 Data Sheet] DHT11 온습도 센서로 온습도를 센싱하여 FND로 출력하는 기능을 구현해보도록 하자. 📌 Typical Application 📌 DHT11의 통신 프로토콜 처음에 MCU가 Low high보내주면, 받았다는 신호로 DHT가 Low High하나 보내고 데이터를 보내기 시작한다. DHT의 응답이 완료되면 Data Transmit이 시작되고 총 40bit를 보낸 뒤 종료되고 1회의 통신 프로세스는 약 4ms이며, 데이터는 정수와 소수 부분으로 구성된다. Process와 Process 사이의 IDLE 구간은 약 3초 정도의 대기 시간을 줘야 DHT11이 무리없이 통신할 수 있다. "RH 정수 부분(8bit) + RH 소수 부분(8bit)" + "T 정수 부분(8bi.. 2023. 9. 11.
[Harman 세미콘 아카데미] 54일차 - Verilog(Digital Watch : time setting, set fix, set mode) [Digital Watch 만들기] 이제까지 만들어놓은 모듈 라이브러리를 활용하여 디지털 시계를 구현해보도록 하자. [Time Setting] 📌 Block Diagram 디지털 시계의 기능 중 하나인, 시간 설정 기능을 구현해보도록 하자. 시작은 00min : 00sec이며, 시간은 back ground에서 계속 흘러가고, 설정은 흘러가는 시간 위에 적용시킬 수 있도록 설계하였다. 📌 Code & Operation Clock Library // usec clock module clock_usec( input clk, reset_p, input enable, output clk_usec ); // 125개 카운트하면 1us reg [6:0] cnt_8nsec; wire cp_usec; // cp : cl.. 2023. 9. 11.
[Harman 세미콘 아카데미] 52일차 - Verilog(Cook Timer - Button controller, Time setting, Down counter, Timeout, Alarm) Full Code는 맨 아래에~ [Button controller] 📌 Button controller module 자주 사용하는 기능이니까 모듈로 만들어 버리자. module button_cntr( input clk, reset_p, input btn, output btn_pe, btn_ne ); // DFF를 위한 분주기 reg [16:0] clk_div = 0; // 이렇게 = 0 해놓으면 시뮬레이션에서 자동으로 0으로 초기화된다. // 보드에서 쓸 때는 시스템적으로 0으로 초기화 always @(posedge clk) clk_div = clk_div + 1; // Debounce wire debounced_btn; D_flip_flop_n debnc(.d(btn), .clk(clk_div[16]).. 2023. 9. 7.
[Harman 세미콘 아카데미] 51일차 - Verilog(Stop Watch - 오류 검증, Prescaler 간소화, Mission) [오류 발생한 Part 체크] 📌 Simulation을 이용한 방법 테스트벤치를 만들어 오류가 발생한 part를 체크하고 수정할 수 있다. Testbench 관련 내용 [Harman 세미콘 아카데미] 2일차 - 보수체계, Testbench, Delay [개요] 1. 논리 회로 - Combinational Logic (조합 논리 회로) : input이 주어지면, output이 고정된다. output이 다음 output에 영향을 주지 못 함. - Sequential Logic (순차 논리 회로) : 이전 output이 다음 output에 영 rangvest.tistory.com 📌 LED를 이용한 방법 가장 쉽고 간단한 방법이다. 시뮬레이션을 활용하려면, 테스트벤치를 만들고 레지스터 등록하는 등 해줘야할 것.. 2023. 9. 6.