본문 바로가기

반도체 교육72

[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 세미콘 아카데미] 53일차 - ARM 및 RTOS 활용(Mission : LED Controller) [Mission] 📌 Mission : 조이스틱을 이용한 밝기 제어 M1. 조이스틱을 이용하여 밝기를 제어한다. M2. ADC 기능을 활용하여 조이스틱 입력 처리를 구현한다. (Timer, Interrupt, DMA 방식 중 택1) M3. FreeRTOS를 사용하여 조이스틱의 입력에 따라 LED 밝기를 조절하고 LED를 점멸 속도를 조정하는 두 가지 동시 작업을 관리한다. 수행 기간 : 6 hours [Result] 📌 Flow Chart Flow Chart Description 1. 각 기능들 초기화 2. Read Joystick Value 3. zVal = 1이면, LED Off zVal = 0이면, LED On 4. xVal : Blink Speed Control 5. yVal : Brightnes.. 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.