728x90

반도체, 임베디드 Study 74

STM32 - LCD 문자 출력 (I2C)

https://insoobaik.tistory.com/626 STM32 - I2C 이론보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comI2C 이론에 이어 I2C 통신을 이용하여 LCD에 문자를 출력해볼 것이다.LCD에 문자를 출력하기 위해 아두이노 LCM1602 IIC 쉴드를 사용할 것이다. 해당 쉴드에는 PCF8574가 내장되어 있다.PCF8574는 I2C 통신 프로토콜을 이용하여 데이터를 주고 받는다. Slave 주소를 정하는 7bit는 앞에 0100은 고정이며 A0, A1, A2에 의해 Slave가 정해진다.슬레이브 주소를 정하는 A0, A1, A2의 경우 Pull Up 저항이 달려있기 때문에 A0, A1, A2에는 1의 값이 전달된다.코드를 생성..

STM32 - I2C 이론

I2CInter-Integrated Circuit 반도체 칩과 반도체 칩간의 통신 방법으로 널리 사용된다. Data(SDA) 선과 Clock(SCL) 선 2개로만 통신이 가능하다. 주로 control용으로 사용되며 저속이기 때문에 전용 HW없이 일반 GPIO로도 구현이 가능하다. I2C는 하나의 마스터와 여러개의 Slave로 구성되어 있다.  Master의 SDA는 Slave의 SDA와 Master의 SCL은 Slave의 SCL과 연결되어 있다.또한 각각의 라인들은 Pull Up 저항에 연결되어 있다. Slave 장치에는 7bit 장치 주소가 있고, Slave 장치 내부에는 8bit or 16bit 내부 저장 영역 (또는 레지스터) 주소가 있다.위 그림은 Slave의 Address 주소와 내주 저장 영역..

STM32 - DAC (DAC를 통한 LED 밝기 조절)

DAC (Digital to Analog Converter) 디지털 신호를 아날로그로 전압 신호로 변환하는 출력 장치다. STM32F429의 DAC 특징2개(2채널)의 12비트 DAC 컨버터 - DAC1 : 출력 핀이 DAC_OUT1 (PA4)- DAC2 : 출력 핀이 DAC_OUT2 (PA5) - 다중 DAC 채널 독립 또는 동시 변환 가능하다.- 각 채널마다 DMA 가능하다.- 변환 시작을 위해 외부 트리거 신호를 사용 가능하다.- Vref+의 입력 전압도 사용 가능하다. 단일 채널 사용 시단일 DAC 채널의 경우 입력 데이터의 포맷은 3가지 방법이 가능하다.1. 8bit 오른쪽 정렬 [7:0] 비트에 데이터를 로드2. 12bit 왼쪽 정렬 [15:4] 비트에 데이터를 로드3. 12bit 오른쪽 정렬..

Innovus - P&R (SETUP ~ GDSII)

P&R의 SETUP ~ GDSII 파일 생성P&R은 위 Layout 절차를 따른다. Netlist : Design Netlist - Verilog fileSDC : Constraint fileLEF : Physical LibrariesLIB : Timing Libraries- P&R 이후GDS : Physical LayoutNetlist : P&R 후 NetlistSDF : Standart Delay Format P&R을 위한 파일 설계자, 공정사1. 설계자 제공 파일- Netlist 파일 : 합성 결과물- sdc 파일 : 디자인 제약 조건2. 공정사 제공 파일- 디지털 라이브러리, lef 파일 Innovus를 실행하게 되면 기본적으로 2개의 파일이 생성된다.1. 로그 파일- innovus.log : 기..

STM32 - TIP

1. Command Shell Console - Connection 삭제위와 같이 Comman Shell Console의 Connection을 계속 생성하다보면 Connection이 계속해서 쌓인다. \.metadata\.plugins\org.eclipse.core.runtime\.settings\ org.eclipse.remote.core.prefs  위 경로의 파일을 열어서 5줄 단위로 삭제해주면 Connection이 삭제된다.UART 관련USART Port의 위치에 따라 Console에 값이 출력 안될 수도 있다. 아마 DataSheet를 잘보고 작성해야 할 것 같다.

Verilog - SPI (Master, Slave, FSM) (2) FSM, MASTER, SLAVE & SLVAE 활용

https://insoobaik.tistory.com/594이전에 간단한 FSM 구조와 SLAVE 구조에 대해 알아보았다.이번에는 FSM을 통한 MASTER, SLAVE 구조를 구성하고MASTER에서 8bit 데이터를 보내게 되면 각 bit가 의미하는 정보를 기반으로 Register에 값을 Read, Write 하는 코드를 작성할 것이다.MASTER 코드 및 코드 분석SLAVE 코드 및 코드 분석SLAVE 활용 코드 및 코드 분석MASTER master는 사용자로부터 데이터를 받아서 해당 데이터를 spi의 sclk 주기에 맞게 slave에게 데이터를 전송하고 받는다.아래 코드는 사용자로부터 데이터를 받아 8비트동안 slave에게 데이터를 전송하고 그 다음 8번의 sclk 주기 동안 slave로부터 데이터..

Verilog - SPI (Master, Slave, FSM) (1) FSM, SLAVE

* SPI에 대한 기본적인 통신 과정은 알고 있다는 가정에 글을 작성합니다.https://insoobaik.tistory.com/571 - SPI  이론FSMFSM_SPI & SPI_SLAVEFSM_SPI (Master)SPI_SLAVEFSMFSM (Finite State Machine)유한 상태 기계는 특정한 상태(state)들 사이를 전이(Transition)하며 동작하는 추상적인 모델이다.이는 상태(state), 상태 전이(transition),  초기 상태(initial state), 종료 상태(final state)로 구성된다. - 상태(state) : 시스템이나 장치가 가질 수 있는 다양한 조건이나 모드를 나타낸다. 각 상태는 시스템의 특정 동작을 나타낸다.- 상태 전이(Transition) ..

Xcelium, Verilog를 이용한 CPU RISC 구조 설계

CPU RSIC Multiplexor Driver ALU Controller Register Memory Counter RISCCPU CPU (Central Processing Unut) : 중앙 처리 장치 - CPU는 4단계의 사이클로 명령어를 처리한다.1. Fetch : 명령어 인출 - CPU에서 명령어를 읽어온다.2. Decode : 명령어 해독 - 읽어온 명령어를 해독한다.3. Execute : 명령어 실행 - 해독한 명령어를 실행한다.4. Store : 결과 저장 - 계산 결과를 저장한다.  - CPU에는 특수한 목적을 가지고 있는 레지스터들이 있다.1. AR(Address Register) : PC에 저장된 명령어가 주소 버스로 이동하기 전에 일시 저장한다.2. PC(Program Counte..

Verilog - 7-Segment Count Up (0~9999) / FPGA

1. Introduction2. Signal Description3. Verilog Code4. Trouble Shooting1. Introduction 1.1. Overview- 0~9999까지의 숫자를 Count하여 7-Segment를 통해 해당 Count한 숫자를 표현하는 기능을 구현 1.2. FeaturesVersion 1 - Clock 신호를 분주하는 모듈- 4-Digits에 필요 신호를 전달하는 모듈- 7-Segment에 필요 신호를 전달하는 모듈- 숫자를 Count하여 TOP 모듈에 신호를 전달하는 모듈 Version 2 - Clock 신호를 분주하는 모듈- 4-Digits에 신호를 전달하는 모듈- 숫자 Count 및 7-Segment에 신호를 전달하는 모듈 1.3. Block Diagram..

STM32 - ADC값에 따른 LED 점멸 (Nucleo-144용 I/O 보드)

Nucleo-144용 I/O 보드는 위와 같이 생겼고, 각 부품에 대한 포트 및 핀 번호는 위의 표와 같다. 이전 글에서 ADC를 통해 아날로그 신호를 디지털로 변환시켜 출력하는 작업을 해보았다. I/O 보드에 있는 가변 저항과 LED를 통해 ADC 결과값에 따라 LED를 점멸할 것이다. ADC : 0~4095까지 표현이 가능하다. LED = 8개0~500 : led 1 500~1000 : led 2 1000~1500 : led 3 1500~2000 : led 4 2000~2500 : led 5 2500~3000 : led 6 3000~3500 : led 7 3500~ 최대 : led 8 ADC 값이 위와 같을 때 해당 LED를 점멸하도록 할 것이다. I/O 보드의 가변저항은 PC0에 해당한다.해당 AD..

728x90