전체 글 100

2024.9.11 [SoC를 위한 Peripheral 설계]4 - stopwatch_btn(myip), pwm_servo(myip)

2024.9.11 수업날 저번에 만들었던 stopwatch_btn Block Desgin에서 이번에는 버튼에 기능을 추가해본다. vivado 진행 순서board 부분에서 4 Puch Button을 끌어다가 Diagram에 추가한다. Diagram 부분에서 수정한 부분이 있다면 Sources에서 수정한 Diagram의 wrapper를 갱신한다.그 다음 bitstream을 실행하고 .xsa 파일을 만든다.  vitis 진행 순서새롭게 만든 hardware platform에는 gpio(버튼 기능)이 있는 것을 확인할 수 있다. Mblaze_stopwatch_btn -> helloworld.c 소스코드#include #include "platform.h"#include "xil_printf.h"#include ..

2024.9.10 [SoC를 위한 Peripheral 설계]3 - bcd_fnd, stopwatch(myip)

2024.9.10 수업날이번에는 저번에 만들었던 Fnd 출력 모듈에서 결과값을 10진수로 표시하는 IP를 만들어본다.Verilog 수업할때 만들었던 Fnd_cntr 모듈 밑에 아래와 같이 코드를 추가한다.  Block Design에서 IP를 만들기 전에 Basys3 에서 테스트 하기 위해 Verilog 수업할 때 만들었던 .xdc을 아래와 같이 수정한다. vivado bcd_fnd_cntr 테스트 영상  테스트를 완료했으면 create and package new ip를 생성한다. Add Design Sources에서 아래와 같이 추가해주고, 아래의 Copy 부분을 체크한다.  그리고 아래와 같이 myip_bcd_fnd_cntr_v1_0S00_AXI 모듈(slave 모듈)을 수정한다.  다음으로 아래와 ..

2024.9.9 [하드웨어 감시를 위한 신호 처리 시스템 설계 프로젝트]1 - 40KHz 발진부분 파형 확인

2024.9.9 ~ 2024.9.30주제: 초음파 센서를 이용한 거리 측정 회로 제작1. 초음파 센서 헤드 부분 뒷면R: Receiver(수신기)T: Transiver(발신기)최대 주파수: 40KHz  xx555 precision timers datasheet에 있는 회로를 오실로스코프로 작동 확인 후 PCB에 납땜하기  먼저, 40KHz의 발진기 부분에 40KHz의 주파수를 확인하기 위하여 아래의 회로도를 보고, 미니 브레드보드에 구현한 후 파형을 오실로스코프로 구형파가 나오는지 확인해야한다.세라믹 콘덴서는 p단위일때의 숫자가 부품에 적혀있으며, 3자리일 경우 가장 왼쪽과 바로 다음 자리 숫자는 십의자리, 일의자리를 의미하며 가장 오른쪽의 숫자는 0의 갯수가 적힌 것이다.그리고 VR1은 가변 저항이다...

2024.9.6 [SoC를 위한 Peripheral 설계]2 - led 제어2, fnd, fnd cntr(myip)

2024.9.6 수업날이번에는 SWITCH를 입력값으로 받아서 출력인 LED를 제어해본다.vivado 진행 순서  이때 gpio 채널에 어떤것이 해당되는지를 잘 확인해야한다. vitis 코드에서 define 할때 채널에 따라 해당되는 것이 다르면 작동이 안되기 때문이다.   vitis 진행 순서 Mblaze_led_switch -> helloworld.c 소스코드#include #include "platform.h"#include "xil_printf.h"#include "xparameters.h"#include "xgpio.h"#define GPIO_ID XPAR_GPIO_0_DEVICE_ID#define LED_CHANNEL 1#define SWITCH_CHANNEL 2int main(){ in..

2024.9.5 [SoC를 위한 Peripheral 설계]1 - Vitis 사용법, button 제어, led_switch 제어

2024.9.5 수업날SoC: System on Chip새로운 주제로 수업을 진행하므로 Vivado에서 새로운 project를 만들어준다.새롭게 지정해야하는 것은 project 이름, RTL 설정, 보드를 Basys3으로 설정하는 것이다. vivado의 왼쪽 메뉴에서 Create Block Design->이름을 설정한다.그러면 두번째 사진처럼 Diagram 창이 나타난다. 다음으로 아래의 순서와 같이 진행하면 된다.        Source에서 방금 만든 Design Sources의 우클릭을 하여 Create HDL Wrapper를 클릭한다. 그러면 이렇게 자동으로 코드가 만들어지는 것을 확인할 수 있다.자동적으로 set as top이 되어있으므로 이 코드로 bitstream을 실행한다.그리고 bitst..