메뉴 English Ukrainian 러시아인 홈

애호가 및 전문가를 위한 무료 기술 라이브러리 무료 기술 라이브러리


라디오 전자 및 전기 공학의 백과사전
무료 도서관 / 무선 전자 및 전기 장치의 계획

RS-232를 통해 마이크로 컨트롤러와 컴퓨터를 연결하는 방법. 무선전자공학 및 전기공학 백과사전

무료 기술 라이브러리

무선 전자 및 전기 공학 백과사전 / 마이크로 컨트롤러

기사에 대한 의견 기사에 대한 의견

이 기사는 직렬 채널을 통해 개인용 컴퓨터로 제어되는 마이크로 컨트롤러 장치 개발 구현의 예를 보여주기 위해 작성되었습니다. 아직 그러한 개발 경험이 없는 사람들을 위한 것입니다. PC가 마이크로 컨트롤러를 제어하고 마이크로 컨트롤러에서 수신된 정보를 표시, 처리 및 저장하는 방법을 이해하고 나면 이 지식을 자체 개발에 적용할 수 있습니다. 또한 설명된 장치에는 고유한 가치도 있습니다. 이는 제어된 디지털 전압계이며 측정 결과는 표시되기 전에 미리 결정된 알고리즘에 따라 컴퓨터로 처리할 수 있으며 하드 드라이브의 파일에도 저장할 수 있습니다. PC의 드라이브를 확인하고 인쇄할 수 있습니다. 이 모든 것이 설명된 장치를 데이터 수집, 처리 및 문서화를 위한 간단한 시스템의 기초로 만들며, 독립적인 개발을 위한 마이크로 컨트롤러 기술에 대한 지식 수준이 없는 전자 엔지니어에게 유용합니다.

소개

이 작업의 목표는 개인용 컴퓨터와 정보를 교환할 수 있는 x51 제품군 중 오늘날 가장 널리 사용되는 마이크로컨트롤러를 기반으로 하는 간단한 측정 장치를 개발하고 만드는 것이었습니다. 이 장치는 나중에 직접 측정된 다른 물리량을 전압으로 변환하는 다양한 부착 장치로 보완될 수 있는 전압 측정기를 구현하기로 되어 있었습니다. 이러한 장치를 사용하면 일련의 측정을 쉽게 수행하고 컴퓨터로 제어할 수 있을 뿐만 아니라 결과를 축적하고 컴퓨터 처리를 수행할 수 있습니다. 근본적이지 않은 변경이 있을 경우 장비나 기타 기기 및 장치의 원격 모니터링 및 제어를 위한 시스템으로 쉽게 전환될 수 있습니다.

장치에 대한 일반적인 설명. 장치의 전기 부품

장치(그림 1)는 기본적으로 디지털 전압계입니다. 전압계의 입력에는 입력 임피던스가 높은 연산 증폭기(DA1)가 있습니다. 연산 증폭기 뒤에는 ADC(DD2)가 있으며 이를 통해 마이크로컨트롤러로의 후속 전송을 위해 관심 있는 전압을 디지털화할 수 있습니다. DD3 마이크로 컨트롤러는 ADC에서 정보를 읽고 직렬 채널을 통해 개인용 컴퓨터와 통신하므로 장치의 주요 제어 요소입니다. 또한 이 장치에는 디지털 부분에 대해 +5V를 생성하고 연산 증폭기에 대해 +/-10V를 생성하는 전력 변환기와 레벨 변환 칩(논리 <0> 및 <1> ~ -15: +15)도 포함되어 있습니다. V 및 그 반대) RS232와 같은 직렬 채널을 통해 정보를 교환합니다.

RS-232를 통해 마이크로컨트롤러와 컴퓨터를 연결하는 방법
쌀. 삼

컴퓨터로 전송된 값은 0~4095(ADC 비트 깊이에 해당) 범위에 있고, 0은 입력 레벨 0V, 4095 - 레벨 5V에 해당하며 종속성은 선형입니다.

정보 교환 속도는 9600보드 미만 또는 그 이상(최대 115보드) 중에서 선택할 수 있습니다. 200 및 이전 버전과 같은 상당히 오래된 컴퓨터에서는 상한이 386보드(baud)로 훨씬 낮습니다. 이는 해당 컴퓨터에 있는 직렬 포트 칩이 더 빠른 속도를 위해 설계되지 않았기 때문입니다.

칩 설명

MAX680 전원 공급 장치 변환기

연산 증폭기에는 일반적으로 양극 전원(예: 접지 기준 +10V 및 -10V)이 필요합니다. 현대 요소 기반에 거의 익숙하지 않은 무선 아마추어는 일반적으로 이러한 전압을 얻기 위해 두 개의 5차 권선(또는 하나, 그러나 중간에 탭이 있음)이 있는 변압기, 두 개의 필터 커패시터, 두 개의 안정기 등을 사용합니다. 안정화된 전압은 7V이고 바이폴라 전원 공급 장치가 필요한 연산 증폭기는 +10:1V에 불과하고 2:680mA를 소비하므로 언급된 XNUMX개의 권선과 XNUMX개의 안정기가 필요하지 않습니다. . Maxim의 MAXXNUMX 마이크로 회로를 사용하면 충분합니다(유사한 마이크로 회로는 Linear Technology 및 기타 여러 유명 회사에서 생산됩니다).

3:5 ~ 6:10 V(유형에 따라 다름)의 전압 Uin이 마이크로 회로의 입력에 적용되고 약 +2Uin과 동일한 전압이 출력에서 ​​생성됩니다. 주목할만한 점은 첫째, 이러한 전압을 생성하려면 8핀 MAX680 또는 LT1026 외에 4개의 소형 전해 커패시터만 필요하며(그림 1 참조), 둘째, 입력 전압이 변경되면 출력이 두 배로 증가한다는 것입니다. 위상 변화는 연산 증폭기의 출력 신호에 사실상 영향을 미치지 않습니다. 이러한 초소형 회로에 대한 자세한 내용을 보려면 해당 독점 설명을 참조할 것을 권장합니다.

ADC MAX1241

최근 몇 년 동안 직렬 채널을 통해 제어되는 마이크로 회로는 마이크로 컨트롤러 기술에서 널리 발전했습니다. 이러한 칩 중 하나는 MAX12 1241비트 ADC입니다. MAX680의 경우와 마찬가지로 MAX1241에는 정확하고 대략적인 아날로그가 많이 있습니다(Maxim의 MAX187, Linear Technology의 LTC1286, LTC1298, Analog Devices의 AD7894 및 기타 여러 제품).

MAX1241은 8핀 패키지로 제공되며 2,7~5V의 전압으로 구동되며 약 5mA의 전류를 소비합니다. 외부 기준 전압 소스(이 경우 142V의 전압을 생성하는 정밀 제너 다이오드 KR19EN2,50가 사용됨)를 사용해야 하며 마이크로컨트롤러와의 통신에는 3개의 라인만 사용됩니다.

MAX1241의 동작은 그림 2에 표시된 타이밍 다이어그램으로 설명됩니다. 1241. 변환 및 교환이 시작되기 전에 CS# MAX1241 입력은 마이크로컨트롤러에 의해 단일 상태로 유지되어야 합니다. 변환을 시작하려면 이 입력에 논리적 8 레벨을 적용해야 합니다. MAX1241로의 변환 프로세스에는 0μs 미만이 소요됩니다. 전체 변환 시간 동안 MAX1241은 DOUT 출력에서 ​​논리 레벨 XNUMX을 유지하며 변환이 완료된 후 MAXXNUMX은 DOUT 출력을 단일 상태로 전환합니다.

RS-232를 통해 마이크로컨트롤러와 컴퓨터를 연결하는 방법
쌀. 삼

변환을 시작하기 전에 MAX1241의 SCLK 입력에 있는 마이크로컨트롤러는 논리 레벨을 12으로 설정해야 합니다. ADC 내부의 변환 프로세스가 완료되면 마이크로 컨트롤러는 SCLK 입력에서 최소 2개의 포지티브 펄스 시퀀스를 생성해야 합니다(그림 1241). 첫 번째 펄스의 에지는 데이터 전송을 위해 MAX12을 준비합니다. 펄스가 DOUT에 떨어지면 가장 중요한 11번째 비트가 논리 XNUMX 또는 XNUMX로 나타납니다. 마이크로컨트롤러는 이 비트를 읽고 SCLK에서 두 번째 펄스의 가장자리를 형성하고 일정 시간이 지나면 하락합니다. 두 번째 펄스가 떨어지면 XNUMX번째 비트가 DOUT에 나타나고 마이크로컨트롤러 등이 이 비트를 읽습니다.

12번째 펄스가 하강할 때 최하위 첫 번째 비트가 DOUT 출력에 설정됩니다. 1번째 펄스의 하강은 DOUT을 13 상태로 만듭니다. 이는 CS# 입력이 1로 설정되기 전의 상태입니다. CS#를 단일 상태로 전환함으로써 마이크로컨트롤러는 변환 결과를 읽는 프로세스가 완료되었음을 MAX1241에 알립니다. MAX1241은 CS#를 1로 설정한 후 약 1 µs 후에 다음 변환을 수행할 수 있습니다.

Linear Technology의 LTC1286, LTC1298 및 Analog Devices의 AD7894의 작동 알고리즘은 MAX1241에 대해 설명된 것과 약간 다릅니다. 해당 회사 설명을 참조하면 더 자세히 알 수 있습니다.

레벨 컨버터 MAX202E

표준 논리에서 2,4 ~ 5V의 전압 레벨과 0 ~ 0,8V의 232으로 표시된다는 것은 소수의 비밀입니다. 그러나 초보자는 RS-5 채널을 통해 전송할 때 12이라는 것을 알지 못할 수도 있습니다. 하나는 동일한 값(XNUMX~XNUMXV)의 신호로 인코딩되지만 부호는 다릅니다. 이 기사의 틀 내에서 이 작업을 수행하는 것이 관례적인 이유를 설명하려는 의도는 없으며, 그렇지 않은 경우에는 이 사실만 언급하는 것으로 제한하겠습니다.

표준 논리 신호를 RS-232를 통해 전송하려면 다른 레벨의 신호로 변환해야 하므로 회로에 적절한 변환 수단을 제공해야 합니다. 약 10년 전에는 특별히 설계된 202~232개의 트랜지스터, 한 쌍의 다이오드 및 거의 5개의 저항기로 구성된 캐스케이드가 이러한 목적으로 사용되었습니다. 이제 상황은 크게 바뀌었습니다. 주요 칩 제조업체는 최소한의 추가 요소가 필요한 완전히 완전한 변환기를 생산합니다. 여기에는 MAXIM의 MAX10E와 Analog Devices의 AD680가 포함됩니다. 이 제품은 핀아웃까지 완전히 동일합니다. 내부에는 두 마이크로 회로 모두 위에서 설명한 MAX232과 동일한 +XNUMXV ~ +XNUMXV의 전압 변환기와 표준 레벨 논리 신호를 RS-XNUMX 표준에 따라 레벨 신호로 변환하는 캐스케이드가 포함되어 있습니다. 언급된 각 마이크로 회로에는 두 개의 수신기와 두 개의 송신기에 대한 논리 레벨 변환기가 포함되어 있습니다. 우리는 하나의 트랜시버 채널만 사용할 것입니다.

직렬 채널을 사용한 MK 작동 모드

알려진 바와 같이(예를 들어 10년 Radio 잡지의 11번과 1994번 참조) x51 제품군의 마이크로 컨트롤러에는 1가지 트랜시버 작동 모드가 있습니다. 우리는 가장 단순하고 가장 수용 가능한 모드 XNUMX에 관심을 가질 것입니다.

모드 1은 다음 매개변수로 특징지어집니다.

  • 비동기 정보 교환;
  • 교환당 10비트가 전송됩니다(시작 비트(0), 8 데이터 비트 및 정지 비트(1)).
  • 수신/전송 속도는 프로그래밍 가능하며 타이머에 의해 설정됩니다.

이는 프로그래밍에 편리한 모드입니다. 트랜시버를 설정하고 작동하는 데 프로그래밍 코드가 거의 필요하지 않습니다. 원하는 경우 다른 작동 모드를 사용할 수도 있습니다. 이 기사의 목적은 개인용 컴퓨터와 통신할 수 있는 특정 장치를 설명하는 것입니다.

여기서는 트랜시버가 어떻게 작동하는지 정확히 설명하지 않겠습니다. 이 정보는 언급된 라디오 잡지나 기타 문헌에서 얻을 수 있습니다.

MK의 기본 루틴

마이크로컨트롤러의 주요 루틴은 ADC에서 데이터 읽기, UART 초기화, 바이트 수신 및 전송입니다.

ADC에서 데이터 읽기

직렬 채널을 통해 정보를 교환하도록 PC를 설정합니다.

직렬 채널을 통해 정보를 교환하도록 PC를 구성하려면 다음을 수행해야 합니다.

  • 사용할 필요가 없으므로 모든 인터럽트를 비활성화합니다.
  • 자동 콘텐츠 다시 로드를 통해 모드 1에서 작동하도록 타이머 2을 구성합니다. 이는 정보 교환 속도를 설정하고 일정하게 유지하는 데 필요합니다.
  • 타이머 카운터에 초기 값을 로드합니다.
  • 타이머 1을 시작합니다.

공진 주파수가 9600MHz인 석영 공진기에 대해 11,059bps의 교환 속도를 위해 설계된 코드의 예:

GET_VOLT: SETB DOUT ; ADC SETB CS로부터 허용된 데이터 입력; 초기 상태 ADC CLR SCLK 설정 ; 초기 상태 ADC CLR CS 설정 ; MUL AB 데이터를 읽은 것으로 보고되었습니다. 4MHZ\ MUL AB에서 12MKS; 4ISS | 물라브; 4 ISS} 끝을 기다리십시오. | DIGITATIONS MUL AB ; 4 MKS / MOV R0,#12 ; 읽기 12 비트 GET_VC: SETB SCLK ; \ NOP ; | NOP ; | CLR SCLK ; }BIT NOP을 읽기 위한 펄스를 생성했습니다. | NOP ; / MOV C, DOUT ; 읽기 비트 MOV A, R2 ; \ RLC A ; | 운동 R2,A ; | 운동 A, R3 ; } 비트를 워드로 푸시 ; 결과 - R3R2 RLC A ; | 운동 R3,A ; / DJNZ R0,GET_VC ; 루프 ANL A,#0FH MOV R3,A ; 삭제된 상위 비트 R3R2 SETB CS ; 읽고 싶지 않습니다. (나머지 비트 = 0) MUL AB ; 4MHZ \ MUL AB에서 12MKS; 4ISS | 물라브; 4ISS | 물라브; 4µs }최소 지연 ; | 다음 전에 물라브; 4ISS | 물라브; 4ISS/리트   

이 서브루틴은 메인 마이크로컴퓨터 프로그램에서 가장 먼저 호출됩니다. 원칙적으로는 서브루틴으로 형식화할 필요조차 없습니다.

바이트 수신 및 전송

직렬 채널을 통해 바이트를 수신하고 전송하는 루틴은 매우 간단합니다.

SERINIT: MOV IE, #0 ; 모든 인터럽트 비활성화 MOV TMOD, #20H ; 타이머 2에 대한 모드 1 설정 MOV TH1, #REL96 ; 자동 재장전 카운터 값 MOV TL1, #REL96 ; 9600bps에 대한 초기 카운터 값 ; SMOD가 있는 경우 = 0 ANL PCON, #7FH ; SMOD MOV SCON, #50H 클리어됨 ; 8비트 데이터 및 전송 속도에 대한 모드, ; 타이머 종속 SETB TR1 ; 시작 타이머/세터 1 RET 여기서 REL96은 0FDh와 동일한 상수입니다.

SCON 제어/상태 레지스터의 RI 비트가 설정되어 수신 버퍼에 바이트가 있음을 나타내는 경우에만 SBUF I/O 포트에서 바이트를 읽을 수 있습니다. 이 바이트를 읽은 후 RI 비트를 재설정해야 합니다.

I/O 포트에 바이트를 쓴 후에는 TI 비트가 설정될 때까지 기다려야 합니다. 이는 라인에 바이트 전송이 끝났음을 알리는 신호입니다. 그런 다음 TI 비트도 재설정해야 합니다.

누산기로 바이트를 수신하기 위한 서브루틴:

GETCH: JNB RI, GETCH MOV A, SBUF CLR RI RET

누산기에서 바이트를 전송하기 위한 서브루틴:

퍼치: MOV SBUF, 송신: JNB TI, 송신 CLR TI RET

또한 마이크로컴퓨터에는 입출력 오류를 감지할 수 있는 수단이 없다는 점에도 유의해야 합니다.

소프트웨어 및 하드웨어 방식으로 검사를 구성하기 위해 추가 신호가 전송될 입출력 라인 수를 확장할 수 있으며, 이를 통해 대화 참가자의 위치를 ​​​​파악할 수 있습니다. 오류를 식별할 수도 있습니다.

다른 방법으로 정보 수신/전송의 신뢰성을 높일 수 있습니다. 즉, 0개의 데이터 비트(프로그램 상태 워드(비트 9 PSW)의 패리티 플래그와 유사하게 계산되는 패리티 비트)가 포함된 또 다른 비트를 전송합니다. 전송되거나 수신된 바이트에 대해서만 계산되어야 합니다. 바이트와 ​​패리티 비트를 받은 후에는 서로 일치하는지 비교해야 합니다. 일치하지 않으면 I/O 오류가 발생한 것입니다. 추가 2번째 정보 비트를 전송하려면 타이머/카운터의 모드 3 또는 XNUMX을 사용해야 합니다.

MK 일반 프로그램. 장치 상태 다이어그램

일반적인 마이크로컴퓨터 프로그램은 아래 설명된 알고리즘을 기반으로 합니다. 알고리즘이 너무 복잡해서.. 그럼에도 불구하고 최소한 프로그래밍 방식으로 입력/출력 오류를 식별하고 해당 오류 발생에 대응해야 합니다.

더 명확하게 하기 위해 컴퓨터와의 정보 교환 관점에서 장치의 네 가지 주요 상태를 보여주는 소위 장치 상태 다이어그램(그림 3)이라는 일반적인 단어로 설명된 알고리즘에 그림이 첨부됩니다.

RS-232를 통해 마이크로컨트롤러와 컴퓨터를 연결하는 방법
쌀. 삼

데이터를 교환할 때 우리의 마이크로컴퓨터가 슬레이브이고 개인용 컴퓨터가 마스터라는 사실을 미리 규정해 두자. 즉, PC의 명령 없이 장치 자체로는 아무 작업도 수행해서는 안 됩니다. 이는 제어 컴퓨터에 완전히 종속됩니다. 개인용 컴퓨터가 더 많은 전력을 제공하고 문제 없이 장치를 제어할 수 있다는 단순한 이유 때문에 호스트로 선택되었습니다. 또한 사용자에게 더 많은 서비스 기능을 제공할 수 있습니다.

상태 XNUMX - 대기

장치는 공급 전압을 켠 직후 이 상태에 있습니다. 여기에서는 NUL 문자를 보내는 컴퓨터로 표현되는 컴퓨터의 초기화 요청을 기다립니다. 그러면 장치는 수신된 요청에 응답하여 필요한 경우 추가 모듈과 리소스를 활성화 및 구성한 다음 모든 것이 제대로 진행되면 ACK 기호를 컴퓨터로 보내야 합니다. 오류가 발생하면 NAK를 보내야 합니다. 따라서 두 "대화자"의 첫 번째 "통신"이 발생합니다. 원하시면 "인사를 교환"하거나 "악수"를 하시면 됩니다.

장치가 성공적으로 초기화된 후 ACK 문자를 보내면 자동으로 다음 상태로 전환됩니다. 이 전환은 다이어그램에서 화살표 1로 표시됩니다.

준비 상태

이 상태에서 마이크로컴퓨터는 ADC에서 읽은 측정값을 PC에서 보내달라는 요청을 기다립니다. 요청은 XON 문자입니다. 이 기호를 수락하면 장치는 새로운 상태인 전송 중으로 들어갑니다. 전환은 화살표 2에 해당합니다.

보내는 상태

여기까지 오면 마이크로 컨트롤러는 이전에 지정된 방법을 사용하여 ADC에서 이진수 1비트 숫자를 읽고 이를 부분적으로 컴퓨터에 보냅니다. 이 구현은 511진수를 1진수 XNUMX의 <XNUMXFF>와 같이 XNUMX자리 XNUMX진수로 변환합니다. <XNUMX>이 먼저 전송된 다음 한 개 더 .

값이 컴퓨터로 전송되면 마이크로컴퓨터는 화살표 4를 따라 다음 상태로 이동합니다.

보낸 상태

이 상태는 마지막 상태이며 장치와 컴퓨터 간의 단일 통신 행위의 순환을 닫습니다. 여기서 컴퓨터는 자신에게 지정된 값을 올바르게 수락했는지 확인해야 합니다.

전송된 번호에 대한 PC의 응답에는 여러 가지 가능한 옵션이 있습니다. XOFF 기호로 성공적인 수신으로 응답할 수 있습니다. 이는 현재 더 이상 다른 값이 필요하지 않음을 의미하거나 XON 기호로 응답할 수 있습니다. 즉, 하나 이상의 값이 필요하다는 의미입니다. XOFF가 승인되면 장치는 준비 상태로 돌아갑니다(다이어그램의 전환 7). XON 기호가 수신되면 장치는 다시 전송 상태(전환 5)가 되고 라인으로 번호를 후속 전송하면서 ADC에서 읽기를 반복합니다. 고려되지 않은 유일한 경우는 PC가 수신한 내용이 마음에 들지 않는 경우였습니다. 예를 들어 <0>...<9> 범위의 문자 대신 ..., 그는 다른 것을 얻었습니다. 또는 <,>. 이 상황에서는 NAK 기호를 장치에 보냅니다. 이는 마지막 값을 다시 보내라는 요청으로 해석되어야 합니다. 그러면 장치가 다시 Sending 상태로 전환됩니다(화살표 6을 따라 전환).

다이어그램에서 화살표 3과 8로 표시된 전환은 설명되지 않았습니다. 컴퓨터에 심각한 I/O 오류가 발생하거나 장치와의 통신을 중단해야 하는 경우 간단히 초기화 NUL을 전송하여 장치를 초기화하고 준비 상태로 전환합니다.

저것들. 장치의 상태가 무엇이든 초기 초기화와 동일한 방식으로 초기화 요청에 응답해야 합니다(항목 대기 상태 참조). 마이크로컴퓨터가 예상치 못한 또는 잘못된 기호나 요청을 받으면 항상 NAK 기호로 응답해야 합니다.

이 전략은 장치에 대한 프로그램 구성을 통해 한 번에 여러 작업을 더 쉽게 수행할 수 있기 때문에 유리합니다. 첫째, 마이크로컴퓨터와 PC는 깨진 전화기로 재생되지 않으며, 둘째, 간단하고 효과적으로 수행할 수 있습니다. 친구와 서로 "소통"합니다.

PC로 넘어가 보겠습니다. PC용 일반 프로그램입니다. PC 상태 다이어그램

기본적으로 컴퓨터의 일반 프로그램은 마이크로 컨트롤러에서 사용되는 프로그램과 전혀 다르지 않습니다. 알고리즘도 비슷하고 상태도도 비슷할 것입니다.

첫 번째 상태 초기화

이는 사용자가 단일 값을 받아들이는 데 해당하는 키보드의 키를 누를 때 컴퓨터가 이동하는 위치입니다. 이 상태에서 컴퓨터는 NUL 초기화 문자를 장치에 보내고 ACK 또는 NAK 문자로 응답을 기다립니다. ACK가 수신되면 초기화가 정상이며 작업을 계속할 수 있습니다. 다이어그램의 화살표 2를 따라 다음 상태로 이동하세요. NAK가 수신되면 작업이 중지되고 컴퓨터는 화살표 1에서 최종 완료 상태로 들어가야 합니다.

준비 상태

이 상태에서 컴퓨터는 마이크로컴퓨터에서 요청한 값에 해당하는 문자를 받을 준비를 하고 있는 것입니다. 값을 보내려면 두 가지 요청이 있습니다. 첫 번째는 일반 값 요청이며 XON 문자에 해당합니다.

두 번째 요청은 마지막 값을 다시 보내 달라는 요청입니다. 이는 값이 객관적인 시간 내에 완전히 승인되지 않았거나 <0>에서 <9>까지 및 <XNUMX>에서 <XNUMX>까지의 범위에 속하지 않는 잘못된 문자가 승인된 경우에 필요합니다. . 재전송 요청의 경우 문자 NAK가 할당됩니다.

다음으로, 값 기호 수신을 준비한 후 장치에 대한 위의 두 요청 중 하나가 발생하고 컴퓨터는 화살표 4를 따라 값 수신 상태로 이동합니다.

수신 상태

여기서 PC는 ADC에 의해 측정되고 변환된 값의 세 문자를 읽습니다. 앞서 언급했듯이 컴퓨터가 문자를 기다리는 객관적인 시간이 있습니다. 이 시간 동안 문자를 읽지 않으면 이 상황은 잘못된 것으로 해석됩니다. I/O 오류가 발생했습니다.

그건 그렇고, 상당히 빠른 정보 교환 속도(19200bps 이상)에서 또는 MS-Windows 운영 체제(모든 버전)에서 작업할 때 컴퓨터가 전송된 세 문자 중 두 문자만 수신하는 경우가 종종 있습니다. 때로는 심지어 더 적습니다. 누락되거나 건너뛴 문자를 무기한 기다리는 컴퓨터의 "정지"를 방지하기 위해 이 대기를 제한하는 시간이 도입되었습니다. 불행하게도 이러한 누락은 하드웨어에서 감지되지 않습니다.

이 구현은 사용자가 키보드를 통해 지정할 수 있는 두 가지 유형의 시간 초과를 정의합니다. 첫 번째 유형은 1개 문자 중 첫 번째 문자에 대한 시간 초과입니다. 이를 통해 장치는 아무데도 서두르지 않고 침착하게 필요한 숫자를 측정하고 디지털화하여 상징적인 값으로 변환할 수 있습니다. 그리고 두 번째 유형은 두 번째와 세 번째 문자를 보내는 데 시간 제한이 있습니다.

이제 수신 상태에서 다른 상태로의 가능한 전환을 살펴보겠습니다.

할당된 시간 내에 값의 3개 문자가 모두 수신되지 않으면 컴퓨터는 장치에 값을 다시 보내도록 요청해야 합니다. 이 상황은 화살표 5를 따른 전환에 해당합니다. 컴퓨터는 NAK 기호로 요청하고 준비 상태로 돌아갑니다.

수신 프로세스 중에 컴퓨터가 입/출력 오류를 감지한 경우(그리고 PC가 직렬 포트의 상태 레지스터를 간단히 분석할 수 있는 기능이 있는 경우) 컴퓨터와 마이크로컴퓨터를 모두 원래 상태로 복원하는 것이 좋습니다. 초기화를 반복하세요. 따라서 다이어그램에는 화살표 3도 있습니다.

마지막으로 컴퓨터가 장치로부터 세 문자를 모두 수신한 경우 수신된 값을 분석하는 상태, 즉 화살표 8을 따라 수신 상태로 들어갑니다.

간행물: cxem.net

다른 기사 보기 섹션 마이크로 컨트롤러.

읽고 쓰기 유용한 이 기사에 대한 의견.

<< 뒤로

과학 기술의 최신 뉴스, 새로운 전자 제품:

터치 에뮬레이션을 위한 인조 가죽 15.04.2024

거리가 점점 일반화되는 현대 기술 세계에서는 연결과 친밀감을 유지하는 것이 중요합니다. 최근 독일 자를란트 대학(Saarland University) 과학자들이 인공 피부를 개발하면서 가상 상호 작용의 새로운 시대가 열렸습니다. 독일 자를란트 대학 연구진이 촉각 감각을 멀리까지 전달할 수 있는 초박형 필름을 개발했습니다. 이 최첨단 기술은 특히 사랑하는 사람과 멀리 떨어져 있는 사람들에게 가상 커뮤니케이션을 위한 새로운 기회를 제공합니다. 연구원들이 개발한 두께가 50마이크로미터에 불과한 초박형 필름은 직물에 통합되어 제XNUMX의 피부처럼 착용될 수 있습니다. 이 필름은 엄마나 아빠의 촉각 신호를 인식하는 센서이자, 이러한 움직임을 아기에게 전달하는 액추에이터 역할을 합니다. 부모가 직물을 만지면 압력에 반응하여 초박막 필름이 변형되는 센서가 활성화됩니다. 이것 ...>>

펫구구 글로벌 고양이 모래 15.04.2024

애완동물을 돌보는 것은 종종 어려운 일이 될 수 있습니다. 특히 집을 깨끗하게 유지하는 데 있어서는 더욱 그렇습니다. Petgugu Global 스타트업의 새롭고 흥미로운 솔루션이 제시되었습니다. 이 솔루션은 고양이 주인의 삶을 더 쉽게 만들고 집을 완벽하게 깨끗하고 깔끔하게 유지할 수 있도록 도와줍니다. 스타트업 펫구구글로벌(Petgugu Global)이 자동으로 배설물을 씻어내는 독특한 고양이 화장실을 공개해 집안을 깨끗하고 산뜻하게 유지해준다. 이 혁신적인 장치에는 애완동물의 배변 활동을 모니터링하고 사용 후 자동으로 청소하도록 활성화되는 다양한 스마트 센서가 장착되어 있습니다. 이 장치는 하수 시스템에 연결되어 소유자의 개입 없이 효율적인 폐기물 제거를 보장합니다. 또한 변기는 물을 내릴 수 있는 대용량 수납 공간을 갖추고 있어 다묘 가정에 이상적입니다. Petgugu 고양이 모래 그릇은 수용성 모래와 함께 사용하도록 설계되었으며 다양한 추가 기능을 제공합니다. ...>>

배려심 많은 남자의 매력 14.04.2024

여성이 '나쁜 남자'를 더 좋아한다는 고정관념은 오랫동안 널리 퍼져 있었습니다. 그러나 최근 모나쉬 대학의 영국 과학자들이 실시한 연구는 이 문제에 대한 새로운 관점을 제시합니다. 그들은 여성이 남성의 정서적 책임과 다른 사람을 도우려는 의지에 어떻게 반응하는지 살펴보았습니다. 이번 연구 결과는 무엇이 남성을 여성에게 매력적으로 만드는지에 대한 우리의 이해를 변화시킬 수 있습니다. Monash University의 과학자들이 실시한 연구는 여성에 대한 남성의 매력에 대한 새로운 발견으로 이어졌습니다. 실험에서 여성에게는 노숙자를 만났을 때의 반응을 포함하여 다양한 상황에서 자신의 행동에 대한 간략한 이야기와 함께 남성의 사진이 표시되었습니다. 일부 남성은 노숙인을 무시했지만, 다른 남성은 음식을 사주는 등 그를 도왔습니다. 한 연구에 따르면 공감과 친절을 보여주는 남성은 공감과 친절을 보여주는 남성에 비해 여성에게 더 매력적이었습니다. ...>>

아카이브의 무작위 뉴스

헤드폰 Sony XB900N 27.05.2019

소니가 새로운 무선 온이어 헤드폰인 XB900N을 출시했습니다. 이 모델은 네오디뮴 자석이 있는 40mm 이미터를 받았습니다. 풍부한 저역을 실현할 수 있는 Extra Bass 기술을 지원합니다.

헤드폰을 헤드셋으로 사용하고 동기화된 스마트폰에서 지능형 음성 도우미에 액세스할 수 있는 내장 마이크도 있습니다. 후자와 통신하기 위해 Bluetooth 4.2 모듈과 신호 소스에 대한 빠른 연결을 제공하는 NFC 칩이 있습니다. 또한 소음 감소 시스템의 존재에 대해 보고되었습니다. 무선 이어폰의 배터리 수명은 적당합니다.

소음 감소 시스템을 사용하지 않으면 한 번 충전으로 최대 35시간, "소음 감소"를 활성화하면 최대 30시간 동안 사용할 수 있습니다. 사실, Sony XB900N은 약 XNUMX시간 동안 매우 느리게 충전됩니다.

참신함의 가격은 250달러입니다.

다른 흥미로운 소식:

▪ 칩(삼상 전력량계) ADE7752

▪ 비행기에 탑승할 때 작동하는 가제트를 보여주세요.

▪ 일반 먼지의 치명적인 위험

▪ 바이오시멘트

▪ G.Skill Ripjaws 4 DDR4-2800 메모리 키트

과학 기술 뉴스 피드, 새로운 전자 제품

 

무료 기술 라이브러리의 흥미로운 자료:

▪ 사이트 섹션 가장 중요한 과학적 발견. 기사 선택

▪ 기사 우리는 모든 것을 바꿨습니다. 대중적인 표현

▪ 기사 Dalton은 무엇을 겪었습니까? 자세한 답변

▪ 기사 Kermek 노치. 전설, 재배, 적용 방법

▪ 기사 단일 칩의 디지털 음성 녹음기. 무선 전자 및 전기 공학 백과사전

▪ 기사 색종이가 패키지에서 사라집니다. 포커스 시크릿

이 기사에 대한 의견을 남겨주세요:

이름 :


이메일(선택사항):


댓글 :





이 페이지의 모든 언어

홈페이지 | 도서관 | 조항 | 사이트 맵 | 사이트 리뷰

www.diagram.com.ua

www.diagram.com.ua
2000-2024