개념 정리 (7) 썸네일형 리스트형 UART 직렬 통신의 기본 개념과 데이터 전송 구조 직렬 통신에서 송신기는 데이터를 1비트씩 순차적으로 전송합니다. 수신기는 이 비트들을 1비트씩 받아들이고, 이를 프레임 단위로 해석합니다. 이는 UART 통신이 비동기 방식으로, 송신기와 수신기가 공통의 클럭 신호 없이 통신하기 때문에, 수신기에서 Start bit와 Stop bit를 통해 데이터의 시작과 끝을 확인하고 동기화해야 하기 때문입니다. UART 통신에서의 프레임은 아래와 같은 구조를 가집니다.1. Start bit(1bit)데이터 전송의 시작을 알리는 신호로, UART 통신 프로토콜에 따라 항상 ‘0’으로 고정되어 있습니다. UART 통신에서 대기 상태일 때 기본 신호는 ‘1’로 유지되는데, 이 상태에서 Start bit로 ‘0’이 전송되면 수신기는 데이터 전송이 시작되었음을 인식하게 됩니.. UART 데이터 전송 과정 UART(Universal Asynchronous Receiver-Transmitter)는 데이터를 직렬로 전송하는 통신 프로토콜이며, UART 컨트롤러는 이 프로토콜을 처리하는 하드웨어 모듈입니다.1. 데이터 쓰기 - DAT 레지스터데이터를 UART 컨트롤러로 전송하기 위해서는 UART_WRITE 함수를 호출하여 전송할 데이터를 UART의 DAT 레지스터에 기록합니다. 예를 들어, UART_WRITE(84)와 같이 84라는 값을 DAT 레지스터에 기록할 수 있습니다. 2. 송신 FIFO로 데이터 이동DAT 레지스터에 값이 기록되면, 이 데이터는 자동으로 송신 FIFO로 이동합니다. 송신 FIFO는 여러 데이터 패킷을 일시적으로 저장하여 순차적으로 전송할 수 있도록 대기열을 형성하는 역할을 합니다. 3... Node.js Node.js란? Node.js는 JavaScript 언어로 만든 프로그램들을 실행할 수 있는 환경이다. 즉, Node.js는 JavaScript 런타임(=실행 환경)이다. ● JavaScript HTML에 종속되어 있는 언어로 HTML 조작과 변경을 위해 사용한다. ● HTML HyperText(웹 페이지에서 다른 페이지로 이동할 수 있도록 하는 것)기능을 가진 문서를 만드는 언어이다. ● 런타임 특정 언어로 만든 프로그램들을 실행할 수 있는 환경 Node.js는 어디에 사용되는가? Node.js는 서버를 만드는데 주로 사용된다. 특히 크기가 작은 데이터를 실시간으로 주고 받는데 적합해서 실시간 채팅이나 주식 차트 등에 많이 사용된다. 반면에 비디오나 대규모 데이터 처리 같이 CPU를 많이 사용하는 작.. 인코딩(Encoding) 인코딩(Encoding) 사람이 인지할 수 있는 문자, 사진, 영상 등을 컴퓨터가 이해할 수 있는 언어로 바꾸는 것을 통틀어 일컫는다. 인코딩을 하는 이유는 정보의 형태를 표준화하거나 보안 및 저장 공간 절약 등을 위해서 사용한다. 참고로 Decoding은 인코딩과 반대되는 개념이다. 문자 인코딩 문자를 숫자 표현 코드로 변환시키는 것을 말한다. 사용 목적에 맞게 변환시키는 방법에 따라 UTF-8, ASCII 등의 종류가 있다. https://codingpractices.tistory.com/entry/%EC%9D%B8%EC%BD%94%EB%94%A9-vs-%EB%94%94%EC%BD%94%EB%94%A9-%EC%A0%95%ED%99%95%ED%95%98%EA%B2%8C-%EC%9D%B4%ED%95%B4.. IP Address와 Port Number IP Address(IP 주소) Internet Protocol의 줄임 말로, 인터넷상에서 사용하는 주소체계를 의미한다. 네트워크 상에서 다른 PC에 접속하기 위해서는 PC를 가리키는 IP 주소를 알아야 한다. 인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분되는데 이 네 덩이의 숫자로 구분된 IP 주소체계를 IPv4라고 한다. ※ IPv4(Internet Protocol version 4) IP 주소체계의 네 번째 버전을 뜻하며 각 덩어리마다 0부터 255까지 나타낼 수 있다. Port Number(포트 번호) 컴퓨터가 각종 신호, 정보 등을 주고 받을 수 있도록 해주는 통신 통로이며 컴퓨터 안에서 프로그램을 찾기 위한 수단, 즉 각 프로세스가 위치한 방 번호라고 생각하면 된다... TCP와 UDP TCP와 UDP의 차이 TCP는 접속을 하고 서로 통신하지만 UDP는 접속하지 않고 통신한다. 사물 인터넷(IoT)에서 TCP와 UDP의 차이 1. TCP 사물 인터넷(IoT)에서는 기본적으로 사물(보드)이 많다는 가정이 있다. 따라서 이런 작은 IoT보드 하나하나에 외부에서 식별 가능한 고정 IP주소를 제공하기에는 한계가 있다. 그래서 일반적으로 IoT보드들은 공유기에 연결하여 사설 인터넷 주소를 부여한다. 대신에 서버는 모든 네트워크에서 식별 가능한 고정 IP를 가지고 있어야 한다. TCP 통신에서는 네트워크에서 식별할 수 없는 인터넷 공유기의 사설 인터넷 망에 연결된 IoT보드들이 있고, 이 보드들이 고정IP를 가진 서버에 접속을 한다. 서버는 IoT보드들을 네트워크에서 찾을 수 없지만 IoT보드들.. DMA(Direct Memory Access) DMA란CPU의 개입 없이 주변 장치들이 메모리에 직접 접근하여 읽거나 쓸 수 있도록 하는 기능입니다. DMA 사용 이유주변장치의 데이터를 사용하기 위해서는 그 데이터가 반드시 RAM에 저장되어야 합니다. 그리고 이때 반드시 CPU의 개입이 필요한데, 그 이유는 RAM에 접근하기 위한 주소를 CPU가 생성하기 때문입니다.그림1은 DMA를 사용하지 않는 기존의 PIO(Programmed Input/Output)방식으로 주변장치에서 데이터를 읽고 쓰기 위해서 CPU가 RAM과의 데이터 전송을 지속합니다. 따라서 이 방식에서 CPU는 데이터 처리가 끝날 때까지 다른 일을 할 수 없습니다.반면에 그림2는 아래와 같은 프로세스를 거칩니다.1) RAM에 I/O 장치의 데이터가 필요할 때 CPU는 전송 크기, 대상 .. 이전 1 다음