KR101302569B1 - Apparatus and Method for Host Interface - Google Patents
Apparatus and Method for Host Interface Download PDFInfo
- Publication number
- KR101302569B1 KR101302569B1 KR1020120012889A KR20120012889A KR101302569B1 KR 101302569 B1 KR101302569 B1 KR 101302569B1 KR 1020120012889 A KR1020120012889 A KR 1020120012889A KR 20120012889 A KR20120012889 A KR 20120012889A KR 101302569 B1 KR101302569 B1 KR 101302569B1
- Authority
- KR
- South Korea
- Prior art keywords
- modem
- reception
- memory block
- received
- packet
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
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/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
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
본 발명은 호스트 인터페이스 장치 및 방법에 대하여 개시한다. 본 발명의 일면에 따른 호스트 인터페이스 장치는, 메모리 풀 내 적어도 하나의 메모리 블록을 송신 공유영역으로 설정하고, 상기 메모리 풀 내 상기 송신 공유영역으로 설정되지 않은 적어도 하나의 메모리 블록을 수신 공유영역으로 설정하는 모뎀; 및 상기 모뎀에 질의하여 상기 송신 공유영역 및 상기 수신 공유영역에 대한 공유정보를 확인하고, 상기 공유정보를 참조하여 송신 패킷을 상기 송신 공유영역에 저장하여 상기 모뎀으로 송신하고, 상기 모뎀에 수신된 수신 패킷을 상기 수신 공유영역으로부터 읽어와 상기 모뎀으로부터 상기 수신 패킷을 수신하는 호스트를 포함하며, 상기 모뎀은, 상기 수신된 패킷을 모두 읽어오지 않더라도, 상기 호스트에 의해 수신된 수신 패킷이 저장된 상기 적어도 하나의 메모리 블록을 상기 메모리 풀로 반환하고, 상기 수신 패킷의 더 수신되면 상기 메모리 풀에서 다른 상기 적어도 하나의 메모리 블록을 상기 수신 공유영역으로 재설정하는 하는 것을 특징으로 한다.The present invention discloses a host interface device and method. According to an aspect of the present disclosure, a host interface device may set at least one memory block in a memory pool as a transmission sharing area, and set at least one memory block not set as the transmission sharing area in the memory pool as a reception sharing area. A modem; Query the modem to confirm sharing information on the transmission sharing area and the reception sharing area, store transmission packets in the transmission sharing area with reference to the sharing information, and transmit them to the modem; A host that reads a received packet from the receive sharing area and receives the received packet from the modem, wherein the modem is configured to store at least the received packet received by the host even if all received packets are not read. And returning one memory block to the memory pool, and resetting the other at least one memory block in the memory pool to the reception sharing area when the received packet is further received.
Description
본 발명은 호스트와 모뎀 간의 인터페이스에 관한 것으로서, 더 구체적으로는 송수신 과정의 메모리 블록 부족 현상을 개선할 수 있는 호스트 인터페이스 장치 및 방법에 관한 것이다.The present invention relates to an interface between a host and a modem. More particularly, the present invention relates to a host interface device and a method for improving a memory block shortage during a transmission and reception process.
일반적으로, 호스트의 데이터 송수신에는 유.무선 모뎀이 사용되고 있다. 호스트는 모뎀으로 데이터를 쓰거나, 읽는 일련의 동작들을 통해 유.무선 모뎀에 데이터를 전달할 수 있다.In general, wired and wireless modems are used for data transmission and reception of a host. The host can pass data to the wired or wireless modem through a series of operations that either write or read data to the modem.
도 1과 같이, 종래의 호스트는 모뎀과 병렬 버스(Parallel Bus)로 연결되어, 모뎀에 데이터를 쓰거나(Write) 읽어(Read) 통신하며, 인터럽트(TX_REQ, TX_DONE)에 의해 데이터 송수신을 확인하고 있다. 호스트는 마이크로 프로세서를 이용하여 모뎀을 제어하며, 모뎀과는 호스트 인터페이스로 연결된다. 이때, 호스트 인터페이스는 PCMCIA(Personal Computer Memory Card International Association), 병렬 버스(Parellel Bus), 로컬 버스(Local Bus) 등일 수 있으며, 데이터 송수신 인터페이스 및 인터럽트 인터페이스를 포함한다. 또한, 호스트는 PC, 노트북뿐만 아니라, 다른 임베디드(Embeded) 시스템일 수 있다.As shown in FIG. 1, a conventional host is connected to a modem via a parallel bus, writes data to a modem, reads a communication, and confirms data transmission and reception by interrupts TX_REQ and TX_DONE. . The host uses a microprocessor to control the modem, which is connected to the host via a host interface. In this case, the host interface may be a personal computer memory card international association (PCMCIA), a parallel bus, a local bus, and the like, and include a data transmission / reception interface and an interrupt interface. The host can also be a PC, a notebook, as well as other embedded systems.
종래의 모뎀은 호스트로부터 호스트 인터페이스 공유영역으로 전달받은 패킷을 외부로 송신하거나, 외부로부터 신호를 수신하면 호스트 인터페이스 공유영역을 통해 호스트에 전달한다. 이때, 모뎀은 전력선, LAN 등의 기설정된 다양한 통신만을 통해 외부로부터 신호를 수신하거나, 외부로 신호를 송신할 수 있다.The conventional modem transmits a packet received from the host to the host interface sharing area to the outside, or receives a signal from the outside and transmits the packet to the host through the host interface sharing area. In this case, the modem may receive a signal from the outside or transmit a signal to the outside through only various preset communication such as a power line or a LAN.
종래의 호스트는 송신 절차에서, 송신할 패킷을 모뎀의 송신 공유영역(TX shared Region)의 디스크립터(Descriptor)에 연결된 메모리 블록에 쓰고, 모뎀으로 TX_REQ(송신요청) 인터럽트를 송신한 후, 모뎀이 외부로 패킷을 송신하기 위해 송신 버퍼에 입력하는 처리를 끝내고 TX_DONE 인터럽트를 송신할 때까지 기다리다가, TX_DONE 인터럽트를 수신하면, 처음으로 돌아가 이후의 송신절차를 계속 진행한다.In a transmission process, a conventional host writes a packet to be transmitted to a memory block connected to a descriptor of a TX shared region of a modem, sends a TX_REQ interrupt to the modem, and then the modem Wait for the TX_DONE interrupt to be sent after sending the packet to the send buffer to send the packet. Then, when the TX_DONE interrupt is received, the process returns to the beginning and continues the transmission process.
종래의 모뎀은 수신 절차에서, 외부로부터 수신한 패킷을 수신 공유영역(RX shared Region)의 디스크립터에 연결된 메모리 블록에 쌓아두다가 어느 정도 패킷이 쌓이면 호스트에 RX_REQ 인터럽트를 송신한다. 종래의 호스트는 RX_REQ 인터럽트를 수신하면, 수신 공유영역의 디스크립터에 연결된 메모리 블록으로부터 모든 수신 패킷을 읽어온 다음, RX_DONE 인터럽트를 모뎀으로 송신한다. 그러면, 모뎀은 디스크립터에 연결된 메모리 블록들을 메모리 풀(Pool)로 돌려줘, 메모리 블록들이 재활용될 수 있도록 한다.In a conventional modem, a packet received from an external device is stacked in a memory block connected to a descriptor of an RX shared region, and when some packets are accumulated, the modem transmits an RX_REQ interrupt to the host. When a conventional host receives an RX_REQ interrupt, it reads all received packets from a memory block connected to a descriptor of a receiving shared area, and then transmits an RX_DONE interrupt to a modem. The modem then returns the memory blocks associated with the descriptor to the memory pool so that the memory blocks can be recycled.
종래의 모뎀은 한꺼번에 많은 패킷을 송신하기 위해서 송신 공유영역의 디스크립터의 개수를 디폴트 5개 정도를 미리 확보하고, 호스트가 항상 한번에 복수의 패킷을 송신할 수 있도록 구성되었다. Conventional modems are configured such that the number of descriptors in the transmission sharing area is secured in advance by about five defaults in order to transmit many packets at once, and the host can always transmit a plurality of packets at one time.
그런데, 모뎀은 송수신 처리에 메모리 풀을 공유해서 사용하므로, 송신 절차를 수행하면 수신 절차를 위한 메모리 블록이 부족한 문제가 발생했다.However, since a modem shares a memory pool for transmission and reception processing, a problem arises that the memory block for the reception procedure is insufficient when the transmission procedure is performed.
뿐만 아니라, 종래의 모뎀은 수신 공유영역의 복수의 디스크립터 전부를 다 읽고 나서, RX_DONE 인터럽트를 송신하여 모뎀의 메모리 블록을 해제하므로, 메모리 풀 내에서도 메모리 블록이 부족한 현상이 발생했다.In addition, the conventional modem reads all the plurality of descriptors in the reception sharing area and then transmits an RX_DONE interrupt to release the memory block of the modem. Thus, the memory block is insufficient in the memory pool.
이러한 현상은 모뎀 속도보다 호스트와 모뎀 간의 인터페이스 속도가 늦어지는 문제를 야기하고, 따라서 모뎀 통신속도가 저하되는 문제가 발생했다. 예컨대, 모뎀의 통신속도가 50Mbps일 때 호스트와 모뎀 간의 인터페이스 속도가 50Mbps미만이면, 통신속도가 저하되었다.This phenomenon causes a problem that the interface speed between the host and the modem is slower than the modem speed, and thus, the modem communication speed is lowered. For example, when the communication speed of the modem is 50 Mbps, if the interface speed between the host and the modem is less than 50 Mbps, the communication speed is lowered.
더욱이, 모뎀의 통신속도는 점점 고속화되고 있어, 호스트와 모뎀 간의 인터페이스의 속도 저하는 더 이슈화될 수 있다.Moreover, the communication speed of the modem is getting faster, and the slowing down of the interface between the host and the modem may become more issue.
본 발명은 전술한 바와 같은 기술적 배경에서 안출된 것으로서, 하나의 디스크립터에 연결된 메모리 블록에 저장된 패킷에 대한 수신이 완료되면, 해당 메모리 블록을 메모리 풀로 빠르게 반환할 수 있는 호스트 인터페이스 장치 및 방법을 제공하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-described technical background, and provides a host interface device and method for rapidly returning a memory block to a memory pool when reception of a packet stored in a memory block connected to one descriptor is completed. For that purpose.
본 발명의 일면에 따른 호스트 인터페이스 장치는, 메모리 풀 내 적어도 하나의 메모리 블록을 송신 공유영역으로 설정하고, 상기 메모리 풀 내 상기 송신 공유영역으로 설정되지 않은 적어도 하나의 메모리 블록을 수신 공유영역으로 설정하는 모뎀; 및 상기 모뎀에 질의하여 상기 송신 공유영역 및 상기 수신 공유영역에 대한 공유정보를 확인하고, 상기 공유정보를 참조하여 송신 패킷을 상기 송신 공유영역에 저장하여 상기 모뎀으로 송신하고, 상기 모뎀에 수신된 수신 패킷을 상기 수신 공유영역으로부터 읽어와 상기 모뎀으로부터 상기 수신 패킷을 수신하는 호스트를 포함하며, 상기 모뎀은, 상기 수신된 패킷을 모두 읽어오지 않더라도, 상기 호스트에 의해 수신된 수신 패킷이 저장된 상기 적어도 하나의 메모리 블록을 상기 메모리 풀로 반환하고, 상기 수신 패킷의 더 수신되면 상기 메모리 풀에서 다른 상기 적어도 하나의 메모리 블록을 상기 수신 공유영역으로 재설정하는 하는 것을 특징으로 한다.According to an aspect of the present disclosure, a host interface device may set at least one memory block in a memory pool as a transmission sharing area, and set at least one memory block not set as the transmission sharing area in the memory pool as a reception sharing area. A modem; Query the modem to confirm sharing information on the transmission sharing area and the reception sharing area, store transmission packets in the transmission sharing area with reference to the sharing information, and transmit them to the modem; A host that reads a received packet from the receive sharing area and receives the received packet from the modem, wherein the modem is configured to store at least the received packet received by the host even if all received packets are not read. And returning one memory block to the memory pool, and resetting the other at least one memory block in the memory pool to the reception sharing area when the received packet is further received.
본 발명의 다른 면에 따른 호스트 인터페이스 장치는, 공유정보를 참조하여 공유영역의 제어 버퍼에 제어명령을 저장한 후 제어요청 인터럽트를 송신하며, 제어완료 인터럽트를 수신하면 상기 공유정보를 참조하여 보고 버퍼로부터 상기 제어명령에 대응하는 제어결과를 읽어오는 호스트; 및 상기 호스트의 요청에 따라 상기 공유정보를 제공하며, 상기 제어요청 인터럽트를 수신하면 상기 제어명령에 따른 이벤트를 수행하며, 상기 이벤트의 수행을 완료하면 상기 제어결과를 상기 보고 버퍼에 저장한 후 상기 제어완료 인터럽트를 송신하는 모뎀을 포함하되, 상기 호스트에 의한 상기 제어명령의 송신 및 상기 모뎀에 의한 상기 제어결과의 보고는, 비동기 방식으로 수행되는 것을 특징으로 한다.According to another aspect of the present invention, a host interface device stores a control command in a control buffer of a shared area with reference to shared information, and then transmits a control request interrupt. A host for reading a control result corresponding to the control command from the host; And providing the shared information according to a request of the host, performing an event according to the control command upon receiving the control request interrupt, and storing the control result in the report buffer after completing the event. And a modem for transmitting a control completion interrupt, wherein the transmission of the control command by the host and the reporting of the control result by the modem are performed in an asynchronous manner.
본 발명의 또 다른 면에 따른 호스트의 패킷 수신 방법은, 모뎀으로부터 수신된 패킷이 있음을 의미하는 수신요청 인터럽트를 수신하면, 공유정보를 참조하여 수신 공유영역의 디스크립터 및 상기 디스크립터에 연결된 적어도 하나의 메모리 블록으로부터 패킷을 하나씩 읽어오는 단계; 및 상기 수신된 패킷을 모두 읽어오지 않더라도, 읽어온 상기 패킷을 저장한 디스크립터 및 상기 메모리 블록이 존재하면, 상기 읽어온 패킷을 저장한 디스크립터 및 상기 메모리 블록을 메모리 풀로 반환할 것을 상기 모뎀에 지시하는 단계를 포함하는 것을 그 특징으로 한다.According to another aspect of the present invention, a method of receiving a packet by a host may include receiving a request interrupt indicating that there is a packet received from a modem, and referring to shared information, at least one descriptor of a reception sharing area and at least one connected to the descriptor. Reading packets one by one from a memory block; And instructing the modem to return the descriptor storing the read packet and the memory block to the memory pool if the descriptor storing the read packet and the memory block exist, even if all the received packets are not read. It is characterized by including the step.
본 발명에 따르면, 송신 과정 및 수신 과정에서 사용되는 메모리 블록의 해제를 빠르게 수행하여 메모리 풀의 가용성을 높일 수 있으며, 메모리 블록 부족 현상을 개선할 수 있다. 따라서, 본 발명은 종래의 호스트와 모뎀 간의 데이터 교환 속도로 인한 통신속도 저하 문제를 방지할 수 있다.According to the present invention, the availability of the memory pool can be improved by quickly releasing the memory blocks used in the transmission process and the reception process, and the memory block shortage can be improved. Therefore, the present invention can prevent the problem of communication speed degradation due to the data exchange rate between the conventional host and the modem.
또한, 본 발명은 호스트가 모뎀으로 제어명령을 송신하고, 모뎀으로부터 제어명령에 대응하는 결과를 보고받을 수 있어, 사용자에 의한 모뎀 제어의 용이성 및 다양화를 지원할 수 있다.In addition, according to the present invention, the host may transmit a control command to the modem and receive a report corresponding to the control command from the modem, thereby supporting ease and diversification of modem control by the user.
도 1은 종래의 호스트와 모뎀 간의 인터페이스를 도시한 도면.
도 2a는 본 발명의 모뎀의 세부 구성을 도시한 구성도.
도 2b은 본 발명의 공유정보와 공유영역의 관계를 도시한 도면.
도 3은 본 발명의 공유정보 획득 방법을 도시한 흐름도.
도 4는 본 발명의 호스트의 패킷 송신 절차를 도시한 도면.
도 5는 본 발명의 호스트의 패킷 수신 절차를 도시한 도면.
도 6은 본 발명의 호스트의 제어명령 송신 절차를 도시한 도면.
도 7은 본 발명의 호스트의 제어결과 수신 절차를 도시한 도면.1 illustrates an interface between a conventional host and a modem.
Figure 2a is a block diagram showing the detailed configuration of the modem of the present invention.
2B is a diagram illustrating a relationship between shared information and a shared area of the present invention.
3 is a flowchart illustrating a method of obtaining shared information of the present invention.
4 is a diagram illustrating a packet transmission procedure of a host of the present invention.
5 is a diagram illustrating a packet reception procedure of a host of the present invention.
6 is a diagram illustrating a control command transmission procedure of a host of the present invention.
7 is a diagram illustrating a procedure for receiving a control result of a host of the present invention.
이제 본 발명의 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다. 도 2a는 본 발명의 실시예에 따른 호스트 인터페이스 장치를 도시한 구성도이며, 도 2b는 본 발명의 실시예에 따른 공유정보를 도시한 도면이다.Embodiments of the present invention will now be described in detail with reference to the accompanying drawings. 2A is a block diagram illustrating a host interface device according to an exemplary embodiment of the present invention, and FIG. 2B is diagram illustrating shared information according to an exemplary embodiment of the present invention.
도 2a에 도시된 바와 같이, 본 발명의 실시예에 따른 호스트 인터페이스 장치(10)는 호스트(100) 및 모뎀(200)을 포함한다. As shown in FIG. 2A, a
모뎀(200)은 메모리 풀(250), 제어부(210), 공유정보 저장부(220), 송신 공유영역(230) 및 수신 공유영역(240)을 포함한다. 도 2a에서는 메모리 풀(250)이 모뎀(200)에 포함되는 경우를 예로 들어 설명하였지만, 메모리 풀(250)은 모뎀(200) 외부에 존재할 수도 있음은 물론이다. 또한, 도 2a에서는 설명의 편의를 위하여 송신 공유영역(230) 및 수신 공유영역(240)이 메모리 풀(250)과 별개로 존재하는 것처럼 도시하였지만, 사실 송신 공유영역(230) 및 수신 공유영역(240)의 메모리 풀(250)의 디스크립터 및 메모리 블록 중에서 호스트(100)에 공유되는 영역을 별도로 도시한 것이다.The
메모리 풀(250)은 복수의 디스크립터 및 각 디스크립터에 연결(링크)된 복수의 메모리 블록을 포함한다. 이때, 디스크립터는 패킷의 크기 등과 같은 패킷 파라미터를 저장하며, 메모리 블록은 송수신 되는 패킷의 실제 데이터를 저장한다.The
제어부(210)는 호스트(100)로부터 질의(QUERY) 인터럽트를 전달받으면, 송수신에 사용될 디스크립터를 결정하고, 송수신에 사용될 디스크립터의 주소를 포함하는 공유영역의 정보를 설정하여 공유정보 저장부(220)에 저장하고, 호스트(100)로 질의완료 인터럽트를 송신한다.When the
또한, 제어부(210)는 메모리 풀(250)에서 송신 공유영역(230) 및 수신 공유영역(240)의 디스크립터(및 메모리 블록)를 설정하고, 송신 공유영역(230) 및 수신 공유영역(240)의 디스크립터(및 메모리 블록)를 이용하여 외부로부터 수신된 패킷을 호스트(100)로 송수신하고, 공유정보를 참조하여 사용완료된 디스크립터(및 메모리 블록)을 메모리 풀(250)에 반환한다.In addition, the
공유정보 저장부(220)는 도 2b와 같은 송신 공유영역의 정보 및 수신 공유영역의 정보 등을 저장하며, 제어부(210) 또는 호스트(100)에 의해 설정될 수 있다. 이하, 각 공유정보에 대하여 설명한다.The sharing
BlockCountPerDesc는 하나의 디스크립터(Descriptor)에 연결된 메모리 블록의 개수이며, 제어부(210)에 의해 가변적으로 설정되나, 통상, 하나의 디스크립터에 의해 메모리 블록의 개수는 메모리 블록들의 총 용량이 하나의 패킷의 크기 이상이 되도록 설정된다. 이하의 명세서에서는 BlockCountPerDesc가 "2"로 설정된 경우를 예로 들어 설명한다. BlockCountPerDesc is the number of memory blocks connected to one descriptor and is variably set by the
BlockSize는 메모리 블록의 크기는 각 메모리 블록의 저장공간의 크기이며, 예컨대, Byte 단위일 수 있다. BlockSize is a size of a memory block is the size of the storage space of each memory block, for example, may be a byte unit.
* TXDesc는 송신 공유영역의 디스크립터 시작주소이며, 제어부(210)에 의해 가변적으로 설정될 수 있다. * TXDesc may be variably set by the descriptor is the start address, the
* RxDesc는 수신 공유영역의 디스크립터 시작주소이며, 제어부(210)에 의해 가변적으로 설정될 수 있다. * RxDesc is a descriptor start address of the reception sharing area, and can be variably set by the
RxDescCount는 외부로부터 수신된 수신 디스크립터의 개수(즉, 수신된 패킷의 개수)이며, 제어부(210)에 의해 설정되며, RX_END 인터럽트를 수신하면 0으로 초기화되고, 초기화 이후의 수신 패킷의 개수를 카운트한다. RxDescCount is the number of received descriptors received from the outside (that is, the number of received packets) and is set by the
RxDoneCount는 수신 공유영역(240)으로부터 호스트(100)로 수신 완료된 수신 디스크립터의 개수이며, 호스트(100)에 의해 설정된다. RxDoneCount is the number of reception descriptors received from the
RxEndCount는 수신완료 인터럽트를 송신한 이후에 호스트(100)에 의해 마지막으로 수신 완료된(반환할) 디스크립터의 개수이며, 호스트(100)에 의해 설정된다. RxEndCount is the number of descriptors that have been received (returned) last by the
RxDoneFlag는 수신완료(RX_DONE) 인터럽트의 처리 상태로서, RxEndCount에 기록된 개수의 수신 디스크립터에 연결된 메모리 블록을 메모리 풀(250)로 반환중인지 여부를 나타내며, 제어부(210)에 의해 설정된다. RxDoneFlag indicates whether return a processing state of the reception completion (RX_DONE) interrupt, a memory block is connected to the reception descriptor of the number recorded in the R x EndCount to the
RxDoneFlag는 호스트(100)에 의해 1로 설정되고, 모뎀(200)은 RxDoneFlag가 1로 설정됨을 확인하면, RxEndCount 및 RxEndCount의 설정된 디스크립터의 개수에 대응하는 메모리 블록을 메모리 풀에 반환하고, RxDoneFlag를 0으로 설정한다. 본 명세서에서는 RxDoneFlag가 1일 때 모뎀(200)이 메모리 블록을 반환중인 경우를 예로 들어 설명하였지만, 그에 한정되지 않는다.When the RxDoneFlag is set to 1 by the
* H2FCntl: 호스트(100)에서 모뎀(200)으로 송신되는 제어명령을 입력하는 제어명령 송신 버퍼의 주소로서, 고정 주소이며, 호스트(100)가 모뎀(200)으로 제어명령을 송신할 때 설정된다. * H2FCntl: the
*F2HCntl: 모뎀(200)에서 호스트(100)로 송신되는 제어명령을 입력하는 제어결과 보고 버퍼의 주소로서, 고정 주소이며, 모뎀(200)이 호스트(100)로 제어명령에 대응하는 처리를 수행한 후 그에 대한 보고를 할 때 설정된다. * F2HCntl : Address of a control result report buffer for inputting a control command transmitted from the
이하, 도 3 내지 5를 참조하여 본 발명의 실시예에 따른 호스트 및 모뎀의 데이터 송수신 과정에 대하여 설명한다.Hereinafter, a process of transmitting and receiving data between a host and a modem according to an embodiment of the present invention will be described with reference to FIGS. 3 to 5.
도 3은 본 발명의 실시예에 따른 호스트의 공유정보 획득 방법을 도시한 흐름도이다.3 is a flowchart illustrating a method of obtaining sharing information of a host according to an embodiment of the present invention.
도 3을 참조하면, 호스트(100)는 모뎀(200)으로 공유정보에 대한 질의(QUERY) 인터럽트를 송신한다(S310).Referring to FIG. 3, the
모뎀(200)은 질의 인터럽트를 수신하면, 공유정보 저장부(220)에서 설정되지 않은 공유정보를 설정한 후 질의완료(QUERY_DONE) 인터럽트를 송신하며, 호스트(100)는 질의완료 인터럽트를 수신한다(S320).When the
이때, 모뎀(200)은 디스크립터에 연결된 메모리 블록의 개수(BlockCountPerDesc), 메모리 블록의 크기(BlockSize), 송수신 제어명령 버퍼 주소(*H2FCntl 및 *F2HCntl) 및 송수신 공유영역의 디스크립터 시작주소(*TXDesc 및 *RxDesc)를 설정하고, 수신 과정에서 사용되는 송신 디스크립터 설정(RxDescCount, RxDoneCount, RxEndCount 및 RxDoneFlag)을 초기화한다. 이때, 송수신 제어명령 버퍼의 주소는 고정되며, 디스크립터에 연결된 메모리 블록의 개수, 메모리 블록의 크기는 모뎀(200)의 초기화시에 설정되며, 송수신 공유영역의 디스크립터 시작주소는 송수신 과정에서 메모리 풀(250)의 어떤 디스크립터를 사용할지 여부에 따라 가변 설정될 수 있다.At this time, the
호스트(100)는 질의완료 인터럽트를 수신하면, 호스트 인터페이스의 이미 알고 있는 공유정보 저장부(220)의 주소로부터 공유정보를 읽어온다(Read)(S330).When the
이하, 도 4를 참조하여 호스트의 패킷 송신 절차에 대하여 설명한다. 도 4는 본 발명의 실시예에 따른 호스트의 공유정보를 획득한 후, 패킷 송신 절차를 도시한 도면(구성도 및 흐름도)이다.Hereinafter, a packet transmission procedure of the host will be described with reference to FIG. 4. 4 is a diagram illustrating a packet transmission procedure after acquiring shared information of a host according to an embodiment of the present invention (configuration and flowchart).
도 4는 모뎀(200)을 통한 호스트의 패킷 송수신에서, 송신 속도는 크게 문제되지 않으나 수신 속도가 주로 문제되는 특성을 고려하여 하나의 송신 과정(송신요청 인터럽트의 송신 후부터 송신완료 인터럽트의 수신 전)에서 하나의 패킷을 송신하도록 송신 디스크립터가 하나만 구비된 경우를 예로 들어 설명하였다. 따라서, 도 4에서 호스트(100) 및 모뎀(200)은 하나의 송신 과정에서 하나의 패킷씩 송신한다.4 illustrates a single transmission process (after transmission of a transmission request interrupt and before reception of a transmission completion interrupt) in consideration of a characteristic in which transmission speed is not a big problem but reception speed is mainly a problem in packet transmission and reception of a host through the
도 4를 참조하면, 호스트(100)는 송신 디스크립터 시작주소를 참조하여 송신 디스크립터에 연결된 메모리 블록에 모뎀(200)을 통해 송신할 패킷을 저장한다(S410).Referring to FIG. 4, the
구체적으로, 호스트(100)는 송신 디스크립터 시작주소를 참조하여 송신 디스크립터의 길이(Length) 필드에 송신하고자 하는 패킷의 크기를 저장하고, 송신 디스크립터에 연결(링크)된 메모리 블록의 맥 헤더(MAC Header)의 목적지 ID(dstID) 필드에 패킷의 목적지 ID를 쓰며, 메모리 블록의 맥 헤더 이후부터 길이 필드에 기록된 크기에 대응하는 패킷을 순차적으로 쓴다. 이때, 하나의 송신 디스크립터에 복수의 메모리 블록이 연결된 경우, 두 번째 메모리 블록은 맥 헤더의 목적지 ID 필드를 구비하지 않을 수 있다.Specifically, the
호스트(100)는 송신 디스크립터에 연결된 메모리 블록에 송신할 패킷을 저장한 후 모뎀(200)이 패킷을 외부로 송신하도록, 모뎀(200)에 송신요청(TX_REQ) 인터럽트를 송신한다(S420).The
그리고, 호스트(100)는 모뎀(200)으로부터 송신완료(TX_DONE) 인터럽트가 수신될 때까지 다음 패킷을 송신하지 않고 대기한다(S430). 이때, 모뎀(200)은 메모리 블록의 패킷을 외부로 송신하기 위한 송신 버퍼 처리를 수행하고, 송신완료 인터럽트를 송신한다.The
호스트(100)는 송신완료 인터럽트를 수신하면, (S410) 내지 (S430)단계를 통해 이후의 송신할 패킷을 송신한다(S440). 이때, 호스트(100)는 송신할 패킷이 더 이상 없으면, 송신 절차를 종료함은 물론이다.When the
이하, 도 5를 참조하여 본 발명의 실시예에 따른 호스트의 패킷 수신 절차에 대하여 설명한다. 도 5는 본 발명의 실시예에 따른 호스트의 공유정보를 획득한 후, 패킷 수신 절차를 도시한 도면(구성도 및 흐름도)이다. Hereinafter, a packet receiving procedure of a host according to an embodiment of the present invention will be described with reference to FIG. 5. 5 is a diagram illustrating a packet receiving procedure after acquiring shared information of a host according to an exemplary embodiment of the present invention (configuration and flow chart).
도 5를 참조하면, 호스트(100)는 모뎀(200)과의 인터페이스 작업을 수행하지않고, 수신요청 인터럽트를 대기한다(S500).Referring to FIG. 5, the
호스트(100)는, 모뎀(200)이 수신된 패킷이 수신할 것을 요청하기 위해 송신한, 수신요청(RX_REQ) 인터럽트를 수신한다(S510).The
호스트(100)는 자체 변수인 RxCount(수신요청 인터럽트 이후 수신완료 인터럽트 이전에 읽어온 디스크립터 개수를 설정) 및 ReadCount(수신요청 인터럽트 이후 수신종료 인터럽트 이전에 읽어온 디스크립터 개수를 설정)를 0으로 초기화한다(S520).The
호스트(100)는 수신 디스크립터 시작주소를 참조하여 수신 디스크립터에 연결된 메모리 블록으로부터 하나의 수신 패킷을 읽은 후, 수신 패킷의 개수에 대응하여 RxCount 및 ReadCount를 1씩 증가시킨다(S530).The
구체적으로, 호스트(100)는 수신 디스크립터 시작주소에 대응하는 수신 디스크립터의 길이 필드로부터 수신 패킷의 크기를 파악한다. 이때, 호스트(100)는 필요에 따라 수신 디스크립터의 RSSI 필드, SNR 필드에서 송수신 채널 정보(RSSI, SNR)를 읽어올 수도 있다. 이어서, 호스트(100)는 수신 디스크립터에 연결된 첫 번째 메모리 블록의 맥 헤더로부터 수신된 패킷을 송신한 송신지 ID를 획득하고, 메모리 블록의 맥 헤더 이후로부터 수신 패킷의 크기에 대응하는 수신 패킷의 페이로드를 읽어온다. 이때, 메모리 블록들은 서로 링크되었으므로, 호스트(100)는 메모리 블록 간의 링크를 따라가면서 수신 패킷을 읽을 수 있다.Specifically, the
호스트(100)는 RxCount 및 ReadCount를 1씩 증가시킨 후, 공유정보 저장부(220)의 RxDoneFlag가 0인지를 확인한다(S540).After increasing the RxCount and ReadCount by 1, the
호스트(100)는 RxDoneFlag가 0이면, 공유정보 저장부(220)의 RxDoneFlag를 1로 설정하고, 공유정보 저장부(220)의 RxDoneCount에 읽은 디스크립터의 개수(RxCount)를 변경 설정하고, RxCount를 0으로 초기화한 다음, 수신완료(RX_DONE) 인터럽트를 송신한다(S550). 그리고, 모뎀(200)은 수신완료 인터럽트를 수신하면, RxDoneCount에 대응하는 메모리 블록을 메모리 풀에 반환하고, RxDoneCount를 0으로 초기화하고, RxDoneFlag를 0으로 설정한다.When the RxDoneFlag is 0, the
호스트(100)는 읽어온 디스크립터의 개수(ReadCount)가 공유정보 저장부(220)의 RxDescCount 미만인지를 확인하여 모뎀(200)으로부터 읽어올 디스크립터가 더 있는지를 확인한다(S560).The
호스트(100)는 (S560)단계의 확인결과, 모뎀(200)으로부터 읽어올 디스크립터가 더 이상 없으면(모뎀(200)에 수신된 패킷을 모두 읽었으면), 공유정보 저장부(220)의 RxEndCount에 마지막 수신완료 인터럽트의 발생 이후에서 읽어온 디스크립터의 개수인 RxCount를 변경 설정하고, 모뎀(200)으로 수신종료(RX_END) 인터럽트를 송신한 후, 패킷 수신 절차를 종료한다(S570). 여기서, 모뎀(200)은 수신종료 인터럽트를 수신하면, RxEndCount에 설정된 수에 대응하는 메모리 블록을 메모리 풀에 반환한다.If the
한편, 호스트(100)는 수신 패킷을 읽은 후 RxDoneFlag가 0이 아님을 확인하면, 읽어온 디스크립터의 개수(ReadCount)가 공유정보 저장부(220)의 RxDescCount 미만인지를 확인하고(S560), 미만이면 지속적으로 다음 디스크립터에 연결된 메모리 블록으로부터 패킷을 읽는다.On the other hand, when the
또한, 호스트(100)는 (S560)단계의 확인결과, 읽어올 디스크립터가 더 있으면, 다음 디스크립터에 대해 (S520) 내지 (S560) 단계를 수행한다.In addition, if the
전술한 수신 절차에서 모뎀(200)은 디스크립터에 연결된 메모리 블록을 메모리 풀로 반환하면, 수신 디스크립터의 시작주소를 재설정하며, 호스트(100)는 수신 절차 수행중에 변경된 수신 디스크립터의 시작주소를 확인하면서 수신 패킷을 읽어온다.In the above-described reception procedure, when the
모뎀(200)은 수신 절차를 종료한 이후에 추가로 패킷이 수신되면, 전술한 (S510) 내지 (S570) 과정을 통해 추가로 패킷을 수신한다.When the
한편, 본 발명의 호스트(100)는 제어명령 송신 버퍼 및 제어결과 보고 버퍼를 통해서 모뎀(200)을 제어하고, 모뎀(200)으로부터 제어명령에 대응하는 이벤트의 수행결과를 보고받을 수 있는데, 이에 대해서 도 6 및 7을 참조하여 본 발명의 실시예에 따른 호스트의 제어명령 송수신 절차에 대하여 설명한다.Meanwhile, the
도 6은 본 발명의 실시예에 따른 호스트의 제어명령 송신 절차를 도시한 도면이다.6 is a diagram illustrating a control command transmission procedure of a host according to an embodiment of the present invention.
도 6을 참조하면, 호스트(100)는 모뎀(200)으로 지시할 제어명령이 있으면(S610), 공유정보로부터 확인된 제어명령 송신 버퍼(H2FCNTL)에 제어명령을 쓴다(S620). 이때, 제어명령은 초기화, 특정 채널에 대한 스캔 요청, 피코넷 제어, 동기화 요청, 자원할당 및 특정 정보 요청 등과 같이 모뎀(200)에 의해 수행되는 다양한 이벤트에 대한 지시일 수 있다.Referring to FIG. 6, if there is a control command to instruct the modem 200 (S610), the
호스트(100)는 제어명령 송신 버퍼에 제어명령을 저장한 후, 모뎀(200)으로 제어요청(CNTL_REQ) 인터럽트를 송신한다(S630).After storing the control command in the control command transmission buffer, the
호스트(100)는 추가로 모뎀(200)으로 송신할 제어명령이 있어도, 송신하지 않고 제어완료 인터럽트(CNTL_DONE)를 수신할 때까지 대기한다(S640). 이때, 모뎀(200)은 제어명령 송신 버퍼에 다른 제어명령을 수신할 수 있는 상태이면, 예컨대, 제어명령을 확인하고 제어명령에 따른 이벤트를 시작하면, 제어완료 인터럽트를 송신할 수 있다.Even if there is a control command to be transmitted to the
호스트(100)는 제어완료 인터럽트를 수신하면, 추가로 지시할 제어명령이 있는지를 확인한다(S650).When the
도 7은 본 발명의 실시예에 따른 호스트의 제어결과 수신 절차를 도시한 도면이다.7 is a diagram illustrating a procedure for receiving a control result of a host according to an exemplary embodiment of the present invention.
도 7을 참조하면, 호스트(100)는 모뎀(200)과의 인터페이스 작업을 수행하지않고, 보고(NOTIFY) 인터럽트를 대기한다(S700).Referring to FIG. 7, the
모뎀(200)은 제어명령에 따른 이벤트를 수행하고, 이벤트의 수행결과 보고할 내용을 제어결과 보고 버퍼(F2HCNTL)에 기록하고 보고(NOTIFY) 인터럽트를 송신하며, 호스트(100)는 보고 인터럽트를 수신한다(S710).The
호스트(100)는 보고 인터럽트를 수신하면 제어결과 보고 버퍼(F2HCNTL)로부터 제어명령에 대응하는 결과를 확인한다(S720).When the
호스트(100)는 제어명령에 대응하는 결과를 확인한 후, 보고완료(NOTIFY_DONE) 인터럽트를 송신한다(S730).After checking the result corresponding to the control command, the
한편, 호스트(100)는 도 6의 제어명령 송신 과정과 도 7의 제어결과 수신 과정을 비동기 방식으로 처리할 수 있음은 물론이다.Meanwhile, the
한편, 전술한 예에서는 호스트 및 모뎀 간의 패킷의 송수신 과정에서 송신 공유영역 및 수신 공유영역에 디스크립터를 설정하여 이용하는 경우를 예로 들어 설명하였지만, 송수신에 디스크립터가 불필요한 경우, 송수신 공유영역으로 메모리 블록만을 이용할 수도 있음은 물론이다.In the above-described example, a descriptor is set in the transmission sharing area and the reception sharing area during the transmission and reception of a packet between the host and the modem. For example, when a descriptor is not required for transmission and reception, only a memory block is used as the transmission and reception sharing area. Of course you can.
이와 같이, 본 발명은 수신 절차에서 메모리 블록을 빠르게 해제할 수 있어, 메모리 블록의 가용성을 높일 수 있고, 메모리 블록의 부족 현상을 개선할 수 있다.As described above, the present invention can quickly release the memory block in the reception procedure, thereby increasing the availability of the memory block and improving the shortage of the memory block.
또한, 본 발명에서 호스트는 모뎀으로 제어명령을 송신하고, 모뎀으로부터 제어명령에 대응하는 결과를 보고받을 수 있어, 사용자에 의한 모뎀 제어의 다양성 및 용이성을 제공할 수 있다.In addition, in the present invention, the host may transmit a control command to the modem and receive a result corresponding to the control command from the modem, thereby providing diversity and ease of modem control by the user.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.While the present invention has been described in detail with reference to the accompanying drawings, it is to be understood that the invention is not limited to the above-described embodiments. Those skilled in the art will appreciate that various modifications, Of course, this is possible. Accordingly, the scope of protection of the present invention should not be limited to the above-described embodiments, but should be determined by the description of the following claims.
Claims (11)
상기 모뎀에 질의하여 상기 송신 공유영역 및 상기 수신 공유영역에 대한 공유정보를 확인하고, 상기 공유정보를 참조하여 송신 패킷을 상기 송신 공유영역에 저장하여 상기 모뎀으로 송신하고, 상기 모뎀에 수신된 수신 패킷을 상기 수신 공유영역으로부터 읽어와 상기 모뎀으로부터 상기 수신 패킷을 수신하는 호스트를 포함하며,
상기 모뎀은, 상기 수신된 패킷을 모두 읽어오지 않더라도, 상기 호스트에 의해 수신된 수신 패킷이 저장된 상기 적어도 하나의 메모리 블록을 상기 메모리 풀로 반환하고, 상기 수신 패킷의 더 수신되면 상기 메모리 풀에서 다른 상기 적어도 하나의 메모리 블록을 상기 수신 공유영역으로 재설정하는 것인 호스트 인터페이스 장치.A modem configured to set at least one memory block in a memory pool as a transmission sharing area, and set at least one memory block not set as the transmission sharing area in the memory pool as a reception sharing area; And
Query the modem to confirm sharing information for the transmission sharing area and the reception sharing area, store transmission packets in the transmission sharing area with reference to the sharing information, and transmit them to the modem; A host reading a packet from the receiving sharing area and receiving the received packet from the modem,
The modem may return the at least one memory block in which a received packet received by the host is stored to the memory pool even if the received packet is not read in all, and if the received packet is further received, another modem from the memory pool. And resetting at least one memory block to the receive sharing area.
상기 공유정보는, 상기 송신 공유영역으로 설정된 메모리 블록의 정보를 포함하며,
상기 호스트는, 상기 메모리 블록의 정보를 참조하여 상기 송신 공유영역의 상기 적어도 하나의 메모리 블록에 상기 송신 패킷을 저장하고, 송신요청 인터럽트를 출력한 후 대기하다가, 송신완료 인터럽트를 수신하면, 이후의 상기 송신 패킷을 상기 송신 공유영역의 적어도 하나의 메모리 블록에 저장하며,
상기 모뎀은, 상기 송신요청 인터럽트를 확인하면 상기 송신 공유영역의 상기 적어도 하나의 메모리 블록 내 상기 송신 패킷을 외부로 송신하기 위해 송신 버퍼 처리한 후, 상기 송신완료 인터럽트를 송신하는 것인 호스트 인터페이스 장치.The method of claim 1,
The sharing information includes information of a memory block set as the transmission sharing area,
The host stores the transmission packet in the at least one memory block of the transmission sharing area with reference to the information of the memory block, waits after outputting a transmission request interrupt, and then receives a transmission completion interrupt. Store the transmission packet in at least one memory block of the transmission sharing area,
The modem may transmit the transmission completion interrupt after processing the transmission buffer to transmit the transmission packet in the at least one memory block of the transmission sharing area to the outside when the transmission request interrupt is confirmed. .
상기 공유정보는, 상기 수신 공유영역으로 설정된, 메모리 블록의 정보, 외부로부터 상기 모뎀에 수신된 패킷의 개수, 상기 수신 공유영역으로부터 상기 호스트에 전달된 패킷의 개수 및 수신완료 인터럽트의 처리상태를 포함하며,
상기 호스트는, 상기 모뎀으로부터 수신요청 인터럽트를 수신하면, 상기 메모리 블록의 정보를 참조하여 상기 수신 공유영역의 첫 번째 메모리 블록으로부터 순차적으로 상기 수신 패킷을 읽어온 후, 읽어온 수신 패킷의 개수를 카운트하고, 상기 전달된 패킷의 개수를 변경 설정한 다음, 수신완료 인터럽트를 출력하여 읽어온 상기 수신 패킷이 저장된 메모리 블록을 상기 메모리 풀로 반환할 것을 상기 모뎀에 지시하며, 상기 공유정보로부터 상기 모뎀에 수신된 패킷을 모두 읽어왔음을 확인하면, 마지막으로 상기 전달된 패킷의 개수를 설정하고, 수신종료 인터럽트를 출력하고 수신 과정을 종료하며,
상기 모뎀은, 상기 수신완료 인터럽트를 확인하면, 상기 전달된 패킷의 개수에 대응하는 메모리 블록을 상기 메모리 풀로 반환하고, 상기 수신종료 인터럽트를 확인하면, 상기 마지막으로 전달된 패킷의 개수에 대응하는 메모리 블록을 상기 메모리 풀로 반환하며, 상기 메모리 풀로 반환된 메모리 블록이 있거나, 상기 재설정한 메모리 블록이 있으면, 상기 메모리 블록의 정보를 재설정하는 것인 호스트 인터페이스 장치.The method of claim 1,
The sharing information includes information of a memory block set as the reception sharing area, the number of packets received by the modem from the outside, the number of packets transmitted from the reception sharing area to the host, and the processing status of the reception completion interrupt. ,
When the host receives a reception request interrupt from the modem, the host sequentially reads the reception packet from the first memory block of the reception sharing area by referring to the information of the memory block, and then counts the number of the received reception packets. Change and set the number of delivered packets, and output a reception interrupt to instruct the modem to return a memory block storing the received packet to the memory pool, and receive from the shared information to the modem. Confirming that all the received packets have been read, finally set the number of forwarded packets, output a reception interrupt, terminate the reception process,
The modem may return a memory block corresponding to the number of delivered packets to the memory pool when the received interrupt is confirmed, and when the reception interrupt is confirmed, the memory corresponding to the number of the last delivered packets. Returning a block to the memory pool, and resetting information of the memory block if there is a memory block returned to the memory pool or if the reset memory block is present.
상기 수신완료 인터럽트의 처리상태로부터 상기 모뎀이 상기 전달된 패킷에 대응하는 메모리 블록을 반환중인지를 확인하고, 상기 메모리 블록을 반환중에 있지 않으면, 상기 전달된 패킷의 개수를 변경 설정한 후, 상기 수신완료 인터럽트를 출력하며,
상기 메모리 블록을 반환중이면, 상기 전달된 수신 패킷의 개수를 증가시키고 상기 수신완료 인터럽트를 출력하지 않으며, 상기 읽어온 수신 패킷의 이후 상기 수신 패킷이 저장된 메모리 블록으로부터 상기 이후 수신 패킷을 읽어오는 것인 호스트 인터페이스 장치.The method of claim 3, wherein the host,
Check whether the modem is returning a memory block corresponding to the forwarded packet from the processing state of the reception completion interrupt; if the memory block is not returning, change the number of forwarded packets and set the received number; Outputs a completion interrupt,
If the memory block is being returned, increasing the number of received packets received and not outputting the received interrupt, and reading the subsequent received packets from the memory block in which the received packets are stored after the read received packets. Host interface device.
상기 호스트의 요청에 따라 상기 공유정보를 제공하며, 상기 제어요청 인터럽트를 수신하면 상기 제어명령에 따른 이벤트를 수행하며, 상기 이벤트의 수행을 완료하면 상기 제어결과를 상기 보고 버퍼에 저장한 후 상기 제어완료 인터럽트를 송신하는 모뎀을 포함하되,
상기 호스트에 의한 상기 제어명령의 송신 및 상기 모뎀에 의한 상기 제어결과의 보고는, 비동기 방식으로 수행되는 것인 호스트 인터페이스 장치.After the control command is stored in the control buffer of the shared area with reference to the shared information, the control request interrupt is transmitted. When the control completion interrupt is received, the control result corresponding to the control command is read from the report buffer by referring to the shared information. Host; And
The shared information is provided according to a request of the host, and upon receiving the control request interrupt, an event according to the control command is performed, and when the execution of the event is completed, the control result is stored in the report buffer and the control is performed. Includes a modem that sends a completion interrupt,
And sending the control command by the host and reporting the control result by the modem are performed in an asynchronous manner.
초기화, 특정 채널 스캔, 피코넷의 제어, 자원할당 및 특정 정보 요청과 같은 상기 모뎀에 의한 이벤트 수행을 지시하는 명령을 포함하는 호스트 인터페이스 장치.The method of claim 5, wherein the control command,
Host interface device including instructions for performing an event by the modem, such as initialization, specific channel scan, control of the piconet, resource allocation, and specific information request.
모뎀으로부터 수신된 패킷이 있음을 의미하는 수신요청 인터럽트를 수신하면, 공유정보를 참조하여 수신 공유영역의 디스크립터 및 상기 디스크립터에 연결된 적어도 하나의 메모리 블록으로부터 패킷을 하나씩 읽어오는 단계;
상기 수신된 패킷을 모두 읽어오지 않더라도, 읽어온 상기 패킷을 저장한 디스크립터 및 상기 메모리 블록이 존재하면, 상기 읽어온 패킷을 저장한 디스크립터 및 상기 메모리 블록을 메모리 풀로 반환할 것을 상기 모뎀에 지시하는 단계
를 포함하는 패킷 수신 방법.As a packet reception method of the host,
Reading a packet from a descriptor of a reception sharing area and at least one memory block connected to the descriptor by referring to sharing information when receiving a reception request interrupt indicating that there is a packet received from a modem;
Instructing the modem to return the descriptor storing the read packet and the memory block to the memory pool if the descriptor storing the read packet and the memory block exist, even if all the received packets are not read.
Packet receiving method comprising a.
상기 모뎀에 질의하여 상기 메모리 풀 내 복수의 메모리 블록 중에서, 수신 공유영역으로 설정된 적어도 하나의 메모리 블록의 정보, 상기 모뎀에 수신된 패킷의 개수, 반환할 메모리 블록의 개수 및 수신완료 인터럽트의 처리상태를 포함하는 상기 공유정보를 확인하는 단계
를 더 포함하는 패킷 수신 방법.The method of claim 7, wherein
Querying the modem for information on at least one memory block set as a reception sharing area among the plurality of memory blocks in the memory pool, the number of packets received by the modem, the number of memory blocks to return, and the processing status of a reception interrupt; Checking the sharing information including a
Packet receiving method further comprising.
상기 읽어오는 단계는, 상기 모뎀으로부터 상기 수신요청 인터럽트를 수신하면, 상기 공유정보를 참조하여 상기 수신 공유영역의 상기 적어도 하나의 메모리 블록으로부터 패킷을 하나씩 읽어온 다음, 상기 수신 공유영역으로부터 읽어온 패킷의 개수를 카운트하고, 상기 반환할 메모리 블록의 개수를 증가시키고, 상기 수신완료 인터럽트의 처리상태를 확인하여 상기 모뎀이 상기 반환할 메모리 블록을 반환중인지를 확인하는 단계를 포함할 때,
상기 지시하는 단계는, 상기 모뎀이 상기 메모리 블록을 반환중에 있지 않으면, 상기 수신완료 인터럽트를 출력하여 상기 반환할 메모리 블록을 상기 메모리 풀로 반환할 것을 상기 모뎀에 지시하는 제2 단계를 포함하며, 상기 반환할 메모리 블록의 개수는, 상기 수신요청 인터럽트의 수신 이후부터 상기 수신완료 인터럽트의 송신 이전까지 상기 호스트가 상기 수신 공유영역으로부터 읽어간 패킷의 개수로 설정되고,
상기 반환중인지를 확인하는 단계 및 상기 지시하는 제2 단계를 적어도 한번 수행한 후, 상기 지시하는 단계는, 상기 공유정보로부터 상기 수신된 패킷의 개수와 상기 읽어온 패킷의 개수가 동일한지를 확인하고, 동일함을 확인하면, 이전의 상기 수신완료 인터럽트를 송신한 후에 읽어온 패킷의 개수를 상기 반환할 메모리 블록의 개수로 설정하고, 수신종료 인터럽트를 출력하여 상기 수신 공유영역으로부터 패킷을 수신하는 과정을 종료하는 단계
를 포함하는 것인 패킷 수신 방법.9. The method of claim 8,
In the reading step, when the reception request interrupt is received from the modem, the packet is read one by one from the at least one memory block of the reception sharing area with reference to the sharing information, and then the packet is read from the reception sharing area. Counting the number of memory units, increasing the number of memory blocks to be returned, and checking whether the modem is returning the memory blocks to be returned by checking the processing status of the reception interrupt.
And the indicating step includes a second step of instructing the modem to output the received interrupt to return the memory block to be returned to the memory pool if the modem is not returning the memory block. The number of memory blocks to be returned is set to the number of packets read from the reception sharing area by the host from the reception of the reception request interrupt until the transmission of the reception interrupt.
After confirming whether the returning step and the indicating second step are performed at least once, the indicating step includes: checking whether the number of received packets and the number of read packets are the same from the shared information; If it is confirmed that the same, the process of receiving the packet from the receiving sharing area by setting the number of packets read after transmitting the previously received reception interrupt to the number of the memory block to be returned, and outputting the reception interrupt Step to end
Packet receiving method comprising a.
상기 모뎀이 상기 반환할 메모리 블록을 반환중임을 확인하면, 상기 수신완료 인터럽트를 출력하지 않고, 상기 반환할 메모리 블록의 개수만 증가시키는 단계; 및
상기 수신 공유영역의 적어도 하나의 메모리 블록으로부터 이후의 수신된 패킷을 읽어온 다음, 상기 수신완료 인터럽트의 처리상태를 확인하는 단계
를 포함하는 것인 패킷 수신 방법.10. The method of claim 9, wherein checking whether the return is being performed,
If the modem determines that the memory block to be returned is being returned, increasing the number of memory blocks to be returned without outputting the reception interrupt; And
Reading a subsequent received packet from at least one memory block of the receiving sharing area, and then checking a processing status of the received interrupt;
Packet receiving method comprising a.
상기 모뎀은, 상기 반환할 메모리 블록을 상기 메모리 풀로 반환하면, 상기 반환할 메모리 블록의 개수를 초기화하는 단계
를 더 포함하는 것인 패킷 수신 방법.
10. The method of claim 9,
When the modem returns the block of memory to be returned to the memory pool, initializing the number of memory blocks to be returned.
Packet receiving method further comprising.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120012889A KR101302569B1 (en) | 2012-02-08 | 2012-02-08 | Apparatus and Method for Host Interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120012889A KR101302569B1 (en) | 2012-02-08 | 2012-02-08 | Apparatus and Method for Host Interface |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130091525A KR20130091525A (en) | 2013-08-19 |
KR101302569B1 true KR101302569B1 (en) | 2013-09-02 |
Family
ID=49216685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120012889A Active KR101302569B1 (en) | 2012-02-08 | 2012-02-08 | Apparatus and Method for Host Interface |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101302569B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102461890B1 (en) | 2016-12-07 | 2022-11-02 | 주식회사 알티미디어 | Method and apparatus for providing interactive screen |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100871729B1 (en) | 2006-01-17 | 2008-12-05 | (주)케이티에프테크놀로지스 | Multimode terminal and data packet forwarding method |
KR20090130215A (en) * | 2001-08-31 | 2009-12-21 | 톰슨 라이센싱 | Multi-function modems with external memory adapters, devices with such modems, and methods of using such modems |
-
2012
- 2012-02-08 KR KR1020120012889A patent/KR101302569B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090130215A (en) * | 2001-08-31 | 2009-12-21 | 톰슨 라이센싱 | Multi-function modems with external memory adapters, devices with such modems, and methods of using such modems |
KR100871729B1 (en) | 2006-01-17 | 2008-12-05 | (주)케이티에프테크놀로지스 | Multimode terminal and data packet forwarding method |
Also Published As
Publication number | Publication date |
---|---|
KR20130091525A (en) | 2013-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11442853B2 (en) | Controlling method of a memory card | |
US20230396694A1 (en) | Memory system allowing host to easily transmit and receive data | |
US12135641B2 (en) | Controlling method of a memory card | |
TWI517635B (en) | Memory device and its wireless communication control method | |
JP2008257419A (en) | Communication adapter and data transfer method for communication adapter | |
US20090323723A1 (en) | Wireless communication apparatus and packet transfer method thereof | |
US9832279B2 (en) | Station, target apparatus, initiator apparatus, communication system, and communication method | |
CN108141902B (en) | Wireless data acknowledgment communication using frame aggregation | |
KR101302569B1 (en) | Apparatus and Method for Host Interface | |
KR102818734B1 (en) | A method of transmitting and receiving wireless communication signal and an apparatus for transmitting and receiving wireless communication signal | |
US20120002587A1 (en) | Communication processor and communication processing method | |
CN104412559B (en) | Wireless usb protocol | |
US9052841B2 (en) | Electronic device and data transfer method | |
KR101245082B1 (en) | Signaling method and apparatus for channel swiching in wlan | |
KR100986988B1 (en) | Interface device and method | |
WO2024140532A1 (en) | Control message communication method and apparatus, device, and storage medium | |
JP5600740B2 (en) | Response device, integrated circuit thereof, response method, and response system | |
KR100602891B1 (en) | Network interface card and its DMMA data transmission / reception control method | |
JP6039350B2 (en) | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL PROGRAM | |
JP7079446B2 (en) | Communication system and control method | |
JP6785009B2 (en) | Communication device and control method of communication device | |
CN119729201A (en) | Remote control and transmission device for multiple high-frame-rate cameras | |
JP2003233581A (en) | Data communication control device having DMA control device | |
JP2003037596A (en) | Communication device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20120208 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130321 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20130805 |
|
PG1501 | Laying open of application | ||
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20130827 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20130827 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20160822 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20160822 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180627 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20180627 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20200720 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20210802 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20220705 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20230621 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20240624 Start annual number: 12 End annual number: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20250624 Start annual number: 13 End annual number: 13 |