Post

TrueSTUDIO로 CMSIS-DSP 사용해보기 – 기초 설정 편

TrueSTUDIO로 CMSIS-DSP 사용해보기 – 기초 설정 편

이제 졸업논문 작성도 얼추 끝났겠다. 한번 달려보려고 한다. ARM Cortex 아키텍쳐를 사용하면 CMSIS-DSP 라이브러리를 사용할 수 있다. CMSIS에서는 디버거 자작 등 여러가지 자료를 사용할 수 있다. 하지만 단점이 하나 있는데, KEIL에서만 트러블 없이 사용할 수 있다는거다. 정작 코드를 올릴라카면 코드용량 넘었어요 빼애애애애애애액 거려서 돈을 요구한다는게 존나게 빡이치지만, 어쩔 수 있나. 나는 돈이 없다 이마리야. CMSIS-DSP…

STM32F4 LL I2C 레지스터 및 코드 작성하기

STM32F4 LL I2C 레지스터 및 코드 작성하기

STM32F4 LL I2C 설정 및 코드 작성 프로젝트입니다. STM32F4 LL I2C 설정 및 ADXL345 레지스터 살펴보기 STM32F4 LL I2C 레지스터 및 코드 작성하기 STM32F4 LL I2C INTRO LL드라이버를 작성해보는 사람이라면 모두 알겠지만, 레퍼런스 메뉴얼을 참고하지 않고서는 코드를 작성할 수 없다. 더군다나 아트메가로 먼저 i2c를 제어해봤지만, 이건 그것보다 더 복잡하다고 해야하나, 골때리는 것들이 있다. 레퍼런스 메뉴얼…

ADXL345 I2C 설정 및 레지스터 살펴보기

ADXL345 I2C 설정 및 레지스터 살펴보기

ADXL345 I2C 설정 및 코드 작성 프로젝트입니다. STM32F4 LL I2C 설정 및 ADXL345 레지스터 살펴보기 STM32F4 LL I2C 레지스터 및 코드 작성하기 ADXL345 I2C INTRO 오늘은 내용이 좀 복잡할 듯 하다. I2C에 대한 설명을 먼저 해야할 듯한데, 사용하는 센서가 예제로 들어가야 이해가 좀 더 될 듯하다. 그래서 이번에는 ADXL345 가속도 센서의 데이터시트를 예로 들어 설명…

STM32F4 ADC LL 드라이버 코드 작성하기

STM32F4 ADC LL 드라이버 코드 작성하기

STM32F4 ADC LL 드라이버 설정 및 초기설정 포스팅 STM32F4 ADC LL 드라이버 초기설정하기 STM32F4 ADC LL 드라이버 코드 작성하기 자, 이제 코드를 작성해보자. 아니지. 코드를 작성하기 전에 레지스터부터 확인을 해봐야한다. 왜냐하면 LL 드라이버는 직접 레지스터를 제어하기 때문에 내부 구조를 파악해야하기 때문이다. 레퍼런스 메뉴얼 분석 레퍼런스 메뉴얼에는 위처럼 서술해 놨다. 레귤러 채널로 ADC를 사용한다면 먼저 ADC_CR2레지스터에…

STM32F4 ADC LL 드라이버 초기설정하기

STM32F4 ADC LL 드라이버 초기설정하기

STM32F4 ADC LL 드라이버 설정 및 초기설정 포스팅 STM32F4 ADC LL 드라이버 초기설정하기 STM32F4 ADC LL 드라이버 코드 작성하기 이번 포스팅부터 CUBEMX 신버젼으로 포스팅하게 됐다. ADC를 포스팅하되, HAL드라이버와는 달리 멀티, 단일 채널 구분 없이 초기설정은 동일하므로 Multi Channel로 구성한다. CUBEMX 프로젝트를 만들어보자. CTRL + N을 입력하면 된다. 사용하는 보드를 선택하고 더블클릭하자. 당연히 기초 설정을 사용할…

Op Amp (연산 증폭기)로 반전, 비반전 증폭기 구성하기

Op Amp (연산 증폭기)로 반전, 비반전 증폭기 구성하기

OP AMP 포스팅 입니다. 본 포스팅은위키를 참고하여 작성했습니다. 우리가 흔히 아는 OP AMP는 아래와 같이 생겨먹었다. 이 증폭기의 기본 정의 중 중요한거 세가지를 꼽으라면 아래와 같을 것이다. 입력 임피던스는 무한 출력 임피던스는 0 개방 이득 A는 무한 이번에는 3번을 중심으로 짚어보고자 한다. 보통 이런식으로 Feedback을 구성하지 않는 경우를 비교기로 활용한다. V+가 크면 플러스 무한대로, V-가…

자동제어 궤한 루프 제거하기

자동제어 궤한 루프 제거하기

자동제어 궤한 루프 제거 포스팅입니다. 이번엔 자동제어 중에서 궤한 (Feedback loop)를 제거하는 방법을 서술하고자 한다. 아마 공학도 중에서 기계 공학, 혹은 전자 공학을 공부하는 사람들이라면 수식이 간단히 정리되는 방법을 모를 것 같다. 보통 대충하고 넘거가거든. 보통 결과만 알려주는 경우가 많다보니 그럴 것이다. 병렬의 경우 그냥 더하면 되니까 넘어가고, 피드백만 다루겠다. 통상 공부를 하면 나오는 루프는…

STM32F103 UART ADC 데이터 송신하기

STM32F103 UART ADC 데이터 송신하기

STM32F103 UART ADC 데이터 송신하기 예제 아마도 이전 글까지 읽으신 분들은 의문이 있으리라. UART로 데이터를 송신하는 것은 고정된(Static) 데이터이다보니까, 사용자가 알 수 없는 아날로그 데이터는 어떻게 송신할 것인지 궁금했을 것이다. 결국 이 의문을 해결하기 위해서는 어떠한 코드나, 설정을 추가해야한다는 결론에 이른다. 코드를 추가하는 것은 같겠지만, 사용하는 컴파일러에 따라 별도 설정이 필요한 경우가 있다. ADC를 사용하는…

Vivado Verilog blink 코딩해보기

Vivado Verilog blink 코딩해보기

Vivado Verilog blink 코딩해보기 Vivado 설치 및 기초 환경 설정을 못했다면 이전 포스팅을 참고해주길 바랍니다. 일단 코딩을 해봐야하니까 비바도를 켜본다. Create Project를 눌러본다. RTL Project를 만든다. Create File을 누른 뒤, blink를 입력해 추가해준다. Constraints에서는 보드 파일을 추가해줘야한다. 디질런트 사이트에서 다운 받을 수 있다. [xdc 보드 파일 다운받기] 다운받고, 추가해주면 아래와 같을 것이다. 그 다음 보드를…

FPGA Xilinx zybo z7 개발환경 구성하기

FPGA Xilinx zybo z7 개발환경 구성하기

FPGA Xilinx 처음 자일링스 제품으로 코딩해본게 2016년 학부수업때였다. 그때는 ISE로 했는데, 지금은 Vivado로 개발을 하더라. 그래서 작성한다. Vivado 로 세팅해보자. 사용하는 보드의 제조사는 디질런트이다. 여기 사이트를 병행해서 아마 가이드를 작성하지 싶다. 일단 개발하려면 아래 링크를 접속해 Vivado를 다운받아 설치한다. [Vivado 다운로드 링크] 이미 필자는 설치를 해서 재연하기 힘들다. 그래서 아래 사진으로 대체한다. 비바도를 설치할 때…

라즈베리파이 3B 라즈비안 설치 및 SSH 설정하기

라즈베리파이 3B 라즈비안 설치 및 SSH 설정하기

라즈베리파이 3B 설치 및 SSH 설정하기 오랜만에 라즈베리파이를 꺼내보았다. CMSIS를 써보다가 크고 아름다운 Cortex A 시리즈를 다뤄보고 싶기도 했기 때문이다. 근데 라즈비안은 armv6 filesystem 기반이라 안돌아간단다. Aㅏ… 머신러닝 해보고 싶은 사람은 우분투를 시도해보자. 라즈베리파이는 휴대폰과는 달리 마이크로sd 카드에 os를 설치해서 구동해야한다. 그래서 os를 설치해야하는데, 가장 무난하게 쓸 수 있는 것이 라즈비안이다. 라즈비안은 아래 링크에서 다운…