CAN 통신 이란? (1)
·
Embedded Systems/MCU 기본
목차CAN(Controller Area Network) 버스 개요CAN 버스 특성제어기(Controller)와 송수신기(Transceiver) Controller Area Network(CAN)CAN의 종류1983년에 Benz사의 의뢰로 Bosch에서 개발한 차량 내 장치를 연결하기 위한 직렬 유선통신 네트워크.1991년 CAN 2.0이 발표(ISO 표준 1994년)2012년 CAN-FD 발표(ISO 표준 2015년)2021년 CAN-XL 발표(ISO 표준 2024년)CAN은 ISO에서 표준화된 Serial 통신규격이다(ISO 11898-1, 2, 3)CAN은 차량 내 다양한 장치들을 모두 함께 연결하는 버스 구조이다. CAN의 특징직렬 버스한 번에 1 bit씩 직렬 전송 비차폐 2선 차동 꼬임선(Uns..
Timer를 이용한 입출력 제어
·
Embedded Systems
서론STM32를 활용한 임베디드 프로젝트를 진행하며, ST사의 HAL 라이브러리에 익숙하지 않아 프로그래밍 과정에 많은 어려움을 겪는 문제가 생겼다. 따라서, 책 "STM32F 시리즈를 이용한 ARM Cortex-M3/M4 구조와 응용"의 Timer 내용을 공부해 HAL 라이브러리를 활용한 Timer 기능 활용에 익숙해지고자 한다. 1. 범용(General-purpose) 타이머의 구조 및 기능STM32F103RB 보드의 Spec을 기준으로 합니다.1.1 STM32F 타이머 종류General-purpose TimerAdvanced TimerBasic TimerChannel Timer1.2 General-purpose Timer의 구조Prescaler (PSC) : 16비트의 프리스케일러는 공급되는 클럭(..
USB 통신
·
Embedded Systems
서론UART 통신을 공부하면서, USB통신 또한 개념을 잡고자 한다. 책 "STM32F 시리즈를 이용한 ARM Cortex-M3/M4 구조와 응용"을 참고하였다.본론1. USB 통신의 개요1.1 USB의 개요1.1.1 USB(Universal Serial Bus)의 탄생1990년대 이후 PC의 성능이 향상되고 용도가 확장되면서 통신을 해야 할 주변 장치의 종류와 숫자가 급속하게 늘어났다. 이러한 배경에서 기존 사용되던 프린터포트와 RS-232C 직렬포트는 통ㅅ니 속도가 느리고 확장 능력이 제한된다는 한계에 부딛혔다.이러한 단점을 극복하기 위해 1994년 7개의 회사가 주축이 되어 PC와 주변 장치와의 새로운 직렬 통신 방식을 개발하기 시작하였고, 그 결과 탄생한 것이 USB이다. USB는 하나의 host..
UART 통신
·
Embedded Systems
서론임베디드 관련 프로젝트를 하면서 UART 통신을 사용하게 되었는데, 까먹은 개념적 부분이 많아 이를 복습하였다. 책 "STM32F 시리즈를 이용한 ARM Cortex-M3/M4 구조와 응용"을 참고하였다. 본론1. 직렬통신 및 UART1.1 직렬 통신(Serial communication)1.1.1 직렬(Serial) 통신과 병렬(Parallel) 통신컴퓨터와 마이크로프로세서, 그리고 IC 칩들 사이에 데이터를 서로 주고 받는 것을 데이터 통신이라고 한다. 이런 데이터 통신 방식은 여러 가지가 있을 수 있으나, 통신에 사용되는 channel 수를 기준으로 구분하면 직렬 통신과 병렬 통신으로 구분할 수 있다.직렬 통신은 클럭당 1비트의 데이터를 전송하고, 병렬 통신은 클럭당 여러 비트를 전송하는 방식이..
/bin/bash^M: bad interpreter: No such file or directory 오류
·
Embedded Systems/리눅스
http://chomman.github.io/blog/linux/binshm-bad-interpreter-no-such-file-or-directory-%EC%98%A4%EB%A5%98-%EB%B0%9C%EC%83%9D-%EC%8B%9C/ /bin/sh^M: bad interpreter: No such file or directory 오류 발생 시 linux 에서 스크립트 실행할 때 /bin/sh^M: bad interpreter: No such file or directory 와 같은 에러 메시지가 나타날 때가 있다. chomman.github.io 윈도우에서 스크립트 파일을 만들고, 리눅스에서 실행해서 발생하는 오류라고 한다. 오류의 이유는 개행문자가 윈도우와 리눅스가 서로 달라 호환이 안되기 때문이..