산업기술
마이크로컨트롤러 개발은 전자 어셈블리의 기본 프로세스입니다. 그러나 직렬 프로토콜 및 통신 인터페이스의 입력은 이러한 작업을 용이하게 합니다. 이 기사에서는 SPI I2C UART 인터페이스 및 UART와 같은 직렬 통신 프로토콜을 철저히 탐구하려고 합니다. 직렬 프로토콜의 기능, 장점, 단점 및 예를 분석합니다.
그림 1:Arduino의 UART 프로토콜
범용 비동기 수신 및 전송( UART ) 보조 장치와의 호스트 통신을 용이하게 하는 직렬 통신 프로토콜입니다. 기본적으로 직렬 데이터 전송을 가능하게 합니다. 게다가, 그것은 비동기 통신과 양방향 전송이 가능합니다.
단순 프로토콜은 또한 전송(Tx) 처리 및 기타 신호 수신(Rx)의 두 가지 데이터 라인을 제공합니다. 일반적으로 신호 전송은 디지털 핀 0을 통해 이루어지며 수신은 디지털 핀 1을 통해 이루어집니다.
또한 컴퓨터와 외부 직렬 장치의 관리를 동기화하는 데 도움이 됩니다.
그림 2:DIY 전자 USB UART 보드
기본적으로 UART는 다음 수단을 통해 두 장치 간의 신호 통신을 관리합니다.
Simplex는 단방향 데이터 전송을 포함하는 반면 Half-duplex는 양방향으로 두 장치 간의 비동시 통신을 의미합니다. 마지막으로 전이중은 양방향으로 동시에 데이터를 전송하는 것을 의미합니다.
일반적으로 연결 후 송신 UART의 데이터 라인에서 수신 UART로 데이터 전송이 있습니다. 다음 원칙에 따라 발생합니다.
데이터 인터럽트는 자동 버퍼 콘텐츠 전송에 유용합니다. 다음 시나리오의 경우 인터럽트 제어를 요청할 수 있습니다.
그림 3. Arduino의 UART 인터페이스
Stellaris 제품군 UART 모듈에는 2개의 16바이트 FIFO가 있습니다. 하나는 데이터 수신용이고 다른 하나는 전송용입니다. 또한 다른 인터럽트를 전달하기 위해 다양한 깊이에서 구성할 수 있습니다. 예를 들어, 1/8 깊이, 1/4 깊이, 1/2 깊이 등을 가질 수 있습니다.
UART에는 RX 입력이 전송된 데이터를 수신할 위치에 대한 디버깅 및 진단을 위한 내부 루프백이 있습니다.
UART는 인코더/디코더 모듈로 작동하는 IrDA 직렬 적외선(SIR)을 특징으로 합니다. 반이중 직렬 SIR 인터페이스 및 비동기 UART 데이터 스트림을 변환하는 데 유용합니다.
또한 직렬 통신 프로토콜은 디코딩된 입력과 디지털 코딩된 출력을 UART에 전달합니다.
그림 4:I2C를 사용하는 차압 센서
통합 회로(I2C) 통신 프로토콜은 UART와 유사합니다. 그러나 UART는 PC 장치 통신용으로 지정되었지만 I2C는 센서 및 모듈 응용 프로그램에 유용합니다.
또한 양방향 2선 동기 직렬 버스는 통신 경로를 손상시키지 않고 여러 장치를 연결할 수 있습니다. 공유 버스 및 주소 시스템 속성 덕분입니다.
그러나 이 기능은 SPI에 비해 장치 간의 통신이 상대적으로 느리다는 대가를 치르게 됩니다. 속도는 외부 노이즈, 와이어 품질 및 데이터 속도에 따라 달라집니다.
마지막으로 2선 인터페이스를 통해 EEPROM, 아날로그/디지털 변환기 및 마이크로컨트롤러와 같은 저속 장치에 연결할 수 있습니다.
I2C 프로토콜은 직렬 데이터 라인 수용 포트(SDA)와 직렬 클럭 라인(SCL)의 두 라인을 특징으로 합니다. SCL은 전송 동기화를 용이하게 하는 반면 SDA는 데이터 비트를 송수신하기 위한 데이터 라인을 나타냅니다.
전송하는 동안 마스터 장치는 버스 데이터 전송을 요청합니다. 동시에 전송 장치를 여는 시계를 생성합니다. 이 시나리오에서 전송에서 주소가 지정된 장치는 슬레이브 장치입니다.
주목할 점은 마스터 디바이스와 슬레이브 디바이스가 일정한 데이터 전송 속도를 갖고 있지 않다는 점이다. 오히려 이들의 관계는 전송 시 데이터 전송 방향에 의존합니다.
또한 단일 마스터 장치는 데이터 전송을 시작하기 전에 슬레이브 선택 장치에 알려야 합니다. 마찬가지로 슬레이브에서 데이터를 수신하기 전에 슬레이브에 알려야 합니다.
또한 최적의 기능을 위해 풀업 저항을 I2C 전원 공급 장치에 연결하는 것이 중요합니다.
그림 5:핀 0.96인치 OLED 128X64 OLED 디스플레이 모듈 IIC I2C
연결 절차는 다음과 같습니다.
모든 마스터는 데이터 전송을 위해 SCL 라인에서 클럭 신호를 생성해야 합니다. 게다가 I2C 전송에서 데이터가 유효한 것은 클록의 높은 기간 동안에만 가능합니다.
주로 다음과 같은 두 가지 수단을 통해 전송합니다.
고속 모드의 장치는 400kbit/s의 속도로 데이터를 수신 및 전송합니다. 또한 고속 모드 I2C 버스는 글리치를 크게 억제할 수 있으며 출력에는 기울기 제어 기능이 있습니다.
고속 모드의 I2C 버스는 3.4Mbit/s의 비트 전송률로 데이터를 전송/수신합니다. 따라서 이전의 빠른 모드보다 빠른 데이터 전송 속도가 특징입니다.
그림 6:SPI 인터페이스는 디스플레이 모듈에서 편리합니다.
직렬 주변기기 인터페이스 (SPI)는 마이크로컨트롤러에 사용하도록 지정되었습니다. 또한 전이중 방식으로 동작하므로 데이터의 동시 송수신이 가능합니다.
SPI는 I2C보다 상대적으로 빠르며 데이터 전송 속도는 최소 8비트입니다. 기본적으로 이 모듈의 간단한 프로토콜은 더 빠른 데이터 속도를 가능하게 합니다. 따라서 디스플레이 모듈 및 SD 카드와 같이 속도가 필요한 애플리케이션에서 중요합니다.
온도계와 같이 갑작스러운 정보 변경과 관련된 애플리케이션에서도 필수적입니다.
그림 7:SPI를 활용하는 SD 카드
SPI 형식의 장치는 다음 두 가지 방법 중 하나로 작동합니다.
SPI 인터페이스에서 원하는 만큼 장치를 연결할 수 있습니다. 그러나 대부분의 경우 사용 가능한 하드웨어 선택 라인에 의해 제한됩니다. 마지막으로 지점 간 통신 중에 모듈은 작업을 처리할 필요가 없습니다.
SPI는 다음과 같은 4개의 포트를 통해 작동합니다.
다중 슬레이브 시스템을 사용할 때 각 슬레이브는 고유한 활성화 신호를 요구합니다. 이 요구 사항은 I2C 통신에 비해 하드웨어 요구 사항을 복잡하게 만듭니다.
또한 SPI 인터페이스에는 2개의 시프트 레지스터가 있습니다. CPU와 같은 단일 마스터 장치와 주변 장치 간에 동기식 직렬 데이터 전송이 가능합니다.
각각의 주요 장점과 단점이 있기 때문에 세 가지 중 우수한 통신 주변 장치는 없습니다. 따라서 프로젝트에 따라 가장 적합한 프로토콜을 선택하십시오. 예를 들어, 속도를 찾고 있다면 SPI가 가장 적합할 것입니다.
그러나 복잡한 어레이 없이 많은 장치를 연결하려면 I2C로 이동하십시오.
우리는 UART, I2C 및 SPI 통신 인터페이스와 다양한 전송 속도에 대해 알아야 할 모든 주요 통찰력을 드러냈습니다. 또한 통신 프로토콜에 대한 모든 질문에 답변해 드립니다. 연락주시면 즉시 도와드리겠습니다.
산업기술
이 문서에서는 gRPC를 사용하는 AXC F 3152를 사용하여 Python으로 간단한 프로세스 데이터에 액세스하고 쓰는 방법을 설명합니다. (https://www.plcnext.help/te/Service_Components/gRPC_Introduction.htm) 전제조건 먼저 PLC 외부(예:Windows 시스템)에서 필요한 파일을 준비해야 합니다. Python 3.9 설치(3.10에서는 오류가 발생할 수 있음) .proto 파일에서 코드를 생성하는 데 필요한 Python 패키지 설치:pip install grpcio-to
소개 여러분, 안녕하세요. IEC61850 표준에 대한 두 번째 튜토리얼이 있습니다. 올바르게 따르려면 첫 번째 튜토리얼을 읽는 것이 좋습니다. 처음부터 끝까지 엔지니어링을 계속하기 때문입니다. 여기 링크가 있습니다:https://www.plcnext-community.net/en/hn-maker-blog/658-straton-introduction-tutorial-1-data-exchange-between-plcnext-engineer-and-straton.html 우리는 표준을 거치지 않을 것이므로 이 튜토리얼은 표준에