산업용 컴퓨터와 단일 칩 마스터-슬레이브 분산 제어 시스템 간의 직렬 통신

Jan 05, 2022

메시지를 남겨주세요

하드웨어 인터페이스 설계 이 백서에 설명된 제어 시스템은 산업용 컴퓨터와 여러 AT89C2051 단일 칩 컴퓨터로 구성됩니다. 마스터와 슬레이브 간의 데이터 전송은 비동기 직렬 통신을 사용합니다. 산업용 컴퓨터의 직렬 통신 포트는 RS-232C 인터페이스이기 때문에 논리 레벨은 접지에 대칭적이며, 이는 AT89C2051 단일 칩 마이크로 컴퓨터의 직렬 포트에 의해 출력되는 TTL 레벨과 다릅니다. 따라서 둘 사이의 안정적인 데이터 전송을 보장 할 필요가 있습니다. 레벨 변환기는 통신 회선에 연결되어야 합니다. 일반적인 레벨 컨버터 칩에는 ICL232 및 MAX232 칩이 포함된다. 이 텍스트는 MAX232 레벨 변환 칩을 사용한다.

다중 단일 칩 컴퓨터 통신 회로 2 소프트웨어 설계 2.1 AT89C2051 단일 칩 컴퓨터 다중 컴퓨터 통신 기능 AT89C2051 단일 칩 마이크로 컴퓨터 직렬 포트에는 직렬 전송 버퍼 / 수신 버퍼 (SBUF), 직렬 포트 제어 레지스터 (SCON), 특수 기능 레지스터 (PCON)가 있습니다. SCON을 설정하여 4 가지 작동 모드가 있으며, 그 중 작동 모드 2와 3은 다중 컴퓨터 통신에 적합합니다. AT89C2051 단일 칩 마이크로 컴퓨터의 직렬 통신 모드 3은 가변 전송 속도를 가진 9 비트 데이터 비동기 통신 모드이며 현재 다중 컴퓨터 통신에서 가장 널리 사용되는 모드이기도합니다. 여기서, AT89C2051은 총 11비트의 정보 프레임을 전송한다: 1개의 시작 비트, 8개의 데이터 비트, 1비트는 "1" 또는 "0" 및 1개의 정지 비트의 9번째 비트로 프로그램될 수 있고, 그 중 아홉 번째 비트의 데이터는 패리티 비트로서 사용될 수 있고, 또한 "어드레스 프레임" 및 "데이터 프레임"에 대한 식별 플래그로서 사용될 수 있다.

산업용 컴퓨터 통신 기능 산업용 컴퓨터에는 직렬 비동기 통신 포트 (COM1 포트 주소는 3f8H, CM2 포트 주소는 2f8H)가 장착되어 있으며 인터페이스 보드의 범용 비동기 수신기 / 송신기 (UART)는 8250 또는 구조, 프로그래밍 방법 내부에 10 개의 레지스터가있는 8250과 동일한 칩입니다. PC 직렬 통신 프로그래밍, 프로그래머는 UART의 레지스터를 입출력 / 출력하기 위해 입출력 명령 만 사용해야하므로 직렬 통신 전송 속도, 데이터 전송 형식, 인터럽트 허용, 데이터 송수신 대기 여부를 설정해야합니다.

새로운 다중 기계 통신 방법으로는 기존의 다중 기계 통신 방식에서, 패리티 비트가 송신 주소 코드(채널 번호) 또는 데이터의 특성 비트로 사용되어 왔으며, 데이터 통신의 체크는 축적 및 확인 방법을 채택하고 있다. 이 방법을 사용하면 소프트웨어 오버헤드와 통신에 필요한 데이터의 양이 증가할 뿐만 아니라 실시간 성능에도 영향을 미칩니다. 2.3.1 커뮤니케이션의 기본 원칙

데이터는 5 2 - 직접 "0"으로 설정하고 +, 명확하게, 그 다음 아홉 번째 비트 데이터 (+9 8)의 값이 무엇이든, 하부 컴퓨터는 직렬 수신 인터럽트를 생성 할 수 있으므로 아홉 번째 비트도 오류 감지 패리티 비트로 사용할 수 있습니다. 예를 들어 상위 컴퓨터가 하위 컴퓨터와 통신하면 주소 코드가 먼저 전송되고 핸드셰이크가 성공한 후에 data 명령이 전송됩니다. 이때, 하부 컴퓨터의 FLAG는 "1"로 설정되고, 이는 개방된 기계의 "포켓"과 동등하다. 컴퓨터는 지속적으로 하위 위치 컴퓨터에서 데이터를 가져오고 오류없이 가져온 후 하위 위치 컴퓨터의 FLAG를 "0"으로 복원하여 "포켓 닫기"를 실현하는 명령을 실행합니다.

하위 컴퓨터가 상위 컴퓨터로 데이터를 보내면 먼저 전송할 데이터의 길이를 보낸 다음 유효한 데이터를 보내기 시작합니다.

00H는 fetch 명령이고, 0FFH는 리셋 명령이며, 통신은 짝수 패리티를 채택하고, 전송 속도는 2400b / s로 설정된다는 데 동의합니다. PC의 주요 기능에 대한 흐름도는 그림과 같이 위에 나와 있습니다. PC 통신 프로그램은 VC ++ 6.0 언어로 작성되었습니다. 하부 단일 칩 마이크로컴퓨터의 통신 모듈은 메인 프로그램 및 인터럽트 서비스 프로그램을 포함하며, 그 프로그램 흐름도는 각각 및 그 안에 도시되어 있다. 해당 전송 주소를 사용하여 상위 컴퓨터와 하위 컴퓨터 간의 일대일 통신을 실현하는 방법은 무엇입니까? 소프트웨어 방법이 사용될 수 있다. 구체적인 방법은 다음과 같습니다 : 플래그 변수 FLAG는 하위 컴퓨터 프로그램에 설정되고 FLAG는 초기화 중에 "0"으로 설정됩니다. 상위 컴퓨터가 데이터를 보내면 각 하위 컴퓨터가 수신 인터럽트를 생성하고 인터럽트 서비스 루틴이 먼저 로컬 FLAG의 값을 판단합니다. . FLAG가 "0"인 경우, 수신된 데이터를 로컬 주소와 비교하고, 일관성이 있는 경우 FLAG를 6"으로 설정하고, 로컬 주소 코드를 응답으로 다시 보내고, 그렇지 않으면 인터럽트 서비스 루틴에서 즉시 점프하십시오. FLAG가 "1"이면 상위 컴퓨터에서 보낸 제어 명령이 해당 명령 처리 프로그램으로 전송되고 마지막으로 인터럽트 서비스 루틴에서 점프하여 주 프로그램으로 리턴함을 나타냅니다. 상위 컴퓨터와 하위 컴퓨터 간의 통신이 완료되면 하위 컴퓨터의 FLAG가 "0"으로 설정됩니다. 핸드셰이크가 실패하면 위쪽 컴퓨터가 아래쪽 컴퓨터로 재설정 명령을 보낸 다음 핸드셰이크를 다시 시작하고, 세 번 실패하면 오류 처리로 바뀝니다.

산업용 컴퓨터 소프트웨어의 구현 방법 및 신뢰성 측정 (1)각 하부 컴퓨터에 번호를 매겨 컴퓨터의 주소 코드로 사용합니다.

결론 이 기사에서는 분산 제어 시스템의 직렬 인터페이스 방법 중 하나만 설명하지만 직렬 포트의 직접 연결 (거리가 짧은 경우), 모뎀을 통한 연결 등과 같은 각 시스템 간의 많은 통신 인터페이스 방법이 있습니다. 소프트웨어 프로그래밍 측면에서 슬레이브 기계는 단일 칩 마이크로 컴퓨터의 조립 언어로 직접 작성됩니다. 산업용 컴퓨터의 통신 서브루틴 모듈은 또한 다양한 언어로 구현될 수 있다. 따라서 특정 시스템 설계에서 실제 상황에 따라 방법 중 하나를 선택할 수 있으며 프로그래밍에서 오류 감지 및 오류 수정 기술을 고려할 수 있으며 신뢰할 수있는 통신을 완료 할 수 있습니다.

문의 보내기