라디오 전자 및 전기 공학의 백과사전 마이크로컨트롤러의 USB-COM-LPT 변환기 이 기사에서는 LPT 인터페이스가 장착된 주변 장치를 USB 인터페이스만 있는 컴퓨터에 연결할 수 있는 간단한 변환기에 대해 설명합니다. 변환은 두 단계로 수행됩니다. 특수 마이크로 회로가 USB를 COM(RS-232)으로 변환한 다음 마이크로 컨트롤러가 COM을 LPT로 변환합니다. 이 경우 컴퓨터는 가상 COM 포트를 통해 정보를 교환하므로 이 기능을 염두에 두고 개발 또는 수정된 프로그램만 제안된 변환기를 통해 외부 LPT 장치와 상호 작용할 수 있습니다. 다른 모든 사람들의 경우 아직 개발되지 않은 운영 체제에 특수 소프트웨어 드라이버를 연결해야 합니다. 한때 개인용 컴퓨터의 LPT 포트에 연결되는 많은 전자 기기 및 장치가 개발 및 제조되었습니다. 그들은 오늘날에도 여전히 존재합니다. 동시에 컴퓨터의 LPT 포트(COM 포트도 포함)는 점차 USB 인터페이스를 대체하고 있습니다. 이 프로세스는 특히 휴대용 컴퓨터(노트북)에서 빠릅니다. 그러나 소형화 및 자율성으로 인해 이러한 컴퓨터를 LPT 인터페이스를 포함하여 다양한 전자 장비를 설정하기 위한 휴대용 도구로 사용하는 것이 매우 편리합니다. 컴퓨터에서 LPT 포트를 제거하면 이러한 장비로 작업하는 것이 문제가 됩니다. 이 문제를 해결하기 위해 저렴하고 저렴한 전자 부품을 사용하고 자체 프로그램을 개발할 수 있는 개방형 아키텍처를 가진 변환기가 제안됩니다. 마이크로 컨트롤러가 있으면 필요한 경우 변환기를 통해 연결된 장치와 컴퓨터 간의 정보 교환에 필요한 프로토콜을 개발할 수 있습니다. 그림은 변환기 회로를 보여줍니다. USB 인터페이스를 통해 X1 커넥터를 통해 전송된 정보는 CP2103-GM 칩[1]을 사용하여 RS-232 직렬 인터페이스 형식으로 변환됩니다. 역변환도 수행합니다. 이 미세 회로의 RS-232 인터페이스 제어 라인의 출력은 정보 교환을 위한 일정한 준비 상태에 해당하는 점퍼로 연결됩니다. TXD 및 RXD 핀은 내장 UART 마이크로 컨트롤러 ATmega8515-8AC [2]의 정보 입력 및 출력에 각각 연결됩니다. 커넥터 X2는 마이크로컨트롤러의 회로 내 프로그래밍을 위한 것입니다. 프로그램에 따라 작동하며 부트 코드는 표에 나와 있으며 마이크로 컨트롤러는 내장 UART의 입력에서 수신된 컴퓨터 명령을 처리합니다. 이를 수행하여 출력에 LPT 포트의 출력 신호와 이에 연결된 XXNUMX 커넥터의 접점을 생성하고 이 포트의 입력 신호를 수신합니다. 이 프로그램은 CodeVision 개발 환경에서 C 언어로 작성되었습니다. 저자가 개발하고 마이크로컨트롤러 프로그램에 내장된 정보 교환 프로토콜에 따르면 컴퓨터는 변환기에 1바이트 또는 0바이트 명령을 보내야 합니다. 명령의 첫 번째 바이트의 최하위 비트는 정보 전송 방향을 지정합니다. O - 컴퓨터에서 변환기(레코드)로; 1 - 반대 방향(읽기). 다음 비트는 주소 공간을 정의합니다. 0 - LPT 포트 레지스터; 255 - 마이크로 컨트롤러의 비휘발성 데이터 메모리. 첫 번째 바이트의 최상위 XNUMX비트는 아직 사용되지 않습니다. 명령의 두 번째 바이트에는 XNUMX-XNUMX 범위에 있을 수 있는 레지스터 또는 메모리 위치의 주소가 포함됩니다. 세 번째 바이트는 쓰기 명령에만 존재하며 레지스터나 메모리 셀에 입력되는 코드를 포함합니다. XNUMX바이트 읽기 명령에 대한 응답으로 변환기는 요청된 레지스터 또는 메모리 셀의 내용인 XNUMX바이트를 컴퓨터로 보냅니다. 어떤 방향으로든 정보 전송의 개시자는 항상 컴퓨터입니다. 마이크로컨트롤러의 EEPROM에서 정보를 읽고 쓰는 기능은 해당 애플리케이션에 필요한 것은 아니지만 컨버터가 수행하는 기능의 개발 및 개선에 유용합니다. 예를 들어, 0x01F 바이트를 마이크로컨트롤러의 EEPROM 주소 0x5에 쓰려면 컴퓨터는 가상 COM 포트(0x03, 0x01, 0x5F)를 통해 0바이트 시퀀스를 보내야 합니다. 그리고 동일한 주소에서 데이터를 읽으려면 02x0, 01xXNUMX의 XNUMX바이트 명령이면 충분합니다. 이에 대한 응답으로 변환기는 지정된 EEPROM 셀에서 읽은 바이트를 보냅니다. 아시다시피 프로그래머의 관점에서 일반(EPP 또는 ECP가 아님) 작동 모드의 LPT 포트는 데이터(DR), 상태(SR) 및 제어(CR)의 세 가지 레지스터로 구성됩니다. DR 레지스터의 주소는 포트의 기본 주소와 동일하며 SR 및 CR 레지스터의 주소는 각각 XNUMX단위와 XNUMX단위 더 큽니다. 이러한 LPT 포트 구조는 제안하는 장치에서도 구현된다. 모든 레지스터의 비트 할당도 완전히 보존됩니다. 이렇게 하면 이전에 만든 컴퓨터 프로그램을 재활용하여 최소한의 비용으로 설명된 변환기와 함께 작업할 수 있습니다. 이 프로그램에는 변수 및 기타 작업을 초기화하는 데 사용되는 숫자의 이진 값과 마이크로컨트롤러 레지스터의 이름을 설명하는 헤더 파일이 포함되어 있습니다. 프로그램은 115200개의 정보(패리티 없음)와 XNUMX개의 정지 비트를 사용하여 XNUMX 보드의 속도로 비동기 모드에서 작동하도록 마이크로컨트롤러의 UART를 구성합니다. 컴퓨터의 가상 COM 포트도 같은 방식으로 구성해야 합니다. UART를 통해 바이트를 수신(UART_RXD) 및 전송(UART_TXD)하는 루틴과 LPT 포트 레지스터 및 비휘발성 메모리 셀(WR_EEPROM 및 RD_EEPROM)의 쓰기(WRLPT) 및 RD_LPT를 읽는 루틴이 있습니다. LPT와의 최대 호환성을 위해 레지스터 마스크 MaskSR 및 MaskCR이 제공됩니다. 정보가 XXNUMX 커넥터에 연결된 마이크로컨트롤러 포트 라인으로 출력되거나 이 라인에서 입력되면 언급된 마스크와 XOR 논리 연산(배타적 OR)을 사용하여 SR 및 CR 레지스터의 특정 비트가 자동으로 반전됩니다. 프로그램의 소스 텍스트는 자세한 설명과 함께 제공되어 큰 어려움 없이 이해할 수 있습니다. 변환기의 작동을 보장하려면 CP2103 마이크로 회로와의 정보 교환을 보장하는 가상 COM 포트용 소프트웨어 드라이버를 컴퓨터에 설치해야 합니다. 이 드라이버는 해당 칩 제조업체의 웹사이트(silabs.com/public/documents/software_doc/drivers/Microcontrollers/lnterface/en/CP210x_VCP_Win2K_XP_S2K3.exe)에서 무료로 사용할 수 있습니다. 변환기를 확인하려면 일반적으로 DOS 및 Windows9X/Me에서 수행되는 것처럼 이 포트의 레지스터에 직접 액세스하지 않는 경우 COM 포트로 작업할 수 있는 다양한 테스트 및 디버그 프로그램을 사용할 수 있습니다. 이러한 호출은 운영 체제에서 제공하는 포트 기능(예: CreateFile, Get-CommConfig, SetCommConfig, Read-Corn, WriteFile)으로 대체되어야 합니다. 컨버터를 켜면 HL3 LED가 켜집니다. 명령의 첫 번째 바이트를 수신하면 명령이 꺼집니다. 명령을 완전히 수신하고 실행하면 LED가 다시 켜지며 다음 명령을 수신할 준비가 되었음을 의미합니다. 이러한 알고리즘은 명령의 통과 및 변환기의 정상 작동을 모니터링하는 데 편리합니다. 마이크로컨트롤러가 멈춘 경우 프로그램은 그러한 상황이 발생할 때 마이크로컨트롤러를 다시 시작하는 감시 타이머를 사용합니다. 이것은 강한 간섭 환경에서 작동하는 경우에도 인버터의 안정성을 향상시킵니다. 마이크로컨트롤러 프로그램 프로젝트 파일의 전체 세트를 다운로드할 수 있습니다. 여기에. 문학
저자: O.Valpa, Miass, Chelyabinsk 지역; 발행: radioradar.net 다른 기사 보기 섹션 컴퓨터. 읽고 쓰기 유용한 이 기사에 대한 의견. 과학 기술의 최신 뉴스, 새로운 전자 제품: 터치 에뮬레이션을 위한 인조 가죽
15.04.2024 펫구구 글로벌 고양이 모래
15.04.2024 배려심 많은 남자의 매력
14.04.2024
다른 흥미로운 소식: ▪ 익스트림 스포츠용 포켓 카메라 Sony HDR-GW66VE ▪ 강아지 입장에서
무료 기술 라이브러리의 흥미로운 자료: ▪ 기사 의지에 반하여 사람에게 최면을 거는 것이 가능합니까? 자세한 답변 ▪ 기사 시 행정부의 병무 등록 창구의 경위. 업무 설명서 ▪ 기사 설치류를 쫓아내는 간단한 발전기. 무선 전자 및 전기 공학 백과사전 ▪ 기사 Valkoder - 마우스에서. 무선 전자 및 전기 공학 백과사전 이 페이지의 모든 언어 홈페이지 | 도서관 | 조항 | 사이트 맵 | 사이트 리뷰 www.diagram.com.ua |