Project/나만의 주점(STM32,Arduino,android)

학과수업인 임베디드시스템설계및실험 수업이 드디어 끝났다... 한학기내내 나를 괴롭혔던 과목이다.. 맨날 집에도 못가고... 마지막 프로젝트때문에 이틀밤을 샜다.... 진짜 죽을 것 같았다.. 마지막시연 때 로봇차가 제대로 작동하지는 않았지만... 그래도 후련했다.. 후우 프로젝트에 대한 내용은 보고서파일에 친절히 나와있기 때문에 링크만 걸어야겠다.. 다신 듣기 싫은 과목이다.. 그래도 임베디드관련해서 좋은 경험이 된 것 같긴하다.. https://github.com/yunzae/Embeded-System/tree/main/Embeded/프로젝트
타이머란 주기적 시간 처리에 사용하는 디지털 카운터 회로 모듈 펄스폭 계측, 주기적인 interrupt 발생 등에 사용 주파수가 높기 때문에 우선 prescaler를 사용하여 주파수를 낮춘 후 낮아진 주파수로 8,16비트 등의 카운터 회로를 사용하여 주기를 얻는다. STM32 타이머 종류 SysTick Timer Watchdog Timer Advanced-control Timer (TIM1, TIM8) General-purpose Timer (TIM2 ~ TIM5) Basic Timer (TIM6, TIM7) Systick Timer Real-time operating system 전용이지만 standard down counter로 사용 할 수도 있음 24bit down counter Autoreload..
Direct Memory Access (DMA) 주변장치들이 메모리에 직접 접근하여 읽거나 쓸 수 있도록 하는 기능 CPU 의 개입 없이 I/O 장치와 기억장치 데이터를 전송하는 접근 방식 Interrupt 와 달리 별도의 중앙제어장치는 명령을 실행할 필요가 없음 메모리 처리 Interrupt 의 사이클 만큼 성능의 향상 일반적인 메모리접근 방식 VS DMA 방식 일반적인 메모리접근 방식 모든 I/O 로의 접근은 CPU를 통해서 수행 Data를 전달할 때마다 CPU가 관여함 DMA 방식 RAM이 I/O 장치로부터 데이터가 필요해지면, CPU는 DMA 컨트롤러에게 신호(전송 크기, 주소 등등)를 보냄 DMA 컨트롤러가 RAM 주소로 데이터를 bus를 통해 주고 받음 모든 데이터 전송이 끝나면, DMA Co..
TFT- LCD 연결 오른쪽 한 칸을 비우고 보드와 LCD를 연결 Timing Diagram 각 신호들이 시간 별로 처리되는 과정을 그림으로 나타냄 Low에서 High로 올라가는 구간을 Rising Edge High에서 Low로 떨어지는 구간을 Falling Edge D/C ̅ 처럼 교차 형태를 취하고 있으면, High / Low 둘 중 하나의 값을 가질 수 있다는 것을 의미 Timing Diagram: Write / Read Cycle •(CS) ̅: Chip Select (Chip Enable) High 에서 Low로 Falling Edge 일 때 LCD Chip 을 사용 •D/C ̅: Data / Command (핀맵에서 RS) –LCD는 Data 와 명령어 레지스터를 함께 사용 –High 로 두고..
블루투스 근거리 무선통신기술 스마트폰, 무선 이어폰, 웨어러블 기기 등에서 디지털 데이터를 주고 받는 기술 2.4MHz ISM 주파수 대역 사용 근거리, 저전력, 높은 신뢰성, 저가의 무선 통신 구현하는 것이 목표 기본적으로 Master 와 Slave 역할로 동작 - Master가 Inquiry(검색) 및 Page(연결요청) - Slave는 Inquiry Scan(검색 대기) 및 Page Scan(연결대기) 블루투스 프로파일 어플리케이션 관점에서 블루투스 기기의 기능별 성능을 정하는 사양(Specification) 블루투스 기기가 다른 블루투스 기기와 통신하는데 사용하는 특성을 규정함 다양한 프로파일 존재 SPP (Serial Port Profile) RS232 시리얼 케이블 에뮬레이션을 위한 블루투스 ..
Polling vs Interrupt Polling CPU 가 특정 이벤트를 처리하기 위해 이벤트가 발생할 때까지 모든 연산을 이벤트가 발생하는지 감시하는 방식 Interrupt CPU가 특정 이벤트 발생시 현재 작업을 멈추고 해당 인터럽트 서비스 루틴을 수행 후 다시 이전 작업으로 돌아가는 방식 1. Hardware Interrupt 비동기식 이벤트 처리로 주변장치의 요청에 의해 발생하는 인터럽트 높은 우선 순위 하드 디스크 읽기 요청, 디스크 읽기 끝남, 키보드 입력 등에 발생 2. Software Interrupt 동기식 이벤트 처리로 사용자가 프로그램 내에서 인터럽트가 발생하도록 설정하는 인터럽트 낮은 우선 순위 Trap, Exception 등이 여기에 포함 EXTI (External Interr..
직접주소로 접근하는 방식이 아닌 정의된 주소 값사용법 Clock의 개념 HSI Clock (High-speed internal) HSI Clock은 8 MHz RC 오실레이터에서 생성됨. 생성된 Clock은 시스템 클럭으로 사용하거나, PLL Clock으로 사용 가능하다. PLLCLK = HSI RC / 2 * PLLMUL HSE Clock (High-speed external) HSE OSC에서 25 MHz 클럭을 생성한다. 생성된 클럭은 바로 시스템 클럭으로 사용하거나, PLL Clock으로 사용할 수 있다. 1.PLLCLK = HSE OSC / PREDIV1 * PLLMUL 2.PLLCLK = HSE OSC / PREDIV2 * PLL2MUL / PREDIV1 * PLLMUL Clock Tree H..
Floating / Pull Up / Pull Down 플로팅(Floating) •전압을 High / Low 로 보기 힘든 상태 •아주 작은 노이즈만으로도 High와 low 사이를 빠르게 이동하여 오동작 유발 •따라서 풀업 저항 또는 풀다운 저항을 사용 Pull Up •VCC에 저항을 연결하는 방법 •스위치 OFF 시 input에는 High 신호 •스위치 ON 시 input에는 Low 신호 Pull Down •GND에 저항을 연결하는 방법 •스위치 OFF 시 input에는 Low 신호 스위치 ON 시 input에는 High 신호 Scatter File 이란? 분산 적재: 꺼내기의 한 형식으로 판독 모듈의 제어 섹션을 주기억 장치 가운데 각각의 장소에 적재하는 것. Scatter File: 실행시킬 바이너..
윤재에요
'Project/나만의 주점(STM32,Arduino,android)' 카테고리의 글 목록