라디오 전자 및 전기 공학의 백과사전 컴퓨터 기반 로직 분석기. 무선 전자 및 전기 공학 백과사전 컴퓨터 주제에 대해 공개적으로 이용 가능한 문헌은 주로 계산, 문서 작성 및 편집, 정보 검색 및 저장, 오락을 위한 개인용 컴퓨터(PC)의 전통적인 사용에 전념합니다. PC를 사용하여 다양한 무선 전자 장치를 설계하는 방법에 관한 기사와 책은 덜 일반적입니다. 라디오 아마추어가 자신이 만든 장치를 설정하고 디버깅하는 데 PC가 어떻게 도움이 될 수 있는지에 대한 자료는 거의 없습니다. 이를 위해서는 PC에 다소 복잡하고 값비싼 추가 보드와 부착 장치가 장착되어야 한다고 믿어집니다. 그러나 무선 아마추어에게 매우 유용한 여러 기능은 각 PC에서 사용 가능한 표준 장치(예: 통신 포트)를 사용하여 구현할 수 있는 경우가 많습니다. 이 기사에서는 이에 대해 논의할 것입니다. 모든 IBM 호환 PC에는 COM 포트 또는 RS-232C 인터페이스라고 하는 두 개의 통신용 직렬 포트가 있습니다. 마우스는 일반적으로 그중 하나에 연결되어 있으며 오늘날 효과적인 작업을 상상하기 어렵습니다. 두 번째는 종종 무료로 남아 있거나 외부 모뎀 및 지속적으로 작동하지 않는 기타 주변 장치를 연결하는 데 때때로 사용됩니다. RS-232C 인터페이스 신호 세트와 그 목적은 [1]에 자세히 설명되어 있습니다. 그들 모두는 표에 나열되어 있습니다. 1은 같은 기사에서 언급되지 않은 RI(Ring Indicator, 회로 125)와 함께 사용됩니다. 보시다시피 사용자는 XNUMX개의 출력 회로와 XNUMX개의 입력 회로를 마음대로 사용할 수 있습니다. COM 포트의 출력에서 필요한 형태의 신호를 생성하고 동시에 입력 상태를 분석하는 프로그램을 통해 PC를 광범위한 분석 기간과 풍부한 동기화, 처리 및 디스플레이 기능을 갖춘 스토리지 다중 채널 로직 분석기로 전환할 수 있습니다. 능력. 다양한 디지털 장치를 디버깅할 때 유용할 수 있습니다. 분석기 프로그램 개발의 가장 큰 어려움은 IBM 호환 PC의 표준 하드웨어 및 소프트웨어 구성이 고속 프로세서 및 RAM을 갖추고 있더라도 DOS 프로세서를 사용하여 수백 밀리초 미만의 정확한 간격 생성을 허용하지 않는다는 것입니다. 시스템 타이머가 오버플로되면 중단되고 Windows에서는 타이머 메시지가 표시됩니다. 이러한 이벤트는 약 55ms의 주기로 발생하므로 이것이 바로 "양자" 시간이 얻어지는 것입니다. 타이머를 다시 프로그래밍하려고 하면 실행 중인 모든 프로그램과 운영 체제 자체에 예측할 수 없는 결과가 발생합니다. 프로그램이 실행하는 사이클 수를 세고 이 프로세스가 외부 이벤트로 인해 중단되지 않는지 확인하여 시간을 측정할 수 있습니다. 그러나 이 작업은 최신 운영 체제에서는 올바르게 해결되지 않으며, 더욱이 각 PC 하드웨어 구성에 대해 셔터 속도 조정이 필요합니다. MS DOS에서는 이러한 문제를 해결하기가 더 쉽지만 계산, 그래프 인쇄 등 그래픽 인터페이스와 보조 작업이 필요한 경우 프로그램 개발이 너무 노동 집약적입니다. 그러나 어떤 운영 체제를 사용하든 TXD 직렬 포트의 출력에서 엄격하게 지정된 주파수와 모양의 신호를 얻을 수 있습니다. 알려진 바와 같이, 전송된 데이터의 비트 반복률은 수정 공진기(115-200Hz)에 의해 안정화된 표준 주파수를 계수 M으로 나눈 몫과 같습니다. 시스템 소프트웨어는 표준 정보를 기반으로 이 계수를 선택하고 설정합니다. 전송 요금. 그러나 응용 프로그램이 M 요소에 1부터 216 -1(0FFFFH)까지의 값을 할당하는 것을 방해하는 것은 없습니다. 따라서 TXD 출력에서 57,6kHz에서 12Hz까지의 주파수를 가진 펄스를 얻을 수 있으며 10kHz 미만의 임의 주파수는 +1,2 이하, 1kHz-+XNUMX 미만의 오류로 설정할 수 있습니다. %. 직렬 포트는 UART(Universal Asynchronous Transceiver)라고 하는 컨트롤러의 2비트 레지스터 7개를 통해 제어됩니다. 테이블에 그림 1는 PC I/O 공간에 있는 이러한 레지스터의 주소와 기능적 목적을 보여줍니다. 그들 중 일부는 동일한 주소를 가지고 있다는 것을 쉽게 알 수 있습니다. 다른 사람에 대한 액세스는 라인 제어 레지스터의 최상위 비트(D0)에 의해 추가로 제어됩니다. 논리 XNUMX이 포함되어 있으면 속도 분배기 레지스터(숫자 M의 상위 및 하위 바이트)에 액세스하고, XNUMX이면 송신기 및 수신기의 데이터, 인터럽트 해결을 수행합니다. TXD 출력의 신호 형식은 라인 제어 레지스터에 기록된 코드에 따라 다릅니다. 이 코드의 D1 및 D0 비트는 UART가 전송(또는 수신)하는 단어의 정보 비트 수를 설정합니다. 00개(언급된 숫자 - 코드 11)에서 2개(코드 0)까지 있을 수 있습니다. 정지 비트 수는 비트 D1의 상태에 따라 다릅니다. XNUMX - XNUMX; XNUMX - XNUMX. XNUMX개의 정지 비트 대신 XNUMX개의 정보 비트를 사용하면 하나가 전송되지만 지속 시간은 XNUMX분입니다. 이는 기존 기계식 텔레타이프와의 호환성을 위해 수행되었습니다. 라인 제어 레지스터의 비트 D3-D5는 패리티 비트를 제어합니다. D3=1이면 전송 중에 마지막 정보와 첫 번째 정지 비트 사이에 "삽입"되고, 그렇지 않으면 없습니다. 송신기는 정보 및 제어 비트의 총 4 수가 짝수(D1=4) 또는 홀수(D0=5)가 되도록 이 비트의 값을 자동으로 선택합니다. 이 논리는 D1=4로 설정하여 비활성화할 수 있습니다. 제어 비트는 정보 비트의 XNUMX 수에 관계없이 비트 DXNUMX의 값과 반대가 됩니다. 비트 D1의 논리 6은 통신 중단 시뮬레이션 모드를 켭니다. TXD 출력에서는 다른 모든 비트와 레지스터의 상태에 관계없이 일정한 논리 레벨 0이 설정됩니다. 비트 D7의 목적은 위에서 설명했습니다. 테이블에 그림 3은 TXD 회로에서 다양한 주파수 및 듀티 사이클의 신호 형성에 대한 몇 가지 예를 보여 주며, 이는 모든 가능성을 소진시키는 것과는 거리가 멀습니다. 표의 해당 열에 표시된 신호 형식은 UART의 TXD 출력에서 직접 관찰할 수 있습니다. 외부 포트 커넥터에서는 반전되어 있습니다. 그러나 아래에 설명된 결합 장치는 신호를 다시 반전시키고 그 모양이 표 XNUMX과 다시 일치하게 됩니다. 송신기 데이터 레지스터에 기록된 바이트의 전송은 최하위 비트로 시작된다는 점을 기억하십시오. 바이트는 한 번만 전송되므로 엄격하게 주기적인 출력 신호를 얻으려면 지정된 레지스터가 해제된 직후에 지정된 레지스터를 반복적으로 로드해야 합니다. 새 바이트를 쓸 준비가 되었는지는 라인 상태 레지스터에 D5=1로 표시됩니다. 상태 레지스터를 지속적으로 폴링하는 데 시간을 낭비하고 싶지 않다면 인터럽트를 사용할 수 있습니다. 일반적으로 COM1 포트 컨트롤러는 IRQ4를 생성하고 COM2는 IRQ3을 생성합니다. 송신기가 준비되었을 때 인터럽트 요청 생성은 인터럽트 활성화 레지스터의 비트 D1에 논리 1을 기록하여 활성화되어야 합니다. 다른 이유로 요청이 동시에 허용되는 경우 요청을 처리할 때 먼저 인터럽트 식별 레지스터를 읽고 비트 D2 및 D1에 이진 코드 10이 있는지 확인한 후에만 송신기 데이터에 새 바이트를 써야 합니다. 등록하다. RTS 및 DTR 출력의 신호 레벨은 모뎀 제어 레지스터의 D1 및 D0 비트 상태에 따라 달라집니다. 이 레지스터의 비트 D2 및 D3에 논리 0을 쓰는 것이 권장되지만 일부 PC에서는 비트 D3의 1 값이 UART와 인터럽트 컨트롤러의 연결을 끊습니다. 비트 D4에 논리 XNUMX을 추가하면 TXD 및 RXD 회로가 디버깅 및 진단 목적으로 사용할 수 있는 UART(소위 "내부 루프") 내부에서 상호 연결됩니다. 모뎀 상태 레지스터의 비트 D4, D5, D6 및 D7은 각각 CTS, DTS, RI 및 DCD의 0개 입력에서 현재 신호 레벨을 표시합니다. 이 레지스터에 대한 프로그램 호출 사이의 간격에서 명명된 회로의 상태 변경 사실을 단위 D3-D3에 기록하는 UART의 기능은 매우 유용합니다. 모뎀 상태 변경에 대한 중단도 있습니다. 이는 인터럽트 활성화 레지스터의 비트 D11과 인터럽트 식별 레지스터의 비트 D2 및 D1의 코드 XNUMX에 해당합니다. 불행하게도 의도된 목적으로 직렬 포트를 사용할 때 주요 회로인 RXD 입력 회로는 고려 중인 작업에 그다지 관심이 없습니다. UART 레지스터의 목적과 사용에 대한 자세한 내용은 [2]에서 확인할 수 있습니다. 직렬 포트의 입력 및 출력의 논리 신호 레벨은 -3...-15 V(논리 1) 및 +3...+15 V(논리 0) 범위 내에 있어야 합니다. TTL 및 CMOS 칩의 장치를 디버깅하려면 이러한 레벨을 그에 따라 변환해야 합니다. 이는 그림 1에 다이어그램이 표시된 인터페이스 장치를 사용하여 수행할 수 있습니다. 1. DD1 마이크로 회로의 요소는 포트의 출력 신호를 필요한 레벨로 변환하고 트랜지스터 VT4-VT1의 스위치는 역방향 변환을 수행합니다. 스위치 SAXNUMX을 사용하여 포트 입력 중 하나를 TXD 출력에 직접 연결할 수 있습니다. 이는 분석 프로세스의 시간을 정하는 데 필요할 수 있습니다. XS1 플러그는 최대 수 미터 길이의 케이블을 사용하여 PC 직렬 포트 소켓에 연결되고, 디버깅 중인 장치는 XS2-XS11 소켓에 연결됩니다. 공통 소스에서 인터페이스 노드와 디버깅 중인 장치에 전원을 공급하는 것이 가장 좋습니다. 디버깅 중인 장치에는 트랜지스터 VT1-VT4의 컬렉터 회로에 전원을 공급하는 데 필요한 음의 전압이 없는 경우가 많습니다. 이 경우 논리 1 상태에 있는 다이오드 VD3-VD1에 의해 "정류"된 포트 출력 신호의 음전압에 의해 전원이 공급됩니다. 저자가 개발한 신호 발생기 및 로직 분석기 프로그램은 32비트 Windows 환경에서 실행됩니다. 그림에 표시된 기본 창 "분석기"입니다. 도 2는 가상 XNUMX채널(포트의 입력회로 수에 따른) 스토리지 오실로스코프의 화면이다. 화면 왼쪽에는 느린 프로세스를 보다 쉽게 모니터링할 수 있는 표시기("LED")가 있습니다. 프로그램을 시작한 후 "포트" 메뉴에서 프로그램이 작동할 통신 포트를 선택해야 합니다. 오실로스코프 스윕은 지정된 기간 또는 단일 샷(해당 버튼을 눌러 시작)으로 연속될 수 있습니다. "중지" 버튼을 사용하여 이미지를 정지할 수 있습니다. "동기화" 창(그림 3)을 연 후 입력 또는 출력 신호 중 하나를 동기화 신호로 선택합니다. "Sweep" 창(그림 4)에서 분석의 클럭 주파수와 지속 시간을 설정합니다. 생성된 신호의 주파수와 모양을 설정하는 "Output Line Modes" 대화 상자가 그림 5에 나와 있습니다. XNUMX. 클럭 주파수 분할 비율은 XNUMX진 스위치로 변경됩니다. 프로그램은 TXD 출력에서 지정된 계수와 선택된 신호 형태에 해당하는 주파수 및 반복 주기 값을 계산하여 창에 표시합니다. 생성은 연속적, 단일 또는 특정 펄스 수의 버스트로 이루어질 수 있습니다. DTR 및 RTS 신호 레벨은 "0" 및 "1" 버튼을 사용하여 설정됩니다. 또한 이러한 출력은 "사각파" 또는 임의 파형을 생성할 수 있습니다. 문학
저자: A. Schreiber, 모스크바 다른 기사 보기 섹션 컴퓨터. 읽고 쓰기 유용한 이 기사에 대한 의견. 과학 기술의 최신 뉴스, 새로운 전자 제품: 양자 얽힘에 대한 엔트로피 규칙의 존재가 입증되었습니다.
09.05.2024 미니 에어컨 소니 레온 포켓 5
09.05.2024 우주선을 위한 우주 에너지
08.05.2024
다른 흥미로운 소식: ▪ 영국의 버섯년
무료 기술 라이브러리의 흥미로운 자료: ▪ 기사 생명의 위험이 높은 상황 이후 심리적 도움. 안전한 생활의 기본 ▪ 기사 도시 제한 3km/h 내 자동차의 제한 속도는 언제, 어디였습니까? 자세한 답변 ▪ 기사 활성 반사경이 있는 안테나. 무선 전자 및 전기 공학 백과사전 ▪ 기사 접지 및 전기 안전 보호 조치. 접지. 무선 전자 및 전기 공학 백과사전 이 페이지의 모든 언어 홈페이지 | 도서관 | 조항 | 사이트 맵 | 사이트 리뷰 www.diagram.com.ua |