__________

Designing the Future with Circuits

반도체 회로설계 취준기

하만(Harman) 세미콘 반도체 설계 과정 74

직무종합프로젝트 (2)

ModelSim - Intel FPGA Standard Edition ModelSim-Intel® FPGAs Standard Edition Software Version 18.1ModelSim-Intel® FPGAs Standard Edition Software Version 18.1 B625www.intel.com ModelSim 명령어cd : change directorydir: directory 내용표시vlib work: modelsim에서 compile 결과를 저장해둘  directory "work"를 생성vlog _____.v: .v 파일의 문법 check&compilevsim _____: simulation 시작add wave *: 모든 신호를 파형창에 표시do ____.do--~~; --로 ..

직무종합 프로젝트 (1)

[2024.08.23.금] 인천인력개발원 하만 세미콘 아카데미Introduction1. Analog 신호와 Digital 신호Analog 신호: 자연계에 존재하는 시간에 따라 변화하는 연속적인 신호ex) 오디오 신호, 밝기, 온도, ...Digital 신호Digit: 한 자리 숫자를 의미Digital: 숫자로 표시된2. Resolution(분해능)ADC에서, 8Bit는 분해능이 256, 12Bit는 분해능이 4096, 16Bit는 분해능이 65536이다.-> Bit 수가 클 수록 분해능이 증가하여 데이터의 정밀도가 증가하지만, 데이터의 크기가 커진다.수직 분해능 증가: 데이터의 비트 수를 증가시켜 값을 더 많이 할당수평 분해능 증가:  Sampling Clock의 주파수를 증가시켜 값을 취하는 빈도를 높..

DMA, UART

Union: 공유 메모리Union의 크기는 가장 큰 요소의 크기에 의해 결정된다.Union 내의 모든 요소는 동일한 메모리 주소를 공유한다.이 때문에 가장 최근에 저장된 값만 유효하게 된다.1. union buffer 선언 2. DMA 코드 변경 3. printf에서 출력할 변수의 자료형을 다음과 같이 변경할 수 있다.  과제 1: 위의 작동 중 B1을 누르면 화면 출력 정지, Union 메모리 내용을 Hex로 출력1. Mode가 전환되며 그에 따른 동작을 하기 위해 외부 변수로 Mode 선언 2. 인터럽트를 설정하여 버튼이 눌릴 때 모드가 변경되도록 코드 작성 2-1. Test005-ADC-DMA.ioc 파일 열기 2-2. System Core - NVIC 탭에서 B1에 대해 설정된 인터럽트를 활성화하..

STM32 조이스틱 응용, 인터럽트 활용

HDL_ADC_PollForConversion: Polling 방식으로 Conversion1.PB0를 GPIO_INPUT으로 설정 후 System Core - GPIO에서 다음과 같이 설정 ....5. TIM3 설정 . TIM3 인터럽트 설정. Code Generation 작동 확인  1. Test005-ADC-DMA 프로젝트 생성2. ioc 파일에서 핀 설정 후 순서대로 X_Axis, Y_Axis, Z_Axis 라벨링 3. 좌측 Analog - ADC1 탭에서 Parameter Settings 변경 4. DMA Settings에서 Add - ADC1 선택 - 아래와 같이 세팅값 변경Circular 방식: 메모리에 데이터를 채울 때 메모리 공간을 모두 채우면 다시 처음 주소에 데이터를 저장하는 방식 - ..

AXI 통신을 이용한 Segment 출력

1. New Project 생성 - Source 추가: 전 과정에서 생성된 myip2_slave_lite_v1_0_S00_AXI.v 파일, segment 출력 파일 2. 보드 선택 후 finish 3. myip2_slave~~.v에서 segment와 연결하기 위한 hi_bit과 low_bit을 output으로 선언 4. myip2_slave~~.v에서  output으로 나갈 high bit와 low bit에 slave의 register 값을 나누어 할당  5. Create Block Desgin - Zynq 추가 - Run Block Automation  6. Zynq7의 Ethernet, USB 포트 비활성화 7. PS/PL Interface 확인 8. Add module - 모듈 추가  9. Run ..

AMBA AXI

Data Width: 데이터의 비트 크기를 나타낸다. 1. my_axi_test 프로젝트 생성 (board는 cora z7 선택) 2. Create Block Design - Add IP Source - Zynq 7 추가 3. Run Block Automation 4. Tool에서 Create and package New IP 에서 Next - Create ZXI4 Peripheral - Create a new AXI4 peripheral 선택 후 next - 아래와 같이 설정 후 next - finish  5. Add IP - 위에서 생성한 myip 추가6. Address 확인 7. Validate Design 8. Create HDL Wrapper - OK 9. Generate Bitstream 10..

STM32-초음파센서 인터럽트

[2024.07.11.목] 인천인력개발원초음파센서 제어 절차10us TTL 신호로 Trigger송신기는 8개 40kHz 버스트 신호 송신수신기는 반향신호 수신(High 레벨 신호의 지속시간을 측정)지속시간과 음속을 활용하여 거리 계산Trigger 신호로부터 Echo 신호가 감지되기까지의 충분한 대기시간이 필요(60ms~) -> 16.6Hz 거리가 1m 이상 -> 노래 정상속도거리가 0.5m~1m -> 노래 1.5배속거리가 0.5m 이하 -> 노래 2배속 While 문 실행 내용을 인터럽트로 변경하기아래와 같이 While문으로 동작 실행 시 오류가 나면 무한 루프에 빠질 수 있다. 이를 방지하기 위해 Echo의 동작을 Interrupt로 설정하여 해결한다. 1. Test004-US의 ioc파일에서 PB4 ..

STM32 - 초음파 센서를 이용한 거리측정

[2024.07.11.목] 인천인력개발원초음파센서 제어 절차10us TTL 신호로 Trigger송신기는 8개 40kHz 버스트 신호 송신수신기는 반향신호 수신(High 레벨 신호의 지속시간을 측정)지속시간과 음속을 활용하여 거리 계산Trigger 신호로부터 Echo 신호가 감지되기까지의 충분한 대기시간이 필요(60ms~) -> 16.6Hz1. New-STM32 Project로 새 프로젝트 생성 2.보드를 아래와 같이 선택 3. 프로젝트 명은 Test004-US로 설정 후 Finish4. Schematic 확인 후 D4를 Trigger, D5를 Echo 단자로 연결 5. Test004-US.ioc에서 PB4와 PB5 핀 찾아서 각각 GPIO_Input, GPIO_Output으로 설정(핀 동작을 설정하는 과..