KR0174862B1 - 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 - Google Patents
인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 Download PDFInfo
- Publication number
- KR0174862B1 KR0174862B1 KR1019960019681A KR19960019681A KR0174862B1 KR 0174862 B1 KR0174862 B1 KR 0174862B1 KR 1019960019681 A KR1019960019681 A KR 1019960019681A KR 19960019681 A KR19960019681 A KR 19960019681A KR 0174862 B1 KR0174862 B1 KR 0174862B1
- Authority
- KR
- South Korea
- Prior art keywords
- driver
- windows
- device driver
- window
- interrupt
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 PC와 타 디바이스와의 통신을 위한 인터페이스 보드 제어 윈도우즈 디바이스 드라이버에 관한 것으로, 종래의 윈도우즈 프로그램은 윈도우즈가 지원하는 디바이스가 프린터, 키보드, 마우스, 직렬 포트등과 같은 표준 디바이스 뿐이므로 통신용 툴(Tool) 개발에 상당한 제약이 따랐으며 다른 하드웨어 디바이스를 제어하기 위해서는 아주 복잡한 과정을 거쳐야 했고 또한 우수한 성능을 얻기가 무척 어려운 문제점이 있었으므로 본 발명은 윈도우즈 환경에서 윈도우즈 애플리케이션과 BTS 시뮬레이터 보드와의 인터페이스가 제공되어 기지국 자체 시험을 위한 장비 개발에 도움을 주었을 뿐만 아니라, 하드웨어에 거의 의존하지 않기 때문에 윈도우즈를 이용한 여러 디바이스 프로그램에 이용할 수 있고, 윈도우즈 환경에서 여러가지로 이용이 가능하다는 효과가 있다.
Description
제1도는 본 발명의 윈도우즈 디바이스 드라이버의 메세지 수신 블럭도.
제2도는 본 발명의 PC와 다른 디바이스 사이의 통신을 위한 소프트웨어 블럭도이다.
* 도면의 주요부분에 대한 부호의 설명
10 : 윈도우즈와 드라이버 사이의 통신 매체
12 : 수신버퍼 20 : 버퍼
21 : 사이즈 22 : 인(IN)
23 : 아웃(OUT) 70 : 윈도우즈 디바이스
80 : 윈도우즈 애플리케이션 90 : 윈도우즈 디바이스 드라이버
100 : 하드웨어 디바이스 110 : 외부 디바이스
본 발명은 PC와 타 디바이스와의 통신을 위한 인터페이스 보드 제어 윈도우즈 디바이스 드라이버에 관한 것으로, 특히 윈도우즈 디바이스 드라이버는 윈도우즈 환경 하에서 프린터, 마우스, 키보드 외의 다양한 디바이스를 제어할 수 있는 고성능 드라이버로 CDMA(Code Division Multiple Access; 코드 분할 다원 접속 방식 이하 CDMA라 칭한다.) 기지국 자체 시험을 위해 BTS(Base station Transceiver Subsystem; 기지국 이하 BTS라 칭한다.) 시뮬레이터 보드를 제어하기 위하여 발명된 인터페이스 보드 제어 윈도우즈 디바이스 드라이버에 관한 것이다.
또한, 이식성이 높아 타 디바이스 제어를 손쉽게 할 수 있으며 하강 에지(Falling edge) 방식에 비해 프로세서의 사용 효율이 높고 많은 이점을 제공하는 인터럽트 구동 방식을 사용하였으며, PC의 직렬 포트를 사용하여 타겟 보드를 직접 제어하도록 하였다.
일반적인 윈도우즈 프로그램은 윈도우즈가 지원하는 디바이스가 프린터, 키보드, 마우스, 직렬 포트등과 같은 표준 디바이스 뿐이므로 통신용 툴(Tool) 개발에 상당한 제약이 따랐으며 다른 하드웨어 디바이스를 제어하기 위해서는 아주 복잡한 과정을 거쳐야 했고 우수한 성능을 얻기가 무척 힘들었다.
그래서 윈도우즈 프로그램 보다는 디바이스를 직접 제어할 수 있는 도스용 프로그램에 대한 개발이 주를 이루어야 하는 문제점이 있었다.
따라서 본 발명은 상기에 기술한 종래의 문제점을 해결하기 위해 PC의 직렬 포트를 이용하여 BTS 시뮬레이터 보드를 제어하고, 인터럽트 방식을 이용하여 메세지를 송/수신하며 타 디바이스와 FIFO(First-In, First-Out; 먼저 대기된 것을 먼저 처리하는 방식 이하 FIFO라 칭한다.) 통신을 하여 전송 프레임 헤더의 제어 메세지를 이용함으로써 인터페이스 라인을 설정할 수 있도록 하였고, 윈도우즈 환경에서 하드웨어 디바이스를 제어할 수 있도록 함을 특징으로 한다.
이하 본 발명의 일실시예를 첨부된 도면을 참조하여 설명하면 다음과 같다.
제1도는 윈도우즈와 디바이스 드라이버와의 통신을 위한 매개체로써, ISR(Interrupt Service Routine; 인터럽트 처리 루틴 이하 ISR이라 칭한다.)이 제거 되었을 때 인터럽트 발생 전의 시스템 상태로 복귀할 수 있도록 올드(Old) 인터럽트 벡터에 대한 정보를 저장하는 윈도우즈와 드라이버 사이의 통신 매체(10)와; 상기 윈도우즈와 드라이버 사이의 통신 매체(10)에서 수신된 바이트에 대한 정보를 나타내주는 버퍼부(Bufinfo)(20)로 구성되며; 상기 윈도우와 드라이버 사이이 통신 매체(Device Context)(10)는 입/출력포트와 올드 인터럽트 저장부(11)와 수신버퍼(RxBUF)(12)로 구성되며; 상기 버퍼부(Bufinfo)(20)는 상기 수신버퍼(RxBUF)(11)에서 수신된 바이트의 크기를 나타내는 사이즈(size)(21)와; 디바이스 드라이버에 수신될 바이트 수를 가리키는 인(in)(22) 및; 윈도우즈가 디바이스 드라이버의 수신버퍼(RxBUF)(12)로 부터 읽어간 바이트 수를 가리키는 아웃(out)(23)으로 구성되어 동작한다.
즉, 상기와 같이 구성되는 본 발명의 동작을 간략적으로 설명하면, 타겟에서 송신한 프레임은 인터페이스 라인과 인터페이스의 입/출력 포트(usIoBase)를 통해 인터페이스 보드에 전송되면 보드에 인터럽트가 발생하여 전송되는 최초 및 최후의 수신데이타 사이에 프레임(30)은 윈도우즈와 드라이버 사이의 통신 매체(10)의 수신버퍼(RxBUF)(12)에 쓰여지고, 인터럽트 발생시 디바이스 드라이버는 윈도우즈에 메세지 수신을 알려 프레임을 읽어가도록 하며, 프레임 수신이 끝나면 디바이스 드라이버는 인터럽트를 사용불능시키고 다음 프레임이 전송되기를 기다리고 인터럽트 서비스 루틴(ISR)이 제거되었을 때 인터럽트 발생전의 시스템 상태로 복귀할 수 있도록 올드 인터럽트 벡터에 대한 정보를 윈도우즈와 드라이버 사이의 통신 매체(10)안에 저장한다.
제2도는 PC와 다른 디바이스 사이의 통신을 위한 소프트웨어 블럭도로써, 디바이스오픈을 이용하여 디바이스에 대한 핸들을 리턴받고, 이 디바이스 핸들은 드라이버의 다른 함수를 호출하는데 있어 패러미터로 사용되는 윈도우즈 애플리케이션(80)과; DLL의 형태로 구성되어 DOS에서 처럼 프로그램이 실행될 때 마다 메모리에 올라가는 것이 아니라 프로그램에서 필요할 때에만 읽혀져 메모리에 효율성을 기할 수 있고, 인터럽트가 발생하면 드라이버의 인터럽트 서비스 루틴을 실행시켜 메세지를 드라이버에 할당된 수신버퍼에 할당하고 윈도우즈(70)에 이 정보를 전송하는 윈도우즈 디바이스 드라이버(90) 및; 전송 프레임의 처음 4비트 정보로 해당 전송라인에 대한 정보를 NPU(네트웍 전용 중앙처리장치 64180S)이 보내주면 T1/E1 or RS232, RS422의 전송라인을 설정하는 하드웨어 디바이스(100)로 구성되며; 상기와 같이 구성되는 본 발명의 동작을 제1도와 제2도를 참조하여 설명하면 다음과 같다.
윈도우즈를 구동시킨 후 윈도우즈 애플리케이션(80)(BSAM; Base Station Stand-Alone Manager; 기지국 자체 시험용 툴 이하 BSAM이라 칭한다.)이 구동되면 원하는 인터페이스 라인과 디바이스를 설정하고 디바이스 드라이버를 구동시킨다. 그러면 윈도우즈 애플리케이션(80)은 디바이스 드라이버에 대한 핸들(Handle; 윈도우즈에서 어떤 하나의 객체에 부여하는 식별번호)을 리턴 받는다. 이 디바이스 핸들은 드라이버의 다른 함수를 호출하는 데 있어 패러미터로 사용된다. 그리고 윈도우즈와 드라이버와의 통신을 위한 매개체인 윈도우즈와 드라이버 사이의 통신 매체(Device Context)(10)는 수신 버퍼(RxBUF)(12), 입/출력 어드레스, 그리고 인터럽트 등에 대한 정보를 가지고 있는데, BSAM이 실행되면 윈도우즈 디바이스(70)는 윈도우즈 디바이스 드라이버(90)를 호출하게 된다. 이때 윈도우즈 디바이스 드라이버(90)는 호출될 때 디바이스에 대한 핸들값을 리턴하여 애플리케이션에서 다른 함수를 호출할 때 패러미터로 사용하게 한다. 또한 윈도우즈 디바이스 드라이버(90)는 DLL(Dynamic Link Library; 동적 링크 도서관 이하 DLL이라 칭한다.)의 형태로 구성되어 DOS(Disk Operating System; 디스크 운용 시스템 이하 DOS라 칭한다.)에서 처럼 프로그램(Program)이 실행될 때 마다 메모리에 올라가 있는 것이 아니라 프로그램(Program)에서 필요할 때에만 읽혀져서 메모리에 효율성을 기할 수 있는바, 타겟에서 송신한 프레임은 인터페이스 라인과 인터페이스의 입출력 포트(usIoBase)를 통해 인터페이스 보드(Hardware Device)(100)에 전송되면 보드에 인터럽트가 발생하여 수신된 프레임(30)은 윈도우즈와 드라이버 사이의 통신 매체(Device Context)(10)의 수신 버퍼(RxBUF)(12)에 쓰여진다. 그리고 인터럽트 발생시에 디바이스 드라이버는 윈도우즈 디바이스(70)에 메세지 수신을 알려 윈도우즈 디바이스(70)는 프레임을 읽어가도록 하는데, 이때의 윈도우즈와 드라이버 사이의 통신 매체(Device Context)(10)의 수신된 프레임에 대한 정보를 나타내 주는 버퍼(BufInfo)(20)의 사이즈(Size)(21)는 수신된 프레임의 크기를 나타내고 인(In)(22)은 디바이스 드라이버에 수신될 바이트를 가리키며, 아웃(Out)(23)은 윈도우즈 디바이스(70)가 디바이스 드라이버의 수신 버퍼(RxBUF)(12)로부터 읽어간 바이트를 가리킨다. 이렇게 프레임 수신이 끝나면 디바이스 드라이버는 인터럽트를 사용불능(Disable)시키고, 다음 프레임이 전송되기를 기다리고 ISR이 제거되었을 때 인터럽트 발생전의 시스템 상태로 복귀할 수 있도록 올드(old)(60) 인터럽트 벡터에 대한 정보를 윈도우즈와 드라이버 사이의 통신 매체(Device Context)(10)안에 저장하는데, 윈도우즈 디바이스(70)에서 프레임 전송시 전송 프레임은 윈도우즈 디바이스(70)를 통해 디바이스 드라이버의 입/출력 포트(50)를 거쳐 해당 디바이스로 전송되는 것이다. 또한 인터페이스 보드(Hardware Device)(100)의 디코더(Decoder)는 전송 프레임의 처음 4바이트 정보로 해당 전송 라인에 대한 정보를 NPU(네트웍 전용 중앙처리장치; 64180S)에 보내주면 T1/E1 or RS232, RS422 전송라인을 설정한다.
이상에서 상세히 설명한 바와 같이 본 발명은 윈도우즈 환경에서 윈도우즈 애플리케이션과 기지국 시뮬레이터 보드와의 인터페이스가 제공되어 기지국 자체 시험을 위한 장비개발에 도움을 주었고, 종래의 디바이스 제어방식은 인터페이스 보드에 따라 복잡한 제어를 하는 하드웨어 의존적인 성향이 매우 강했지만 본 발명의 윈도우즈 디바이스 드라이버는 하드웨어에 거의 의존하지 않기 때문에 윈도우즈를 이용한 여러 디바이스 프로그램 개발에 이용할 수 있으며, 윈도우즈 환경에서 터미널이나 다른 여러 디바이스에 메세지를 전송 또는 수신하거나 데이타 프로그램을 로딩하는 장치를 개발하거나 시스템 설계시 디버깅 터미널이나 시스템 상태 모니터링등을 위한 툴(Tool) 개발시 여러가지로 이용 가능하다는 효과가 있다.
Claims (4)
- PC와 타 디바이스와의 통신을 위한 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 장치에 있어서, 디바이스오픈을 이용하여 디바이스에 대한 핸들을 리턴받고, 이 디바이스 핸들은 드라이버의 다른 함수를 호출하는데 있어 패러미터로 사용되는 윈도우즈 애플리케이션(80)과; DLL의 형태로 구성되어 DOS에서 처럼 프로그램이 실행될 때 마다 메모리에 올라가는 것이 아니라 프로그램에서 필요할 때에만 읽혀져 메모리에 효율성을 기할 수 있고, 인터럽트가 발생하면 드라이버의 인터럽트 서비스 루틴을 실행시켜 메세지를 드라이버에 할당된 수신 버퍼에 할당하고 윈도우즈(70)에 이 정보를 전송하는 윈도우즈 디바이스 드라이버(90) 및; 전송 프레임의 처음 4비트 정보로 해당 전송라인에 대한 정보를 NPU(네트웍 전용 중앙처리장치 64180S)이 보내주면 T1/E1 or RS232, RS422의 전송라인을 설정하는 하드웨어 디바이스(100)로 구성됨을 특징으로 하는 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 장치.
- 제1항에 있어서 윈도우즈 디바이스 드라이버는 ISR(Interrupt Service Routine; 인터럽트 처리 루틴 이하 ISR이라 칭한다.)이 제거 되었을 때 인터럽트 발생 전의 시스템 상태로 복귀할 수 있도록 올드(Old) 인터럽트 벡터에 대한 정보를 저장하는 윈도우즈와 드라이버 사이의 통신 매체부(Device Context)(10)와; 상기 윈도우즈와 드라이버 사이의 통신 매체(10)에서 수신된 바이트에 대한 정보를 나타내주는 버퍼부(Bufinfo)(20)로 구성됨을 특징으로 하는 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 장치.
- 제2항에 있어서 버퍼부(Bufinfo)(20)는 상기 수신 버퍼(RxBUF)(12)에서 수신된 바이트의 크기를 나타내는 사이즈(size)(21)와; 디바이스 드라이버에 수신될 바이트 수를 가리키는 인(in)(22) 및; 윈도우즈가 디바이스 드라이버의 수신 버퍼(RxBUF)(12)로 부터 읽어간 바이트 수를 가리키는 아웃(out)(23)으로 구성됨을 특징으로 하는 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 장치.
- PC와 타 디바이스와의 통신을 위한 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버에 있어서, 윈도우즈 디바이스 드라이버(90)는 DLL의 형태로 구성되어 DOS에서 처럼 프로그램이 실행될 때 마다 메모리에 올라가는 것이 아니라 프로그램에서 필요할 때에만 읽혀져 메모리에 효율성을 기할 수 있고, 인터럽트가 발생하면 드라이버의 인터럽트 서비스 루틴을 실행시켜 메세지를 드라이버에 할당된 수신 버퍼에 할당하고 윈도우즈(70)에 이 정보를 전송함을 특징으로 하는 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버의 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960019681A KR0174862B1 (ko) | 1996-06-03 | 1996-06-03 | 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960019681A KR0174862B1 (ko) | 1996-06-03 | 1996-06-03 | 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR980004019A KR980004019A (ko) | 1998-03-30 |
KR0174862B1 true KR0174862B1 (ko) | 1999-04-01 |
Family
ID=19460708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960019681A KR0174862B1 (ko) | 1996-06-03 | 1996-06-03 | 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0174862B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100439031B1 (ko) * | 2002-04-26 | 2004-07-03 | 서울통신기술 주식회사 | 피씨아이 보드용 통합 드라이버를 이용한 보드 구동 제어방법 및 피씨아이 보드 통합 드라이버용 기록매체 |
-
1996
- 1996-06-03 KR KR1019960019681A patent/KR0174862B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR980004019A (ko) | 1998-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113296884B (zh) | 虚拟化方法、装置、电子设备、介质及资源虚拟化系统 | |
US6269409B1 (en) | Method and apparatus for concurrent execution of operating systems | |
US6256659B1 (en) | System and method for performing hybrid preemptive and cooperative multi-tasking in a computer system | |
CA2041741C (en) | Terminal server architecture | |
KR100196333B1 (ko) | 디엠에이 명령의 프리-로딩을 이용한 디엠에이 데이터 전송방법 | |
US11868799B2 (en) | Command information transmission method, system, and apparatus, and readable storage medium | |
CN111444609A (zh) | 数据处理方法及仿真系统 | |
US6233660B1 (en) | System and method for emulating mainframe channel programs by open systems computer systems | |
CN110209605B (zh) | Pcie总线网卡的寄存器读写方法和计算设备 | |
CN112565036A (zh) | 数据传输方法、装置、存储介质及通信系统 | |
US5541853A (en) | Processor configurable for both virtual mode and protected mode | |
KR0174862B1 (ko) | 인터페이스 보드 제어의 윈도우즈 디바이스 드라이버 | |
KR100716076B1 (ko) | 인터럽트 처리 방법, os 지원 시스템, 정보 처리 장치및 기록 매체 | |
CN112148537A (zh) | 总线监控装置及方法、存储介质、电子装置 | |
FI76893B (fi) | Kommunikationsmultiplexer med dubbla mikroprocessorer. | |
EP3742298B1 (en) | Non-intrusive semihosting solution for debug using direct memory access implementation-based library | |
US7013467B1 (en) | System and method for managing computer system resources using command control vectors | |
US5860025A (en) | Precharging an output peripheral for a direct memory access operation | |
US20030145129A1 (en) | Protocol driver application programming interface for operating systems | |
JPH02230356A (ja) | 情報処理装置のバス拡張装置 | |
KR0154573B1 (ko) | 칠 시뮬레이션 환경에서의 프로세스간 통신 방법 | |
GB2329734A (en) | System for facilitating communication between a PC and a host computer | |
SU1029175A2 (ru) | Селекторный канал | |
CN115914424A (zh) | 网络数据实时传输方法、装置、设备及可读存储介质 | |
CN114020493A (zh) | 一种数据分享的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20061031 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |