일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- uart 통신
- Algorithm
- Edge Detector
- stop watch
- half adder
- LED
- structural modeling
- i2c 통신
- vivado
- atmega 128a
- Linked List
- FND
- ATMEGA128A
- pwm
- verilog
- java
- test bench
- Recursion
- hc-sr04
- ring counter
- D Flip Flop
- Pspice
- dataflow modeling
- behavioral modeling
- gpio
- KEYPAD
- soc 설계
- prescaling
- BASYS3
- DHT11
- Today
- Total
목록RTL Design/Verilog RTL 설계 (74)
거북이처럼 천천히
1. 버튼을 통해 Servo-motor의 duty 를 컨트롤하기4개의 버튼을 통해 서보 모터에 인가되는 PWM의 duty ratio를 컨트롤 할 수 있도록 설계하겠다.4개의 버튼들은 다음과 같은 동작을 수행하게 된다.- btn[0], btn_dir : duty ratio의 값을 up-counting할 것인지, down-counting할 것인지를 결정한다.- btn[1], btn_min : duty ratio의 minimum value를 결정한다.- btn[2], btn_max : duty ratio의 maximum value를 결정한다. - btn[3], btn_reset : 설정된 duty ratio의 범위를 초기화한다. 1.1. 버튼을 통한 서보 모터 제어 알고리즘서보 모터에 50Hz 주파수를 갖고..
1. 시간에 따라 Servo-motor가 이동하도록 설계이전 게시글까지 Servo-motor에 대해서 살펴보고, -90도, 0도, 90도에 위치시키도록 하기 위해서는 얼마만큼의 duty ratio가 필요한지를 실험을 통해 확인할 수 있었다.이번 게시글에는 이를 토대로 servo-motor를 활용하도록 하겠다.Servo-motor에 대해서 궁금하거나 자세히 알고 싶다면 아래 게시글을 참고하길 바란다.https://jbhdeve.tistory.com/306 Verilog RTL 설계(8월 2일 - 1, PWM을 통한 Servo-motor 제어 - 1)1. Servo - motorServo는 "노예, 추종하다."를 의미하며, 라틴어의 servus에서 유래했다.Servo motor는 주로 기기를 시스템이 요구..

1. Servo - motorServo는 "노예, 추종하다."를 의미하며, 라틴어의 servus에서 유래했다.Servo motor는 주로 기기를 시스템이 요구하는 위치로 이동하거나 특정 속도 및 토크로 가동시킬 때, 정확하게 제어할 수 있는 모터하고 할 수 있다.따라서 Servo motor는 시스템에 의해 통제되며, 시스템의 명령에 의해 추종하며 동작하게 된다. 1.1. Servo - motor 의 특징일반적인 모터인 경우, 모터의 방향과 PWM의 Duty ratio를 지정하면 원형으로 돌기만 하지만, 서보 모터는 제어 계측 회로에 의해 정확하게 움직일 수 있다.따라서 서보 모터를 통해 원하는 방향 및 위치에 기기를 위치 시킬 수 있다는 특징을 갖는다. 2. SG90 Servo-motor이번에 P..

1. PWM을 통한 Motor 제어이전까지는 PWM을 통해 LED diode의 밝기를 제어를 해보았으며, LED diode 외에도 PWM을 통해 Motor 제어가 가능하다.따라서 이번에는 PWM을 통해 Motor의 속도를 제어해보도록 하겠다.LED Diode인 경우, LED가 깜박임 없이 연속적으로 켜있는 상태를 유지하기 위해서는 10kHz 주파수를 갖는 PWM을 설계할 필요가 있었으며, Motor 경우에는 Motor가 연속적으로 회전하는 상태를 유지하기 위해서는 100Hz 주파수를 갖는 PWM이 필요하다. 2. Motor 구동에 필요한 5V 전압을 인가하기 위해 아래와 같이 회로를 구성하였다.Basys3의 Vcc 전압은 3.3V을 공급해주지만, Motor를 구동하기 위해서는 5V의 전압이 필요하다..

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. 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라고 보면 이해하기 쉬울 수 있다.시간을..