일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- vivado
- pwm
- test bench
- Pspice
- gpio
- ring counter
- Linked List
- verilog
- hc-sr04
- structural modeling
- atmega 128a
- BASYS3
- Edge Detector
- Recursion
- LED
- ATMEGA128A
- KEYPAD
- prescaling
- i2c 통신
- DHT11
- dataflow modeling
- FND
- Algorithm
- half adder
- behavioral modeling
- uart 통신
- soc 설계
- java
- stop watch
- D Flip Flop
- Today
- Total
목록vivado (37)
거북이처럼 천천히

1. 예외 처리의 필요성위 그림은 MCU와 DHT11 간에 통신 과정을 설명하고 있다.만약 MCU와 DHT11 간에 신호를 주고받는 과정에서 신호를 제대로 받지 못할 경우, 부정확한 신호 및 데이터를 받거나 잘못된 온도, 습도 데이터를 받을 수 있다.따라서 각 상태에 대해서 수신측에서 데이터를 못 받는 경우에 대한 예외 처리가 필요하다.이번에는 수신측에서 데이터를 받지 못한 경우에 대한 예외 처리를 추가적으로 설계하도록 하겠으며, 전체 소스 코드에 대한 설명보다는 수정된 부분에 대해서 집중적으로 코드와 함께 설명하도록 하겠다. 2. 3단계) S_HIGH_20US, DHT11측에서 응답 신호가 없는 경우// 3단계 : S_HIGH_20US// 100ms 동안 기다려 보았는데, Negative edge가..

1. Top module of DHT11 이전 게시글에서 구현한 dht11_cntr module를 실행시키기 위해 top module를 만들어서 실행해보도록 하겠다.dht11_cntr module 에 대한 게시글은 아래 링크를 참고하길 바란다.https://jbhdeve.tistory.com/295 Verilog RTL 설계(7월 23일 - 2, DHT11 구현 (1) )1. State diagram of dht11 Sensor ModuleMCU와 DHT 11 모듈 간에 통신 과정을 State diagram으로 그린다면 다음과 같이 표현할 수 있다. 2. DHT11로부터 온도, 습도 데이터 받아 Basys3의 FND로 출력DHT11로부터 데jbhdeve.tistory.com // Top mod..

1. State diagram of dht11 Sensor ModuleMCU와 DHT 11 모듈 간에 통신 과정을 State diagram으로 그린다면 다음과 같이 표현할 수 있다. 2. DHT11로부터 온도, 습도 데이터 받아 Basys3의 FND로 출력DHT11로부터 데이터를 받는 과정 및 통신 과정에 대해서 궁금하다면 아래 게시글을 참고하길 바란다.Verilog RTL 설계(7월 23일 - 1, DHT 기초) (tistory.com) Verilog RTL 설계(7월 23일 - 1, DHT 기초)1. DHT11 (Digital Humidity Temperature 11)이번에는 온도와 습도를 측정하는 디지털 센서, DHT11을 이용하여 온도와 습도 센서를 측정해보도록 하겠다.이를 통해 FSM(F..
1. 4X4 Matrix KeyPad (FSM 형식)이번에는 FSM (= Finite State Machine) 형식으로 KeyPad를 구현해보도록 하겠다.아래와 같이 5가지 상태로 정의하였다.- S_SCAN0 ~ S_SCAN3 : 0번째 행부터 3번째 행까지를 10msec 주기로 순회하면서 버튼이 눌렀는지 여부 확인하는 상태 - S_KEY_PROCESS : 버튼이 눌렀을 경우, 어떤 버튼이 눌렀는지를 확인하고, 이를 출력으로 내보내는 상태소스 코드에 대한 자세한 설명은 아래 게시글을 참고하길 바란다.https://jbhdeve.tistory.com/275 Verilog RTL 설계(7월 22일 - 2, FSM 형식으로 Keypa..
1. 4X4 Matrix KeyPad 전체적인 코드에 대한 설명은 아래 게시글 참고하길 바란다.https://jbhdeve.tistory.com/274 Verilog RTL 설계(7월 22일 - 1, 4X4 Matrix Keyboard - 1)1. 4X4 Matrix Keyboard4X4 Matrix Keyboard는 다음과 같은 회로도를 같는다.Row와 Column간에 회로 연결은 16개의 Switch간에 연결되어 있다. 2. 어떻게 버튼이 눌렀는지를 확인하는가?Row 값(R1, R2, R3, R4)들이jbhdeve.tistory.com // Edge detector module edge_detector ( input clk, reset_p, input cp, output p..
1. Cooking Timer에 Buzz를 추가하자.시중에 팔고 있는 Cooking Timer는 0분 0초가 되면 알람을 울려 사용자에게 0분 0초가 되었음을 알린다.이전에 구현한 Cooking Timer에서 추가적으로 해당 기능을 추가해보도록 하겠다. 2. 수정된 소스 코드이전 게시글에서 구현한 소스 코드를 바탕으로 구현하겠으며, 수정된 코드를 중점으로 설명하도록 하겠다.https://jbhdeve.tistory.com/290 Verilog RTL 설계(7월 19일 - 1, Cooking Timer - 1)1. Cooking Timer 꽤 늦었지만, 휴일을 통해 Cooking Timer을 구현해보도록 하겠다.Cooking Timer는 주방에서 사용하는 Timer라고 보면 이해하기 쉬울 수 있다.시간을..

1. 개발 목적이전에 배웠던 "일반 시계"와 "Stop Watch", "Cooking Watch" 지식을 기반으로 통합형 시계를 만들고자 한다.이를 통해 일반 시계와 Stop Watch, Cooking Watch에 대해서 복습하고, 여러 시계 모듈을 통합하는 과정에서 디지털 회로도의 이해하는 능력과 Verilog의 프로그래밍 실력을 향상 시킬 수 있다. 2. 시계 동작 설명통합 시계는 총 3가지의 모드를 갖는다.- 첫 번째 모드) 일반 시계 모드- 두 번째 모드) Stop Watch 모드- 세 번째 모드) Cooking Watch 모드각각의 모드들은 다음과 같은 버튼 갯수와 역활을 갖는다.▶ 일반 시계 모드는 버튼 3개를 갖는다. - watch / set 버튼 : 시계 모드와 설정 모드를 변..

1. Button을 짧은 시간동안 연속적으로 누를 경우, 이전 값이 잠깐 출력되는 문제점이 발생1.1. 문제 현상버튼을 짧은 시간동안 연속적으로 누르면 FND에서 이전 값이 잠깐 출력되는 문제점이 발생한다. 1.2. 문제 원인아래 코드와 함께 이해하고자 한다면 쉽게 이해할 수 있다.// state에서 next_state로 넘어가는 시점은 clk_10msec_n 일때, 넘어갔다.always @(posedge clk or posedge reset_p) begin if(reset_p) state = SCAN0; else if(clk_10msec_n) state = next_state;end''' (중간 생략) '''// Row값과 Col값을 비교하여 입력된 키 값을 찾아 Key_va..