본문 바로가기

반도체 교육72

[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.
[Harman 세미콘 아카데미] 50일차 - 자율 주행 RC Car Project(UART, Motor, PWM, BlueTooth) [개요] 그동안 배웠던 내용을 바탕으로 자율 주행 커넥티드카를 직접 만들어보는 프로젝트를 시작했다. 실제 과정은 11월부터이지만, 진도가 빠른 관계로 도입부만 미리 맛보기로 했다. [UART] 📌 Coding /* USER CODE BEGIN PFP */ int __io_putchar(int ch) // 출력 함수 { HAL_UART_Transmit(&huart2, &ch, 1, 50); return ch; } int __io_getchar(void) // 입력 함수 { int ch; while(1) { if(HAL_UART_Receive(&huart2, &ch, 1, 50) == HAL_OK) // 받을 때까지 기다렸다가 break; // 잘 받아지면, break; } HAL_UART_Transmit(.. 2023. 9. 5.
[Harman 세미콘 아카데미] 49일차 - Verilog(Stop Watch - Minute, Start/Stop, Lap) [Stop Watch] 📌 Minute count 구현 Minute clock 설계 clk_sec을 60번 카운트하면 1분 // min clock module clock_min( input clk, clk_sec, reset_p, output clk_min ); // 60개 카운트하면 1s reg [5:0] cnt_sec; reg cp_min; // cp : clock pulse always @(posedge clk, posedge reset_p) begin if(reset_p) cnt_sec = 0; // reset이 들어오면 cnt = 0 else if(clk_sec) begin if (cnt_sec >= 29) begin cnt_sec = 0; // 0부터 번까지 카운트하면 다시 0으로 cp_min.. 2023. 9. 4.
[Harman 세미콘 아카데미] 46일차 - STM32 Manual, Stack/Queue, ARM Setting, UART 송수신 방식(Polling, Interrupt, DMA) [STM32 Manual] Bus-Matrix I : 명령어 버스 D : 데이터 입출력용 버스 S : 시스템 Access 버스 ARM BA BUS 느린 애들을 빠른 버스에 물릴 필요 없으니, 속도를 두 개로 나눠놨다. Memory Map bit banding -> 4bit씩 다뤄줘야 한다. 따라서 HAL 함수로 다 묶어놨음 HAL Drive 함수 Order Information Reference Manual [Stack / Queue] 기본 개념 스택의 입출력은 맨 위에서 이루어지며, 중간의 데이터 삭제가 불가능하다. Stack에 저장되는 데이터 하나하나를 Element(요소)라 하며, 요소가 하나도 없을 때 Empty Stack(공백 스택)이라 부른다. 스택은 아래 그림처럼 같은 구조와 크기의 자료를 .. 2023. 8. 30.