Serial Communication – SPI 개념

SPI란? => 시리얼 통신의 한 종류로서, 동기식 전이중 방식의 고속 프로토콜. SPI 특징 및 장단점 SPI 신호(SCLK, MOSI, MISO) 기본적으로 SPI는 SCLK, MOSI, MISO가 공통으로 연결된다.그리고 SS (또는 CS)라고 하는 셀렉터를 통해 Slave를 선택하게 된다. SS는 Active Low로 동작하기 때문에 Low로 떨어트려줘야 해당하는 Slave가 선택이 된다.또한 Slave는 한 번에 하나만 선택이 되며, 2개 이상의 슬레이브가 … Read more

AMBA – 개념

AMBA(Advanced Microcontroller Bus Architecture)란?   APB AHB AXI 특성 – 채널 1개– 읽기 쓰기 동시 불가– 핸드셰이크 최소 2클럭– 버스트 전송 없음– 로직 단순 – 채널 1개– 읽기 쓰기 동시 불가– 핸드셰이크 최소 1클럭– 버스트 가능– 파이프라이닝 가능 – 채널 5개– 읽기 쓰기 동시 가능– Outstanding Transaction(응답을 기다리지 않고 다음 요청 전송)– ID 기반 -> … Read more

AMBA AXI – GPIO IP 설계 (3)

개요 지난 포스팅(AMBA AXI – GPIO IP 설계(2))에 이어서, Vitis IDE에서 작업을 이어가보자.버튼을 누르면 해당 자리수의 LED가 켜지도록 구현할 것 소스 코드 작성 빌드 및 실행 빌드 상단의 망치 모양 또는 프로젝트 우클릭 후 Build Project 클릭 실행 및 실행 결과 확인 결론 각 자리수 별 버튼 입력에 맞게 LED 4개가 모두 ON/OFF되는 것을 확인

AMBA AXI – GPIO IP 설계 (2)

개요 지난 포스팅(AMBA AXI – GPIO IP 설계(1))에 이어서, GPIO IP를 MicroBlaze에서 동작시키기 위해 Vitis로 올리는 작업을 해보겠다. Block Design MicroBlaze용 Vivado 프로젝트 생성 Block Design 진행 Create Block Design 클릭 Design name 마음대로 입력 MicroBlaze 추가 Diagram 탭에서 + 버튼 클릭 microblaze 검색 후 첫번째 선택 Run Block Automation 클릭 메모리 용량 넉넉하게 128KB … Read more

AMBA AXI – GPIO IP 설계 (1)

개요 목표 AXI4-Lite 인터페이스 기반 GPIO IP를 설계하고, Vitis에서 SW 프로그래밍으로 동작 검증하는 것을 목표로 한다. 환경 Target HW Board: Basys3 Processor: MicroBlaze Development Tools Vivado 2020.2 Vitis 2020.2 IP 만들기 IP Packaging용 Vivado Project 생성 프로젝트 이름을 위와 같이 설정 Vivado 창이 뜨면 Create and Package New IP … 클릭 Create AXI4 Peripheral 선택 … Read more

Verilog – FND(7-segment) Controller 설계

개요 환경 Target HW Basys3 Development Tools Vivado 2020.2 FND Controller 설계 개요 Basys3 보드에는 FND가 내장되어 있다. FND는 결국 LED를 제어하는 것이기 때문에 LED가 어떤 조건에서, 어떻게 켜지는지를 이해해야 한다. FND 동작 원리 Basys3 Schematic에서 FND 회로는 다음과 같이 나온다. 우측에 pnp 트랜지스터가 4개 보이고, Emitter 쪽에 VCC 3.3V가 공통으로 물려있는 것을 확인할 수 … Read more

AMBA AXI – AXI가 고성능일 수 있는 이유

AXI 개념 AXI란? AXI(Advanced eXtensible Interface)는 ARM이 개발한 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜 중 하나로, 고성능 SoC 내부 버스 인터페이스다. 왜 고성능일 수 있는가? AXI가 고성능인 핵심 이유 채널 분리 (Read/Write 독립) 읽기와 쓰기가 별도 채널이므로 채널별로 동시에 수행이 가능 주소/데이터 채널 분리 주소 채널과 데이터 채널이 분리되어 있기 때문에 첫번째 트랜잭션의 데이터가 전송되는 동안 … Read more

error: Content is protected !!