KR100589887B1 - 컨트롤러가 없는 모뎀용 도스 기반 어플리케이션 지원장치 - Google Patents

컨트롤러가 없는 모뎀용 도스 기반 어플리케이션 지원장치 Download PDF

Info

Publication number
KR100589887B1
KR100589887B1 KR1019997011343A KR19997011343A KR100589887B1 KR 100589887 B1 KR100589887 B1 KR 100589887B1 KR 1019997011343 A KR1019997011343 A KR 1019997011343A KR 19997011343 A KR19997011343 A KR 19997011343A KR 100589887 B1 KR100589887 B1 KR 100589887B1
Authority
KR
South Korea
Prior art keywords
communication
modem
dos
virtual device
computer
Prior art date
Application number
KR1019997011343A
Other languages
English (en)
Other versions
KR20010013347A (ko
Inventor
베더제임스이.
딘스스코트
타르퀴니리차드피.
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20010013347A publication Critical patent/KR20010013347A/ko
Application granted granted Critical
Publication of KR100589887B1 publication Critical patent/KR100589887B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

컨트롤러가 없는 모뎀이 이용될 때 가상 장치 드라이버를 제공함으로써 도스 (DOS) 어플리케이션 프로그램은 조절된다. 가상 장치 드라이버는 UART 대 UART 통신을 에뮬레이트하며 도스 어플리케이션 및, 컨트롤러가 없는 모뎀에 의하여 관리되는 하드웨어 포트에 의한 인터럽트를 처리한다. 하나의 임플리멘테이션에서, 가상 장치 드라이버는 32비트 어플리케이션과 공통의 통신 인터페이스를 공유한다. 통신 시스템 환경에서, 도스 어플리케이션은 가상 장치 드라이버의 서비스를 이용하는 원격 DTE들 및 다른 장치들과 함께 모뎀 대 모뎀 통신에 관여한다.
컨트롤러가 없는 모뎀

Description

컨트롤러가 없는 모뎀용 도스 기반 어플리케이션 지원장치{DOS based application supports for a controllerless modem}
본 발명은 통신 시스템에 관한 것으로서, 특히 컨트롤러가 없는 모뎀 (controllerless modem)용 도스 기반 어플리케이션 지원장치에 관한 것이다.
본 출원은 명칭이 "호환가능한 작동 시스템 내에서의 실시간 서비스"인 리차드 피. 타퀴니가 1996년 12월 30일 출원한 미국출원번호 제 08/774,648 호와 관련되며, 이 특허는 여기서 전반적으로 참고로 소개된다.
또한 본 출원은 명칭이 "컨트롤러가 없는 모뎀"인 짐 배더, 스코트 딘스, 로브 밀러, 리차드 피. 타퀴니, 밴킴 와니 및 잭 워터스가 1997년 3월 31일 출원한 미국출원번호 제 08/832,622호와 관련되며, 이 특허는 여기서 전반적으로 참고로 소개된다.
통신용 모뎀을 사용하는 컴퓨터들이 당해 기술분야에서 공지되어 있다.
대표적으로 컴퓨터와 모뎀간의 통신은 일반적인 비동기 수신기 전송기(UART) 링크를 통하여 이루어진다. 모뎀은, 컴퓨터 버스에 직접적으로 접속하기 위한 버스 커넥터에 모뎀 카드를 삽입함으로써 컴퓨터에 접속되거나 (내부 모뎀), 통신 포트를 통해 접속될 수 있다 (외부 모뎀). 선행기술의 내부 및 외부 모뎀들은 통상적으로 데이터 프로토콜과 전송을 관리하기 위한 내장 프로세서 또는 컨트롤러를 구비한다. 선행기술에서는, 모뎀 기능들이 충분한 처리시간 (adequate processing time) 을 갖는 것을 보장하기 위하여, 내장 프로세서의 존재가 필요하다. 전용 프로세서를 위한 요구는 다수의 작업들이 동시에 처리될 수 있는 다중 태스크 컴퓨터 시스템 내에서 특히 절실하다. 만일 이들 태스크들이 시기적절한 방식으로 모뎀 어플리케이션에 프로세서를 양도하는데 실패하면, 데이터 특성들은 상실되며, 데이터 전송은 중단될 수 있다.
단지 충분한 모뎀 태스크용 프로세싱 능력 (processing power) 을 보장하기 위해, 모뎀을 실행하기 위한 별도의 프로세서 또는 컨트롤러를 설치하는 것은 고가이며, 모뎀을 호스팅 (hosting) 하는 컴퓨터에 이미 존재하는 부품들에게는 잉여 능력 (redundant capabilities) 을 제공한다. 호스트는 그 자체의 프로세서, 버스 및 시스템 클럭(system clock)을 갖는다. 모뎀 내에 이들을 과도하게 제공하는 것은, 모뎀이 컨트롤러가 없는 모뎀 임플리멘테이션 (modem implementatoin) 에서 호스트 프로세서 기능들을 이용할 수 있다면 방지될 수 있는 추가 비용을 발생시킨다. 이러한 임플리멘테이션은 16 비트 및 32 비트 어플리케이션 뿐만 아니라 레가시 (legacy) 도스 어플리케이션을 이상적으로 처리한다.
도 1A는 본 발명의 실시에 사용하기 적합한 컴퓨터의 구성도.
도 1B는 본 발명의 실시에 적합한 전형적인 버스 구성의 블럭도.
도 1C는 프로그램 정보와 데이터 저장에 적합한 전형적인 메모리 매체를 도시한 도면.
도 1D는 컴퓨터 대 컴퓨터 통신의 블럭도.
도 2는 선행기술의 컴퓨터(DTE)와 모뎀(DCE)간의 전형적인 소프트웨어와 하드웨어 관계를 도시한 블럭도.
도 3은 외부 컨트롤러를 구비한 일반적인 모뎀으로부터 컨트롤러가 없는 모뎀으로의 전송을 도시한 블럭도.
도 4는 본 발명의 한 태양에 따른 컨트롤러가 없는 모뎀 환경하에서 도스 (DOS) 어플리케이션에 대한 지원을 구현하는 한가지 방법의 블럭도.
도 5는 본 발명의 또 다른 태양에 따른 컨트롤러가 없는 모뎀 DOS 박스 지원장치(CLM DBS) 가상 장치 드라이버(VxD)를 사용하여, 컨트롤러가 없는 모뎀 환경 하에서 DOS 어플리케이션에 대한 지원을 구현하는 바람직한 방법의 블럭도.
도 6은 CLM DBS VxD 를 구현하는데 이용된 레지스터들(registers)의 블럭도.
도 7은 도 6에 도시된 레지스터들의 어드레싱(addressing)을 나타낸 테이블.
도 8은 인터럽트 인에이블 레지스터(Interrupt Enable Register)의 내용을 나타낸 도면.
도 9는 인터럽트 확인 레지스터(Interrupt Identification Register)의 내용을 나타낸 도면.
도 10은 5개의 가능한 인터럽트 소스(intrupt source)의 비트 맵들(bit maps)과 프라이어리티들(priorities)을 나타낸 테이블.
도 11은 FIFO 컨트롤 레지스터의 내용을 나타낸 도면.
도 12는 라인 컨트롤 레지스터(Line control Register)의 내용을 나타낸 도면.
도 13은 모뎀 컨트롤 레지스터(Modem Control Register)의 내용을 나타낸 도면.
도 14는 라인 상태 레지스터(Line Status Register)의 내용을 나타낸 도면.
도 15는 모뎀 상태 레지스터(Modem Status Register)의 내용을 나타낸 도면.
도 16은 DOS 가상 장치(VM)로 전송중인 인터럽트를 처리하기 위하여 사용되는 프로세스의 플로우 챠트.
도 17은 CLM DBS VxD를 로딩하고 포트 드라이버(VxD)를 로딩하기 위하여 사용되는 프로세스의 플로우 챠트.
본 발명에 따르면, 청구항 제 1 항에 따른 컴퓨터 장치, 청구항 제 12 항에 따른, 메인 버스를 가진 컴퓨터의 통신 포트를 통해 도스 어플리케이션으로 및 도스 어플리케이션으로부터의 통신을 제공하는 방법, 및 청구항 제 17 항에 따른 컴퓨터 판독가능 매체가 제공된다.
도 1A는 본 발명의 실시에 사용하기 적합한 형태의 전형적인 컴퓨터를 나타낸 도면이다. 도 1A는 프로세서 유니트(100; processor unit), 디스플레이 유니트 (120; display unit), 키보드(130), 및 마우스(140)와 같은 입/출력 장치를 구비한 컴퓨터 시스템을 도시한다. 정보의 저장 및 검색을 쉽게 하기 위하여 하나 이상의 디스크 드라이버(110A 및 110B)를 프로세서 유니트(100) 내에 설치할 수 있다. 이들중 하나는 하드 드라이브(도시되지 않음) 또는, 플로피 드라이브 또는 CD 롬 드라이브와 같은 이동 가능한 매체(removable media)를 이용하는 드라이브일수 있다.
도 1B는 본 발명을 실시하기 적합한 형태의 전형적인 컴퓨터 구성의 블럭도이다. 버스(150)는 중앙처리장치(155)를 컴퓨터 프로세서 시스템(100)의 다른 소자들에 접속시킨다. 인터페이스(145)는 키보드(130)와 마우스(140) 같은 외부 입/출력 장치들을 연결한다. 디스플레이 인터페이스(125) 또한 버스에 연결되며 컴퓨터 디스플레이(120)를 중앙처리장치와 다른 장치들에 접속시킨다. 이러한 전형적인 실시예에서, 읽기 전용 메모리(160; ROM) 및 랜덤 액세스 메모리(165; RAM)는 CPU(155)에 의하여 이용되는 프로그램 및 데이터 정보를 저장한다. 디스크 컨트롤러(170)는 정보가, 광학 메모리(171), 하드 드라이브(172), 및 플로피 드라이브(173)과 같은 대량 저장 장치로부터 읽혀지고 대량 저장 장치에 기록될 수 있게 한다. 통신 포트 (185)는 외부 장치와 컴퓨터 버스(150)간의 통신 인터페이스를 제공한다. 내부 모뎀(180)은 컴퓨터의 버스(150)에 직접적으로 접속된다. 외부 모뎀이 내부 모뎀 대신 또는 내부 모뎀에 보충적으로 이용될 경우, 외부 모뎀(190)에 접속하기 위해, 통신 포트를 선택적으로 이용할 수 있다.
도 1C는 본 발명에 따른 프로그램과 데이터 정보의 저장에 적합한 전형적인 메모리 매체를 도시한다. 도시된 예에서, 프로그램과 데이터 정보는 플로피 디스크 (195)에 저장된다.
도 1D는 컴퓨터 대 컴퓨터 통신의 블록도이다. 일반적으로, 모뎀을 구동하는 터미널 또는 컴퓨터는, 도 1D에 도시된 DTE(195)와 같은 데이터 터미널 장비(DTE)로 칭해진다. 데이터 터미널 장비는 데이터 통신 장비(196; DCE)와 인터페이스하며, DCE (196)는 통신 링크(link)를 통해 DCE(196')와 연결된다. 타단의 DCE (196')는 자체의 수신 호스트 DTE(195')와 연결된다. 일반적으로 DCE들은 모뎀이며, 컴퓨터가 모뎀과 어떻게 상호작용하는지를 서술하는 인터페이스 규격들은 표준화되고 공지되어 있다. 마찬가지로, 데이터가 통과될 때 2개의 DCE들이 상호작용하는 방법 역시 표준화되고 공지되어 있다. 통신은 직접 접속 또는 네트워크를 통하여 이루어질 수 있다.
도 2는 선행기술의 컴퓨터(DTE)와 모뎀(DCE)간의 전형적인 소프트웨어와 하드웨어 관계를 도시한 블럭도이다. 컴퓨터 측에서는 통신 제어용으로 사용되는 터미널 소프트웨어와 같은 어플리케이션 프로그램(200)이 운영 시스템 층(210; operating system layer)상에서 실행된다. 운영 시스템은, 본 기술 분야에서 잘 알려진 바와 같이, 소정의 저급 서비스로 일관된 인터페이스(consistent interface)를 제공한다. 이 경우, 어플리케이션 시스템 층(200)은 UART(220; universal asynchronous receiver transmitter)를 제어하는 포트 드라이버(215)를 인터페이스한다. 컴퓨터가 모뎀(내부 또는 외부 모뎀)과 접속할 때, 컴퓨터(220)로부터의 UART는 모뎀 내의 UART(230)에 접속한다. 이러한 방식으로, 데이터와 명령어들은 컴퓨터로부터 모뎀으로 전송된다. UART로부터의 데이터 및 명령어는, 모뎀의 생산자들마다 변화할 수 있는 모뎀 코드 (235)의 블럭에 의하여 처리된다. 모뎀 코드는 하드웨어 드라이버 (240) 를 통해 모뎀 하드웨어 (245) 를 제어하여 모뎀 통신 라인으로 데이터를 전송하고 모뎀 통신 라인으로부터 데이터를 수신한다. 도 2에 특별히 도시하진 않았지만, 모뎀 코드(235)를 구동하고 모뎀 내에서 요구되는 다른 기능을 실행하기 위하여 내부 또는 외부 모뎀들은 일반적으로 자체 프로세서, 버스 및 주변 하드웨어를 구비한다.
도 3은 외부 컨트롤러를 구비한 일반적인 모뎀으로부터 컨트롤러가 없는 모뎀으로의 전송을 도시한 블럭도이다. 통신 어플리케이션(300)과 포트 드라이버 (315)는 도 2 의 대응 블록에 도시한 바와 같이 작동한다. 그러나, 도 2의 하드웨어 UARTs는 블록 320에 도시한 UART 대 UART 링크의 소프트웨어 에뮬레이션(emulation)으로 대체된다. 모뎀 코드, 도면부호 340으로 나타낸 하드웨어 드라이버, 및 하드웨어(345)는 이전에 나타난 바와 같이 작동한다. UART 대 UART 통신을 UART 에뮬레이션 층(layer)으로 대체함으로써, 다른 소프트웨어 층에서는 최소한의 변형이 요구된다. 구체적으로, 소프트웨어의 호스트 스위트(host suite)뿐만 아니라 현재의 모뎀 코드에 최소한의 변형이 요구된다. CPU 타이밍은 바람직하게, 전술한 미국 특허출원번호 제 08/774,648호에 기술된 바와 같은 가상 장치 드라이버를 사용함으로써 보장된다.
도 4는 본 발명의 한 태양에 따른 컨트롤러가 없는 모뎀 환경에서 도스 (DOS) 어플리케이션용 지원을 제공하는 임플리멘테이션의 블럭도이다. 16-비트 윈도우 어플리케이션(16-bit Windows application; 400)과 32-비트 윈도우 어플리케이션(410)은 VCOMM.VxD와 같은 가상 장치 드라이버(420)에 접속한다. 전술한 미국출원의 컨트롤러가 없는 모뎀(VxD)과 같은 컨트롤러가 없는 모뎀 (430)은 가상 장치 드라이버(420)와 하드웨어(435) 사이에서 작동하는 직렬 포트 에뮬레이션 층들(serial port emulation layers) 및 포트 드라이버를 포함한다. 이러한 방식으로 도스 어플리케이션(DOS applicatoin) 통신을 관리하는데 있어서, 도스 어플리케이션(440)은 가상 통신 장치(445)에 접속되며, 이 장치는 도스 어플리케이션과 직렬 포트 에뮬레이션 사이에서 인터페이스로서 작동한다. 따라서, 데이터는 도스 어플리케이션으로부터 VCD(445)를 통하여 컨트롤러가 없는 모뎀(430)의 직렬 포트 에뮬레이션 층으로 패스된다. 데이터뿐만 아니라 인터럽트도 취급할 필요가 있기 때문에, 프로그래머블 가상 인터럽트 장치(450)는 가상 통신 장치(445)에 의하여 인터셉트된 인터럽트를 수신하여 이들을 컨트롤러가 없는 모뎀(430)의 직렬 포트 에뮬레이션 층으로 패스한다. 제어기가 없는 모뎀에 대해 회선 분쟁 (contention)이 있을 수 있기 때문에, 가상 통신 장치(445), 가상 장치 드라이버 (420), 및 컨트롤러가 업는 모뎀(430)은 서비스를 위하여 요구들의 경쟁을 관리한다. 하드웨어 (435)로부터의 인터럽트들은 컨트롤러가 없는 모뎀의 직렬 포트 에뮬레이션 층을 통하여 가상 프로그래머블 인터럽트 장치로 패스되며, 또한 필요하다면, VCD(445)를 통하여 도스 어플리케이션(440)으로 패스된다.
일반적인 컨트롤러 기반 모뎀을 윈도우 95와 같은 모뎀 운영 시스템에 이용하면, DOS 어플리케이션은 표준 직렬 포트 하드웨어 인터럽트를 후크 (hook)하며 표준 입/출력 포트들에 독출(read) 및 서입(write)을 발생시킨다.
도 5에 도시된 바와 같은 컨트롤러가 없는 모뎀에서, 표준 직렬 포트 인터페이스는 비표준 하드웨어 인터페이스로 대체된다. 비표준 하드웨어에 인터페이스하기 위해, 컨트롤러가 없는 모뎀 가상 장치 드라이버(530)가 제공된다. 도스 어플리케이션을 지원하기 위하여, VCD(445) 대신에 포트 가상화 가상 장치 드라이버(550)가 놓인다. 이하에서 이 가상 장치 드라이버(550)는 CLM DBS라 한다.
도 5에 도시된 바와 같이, CLM DBS는 입/출력 액세스(accesses)의 방향을 VCOMM와 같은 통신 인터페이스(520)로 바꾸며 도스 어플리케이션으로 하드웨어 인터럽트를 발생한다. 다시 말해 VCOMM는 컨트롤러가 없는 모뎀과 인터페이스한다.
CLM DBS는, 도스 어플리케이션으로 하여금 표준 입/출력 포트 어드레스들로의 독출 및 서입하고 표준 직렬 포트 인터럽트용 인터럽트 처리기를 설치하도록 허용하는 UART의 임계 기능성 (critical functionality) 을 에뮬레이트하게 된다.
윈도우 16-비트 및 32-비트 어플리케이션들(500 및 510)은 도 5에 도시된 바와 같이 VCOMM(520)을 통하여 컨트롤러가 없는 모뎀 VxD(530)에 인터페이스한다. 유사하게, 하드웨어(535)는 컨트롤러가 없는 모뎀(530)에 인터페이스하여 모뎀과 데이터를 교환하고 인터럽트한다. 도스 어플리케이션(540)과 같은 도스 어플리케이션들은 컨트롤러가 없는 모뎀 도스 박스 지원장치(550; CLM DBS)로 불리우는 가상 장치 드라이버를 통하여 가상 장치 드라이버(520)와 인터페이스한다. CLM DBS(550)는 본 발명의 바람직한 형태이며, 이하에서 매우 상세하게 설명된다. CLM DBS의 레지스터들은 VCOMM 및 컨트롤러가 없는 모뎀에 의하여 액세스 가능하다. CLM DBS(550)는 도스 어플리케이션이 UART에 직접적으로 대화하는 것으로 생각하게 한다.
일 실시예를 이하에서 상세히 설명하긴 하지만, 다양한 임플리먼테이션이 본 발명의 사상을 벗어나지 않고, 그 기능이 CLM VxD, VCOMM.VxD 및 CLM DBS 에 할당된다는 점에서 상이할 수 있다. VCOMM을 통하여 컨트롤러가 없는 모뎀 (53O)으로 전송하는 것에 더하여, CLM DBS는 실질 모드 출력 (real mode output) 또는 임의의 포트 장치 드라이버들을 마찬가지로 잘 제어할 수 있다. 바람직한 배열이 도시되어 있다.
도 6은 CLM DBS(550) 구현에 사용된 레지스터들의 블럭도이다. 에뮬레이트된 UART의 베이스 어드레스로 시작하여, 총 12개 레지스터로의 액세스를 허용하는 8개의 어드레스들을 이용할 수 있다. 일부 레지스터들은 공통 어드레스를 공유하며 디바이저 랫치 액세스 비트(divisor latch access bit; DLAB)의 상태 및 입/출력 액세스가 독출 또는 서입 작동인지에 따라서 차등화된다. 도 7은 에뮬레이트된 12개 UART 레지스터들의 리스트이다. 도 7은 CLM DBS에서의 에뮬레이터된 UART 레지스터들의 내부 데이터 흐름을 도시한다. 실질 UART가 부족하기 때문에 특정 레지스터들은 도스 어플리케이션에 의하여 설정된 값을 저장하는 것 이상의 어떤 기능을 가질 필요가 없다.
다음 부분들은 각 레지스터의 기능을 요약한다.
수신 버퍼 레지스터(Receive Buffer Register; 605)는, 도스 어플리케이션이 CLM DBS에 의해 VCOMM(620)으로부터 수신된 데이터를 검색하기 위하여 독출하는 독출 전용 레지스터(read only register)이다. CLM DBS는 FIFO 모드가 실행가능 할 때(enabled) 버퍼링 데이터에 대하여 응답가능하다. 데이터 버퍼의 크기는 각각의 구체적인 임플리멘테이션에 대해 결정된다.
전송기 홀딩 레지스터(Transmitter Holding Register; 615)는, 모뎀으로 1 바이트의 데이터를 전송하기 위하여 도스 어플리케이션이 서입하는 서입 전용 레지스터 (write only register)이다. CLM DBS는 FIFO 모드가 실행가능할 때 버퍼링 데이터에 대하여 응답가능하다. 이 데이터 버퍼의 크기 또한 각각의 구체적인 임플리멘테이션에 대해 결정된다.
도 8에 도시된 바와 같이, 인터럽트 인에이블 레지스터(625)의 비트 0 - 3은 UART에 의하여 지원되는 4가지 형태의 인터럽트를 인에이블하는데 사용된다. 인터럽트는 대응 비트를 1로 설정함으로써 인에인블된다.
도 9에 도시된 바와 같이, 인터럽트 확인 레지스터(635; Interrupt Identification Register, IIR)는 UART 인터럽트의 소스를 확인하는 독출 전용 레지스터(read only register)이다. 다수의 인터럽트 소스들이 동시에 활성화될 수 있으며, 따라서 최고의 프라이어리티 펜딩 인터럽트(priority pending interrupt)가 도스 어플리케이션이 IIR을 독출할 때 통보된다. 참고로 인터럽트 펜딩 비트(비트 0)는 액티브 로우(active low)이다.
도 10은 5개의 가능한 인터럽트 소스들의 비트-맵들(bit-maps)과 프라이어리티들(priorities)들을 도시한다. 프라이어리티들은 0에서 부터 3까지의 범위이며, 0이 최고이다.
CLM DBS는 하드웨어 인터럽트 라인을 갖는 실질 UART가 도스 어플리케이션에 어떻게 나타나는지를 에뮬레이트한다.
도 11에 나타난 바와 같이, FIFO 컨트롤 레지스터(640)는 서입 전용 레지스터(write only register)로서, FIFO를 인에이블시키고 FIFO를 클리어(clear)시키며 RCVR FIFO 트리거 레벨을 설정하고 DMA 시그널링(signaling)의 형태를 선택하는데 사용된다. 일반적인 UART에서와 같이, 16 바이트의 전송 및 수신 버퍼 각각이 지원된다. 수신 특성 타임-아웃(receive character time-out)은 구체적인 임플리멘테이션에 적합한 타이머 값으로 지원될 것이다.
도 12에 도시된 바와 같이, 라인 컨트롤 레지스터(645; LCR)는 비동기 데이터 통신 교환 (asynchronous data communications exchange) 을 구성하고 디바이저 랫치 액세스 비트(DLAB)를 설정하는데 사용된다. CLM DBS에서는, 비트 6과 7만이 의미를 갖는다. 비트 7이 1로 설정될 때, 레지스터 0과 1은 각각 디바이저 랫치 LSB와 MSB로 된다. 비트 6은 VCOMM으로 브레이크 (breaks)를 전송하는데 사용된다. LCR 의 나머지 6개 비트들은, LCR으로 서입하는 동안에는 저장되기만 하고, LCR로 부터 독출하는 동안에는 통보되기만 하면 된다.
도 13에 도시된 바와 같이, 모뎀 컨트롤 레지스터(650)는 모뎀과의 인터페이스를 제어하는데 사용된다. 비트 0과 1은 DRT과 RTS를 각각 제어하며, 변화될 때 적절한 정보는 VCOMM으로 전달될 것이다. 비트 2와 3은 저장되어야 하지만 무시될 수 있다. 비트 4는 국부적인 루프백 진단 테스트(local loopback diagnostic test)를 제공하는데 사용된다. 국부적인 루프백은 CLM DBS 에 선택적으로 구현될 수 있다.
도 14에 도시된 바와 같이, 라인 상태 레지스터(Line Status Register; 655)는 도스 어플리케이션으로의 데이터 전송 상태를 통보하는데 사용된다. VCOMM과의 병렬 인터페이스(parallel interface)때문에, 비트 2와 3은 항상 0 (zero)으로 설정되어야 한다.
도 15에 도시된 바와 같이, 모뎀 상태 레지스터(Modem Status Register; 660)는 VCOMM에 의하여 통보된 바와 같이 컨트롤 라인들의 현재 상태를 제공한다. 비트 0 내지 3은 비트 4 내지 7 각각이 마지막 독출 작동 이후 변화되었는지를 나타내는데 사용된다.
스크래치 레지스터(Scrach Register; 665)는 UART에 영향을 미치지 않으며, 단지 호환성(compatibility)을 위하여 필요하다. 이 레지스터에 서입된 값(value)은 무엇이든 독출시에 이 레지스터에 저장되고 복귀되어야 한다.
2개의 디바이저 랫치 레지스터들(Divisor Latch registers; 670 및 675)은 통상적으로 변조 속도(baud rate)를 프로그램하는데 사용된다. CLM DBS는 VCOMM과 직접 통신하기 때문에 변조 속도는 의미가 없다. 그러나, 독출 동작 동안 통보될, 이들 레지스터들에 서입된 값들은 저장해야 한다. 이들 값들은 또한 송신 및 수신 전달 지연(propagation delays)을 시뮬레이팅하기 위하여 필요한 타이머를 설정하는데 사용된다. 변조 속도를 계산하기 위하여, 입력 크리스탈(input crystal)은 1.84322MHz라 가정한다.
도 16은 도스 VM으로 송신중인 인터럽트를 처리하는데 이용되는 방법의 플로우 챠트이다.
도 10에 도시된 바와 같이, 도스 VM으로의 인터럽트를 발생시키는 5가지의 가능한 경우들이 일어날 수 있다. CLM DBS는 도스 VM으로의 하드웨어 인터럽트 라인을 에뮬레이트하여야 한다. 여러 가지의 UART 인터럽트 경우들이 도스 VM에서 하나의 인터럽트 서비스 요청(ISR; Interrupt Service Request) 으로 클리어될 수 있기 때문에, CLM DBS는 불필요한 인터럽트를 도스 VM으로 전송하지 않도록 주의해야 한다. 이를 위하여, CLM DBS는 이러한 에뮬레이트된 인터럽트 라인의 상태를 추적하여 필요 이상의 인터럽트들이 도스 VM으로 전송되지 않는 것을 보장한다.
도 16은 도스 VM으로 전송중인 인터럽트를 처리하는데 사용된 로직 (locgic)을 나타낸다. 도 16에 도시된 바와 같이, 블럭 1600에서 프로세스는 정지상태(idle)이다. 프로세스는 인터럽트를 위하여 주기적으로 체크되며(단계 1610), 만일, 하나가 발생하면, 가상 장치는 인터럽트된다(단계 1620). 그렇지 않을 경우, 감시는 계속된다. 인터럽트 이벤트가 발생될 때(단계 1635), 만일 인터럽트가 계속중이라면(pending)(단계 1630), 스케쥴된 펜딩 리스트(scheduled pending list)에 추가된다. 인터럽트 이벤트가 클리어되고(단계 1640), 계속중인 다른 인터럽트가 없다면(단계 1645-아니오), 프로세스는 정지상태로 복귀한다. 그렇지 않다면, 인터럽트가 클리어되고 펜딩 리스트상의 다음 인터럽트가 처리된다.
인터럽트 이벤트들을 누락시키지 않는 것 역시 중요하다. 실질적인 UART에서와 같이, IIR 레지스터가 액세스될 때, CLM DBS는, IIR 액세스가 종료될 때까지 어떠한 VCOMM 인터럽트 이벤트의 업데이트도 지연시킴으로써, 모든 인터럽트를 중지시킨다.
하드웨어 UART에서, 데이터의 각 바이트를 전송하는데는 어느정도의 시간이 요구된다. 이는 통상적으로 도스 어플리케이션이 수신하는 UART 인터럽트의 빈도 (frequency)를 제한한다. 하기 표는 선택된 DTE 속도에 대한 전송 시간을 열거한다.
UART 바이트 전송 시간
DTE 속도(bps) 1 바이트 전송에 필요한 시간 14바이트 전송에 필요한 시간
9600 1.04 ms 14.53 ms
14400 694㎲ 9.716 ms
38400 260㎲ 3.640 ms
57600 173㎲ 2.422 ms
115200 86.8㎲ 1.215 ms
전송에 요구되는 시간은 하기 식을 이용하여 계산하였으며, 바이트당 10 비트로 가정하였다.
1 바이트를 전송하기 위한 시간
T바이트 = 10/속도
14 바이트를 전송하기 위한 시간
T14바이트 = T바이트 ×14
CLM의 경우, 바이트들은 더이상 직렬로 전송되지 않는다. 따라서 전송시간은 1 바이트를 복사하는데 필요한 시간으로 현저하게 감소된다. 만일 하드웨어 UART가 사용될 때 일반적으로 예상되는 것보다 더 빈번하게 도스 어플리케이션이 인터럽트된다면, 이는 문제들을 야기할 수 있다. 이러한 문제들을 예방하기 위하여, CLM DBS는 상기 표에 도시된 전송 시간을 시뮬레이팅할 수 있도록 구현될 것이다. 이는, 데이터를 버퍼링하고, 도스 VM을 인터럽트할 때를 결정하기 위해 타이머를 사용함으로써, 실행된다.
타이밍 메커니즘은, 어플리케이션이 인터럽트 또는 폴링 모드(polled mode)에서 실행되고 있는지에 따라, 동일 타이밍을 시뮬레이팅하도록 설정된다. 구체적으로, VM으로의 인터럽트들이 정해진 시간만큼 지연되어야 할뿐만 아니라 송신기 홀딩 레지스터 엠프티 비트(transmitter holding register empty bit)의 업데이트와 같은 이벤트도 동일한 시간만큼 지연되어야 한다.
다음의 데이터 구조들은 CLM DBS 내에서 사용되며 CLM DBS VxD에 속한 내부 요소이다.
12개 바이트의 블록은 UART의 12개 레지스터를 에뮬레이트하는데 이용된다.
FIFO들은, CLM DBS와 VCOMM 간에 전송 동안, 바이트들을 일시적으로 저장하는데 이용된다. FIFO의 크기는, 다량의 FIFO를 할당한 다음 필(fill) 레벨의 통계치를 모니터링함으로써, 구체적인 구현에 대해 설정된다.
플래그들(flags)은 다음의 인터럽트 이벤트에 대한 상태를 저장하는데 사용된다.
Figure 111999016226782-pct00001
가상 인터립트 라인 액티브(도스 VM으로의 인터럽트 라인)
Figure 111999016226782-pct00002
라인 상태 인터럽트 펜딩
Figure 111999016226782-pct00003
수신 데이터 인터럽트 펜딩
Figure 111999016226782-pct00004
전송 홀딩 레지스터 엠프티 인터럽트 펜딩(Transmit Holding Register empty interrupt pending)
Figure 111999016226782-pct00005
모뎀 상태 인터럽트 펜딩
CLM DBS 내의 인터페이스 및 외부로의 인터페이스는 본원에서 설명한 표준 윈도우 95 시스템 인터페이스의 예시적인 실시예이다. 이들 인터페이스는 다음의 카테고리들로 분류된다:
에뮬레이트된 UART의 IRQ는 프로그래머블 가상 인터럽트 컨트롤러 장치 (Virtural Programmable Interrupt Controller Device; VPICD)를 통하여 가상화 (virtualized)된다. VPICD는 CLM DBS 내부의 핸들러(handler)를 인터럽트하기 위해 주어진 지시자들(pointers)이다.
입/출력 트랩핑 루틴들(I/O trapping routines)은 VM에 설치되어 에뮬레이트된 UART로의 모든 액세스들을 처리한다.
VCOMM 인터페이스 루틴들은 CLM DBS와 VCOMM 간에 데이터를 패스(pass)하는데 사용되며, 또한 시스템 인터페이스를 처리하는데도 사용된다.
도 17은 CLM DBS VxD를 로딩하고 포트 드라이버(CLM VxD)를 로딩하는데 사용되는 프로세스의 플로우 챠트이다.
CLM DBS는 시작 단계에서 윈도우 95에 의하여 정적 VxD(가상 장치 드라이버)로서 로딩된다(단계 1700, 1705). CLM DBS는, 어떤 콤 포트(com port)와 IRQ를 에뮬레이트할지 결정하기 위하여 시스템 레지스트리를 독출하며, CLM의 콤 포트를 독출한다(단계 1710). 또한, 초기화 과정동안, CLM DBS는 에뮬레이트된 콤 포트의 제 1 레지스터의 어드레스를 물리적 어드레스 400h로 시작하는 BIOS 콤 포트 어드레스 테이블 내의 적절한 엔트리(entry)에 서입해야 한다(단계 1715). 이는 일부 도스 어플리케이션이, 콤 포트를 억세싱하기 전에 콤 포트의 어드레스를 검사한다는 점에 기인한다.
한번에 단지 하나의 가상 장치(VM)만이 에뮬레이트된 직렬 포트에 억세싱해야 한다. 하나 이상의 가상장치(VM)가 에뮬레이트된 직렬 포트의 레지스터 중 하나에 독출/서입을 실행함으로써 직렬 포트에 액세스하고자 할 경우(단계 1735), 사용자는, 어느 VM에 포트의 소유권 (ownership)이 주어져야 하는지를 선택하도록 프롬프트된다(단계 1720). 리스트가 표시되며(단계 1725), 사용자 선택이 입력된다(단계 1730).
VM이 에뮬레이트된 직렬 포트의 레지스터중 하나의 레지스터에 대해 독출 또는 서입을 실행할 때, CLM DBS는 포트 드라이버, CLM VxD를 로딩한다(단계 1745). 포트 드라이버는 이 VM이 클로징될 때까지 로딩된 상태를 유지한다. 이와 다른 방법은, VM이 직렬 포트를 사용하기를 멈추었으며, 다른 어플리케이션에 의해 이용될 포트 드라이버가 자유로운지를 결정하기 위해 타이머를 설정하는 것이다. 타이머의 검사와 업데이팅에 대한 오버헤드를 제거함으로써 코드를 보다 효율적으로 유지할 뿐만 아니라 CLM DBS의 복잡성을 줄이기 위해, 이 방법은 바람직하지 않다.
이러한 설계의 경우, 사용자가 (에뮬레이트된 직렬 포트를 사용하는) DOS VM에서 어플리케이션을 실행한다면, 사용자는 CLM VxD가 다른 어플리케이션(윈도우 또는 도스)에 이용될 수 있기 전에 반드시 도스 VM을 클로즈해야 한다. 또한, 직렬 포트에 직접적으로 액세스하는 윈도우 어플리케이션을 실행한다면, CLM DBS는 시스템 VM에 의해 사용될 CLM VxD 포트 드라이버를 로딩 하며 포트 드라이버는 윈도우가 다시 시작될 때까지 언로딩되지 않는다.
특히 유리한 방법으로, 도스 기반 어플리케이션으로 하여금 컨트롤러가 없는 모뎀과 통신하도록 하기 위한 가상 장치 드라이버가 개시되어 있다.

Claims (22)

  1. 버스를 가진 컴퓨터;
    상기 컴퓨터상에서 실행되는 도스 어플리케이션(440, 450); 및
    상기 버스에 접속된 하드웨어 통신 포트 (435, 535) 를 구비한 통신 제공용 컴퓨터 장치에 있어서,
    상기 컴퓨터상에서 실행되며 상기 도스 어플리케이션 (440, 540) 으로부터의 통신을 제어하는 하나 이상의 가상 장치 드라이버 (445, 450, 550) 를 구비하며,
    상기 가상 장치 드라이버 (445, 450, 550) 는 UART 대 UART 통신을 에뮬레이팅하고 상기 컴퓨터와 컨트롤러가 없는 모뎀 (controllerless modem ; 430, 530) 을 이용하여 모뎀 기능을 제공하며, 상기 도스 어플리케이션의 상태에 관계없이, 상기 컨트롤러가 없는 모뎀으로의 컴퓨터 액세스를 제공하는 것을 특징으로 하는 컴퓨터 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    하나 이상의 32-비트 어플리케이션 프로세스 (410, 510); 및
    상기 컴퓨터상에서 실행되는 통신 인터페이스 프로세스 (420, 520) 를 더 구비하고,
    상기 컨트롤러가 없는 모뎀 (430, 530) 은, 상기 하드웨어 포트 (435, 535) 를 통해, 상기 32-비트 어플리케이션으로부터의 통신을 제어하는 가상 장치 드라이버인 것을 특징으로 하는 컴퓨터 장치.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 하나 이상의 가상 장치 드라이버는, 가상 통신 장치 (445) 및 프로그래머블 가상 인터럽트 장치 (450) 를 구비하는 것을 특징으로 하는 컴퓨터 장치.
  6. 제 5 항에 있어서,
    상기 하나 이상의 가상 장치 드라이버 (445, 450, 550) 는, 상기 통신 인터페이스 프로세스 (420, 520) 를 이용하여, 상기 도스 어플리케이션 (440, 540) 으로부터의 통신을 제어하는 것을 특징으로 하는 컴퓨터 장치.
  7. 제 6 항에 있어서,
    상기 하나 이상의 가상 장치 드라이버 (445, 450, 550) 는, UART 대 UART 통신에 이용된 레지스터들에 적어도 일부가 대응하는 레지스터 세트의 레지스터들을 할당하는 것을 특징으로 하는 컴퓨터 장치.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 메인 버스를 가진 컴퓨터의 통신 포트 (435, 535) 를 통해 도스 어플리케이션 (440, 540) 으로의 그리고 도스 어플리케이션 (440, 540) 으로부터의 통신을 제공하는 방법에 있어서,
    (a) 상기 도스 어플리케이션 (440, 540) 에 UART 대 UART 통신을 에뮬레이팅하는 가상 장치 드라이버 (445, 450, 550) 를 제공하는 단계;
    (b) 상기 메인 버스를 제어하는 프로세서를 이용하여, 비-도스 어플리케이션 (non-DOS applications) 으로부터의 통신 및 상기 가상 장치 드라이버로부터의 통신을 수신하는 컨트롤러가 없는 모뎀 프로세스 (430, 530) 를 제공하는 단계로서, 상기 가상 장치 드라이버는, 상기 도스 어플리케이션의 상태에 관계없이, 상기 컨트롤러가 없는 모뎀으로의 컴퓨터 액세스를 보장받는, 단계; 및
    (c) 상기 가상 장치 드라이버를 통해, 상기 도스 어플리케이션으로부터 상기 컨트롤러가 없는 모뎀 프로세스로의 통신을 보내는 (direct) 단계를 포함하는 것을 특징으로 하는 통신 제공 방법.
  13. 제 12 항에 있어서,
    상기 가상 장치 드라이버를 통해, 하나 이상의 32-비트 어플리케이션 (410, 510) 으로부터 상기 컨트롤러가 없는 모뎀 프로세스 (430, 530) 로의 통신을 보내는 (direct) 단계를 더 포함하는 것을 특징으로 하는 통신 제공 방법.
  14. 제 13 항에 있어서,
    상기 가상 장치 드라이버를 통해, 32-비트 어플리케이션 및 도스 어플리케이션에 의한, 상기 컨트롤러가 없는 모뎀의 이용을 위한 요구를 조정하는 단계를 더 포함하는 것을 특징으로 하는 통신 제공 방법.
  15. 제 12 항에 있어서,
    상기 가상 장치 드라이버를 제공하는 단계는, UART 대 UART 통신에 이용된 레지스터들에 적어도 일부가 대응하는 레지스터 세트의 레지스터들을 할당하는 단계를 포함하는 것을 특징으로 하는 통신 제공 방법.
  16. 삭제
  17. 제 12 항 내지 제 15 항 중 어느 한 항의 통신 제공 방법을 수행하기 위한 명령어를 포함하는 프로그램을 저장한, 컴퓨터 판독가능 매체.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1019997011343A 1997-06-30 1998-06-30 컨트롤러가 없는 모뎀용 도스 기반 어플리케이션 지원장치 KR100589887B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/885,800 US6230118B1 (en) 1997-06-30 1997-06-30 DOS based application supports for a controllerless modem
US08/885,800 1997-06-30
PCT/US1998/013517 WO1999000740A1 (en) 1997-06-30 1998-06-30 Dos based application supports for a controllerless modem

Publications (2)

Publication Number Publication Date
KR20010013347A KR20010013347A (ko) 2001-02-26
KR100589887B1 true KR100589887B1 (ko) 2006-06-15

Family

ID=25387724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997011343A KR100589887B1 (ko) 1997-06-30 1998-06-30 컨트롤러가 없는 모뎀용 도스 기반 어플리케이션 지원장치

Country Status (10)

Country Link
US (1) US6230118B1 (ko)
EP (1) EP0993636B1 (ko)
JP (1) JP2002507302A (ko)
KR (1) KR100589887B1 (ko)
AT (1) ATE213347T1 (ko)
AU (1) AU8176398A (ko)
DE (1) DE69803852T2 (ko)
ES (1) ES2172899T3 (ko)
IL (1) IL133601A0 (ko)
WO (1) WO1999000740A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6252900B1 (en) 1997-06-30 2001-06-26 Integrated Telecom Express, Inc. Forward compatible and expandable high speed communications system and method of operation
US6400759B1 (en) 1997-06-30 2002-06-04 Integrated Telecom Express, Inc. Device driver for rate adaptable modem with forward compatible and expandable functionality
US6785894B1 (en) * 1999-04-09 2004-08-31 Sun Microsystems, Inc. Virtual device driver
EP1059585A3 (en) * 1999-06-03 2004-05-06 PC-Tel, Inc. Virtual 16550 uart
US6560659B1 (en) * 1999-08-26 2003-05-06 Advanced Micro Devices, Inc. Unicode-based drivers, device configuration interface and methodology for configuring similar but potentially incompatible peripheral devices
US6363426B1 (en) 2000-01-07 2002-03-26 Dialout.Net, Inc. System and method of allocating modem resources to software applications
US6789132B2 (en) * 2000-02-09 2004-09-07 Seagate Technology Llc Modular disc drive architecture
US6760804B1 (en) * 2001-09-11 2004-07-06 3Com Corporation Apparatus and method for providing an interface between legacy applications and a wireless communication network
US7043205B1 (en) * 2001-09-11 2006-05-09 3Com Corporation Method and apparatus for opening a virtual serial communications port for establishing a wireless connection in a Bluetooth communications network
AU2002951538A0 (en) 2002-09-20 2002-10-03 Permo-Drive Research And Development Pty Ltd Regenerative drive system for trailers
US8631176B2 (en) * 2003-02-11 2014-01-14 Gvbb Holdings S.A.R.L. Asynchronous communications technique
US7536688B2 (en) * 2003-02-28 2009-05-19 Azul Systems Segmented virtual machine
US7143398B2 (en) * 2003-03-13 2006-11-28 Che-An Chang Application infa operating system
US7424419B1 (en) 2003-05-27 2008-09-09 Qlogic, Corporation Method and system for providing a virtual universal serial port interface and a virtual storage interface
US7610589B2 (en) * 2003-08-22 2009-10-27 Hewlett-Packard Development Company, L.P. Using helper drivers to build a stack of device objects
US7392527B2 (en) * 2003-12-10 2008-06-24 Microsoft Corporation Driver-specific context for kernel-mode shimming
US7877747B2 (en) * 2004-02-20 2011-01-25 Hewlett-Packard Development Company, L.P. Flexible operating system operable as either native or as virtualized
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8145870B2 (en) * 2004-12-07 2012-03-27 International Business Machines Corporation System, method and computer program product for application-level cache-mapping awareness and reallocation
US8214830B2 (en) * 2005-01-19 2012-07-03 Intel Corporation Performance in a virtualization architecture with a processor abstraction layer
US20060265536A1 (en) * 2005-05-19 2006-11-23 Inventec Corporation User-defined interrupt signal handling method and system
US7480908B1 (en) * 2005-06-24 2009-01-20 Azul Systems, Inc. Segmented virtual machine transport mechanism
US8356297B1 (en) 2007-03-21 2013-01-15 Azul Systems, Inc. External data source redirection in segmented virtual machine
US8819707B2 (en) * 2009-06-18 2014-08-26 Citrix Systems, Inc. Methods and systems for importing a device driver into a guest computing environment
JP5321311B2 (ja) * 2009-07-17 2013-10-23 セイコーエプソン株式会社 通信制御装置
US9244866B2 (en) * 2010-04-30 2016-01-26 International Business Machines Corporation Remote access of peripheral device connected to serial bus
US9112769B1 (en) * 2010-12-27 2015-08-18 Amazon Technologies, Inc. Programatically provisioning virtual networks
US9842072B2 (en) 2015-03-27 2017-12-12 Toshiba Global Commerce Solutions Holdings Corporation Systems and methods for implementing a user mode virtual serial communications port emulator
CN109508310B (zh) * 2017-09-14 2021-10-22 北京忆芯科技有限公司 虚拟uart

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3500222A (en) 1966-09-19 1970-03-10 Hitachi Ltd Semiconductor amplifier gain control circuit
US3497822A (en) 1968-05-10 1970-02-24 Bell Telephone Labor Inc Bias control circuit for pulse power transistor amplifiers to stabilize the quiescent current therein
US3849677A (en) 1973-06-26 1974-11-19 Westinghouse Electric Corp Hybrid power filters employing both active and passive elements
JPS5339811A (en) 1976-09-24 1978-04-12 Hitachi Ltd High frequency amplifier circuit
US4344188A (en) 1980-10-09 1982-08-10 Matsushita Electric Industrial Co., Ltd. Balanced modulator
IT1211106B (it) 1981-09-16 1989-09-29 Ates Componenti Elettron Stadio d'ingresso amplificatore e miscelatore a transistori per un radioricevitore.
US4419632A (en) 1981-12-11 1983-12-06 Bell Telephone Laboratories, Incorporated Bias circuit for microwave FETs
JPS5922406A (ja) 1982-07-28 1984-02-04 Matsushita Electric Ind Co Ltd 周波数変換器
DE3329664A1 (de) 1983-08-17 1985-03-07 Telefunken electronic GmbH, 7100 Heilbronn Schaltung zum umwandeln von gleichsignalen
NL8503435A (nl) 1985-12-13 1987-07-01 Philips Nv Uhf-versterkermengschakeling.
SU1517116A1 (ru) 1987-12-18 1989-10-23 Рязанский Радиотехнический Институт Балансный смеситель
DE68908149T2 (de) * 1989-01-10 1994-03-17 Ibm Modem mit durch Software angepasster Tastgeschwindigkeit.
JPH0417405A (ja) 1990-05-10 1992-01-22 Alps Electric Co Ltd ミキサ回路
JPH0456404A (ja) 1990-06-25 1992-02-24 Nec Corp 増幅装置
US5105165A (en) 1990-12-17 1992-04-14 At&T Bell Laboratories Low distortion, low noise, amplifier
US5319267A (en) 1991-01-24 1994-06-07 Nec Corporation Frequency doubling and mixing circuit
JP2887919B2 (ja) 1991-01-29 1999-05-10 日本電気株式会社 周波数逓倍・ミキサ回路
JP2887993B2 (ja) 1991-10-25 1999-05-10 日本電気株式会社 周波数ミキサ回路
FR2685578A1 (fr) 1991-12-23 1993-06-25 Philips Electronique Lab Circuit integre comprenant un amplificateur a gain variable.
US5166645A (en) 1992-01-15 1992-11-24 Quartzdyne, Inc. Differential mixer oscillator
JPH05315862A (ja) 1992-05-07 1993-11-26 Nec Corp 増幅回路
US5268649A (en) 1992-08-03 1993-12-07 Texas Instruments Incorporated Bias circuit for bipolar transistors
US5422522A (en) 1992-08-20 1995-06-06 Sgs-Thomson Microelectronics, Inc. Device for biasing an RF device operating in quasi-linear modes with temperature compensation
US5357089A (en) 1993-02-26 1994-10-18 Harris Corporation Circuit and method for extending the safe operating area of a BJT
US5379457A (en) 1993-06-28 1995-01-03 Hewlett-Packard Company Low noise active mixer
US5628030A (en) 1994-03-24 1997-05-06 Multi-Tech Systems, Inc. Virtual modem driver apparatus and method
US5604870A (en) * 1994-08-01 1997-02-18 Moss; Barry UART emulator card
US5787305A (en) * 1995-04-25 1998-07-28 Pc-Tel, Inc. Host signal processing modem using a software simulation of a UART
US5864710A (en) * 1996-07-23 1999-01-26 Compaq Computer Corporation Controllerless modem
EP0788057B1 (en) 1996-01-31 2003-05-02 Compaq Computer Corporation Computer system with controllerless modem

Also Published As

Publication number Publication date
ES2172899T3 (es) 2002-10-01
IL133601A0 (en) 2001-04-30
DE69803852T2 (de) 2002-08-22
DE69803852D1 (de) 2002-03-21
EP0993636A1 (en) 2000-04-19
ATE213347T1 (de) 2002-02-15
KR20010013347A (ko) 2001-02-26
AU8176398A (en) 1999-01-19
EP0993636B1 (en) 2002-02-13
WO1999000740A1 (en) 1999-01-07
JP2002507302A (ja) 2002-03-05
US6230118B1 (en) 2001-05-08

Similar Documents

Publication Publication Date Title
KR100589887B1 (ko) 컨트롤러가 없는 모뎀용 도스 기반 어플리케이션 지원장치
US6564271B2 (en) Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
US6341322B1 (en) Method for interfacing two buses
US4792896A (en) Storage controller emulator providing transparent resource sharing in a computer system
US4920481A (en) Emulation with display update trapping
US5469545A (en) Expandable communication system with data flow control
US5301275A (en) Data transfer system with variable data buffer size and programmable interrupt frequency
US7131035B2 (en) Serial bus host controller diagnosis
US5878248A (en) Device access controller for virtual video/keyboard/mouse input/output for remote system management and maintenance
CN107967225B (zh) 数据传输方法、装置、计算机可读存储介质和终端设备
US6938103B2 (en) Universal serial bus transaction processing tasks scheduling method for computer system, involves assigning transaction to periodic queue head list with faster polling interval
EP0594025A1 (en) Method and apparatus for communicating data across a bus bridge
US6839777B1 (en) System and method for transferring data over a communication medium using data transfer links
EP0597262A2 (en) Method and apparatus for gradually degrading video data
US6298399B1 (en) System for managing input/output accesses at a bridge/memory controller having a status register for recording cause of interrupt
US5062042A (en) System for managing data which is accessible by file address or disk address via a disk track map
US6412028B1 (en) Optimizing serial USB device transfers using virtual DMA techniques to emulate a direct memory access controller in software
US6393493B1 (en) System and method for optimizing serial USB device reads using virtual FIFO techniques
US5062073A (en) Input output control system using a fifo to record access information of control registers by a master device
US7039692B2 (en) Method and apparatus for maintaining profiles for terminals in a configurable data processing system
US20020085575A1 (en) Interface control of communication between a control processor and a digital signal processor
US6105080A (en) Host adapter DMA controller with automated host reply capability
US20010052026A1 (en) Controllerless modem
JP3415931B2 (ja) 通信プロトコルの割り込み応答実行方法及び装置
US20030225564A1 (en) Apparatus and method for connecting a hardware emulator to a computer peripheral

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee