KR20010101510A - Microcontroller apparatus for providing network access to a host system - Google Patents

Microcontroller apparatus for providing network access to a host system Download PDF

Info

Publication number
KR20010101510A
KR20010101510A KR1020017008870A KR20017008870A KR20010101510A KR 20010101510 A KR20010101510 A KR 20010101510A KR 1020017008870 A KR1020017008870 A KR 1020017008870A KR 20017008870 A KR20017008870 A KR 20017008870A KR 20010101510 A KR20010101510 A KR 20010101510A
Authority
KR
South Korea
Prior art keywords
network
host system
control unit
protocol
data
Prior art date
Application number
KR1020017008870A
Other languages
Korean (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
Priority claimed from HU9900103A external-priority patent/HU9900103D0/en
Priority claimed from HU9901701A external-priority patent/HUP9901701A2/en
Application filed by 플랫스택 리미티드 filed Critical 플랫스택 리미티드
Publication of KR20010101510A publication Critical patent/KR20010101510A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

호스트 시스템으로의 네트워크 액세스를 제공하기 위한 마이크로컨트롤러 장치는, 호스트 시스템에 결합된 주변 인터페이스(8), 상기 액세스가 제공되는 네트워크에 결합된 네트워크 인터페이스(7), 상기 네트워크 인터페이스에 결합되어 트래픽과 관련된 데이터를 네트워크에 또한 네트워크로부터 저장하기 위한 저장 수단(4, 5), 마이크로코드에 의해 동작되며 메모리를 갖는 제어 유닛(1)을 포함하고, 이 유닛은 상기 모든 수단에 결합되어 있으며 체킹, 처리 및 호스트 시스템에서 네트워크로의 통신의 경우 어떠한 별개의 운영 시스템을 이용하지 않고도 단일층의 구조인 표준 네트워크 프로토콜을 생성하는 것으로 상기 호스트 시스템에의 네트워크 액세스를 제공하도록 프로그램되어 있다.A microcontroller device for providing network access to a host system includes a peripheral interface 8 coupled to a host system, a network interface 7 coupled to a network to which the access is provided, coupled to the network interface and associated with traffic. Storage means (4, 5) for storing data in the network and also from the network, a control unit (1) operated by microcode and having a memory, which is coupled to all of the above means and checks, processes and In the case of communication from the host system to the network, it is programmed to provide network access to the host system by creating a standard network protocol that is a single layer structure without using any separate operating system.

Description

호스트 시스템으로의 네트워크 액세스를 제공하기 위한 마이크로컨트롤러 장치{MICROCONTROLLER APPARATUS FOR PROVIDING NETWORK ACCESS TO A HOST SYSTEM}MICROCONTROLLER APPARATUS FOR PROVIDING NETWORK ACCESS TO A HOST SYSTEM}

인터넷 어플리케이션의 범위의 급속한 증가에 따라, 전자 산업, 특히 컴퓨터 산업의 개발 방향은 여러 유형과 목적의 장치의 연결을 포함하는 통신을 개선하고, 그 장치들에 대한 네트워크 액세스를 형성하는 것으로 이루어진다. 용어 "네트워크 액세스" 및 "통신"은 일상적인 사용에서 인터넷 액세스가 이해된다는 가정하에서 일반적으로 사용되는 용어이다. 본 명세서에서 인터넷 액세스라는 용어는 모든 종류의 네트워크 액세스를 포함하는 것으로 광범위하게 이해될 것이다.With the rapid increase in the range of Internet applications, the development direction of the electronics industry, in particular the computer industry, consists in improving communications, including the connection of devices of different types and purposes, and forming network access to those devices. The terms "network access" and "communication" are terms generally used on the assumption that Internet access is understood in everyday use. The term internet access herein will be understood broadly to include all kinds of network access.

종래의 네트워크 통신 솔루션에서는, 컴퓨터 간의 접속이 이루어지고, 이 통신의 형성과 유지는 다층의 계층적 구조를 갖는 컴퓨터의 운영 시스템에 의해 보장되게 된다. 네트워크 통신은 국제적 수준에서 단일 방식으로 적용되는 표준적인 고정 규약에 기초한다. 이들 규약은 모두 각각의 기능을 갖는 미리 정해진 개수의프로토콜을 포함한다. 프로토콜은 실제의 데이터 전송에 앞서는 순차적인 일련의 신호이다.In a conventional network communication solution, a connection is made between computers, and the formation and maintenance of this communication is ensured by a computer operating system having a multi-layered hierarchical structure. Network communication is based on standard fixed protocols applied in a single way at the international level. All of these protocols contain a predetermined number of protocols with their respective functions. A protocol is a sequential series of signals that precedes the actual data transfer.

이들 프로토콜의 상세한 정의 및 설명은 공중적인 입수 가능한 정보를 포함한다. RFC(Request For Comments) 다큐먼트는 표준으로서 유효 인터넷 프로토콜들을 포함하며, 이 프로토콜들은 어드레스 rfc/rfc####.txt 또는 rfc/rfc####.PS인 NIC.DDN.MIL 영역에서 FTP 또는 Kermit의 루트에 의해 발견될 수 있으며, 여기에서 표시 "####"는 최초의 제로가 생략된 때 필요한 프로토콜의 RFC 번호이다. 예를 들어 다음의 어드레스에서 표시 "####"는 요청된 프로토콜 FTP://NIC.DDN.MIL/rfc/rfc####.txt 또는 FTP://NIC.DDN.MIL/rfc/rfc####.ps의 RFC 번호를 의미한다. 본 명세서에서 사용되는 프로토콜의 RFC 식별자는 다음과 같다.Detailed definitions and descriptions of these protocols include publicly available information. The Request For Comments (RFC) document contains valid Internet protocols as a standard, which can be either FTP or in the NIC.DDN.MIL area at address rfc / rfc ####. Txt or rfc / rfc ####. PS. Can be found by the root of Kermit, where the indication "####" is the RFC number of the protocol required when the first zero is omitted. For example, the mark "####" at the following address indicates that the requested protocol is FTP://NIC.DDN.MIL/rfc/rfc####.txt or FTP://NIC.DDN.MIL/rfc/ rfc ####. ps. The RFC identifier of the protocol used in the present specification is as follows.

PPP 프로토콜: 1661 및 1570 및 1334,PPP protocols: 1661 and 1570 and 1334,

IP 프로토콜: 791 및 815 및 1332IP protocol: 791 and 815 and 1332

TCP 프로토콜: 793TCP protocol: 793

HTTP 프로토콜은 RFC에 직접 정의되지 않지만, 어드레스 http://www.w3.org에서 액세스될 수 있으며 항상 가장 최근의 버전을 입수할 수 있다.The HTTP protocol is not defined directly in the RFC, but can be accessed at the address http://www.w3.org and always the latest version is available.

이런 통신이 양단에 컴퓨터 계층의 존재를 필요로 한다는 사실에 비추어 볼 때, 이용 가능한 조건과 규약은 컴퓨터에 기초한 운영 시스템이 설치되어 있지 않은 전자 장치가 임의의 직접 네트워크 통신에 참여할 수 있도록 만들어지지 않는다.In view of the fact that this communication requires the existence of a computer layer at both ends, the available conditions and protocols are not designed to allow electronic devices that do not have a computer-based operating system to participate in any direct network communication. .

매우 광범위한 기술 분야에서 예를 들어, 텔레메트리(telemetry), 텔레컨트롤 또는 프로세스 제어의 목적으로, 일시적인 상태 또는 제어나 규약에 대한 지식이 네트워크를 통해 요구되는 전자 장치들이 사용되고 있다. 그 수요는 매우 높으며, 현재까지는 이 작업을 실행하기 위한 별개의 컴퓨터를 제공하는 것만으로 그 수요를 만족시킬 수 있다. 대부분의 실용적 어플리케이션에서, 비용 제한이나 공간, 에너지 또는 기상 조건으로부터의 보호에 대한 이용 가능성의 제한으로 인해, 별개의 컴퓨터 구조의 사용은 불가능하였다.In a very wide range of technical fields, for example, for the purpose of telemetry, telecontrol or process control, electronic devices are used in which a temporary state or knowledge of control or protocol is required over the network. The demand is very high, and to date, simply providing a separate computer to perform this task can be met. In most practical applications, the use of separate computer structures has not been possible due to cost limitations or the availability of protection from space, energy or weather conditions.

본 발명의 목적은 상기 요구를 만족할 수 있으며 적어도 디지털 형식의 표준 버스 접속을 통해 이용 가능한 유효 상태나 파라미터를 갖는 모든 전자 장치에 대해 네트워크 액세스를 생성할 수 있는 마이크로컨트롤러 장치를 제공하는 것이다. 이하에서는, 네트워크 액세스가 제공될 이러한 전자 장치들을 "호스트 시스템"으로 언급한다.It is an object of the present invention to provide a microcontroller device which can meet the above requirements and can create network access for all electronic devices having valid states or parameters available through at least digital format standard bus connections. In the following, these electronic devices to be provided with network access are referred to as "host systems".

<발명의 요약>Summary of the Invention

이 목적을 성취하기 위해서, 마이크로컨트롤러는 마이크로코드에 의해 프로그램될 수 있는 대량 생산된 값싸고 지능적인 소형의 장치이며, 적합한 구조적 배열 및 프로그래밍에 의해 호스트 시스템과 네트워크 사이의 통신을 제공하도록 만들어질 수 있다는 것이 인식되었다.To achieve this goal, a microcontroller is a mass-produced, inexpensive, compact, and compact device that can be programmed by microcode and can be made to provide communication between the host system and the network by suitable structural arrangement and programming. It was recognized.

본 발명에 따르면, 호스트 시스템으로의 네트워크 액세스를 제공하는 마이크로컨트롤러 장치가 제공되며, 상기 마이크로컨트롤러 장치는,According to the present invention, there is provided a microcontroller device for providing network access to a host system, the microcontroller device comprising:

- 호스트 시스템에 결합된 주변 인터페이스;A peripheral interface coupled to the host system;

- 액세스가 제공되는 네트워크에 결합된 네트워크 인터페이스;A network interface coupled to the network to which access is provided;

- 네트워크 인터페이스에 결합되어 트래픽과 관련된 데이터를 네트워크에 또한 네트워크로부터 저장하기 위한 저장 수단; 및Storage means coupled to the network interface for storing data relating to the traffic to and from the network; And

- 마이크로코드에 의해 동작되며, 메모리를 포함하고, 상기 모든 수단에 결합되어 체킹, 처리 및 호스트 시스템에서 네트워크로의 통신의 경우 어떠한 별개의 운영 시스템을 이용하지 않고도 단일층의 구조인 표준 네트워크 프로토콜을 생성하는 것으로 호스트 시스템에의 네트워크 액세스를 제공하도록 프로그램되어 있는 제어 유닛을 포함한다.A standard network protocol, operated by microcode, comprising a memory, coupled to all of the above means, for checking, processing and communication from the host system to the network, using a single layer structure without using any separate operating system. Generating a control unit programmed to provide network access to the host system.

이와 같이 본 발명에 따른 장치는 별도의 운영 시스템을 전혀 포함하지 않으므로, 저가이면서 전력 소모가 적게 만들어지며, 공간 요구도 작아진다.As such, the device according to the present invention does not include a separate operating system at all, thereby making it inexpensive and using less power, and also requiring less space.

바람직한 실시예에서, 네트워크 인터페이스에 결합된 저장 수단은 제어 유닛에 접속된 제어 라인을 갖는 입력 버퍼와 출력 버퍼를 포함하고, 입력 버퍼는 네트워크 인터페이스를 통해 네트워크로부터 도달한 데이터를 저장하고, 출력 버퍼는 네트워크 인터페이스를 통해 네트워크에 전송되는 데이터를 저장한다.In a preferred embodiment, the storage means coupled to the network interface comprises an input buffer and an output buffer having control lines connected to the control unit, the input buffer storing data arriving from the network via the network interface, the output buffer being Stores data sent to the network via the network interface.

또 다른 실시예에서, 입력 버퍼에 저장된 데이터는 조건이 만족된다면 수신된 데이터에 포함된 프로토콜의 체킹 및 통신을 성립하는 데에 필요한 판정을 실행하는 것을 포함하여 순차적으로 처리된다.In another embodiment, the data stored in the input buffer is processed sequentially, including making the necessary determinations to establish communication and checking of protocols contained in the received data if the conditions are met.

제어 유닛은 새로운 네트워크 접속의 성립 이전에 충분한 미사용 용량이 이용 가능한지를 검사하고, 이러한 이용 가능한 용량이 발견된 경우에만 상기 접속이 허용된다.The control unit checks whether sufficient unused capacity is available before establishing a new network connection, and the connection is allowed only if such available capacity is found.

HTTP 프로토콜의 검사는 입력 데이터의 순차적 처리 동안 "GET" 및 "POST"명령의 검사를 포함하고, "GET" 명령이 발견되면, 이전에 취득된 정보가 상기 출력 버퍼(5)에서 판독되고, "POST" 명령이 발견되면, 수신된 정보가 호스트 시스템에 저장된다.Inspection of the HTTP protocol includes inspection of "GET" and "POST" commands during the sequential processing of input data, and if a "GET" command is found, previously acquired information is read from the output buffer 5, and " If a POST "command is found, the received information is stored on the host system.

또 다른 실시예에서, 제어 유닛의 마이크로코드에 의한 마이크로프로그래밍은 표준 인터넷 프로토콜의 생성을 포함하고, 네트워크로의 정보 전송의 경우, 상기 생성된 인터넷 프로토콜이 정보에 부가된다.In another embodiment, microprogramming by microcode of the control unit comprises the generation of a standard Internet protocol, and in the case of information transfer to a network, the generated Internet protocol is added to the information.

호스트 시스템은, 개별 보안 시스템·가열 장비 또는 자동 공업 공정 제어 장비는 물론 물리 파라미터(온도, 속도, 압력)를 측정하기 위한 장치들에 의해서도 구성될 수 있으므로, 본 발명에 따른 마이크로컨트롤러 장치는 모든 기술 분야에서 이용될 수 있다. 다양한 적용 가능성으로 인해 대량 생산이 가능해지며, 이러한 대량 생산은 실질적인 비용 감소의 원인이 된다.The host system can be configured not only by individual security systems, heating equipment or automatic industrial process control equipment but also by devices for measuring physical parameters (temperature, speed, pressure). Can be used in the field. The wide range of applicability enables mass production, which in turn causes substantial cost reduction.

따라서, 호스트 시스템에 대한 간단한 네트워크 액세스의 제공은, 무제한적으로 광범위한 어플리케이션을 생성한다.Thus, providing simple network access to the host system creates an unlimited range of applications.

본 발명은 주변 유닛으로 간주될 수 있는 호스트 시스템에 결합된 주변 인터페이스, 및 액세스가 제공되어야 하는 네트워크에 결합된 네트워크 인터페이스를 포함하는 호스트 시스템으로의 네트워크 액세스를 제공하기 위한 마이크로컨트롤러 장치에 관한 것이다.The present invention relates to a microcontroller device for providing network access to a host system comprising a peripheral interface coupled to a host system that can be considered a peripheral unit, and a network interface coupled to a network to which access is to be provided.

본 발명에 따른 마이크로컨트롤러 장치의 구조적 설계 및 동작을 이하 첨부한 도면을 참조하면서 설명한다.The structural design and operation of the microcontroller device according to the present invention will be described below with reference to the accompanying drawings.

도 1은 본 발명에 따른 마이크로컨트롤러 장치의 개략적인 구조적 설계를 나타내는 도면.1 shows a schematic structural design of a microcontroller device according to the invention.

도 2는 장치의 일반 동작을 나타내는 플로우챠트.2 is a flowchart showing normal operation of the apparatus.

도 3은 입력 버퍼의 신호의 처리를 나타내는 플로우챠트.3 is a flowchart showing processing of a signal of an input buffer.

도 4는 새로운 접속이 만들어지는 방법을 나타내는 플로우챠트.4 is a flowchart showing how a new connection is made.

도 5는 HTTP 명령의 처리를 나타내는 플로우챠트.5 is a flowchart showing processing of an HTTP command.

도 6은 출력 버퍼의 신호의 처리를 나타내는 플로우챠트.6 is a flowchart showing processing of signals in an output buffer.

본 발명에 따른 장치의 주요 태스크는 양방향성 네트워크 액세스, 예를 들어 호스트 컴퓨터로의 인터넷 또는 인트라넷 액세스를 제공하는 것에 있다. 도 1에 나타낸 유닛은 호스트 시스템 및 인터넷에 각각 결합된 양방향성 버스 라인 사이에 접속되어 있다.The main task of the apparatus according to the invention is to provide bidirectional network access, for example internet or intranet access to a host computer. The unit shown in FIG. 1 is connected between a bidirectional bus line, each coupled to a host system and the Internet.

장치의 주요 유닛은, 미리 정해진 저장 용량을 가지며 마이크로코드를 저장할 수 있는 저체 메모리를 갖는 마이크로컨트롤러로 이루어진 제어 유닛(1)으로 구성된다. 이 저장 용량은 실질적으로 범용의 퍼스널 컴퓨터의 용량보다 적으며, 통상 16Kbytes 이하이다. 제어 유닛(1)은 이 장치의 그 외 모든 유닛과 결합되어 있으며, 그 동작은 마이크로코드로 기록된 명령에 의해 제어된다. 제어 유닛(1)의 태스크는 네트워크 통신의 제어, 호스트 시스템의 인터페이스의 서비스, 주변 레지스터들 간에서의 데이터 전송 및 접속의 조정, 및 네트워크로부터 도달한 요청의 수행을 포함한다. 특정 관점에서 보면, 이 장치는 호스트 시스템의 데이터를 수신하여 이를 레지스터에 저장하므로, 호스트 시스템의 주변 기기로 생각될 수 있다. 네트워크로부터 얻어진 요청의 처리는 적합한 프로토콜의 인식과 사용에 의해 행해진다. 제어 유닛(1)은, 동일한 프로토콜을 이용하고 특정 동작을 적용함으로써, 레지스터에 저장된 정보를 네트워크로 포워드시킬 수 있다.The main unit of the device consists of a control unit 1 consisting of a microcontroller having a low body memory capable of storing microcode and having a predetermined storage capacity. This storage capacity is substantially less than that of a general-purpose personal computer, and is usually 16 Kbytes or less. The control unit 1 is combined with all other units of this apparatus, the operation of which is controlled by instructions written in microcode. Tasks of the control unit 1 include control of network communication, service of the interface of the host system, coordination of data transmission and connection between peripheral registers, and performance of requests arriving from the network. In a particular sense, the device can be thought of as a peripheral of the host system since it receives data from the host system and stores it in a register. The processing of requests obtained from the network is done by the recognition and use of appropriate protocols. The control unit 1 can forward the information stored in the register to the network by using the same protocol and applying a specific operation.

네트워크 통신은 장치의 연속적인 활성 동작을 필요로 하지 않으므로, 전력 소모를 감소시키기 위해서 모든 비활성 기간에는 대기 모드로 자동 전환된다. 제어 유닛(1)은 대기 모드를 지원하며 그 모드의 조건이 모두 만족되면 필요한 제어 신호를 생성한다. 이 장치에서 제어 유닛(1)은 최고의 전력 소모를 갖는 것에 유의해야 한다.Since network communication does not require continuous active operation of the device, it automatically switches to standby mode during all periods of inactivity to reduce power consumption. The control unit 1 supports the standby mode and generates the necessary control signal when all the conditions of the mode are satisfied. It should be noted that the control unit 1 in this apparatus has the highest power consumption.

제어 유닛(1)은 사용하는 마이크로코드 루틴과 연관된다. 이들 루틴은 네트워크 프로토콜, 주변 인터페이스 및 네트워크 인터페이스의 적절하고 연속적인 취급을 돕는 운영 프로그램 루틴이다. 실제 회로 구현의 형태로 볼 때, 어느 부품이나 유닛이 마이크로컨트롤러 내에 내장되고 어느 부품이 개별의 회로로서 만들어지는지는 중요치 않다. 고도의 집적도를 갖는 디자인의 경우, 물리적 치수와 전력 소모가 감소하고, 가격도 더욱 저렴해진다. 당연히, 전체 장치가 단일의 일체화 유닛으로 만들어지는 것이 최상의 구현이 될 것이다. 이 장치에 의해 실행될 수 있는 동작의 범위는 집적도의 한도에 의해 영향받지 않는다. 추후의 개선을 위해서는, 일정량의 여분의 메모리 및 처리 용량을 장치에 제공하는 것이 바람직하다.The control unit 1 is associated with the microcode routine to use. These routines are operating program routines that aid in the proper and continuous handling of network protocols, peripheral interfaces and network interfaces. In the form of actual circuit implementations, it is not critical which components or units are embedded in the microcontroller and which components are made as separate circuits. For highly integrated designs, physical dimensions, power consumption are reduced, and costs are lower. Naturally, it would be best to make the whole device a single integrated unit. The range of operations that can be performed by this device is not affected by the limit of integration. For further improvement, it is desirable to provide the device with a certain amount of extra memory and processing capacity.

이 장치의 중요 부분은 종래의 컴퓨터 네트워크에서 통신이 제공되는 방법과는 완전히 상이한 프로토콜 해석 능력으로 이루어지고, 이 기능은 필요한 기능적 태스크를 실행하는 데에 필수인 독립적인 프로토콜 관리기로서 생각될 수 있다.An important part of this device consists of protocol interpretation capabilities that are completely different from how communication is provided in a conventional computer network, and this function can be thought of as an independent protocol manager that is essential for carrying out the necessary functional tasks.

종래의 통신 프로토콜은 주로 운영 시스템에 의해 제공되는 기능들을 사용한다. 본 발명에 따른 장치에서는, 별도의 운영 시스템이 존재하지 않으므로, 운영 시스템에 기초한 종래 방식의 통신을 이용하지 않는다. 프로토콜 해석기는 프로토콜과 관련되는 정보를 전송하는 것에 부가하여, 프로토콜 헤더에 포함되는 정보를 평가하여 해석하기 때문에, 이 태스크를 실행하는 데에 사용된다. 컴퓨터 통신에서는 각 프로토콜이 중첩된 계층적 층으로 구성되기 때문에, 프로토콜 헤더에 의해 포워드되는 정보는 모든 포워드된 데이터 패키지 내에 순차적으로 배열된다. 프로토콜 해석기는 주어진 임의의 정보의 모든 파라미터가 이 데이터 패키지에 포함된 사실을 이용한다. 이 방법에 의하면, 계층적 처리가 불필요하며, 실질적인 처리량 및 저장 용량이 불필요하다. 네트워크 프로토콜의 설계시, 일차적인 목적은 상이한 아키텍쳐 설계를 갖는 컴퓨터들 간의 통신을 가능하게 하는 것이었으므로, 모듈러 설계와 계층적 구조가 만들어졌다.Conventional communication protocols mainly use the functions provided by the operating system. In the device according to the invention, there is no separate operating system and therefore does not use conventional communication based on the operating system. The protocol interpreter is used to execute this task because it evaluates and interprets the information contained in the protocol header in addition to transmitting the information related to the protocol. In computer communication, because each protocol consists of a superimposed hierarchical layer, the information forwarded by the protocol header is arranged sequentially in all forwarded data packages. The protocol interpreter takes advantage of the fact that all parameters of any given information are contained in this data package. According to this method, hierarchical processing is unnecessary, and substantial throughput and storage capacity are unnecessary. In the design of network protocols, the primary purpose was to enable communication between computers with different architecture designs, resulting in a modular design and a hierarchical structure.

본 발명에 따른 장치는 통신을 제공하는 범용의 시스템들 중 어느 것으로도 간주되어서는 안 되고, 범용의 컴퓨터를 전혀 사용하지 않으므로, 네트워크와의 통신을 제공하는 다층의 시스템을 이용할 필요가 없다. 전체 시스템은 단일의 프로토콜 해석기의 이용으로 인해 더욱 간단하게 된다.The apparatus according to the invention should not be regarded as any of the general-purpose systems for providing communication and does not use a general-purpose computer at all, thus eliminating the need to use a multi-tiered system for providing communication with a network. The whole system is simpler due to the use of a single protocol interpreter.

도시된 바람직한 실시예로 돌아가면, 제어 유닛(1)은 동작에 필요한 시간과 날짜 데이터를 제공하기 위한 실시간 클럭(2)에 결합되어 있다. 시간 데이터에 충분한 정밀도를 공급하는 석영 제어 클럭(2)을 이용하는 것이 바람직하다. 시간 데이터는 시/분/초 및 년/달/일의 날짜의 포맷으로 정의된다.Returning to the preferred embodiment shown, the control unit 1 is coupled to a real time clock 2 for providing the time and date data required for operation. It is preferable to use the quartz control clock 2 which supplies sufficient precision to the time data. Time data is defined in the format of hours / minutes / seconds and dates of year / month / day.

본 장치는 그 장치와 호스트 시스템 간의 통신에서 가장 중요한 장치인 레지스터(3)를 포함한다. 정보는 레지스터(3)를 통해 호스트 시스템에 의해 전송되며, 이 정보는 나중에 네트워크로 포워드된다. 레지스터(3)는 네트워크로부터 호스트시스템으로 정보를 포워드시킬 때 중요한 역할을 한다. 레지스터(3)는 메모리 회로로 구성되며, 장치의 제어 유닛 및 모든 버스는 레지스터(3)에 저장된 정보를 액세스한다.The device includes a register 3 which is the most important device in communication between the device and the host system. The information is sent by the host system via register 3, which is later forwarded to the network. The register 3 plays an important role when forwarding information from the network to the host system. The register 3 consists of a memory circuit, in which the control unit and all the buses of the device access the information stored in the register 3.

입력 버퍼(4)는 네트워크로부터의 인입 데이터를 저장하는 데에 사용된다. 제어 유닛(1)은 이들 데이터를 직접적으로 해석하고 처리할 수 있다. 입력 버퍼(4)는 네트워크로부터 네트워크 인터페이스(7)를 통해 도달한 데이터가 직접 저장되는 메모리 회로이다. 이들 데이터에 대해 동작이 실행되는 동안, 제어 유닛(1)은 입력 버퍼(4)에 다른 데이터를 기록할 수 있으며, 데이터의 순서를 변경할 수도 있다.The input buffer 4 is used to store incoming data from the network. The control unit 1 can interpret and process these data directly. The input buffer 4 is a memory circuit in which data reached from the network via the network interface 7 is stored directly. While the operation is performed on these data, the control unit 1 can write other data to the input buffer 4, and can change the order of the data.

출력 버퍼(5)는 네트워크 통신을 제공하는 장치의 다른 소자이다. 네트워크를 통해 전송되어야 하는 데이터의 저장이 여기에서 이루어지고, 이는 제어 유닛(1)이 이 프로토콜에 특정한 정보를 집합하는 메모리 영역이 된다. 또한, 출력 버퍼(5)는 메모리 회로로 이루어지며, 데이터 전송의 제어는 제어 유닛(1)에 의해 제공된다. 출력 버퍼(5)의 내용은 직접 네트워크로 전송되게 된다.The output buffer 5 is another element of the device for providing network communication. The storage of the data to be transmitted over the network is made here, which is a memory area in which the control unit 1 collects information specific to this protocol. In addition, the output buffer 5 consists of a memory circuit, and control of data transfer is provided by the control unit 1. The contents of the output buffer 5 are sent directly to the network.

제어 유닛(1)은, 전원에 고장이 발생한 경우 저장 데이터를 보호하는 태스크를 실행하는 NV RAM 컨트롤러(6)와 결합되어 있다. 이것은 전원을 계속 모니터하고, 그 값이 임계 한계치 이하로 떨어진 경우, 메모리 보호 등을 제공함으로써 데이터를 보유하여, 장치의 안전한 동작을 보장한다. 정상적인 동작은 전압이 정상 범위로 복귀되는 경우에만 시작되게 된다. NV RAM 컨트롤러(16)는 내부 전원을 가지며, 전원이 변동하는 경우 잘못된 메모리 제어를 방지하는 지능적인 논리 회로를포함한다.The control unit 1 is coupled with the NV RAM controller 6 which executes a task to protect the stored data in the event of a power failure. It keeps monitoring the power supply and retains data by providing memory protection and the like when its value falls below the threshold, thereby ensuring safe operation of the device. Normal operation will only begin if the voltage returns to its normal range. The NV RAM controller 16 has an internal power supply and includes intelligent logic circuitry that prevents erroneous memory control if the power supply fluctuates.

본 발명에 따른 장치는 네트워크 인터페이스(7)에 의해 네트워크에 결합되어 있으며, 네트워크 인터페이스(7)의 태스크는, 장치가 네트워크에서 볼 때 정상적인 스테이션으로 보이는 데에 필요한 모든 전자적 및 논리적 파라미터를 제공하는 것이다. 네트워크 인터페이스(7) 단독으로 네트워크 상의 데이터 트래픽을 조정할 수 있으며, 네트워크로부터 정보를 수신하여 이를 입력 버퍼(4)에 기록할 수 있다. 네트워크 인터페이스(7)는 출력 버퍼(5)에 저장된 정보를 네트워크에 자동적으로 전송한다. 이것은 관련 네트워크의 조건에 따라 타이밍 기능을 실행하고, 장치의 상태를 모니터한다. 네트워크의 상태에 대한 정보를 제어 유닛(1)에 전송하고, 제어 유닛(1)의 명령에 응답하여, 상태 정보를 네트워크에 전송한다. 네트워크 인터페이스(7)는 그 자체가 종래의 유닛으로 알려져 있으며, 예를 들어, RS 232 또는 이더넷 유형의 네트워크 인터페이스일 수 있다.The device according to the invention is coupled to the network by a network interface 7, the task of which is to provide all the electronic and logical parameters necessary for the device to appear as a normal station when viewed in the network. . The network interface 7 alone can regulate data traffic on the network and can receive information from the network and record it in the input buffer 4. The network interface 7 automatically transmits the information stored in the output buffer 5 to the network. This executes the timing function in accordance with the conditions of the relevant network and monitors the status of the device. Information about the state of the network is transmitted to the control unit 1, and in response to the command of the control unit 1, the state information is transmitted to the network. The network interface 7 is known per se as a conventional unit and can be, for example, a network interface of the type RS 232 or Ethernet.

주변 인터페이스(8)의 태스크는 장치와 호스트 시스템 사이에 표준 버스 접속을 제공하는 것이다. 이 유닛은 예를 들어, 필립스사의 IIC 버스나 모토롤라사의 SPI 버스, 또는 그 외 다른 표준 버스 접속에 의해 만들어질 수 있다. 이 장치는 버스 마스터 및 슬레이브 모드 둘 다에서 사용될 수 있으므로, 회로 설계자는 더 광범위한 가능성을 이용할 수 있다. 버스 마스터 모드에서는, 주변 버스(8)를 통해 제공된 접속의 결과, 본 장치는 호스트 시스템으로부터 도달한 데이터를 자동으로 수신한다. 이 기능은, 어떠한 이유로 인해 호스트 시스템이 장치와 최저 레벨의 통신도 이용할 수 없는 경우 실행될 수 있다. 버스 슬레이브 모드에서 본 장치는 호스트 시스템의 주변 기기가 되는 태스크를 수행하므로, 호스트 시스템은 데이터를 네트워크로부터 수신하고 네트워크에 전송할 수 있다.The task of the peripheral interface 8 is to provide a standard bus connection between the device and the host system. The unit can be made, for example, by a Philips IIC bus, a Motorola SPI bus, or some other standard bus connection. The device can be used in both bus master and slave modes, allowing circuit designers to take advantage of a wider range of possibilities. In the bus master mode, as a result of the connection provided via the peripheral bus 8, the apparatus automatically receives data arrived from the host system. This function can be executed if the host system cannot use the lowest level of communication with the device for some reason. In bus slave mode, the device performs the task of becoming the peripheral device of the host system, so that the host system can receive data from the network and transmit it to the network.

본 발명에 따른 장치의 동작은 도 2 내지 도 5의 플로우챠트, 및 네트워크로부터 도달하여 호스트 시스템의 상태 데이터로 향해진 요청 명령이 어떻게 처리되게 되는지를 나타내는 예와 관련하여 설명된다.The operation of the apparatus according to the present invention is described with reference to the flowcharts of FIGS. 2-5 and an example showing how request commands arriving from the network and directed to the state data of the host system are handled.

도 2의 플로우챠트는 본 장치의 동작의 주요 기능적 유닛을 나타낸다. 플로우챠트 상에 나타낸 대문자는 상이한 플로우챠트들 간의 논리적 연결을 형성하는 관련 동작 단계를 나타낸다. 본 장치는 시작 명령에 이어서 체크 기능을 실행하는데, 최초의 검사 대상 유닛은 네트워크 인터페이스(7)이다. 제어 유닛(1)은, 시작 명령의 이슈 이전의 대기 상태동안, 네트워크 내에 정상적인 동작에 영향을 줄 수 있는 어떠한 고장이라도 존재하는지의 여부를 검사한다. 그러한 고장이 검출되면, 네트워크 인터페이스는 초기 기본 상태로 조절되게 된다.2 shows the main functional units of the operation of the apparatus. The uppercase letters shown on the flowcharts indicate the relevant operational steps that form the logical connection between the different flowcharts. The apparatus executes a check function following the start command, wherein the first inspection target unit is the network interface 7. The control unit 1 checks whether there is any fault in the network that may affect normal operation during the standby state before the issue of the start command. If such a failure is detected, the network interface will be adjusted to its initial default state.

제2 체크 단계는 주변 인터페이스(8)의 검사이다. 제어 유닛(1)은 주변 인터페이스에서 레지스터를 체크하여 IIC 버스의 컨트롤러가 적절히 동작하는지의 여부를 결정한다. 어떠한 고장이라도 검출되는 경우, 제어 유닛(1)은 주변 인터페이스(8)를 초기 상태로 한다.The second check step is the inspection of the peripheral interface 8. The control unit 1 checks the register at the peripheral interface to determine whether the controller of the IIC bus is operating properly. If any failure is detected, the control unit 1 puts the peripheral interface 8 in the initial state.

제3 체크 단계에서 마이크로코드 집적도가 검사되는데, 여기에서 제어 유닛(1)은 마이크로코드 집적도를 위해 제어 합을 계산한다. 저장값과 계산값 사이에 불일치가 발견되면, 동작이 중지되고 고장 신호가 제공된다.In a third check step the microcode integration is checked, where the control unit 1 calculates the control sum for the microcode integration. If a discrepancy is found between the stored value and the calculated value, the operation is stopped and a fault signal is provided.

입력 버퍼(4)의 체크 동안 제어 유닛(1)은 입력 버퍼들 중 어느 것이라도 처리 대기 중인 정보를 포함하는지의 여부만을 결정한다. 이런 정보가 발견되면, 입력 정보 단계의 처리가 시작되게 되고, 이는 도 3에 설명되어 있다. 이것은 상태 X와 관련된다. 처리될 정보가 발견되지 않으면, 다음 단계는 출력 버퍼(5)의 상태에 대한 검사이다. 이 검사는 도 3에 나타낸 기능이 실행된 후에 시작되고, 이는 도 2 및 도 3 둘 다에서 나타낸 상태 Z로부터 볼 수 있다.During the check of the input buffer 4 the control unit 1 only determines whether any of the input buffers contain information awaiting processing. If such information is found, processing of the input information step is started, which is described in FIG. This is related to state X. If no information to be processed is found, the next step is to check the status of the output buffer 5. This test begins after the function shown in FIG. 3 is executed, which can be seen from state Z shown in both FIG. 2 and FIG. 3.

제어 유닛(1)은 출력 버퍼(5)의 상태를 나타내는 레지스터의 상태를 검사하여 출력 버퍼(5) 중 어느 것이 포워드될 정보를 포함하는지를 결정한다. 이 정보가 존재하면, 도 6에서 상태 W로 지정된 처리가 시작된다. 제어 유닛(1)은 데이터를 발견하지 않은 경우에는, 장치를 대기 모드로 제어한다. 이 장치를 대기 모드로 보내는 조건은 다른 단계의 실행동안에도 만족될 수 있으며, 이 조건은 상태 V로 지정된다.The control unit 1 checks the state of the register indicating the state of the output buffer 5 to determine which of the output buffers 5 contains the information to be forwarded. If this information exists, the process specified by state W in Fig. 6 is started. The control unit 1 controls the device to the standby mode when no data is found. The condition for sending this device to standby mode can be satisfied during the execution of other steps, which is designated as state V.

제어 유닛(1)은 대기 모드에서도 네트워크의 활동을 검사할 수 있고, 이 활동을 감지하면 다음 사이클을 트리거하므로, 이 프로세스는 네트워크의 상태가 활성이 되면 다시 시작한다.The control unit 1 can check the activity of the network even in the standby mode and, upon detecting this activity, triggers the next cycle, so this process starts again when the state of the network becomes active.

본 발명에 따른 장치의 동작 관점에서 볼 때 입력 버퍼(4)의 내용의 처리는 상당히 중요하다. 네트워크로부터의 정보는 네트워크 인터페이스(7)를 통해 입력 버퍼(4)에 직접 기록되게 된다. 수신된 정보의 처리를 도 3에 나타낸다. 이 처리를 완전히 이해하기 위해서, 표 1에 나타낸 신호 시퀀스를 처리하는 방법을 설명한다. 표 1의 데이터는 입력 버퍼(4)의 내용을 정확하게 나타낸다. 저장된 데이터는 인터넷 트래픽에 사용되는 표준 TCP/IP를 나타낸다. 이 표의 컬럼은 순차적으로 도달하는 정보의 비트 위치를 나타내고, 각 로우는 4바이트, 즉 32비트에 대응한다. 각 로우의 내용은 순차적으로 서로 이어진다. 인터넷 트래픽에 사용되는 신호 시퀀스에 대한 상세한 설명은 본 명세서의 목적이 아니기 때문에, 이하에서는 본 발명을 이해하는 데에 필요하다고 생각되는 신호의 부분만을 설명한다.From the operational point of view of the device according to the invention, the processing of the contents of the input buffer 4 is of great importance. Information from the network is to be written directly to the input buffer 4 via the network interface 7. The processing of the received information is shown in FIG. In order to fully understand this process, a method of processing the signal sequence shown in Table 1 will be described. The data in Table 1 accurately represents the contents of the input buffer 4. Stored data represents the standard TCP / IP used for Internet traffic. The columns of this table show the bit positions of the information that arrives sequentially, with each row corresponding to four bytes, or 32 bits. The contents of each row follow each other sequentially. Since the detailed description of the signal sequence used for Internet traffic is not the purpose of the present specification, only the parts of the signal which are deemed necessary for understanding the present invention are described below.

패킷은 두 개의 주요 부분으로 분할될 수 있는데, 하나는 프로토콜의 헤더이고 다른 하나는 패킷에 의해 이송되는 데이터이다.The packet can be divided into two main parts: one is the header of the protocol and the other is the data carried by the packet.

헤더는 다음과 같은 몇개의 다른 부분을 포함한다.The header contains several other parts:

- PPP 프로토콜 헤더 (표 1에서 제1 로우)PPP protocol header (first row in Table 1)

- IP 프로토콜 헤더 (표 1에서 로우 2-7)IP protocol header (rows 2-7 in Table 1)

- TCP 프로토콜 헤더 (표 1에서 로우 14)TCP protocol header (row 14 in Table 1)

- HTTP REQUEST 데이터 (표 1에서 로우 15 및 16)HTTP REQUEST data (rows 15 and 16 in Table 1)

도 3에서의 판정 및 동작 프로세스는 아래 경우에서 알파벳 문자로 지정되었다. 이 처리의 제1 단계 a는 신호 시퀀스가 PPP 프로토콜 헤더를 포함하는지를 판정하는 검사이다. 이 검사는 제1 바이트 (표 1, 로우 1, 제1 바이트)의 값이 c0인지 아닌지에 있다. 이 값이 c0이 아니면, 프로세스가 종료되고 상태 Z가 생성된다. 예측값이 발견되면, 다음 단계는 PPP 패킷의 체크 (단계 b) 및 그 저장 (단계 c)이다. 체크 단계동안 행해지는 유일한 검사는 PPP 패킷의 헤더가 21번째 비트 뒤에 정보를 포함하는지의 여부이다. 그러한 정보가 존재하면, 그 정보는 제어 유닛(1)의 활성 메모리에 저장되게 된다.The determination and operation process in Fig. 3 is designated by alphabetic characters in the following case. The first step a of this process is a check to determine if the signal sequence includes a PPP protocol header. This check is in whether the value of the first byte (Table 1, row 1, first byte) is c0 or not. If this value is not c0, the process terminates and state Z is generated. If a predictive value is found, the next step is to check the PPP packet (step b) and store it (step c). The only check made during the check phase is whether the header of the PPP packet contains information after the 21st bit. If such information exists, it is to be stored in the active memory of the control unit 1.

판정 d 동안, IP 프로토콜의 헤더가 다음에 오는지의 여부가 검사된다. 이 판정시, 값 21의 존재가 이전의 헤더에서 검사된다. 이것이 발견되면, 다음의 데이터는 IP 프로토콜의 헤더에 속하고, 이 처리 동작은 동작 e로 이어진다. 그렇지 않으면 이 처리는 다시 종료된다 (상태 Z). IP 프로토콜의 검사는 IP 프로토콜의 헤더에 대한 지식을 필요로 한다. 첫번째의 4비트는 버전의 번호를 지정한다. 현재 버전 4가 사용되고, 도시된 실시예는 이 버전을 갖는 신호만을 처리할 수 있다. 동작 단계 e 동안, IP 프로토콜의 헤더가 체크되고, 여기에서 먼저 필드 "time to live"가 검사된다. 이 필드의 값이 0일 때는 처리가 중단되고, 이 값이 0이 아닐 때는 IP 프로토콜 헤더의 제어합이 검사되게 된다. 이 값은 IP 프로토콜의 헤더내의 바이트들의 1의 보수의 합의 1의 보수이어야 한다. 판정 f는 IP 프로토콜의 헤더에 주어진 목적지 어드레스가 본 발명에 따른 장치에 할당된 인터넷 어드레스와 동일한지의 여부를 판정한다. '예'인 경우, TCP 프로토콜의 헤더의 체크가 단계 g에서 실행된다. 이 검사는 TCP 프로토콜의 헤더에서의 제어합에 관한 것이다. 제어합은 TCP 프로토콜 헤더의 시작점으로부터 시작하여 패킷의 전체 길이의 종단 까지의 바이트의 값의 합의 결과이다. TCP 프로토콜의 파라미터의 저장은 단계 h에서 실행된다. TCP 프로토콜의 여러 파라미터들 중에서, 이것은 16 비트 길이인 소스 포트의 어드레스 및 그와 동일한 길이인 목적지 포트의 어드레스를 포함하고, 이들 어드레스는 이 둘 사이의 접속의 식별을 위한 것임에 유의해야 한다. 이 예시에서, 송신기의 포트의 어드레스는 6843이고, 목적지 포트의 값은 "1"이다. "시퀀스 번호"는 32비트 길이의 번호인데, 이는 연속적으로 증가하는 순서대로 데이터 패킷의 데이터의 제1 바이트의 일련의 번호이다. 필드 "reserved" 바로 뒤의 TCP 프로토콜의 6비트는 상당히 중요한데, 이들 중 비트 SYN는 프로토콜이 새로운 접속에 관련된 경우에는 1이고, 구 접속이 계속되면 0이다. 이 비트의 검사는 동작 i 동안 발생한다. 새로운 접속의 경우 상태 U가 생성되고, 새로운 접속의 성립은 도 4에 나타나 있다.During decision d, it is checked whether the header of the IP protocol follows. In this determination, the presence of the value 21 is checked in the previous header. If this is found, the following data belongs to the header of the IP protocol, and this processing operation leads to operation e. Otherwise this process ends again (state Z). Examination of the IP protocol requires knowledge of the header of the IP protocol. The first four bits specify the version number. Currently version 4 is used, and the illustrated embodiment can only process signals with this version. During operation step e, the header of the IP protocol is checked, where the field "time to live" is first checked. If the value of this field is 0, processing is stopped. If this value is not 0, the control sum of the IP protocol header is checked. This value must be one's complement of the one's complement of the bytes in the header of the IP protocol. The decision f determines whether the destination address given in the header of the IP protocol is the same as the Internet address assigned to the apparatus according to the present invention. If yes, a check of the header of the TCP protocol is performed in step g. This check is about the control sum in the header of the TCP protocol. The control sum is the result of the sum of the values of bytes starting from the start of the TCP protocol header and ending to the full length of the packet. The storage of the parameters of the TCP protocol is carried out in step h. Of the various parameters of the TCP protocol, it should be noted that this includes the address of a 16-bit long source port and the address of a destination port of the same length, these addresses being for the identification of the connection between the two. In this example, the address of the port of the transmitter is 6843 and the value of the destination port is "1". A "sequence number" is a 32-bit long number, which is the sequence number of the first byte of data of the data packet in sequentially increasing order. Six bits of the TCP protocol immediately after the field "reserved" are of significant importance, of which bit SYN is one if the protocol is involved in a new connection and zero if the old connection continues. Checking this bit occurs during operation i. In the case of a new connection, state U is created, and the establishment of a new connection is shown in FIG.

접속이 이미 성립되어 있는 경우에는, TCP 프로토콜의 헤더에 기초하여 다음 정보가 HTTP 프로토콜 헤더인지를 판정하는 단계 j가 시작된다. 여기에서 응답이 '예'일 경우에는 도 5에 나타난 상태 T가 생성되고, 응답이 '아니오'일 경우에는 처리가 상태 Z로 이어진다.If a connection has already been established, step j starts to determine whether the next information is an HTTP protocol header based on the header of the TCP protocol. Here, if the answer is yes, state T shown in FIG. 5 is generated, and if the answer is no, processing continues to state Z.

인입 정보의 처리가 도 5에 나타낸 프로세스로 이어지고, 여기에서 최초의 판정은 HTTP 프로토콜에서 예측되는 "GET" 워드가 도달했는지의 여부이다. 이 명령은 원격 상대의 요청을 의미한다. 본 발명에 따른 장치의 주요 태스크는 인입되는 HTTP 요청을 실행하는 것이다. 가장 간단한 요청은 키워드 GET, 공간 및 요청된 정보의 식별자로 이루어진다. 요청된 정보는 제어 유닛(1)의 메모리에서 발견될 수 있는 파일의 어드레스인 것이 바람직하다. 본 예시에서 이 어드레스는 A.HTML이다. 기호 "CR" 및 "LF"는 캐리지 리턴 및 라인 피드 명령(carriage return and line feed command)의 신호이며 어떤 다른 기능도 갖지 않는다.The processing of the incoming information is followed by the process shown in Fig. 5, where the initial determination is whether or not the "GET" word reached in the HTTP protocol has arrived. This command means a request from a remote partner. The main task of the device according to the invention is to execute an incoming HTTP request. The simplest request consists of a keyword GET, a space and an identifier of the requested information. The requested information is preferably the address of a file that can be found in the memory of the control unit 1. In this example, this address is A.HTML. The symbols "CR" and "LF" are signals of a carriage return and line feed command and have no other function.

다시 도 5로 돌아가면 명령 GET의 식별에 후속하여, 예시적인 어드레스가 제어 유닛(1)로부터 저장된 파일의 내용 -예를 들어 원격 온도 센서의 신호이거나, 호스트 시스템의 상태를 나타내는 몇개의 데이터일 수 있음- 을 판독한다. 제어 유닛(1)은 이들 데이터를 출력 버퍼(5)에 채우고, 인입되는 프로토콜 헤더의 저장 데이터로부터 생성된 표준 응답 헤더를 이들 데이터에 부가한다. 이 동작은 루틴 마이크로프로그래밍 작업을 이용하여 인터넷 표준의 지식으로 실행될 수 있다.Returning to FIG. 5 again following identification of the command GET, the exemplary address may be the contents of a file stored from the control unit 1-for example, a signal from a remote temperature sensor, or some data indicating the status of the host system. Yes-read. The control unit 1 fills these data into the output buffer 5 and adds to these data a standard response header generated from the stored data of the incoming protocol header. This operation can be performed with knowledge of Internet standards using routine microprogramming tasks.

여기에 설명된 동작은 출력 버퍼(5)의 내용의 검사를 포함하므로, 데이터의 전송은 도 2에 나타낸 상태 W에 의해 트리거된다. 데이터가 출력 버퍼(5)에서 발견되자마자, 제어 유닛(1)은 도 6의 순서에 따라서 전송될 패킷의 인출 프로토콜 헤더를 생성하여, 그들을 출력 버퍼(5)에 저장한 다음에, 네트워크로 포워드시킨다. GET 명령의 검사 결과가 부정이면, 제어 유닛은 HTTP 프로토콜에서 POST 명령을 검색한다. 이 명령이 발견된다는 것은 정보가 네트워크로부터 수신되어 있다는것을 의미하므로, 제어 유닛(1)은 수신된 정보에 대응하는 데이터를 호스트 시스템에 전송한다. 본 발명에 따른 장치의 예시적 실시예는 GET 및 POST 이외의 인입 명령을 처리하는 데에 부적합하지만, 개시된 정보에 기초하여 여러 다른 기능을 실현할 수 있다. 그러나, 이들 부가의 기능 모두는 관련 하드웨어와 소프트웨어 소자 및 적당한 마이크로프로그램의 이용을 필요로 한다.Since the operation described here involves checking the contents of the output buffer 5, the transfer of data is triggered by the state W shown in FIG. As soon as data is found in the output buffer 5, the control unit 1 generates an outgoing protocol header of the packet to be transmitted in the order of FIG. 6, stores them in the output buffer 5, and then forwards them to the network. Let's do it. If the check result of the GET command is negative, the control unit searches for the POST command in the HTTP protocol. The fact that this command is found means that the information is received from the network, so that the control unit 1 transmits data corresponding to the received information to the host system. Exemplary embodiments of the device according to the present invention are unsuitable for handling incoming commands other than GET and POST, but can implement various other functions based on the disclosed information. However, all of these additional functions require the use of relevant hardware and software elements and appropriate microprograms.

도 3의 동작 i에서는 접속이 새로운 것인지가 검사되었다. 그런 경우에는, 상태 U가 생성되어, 도 4에 설명된 처리가 시작된다. 최초의 판정은 수신된 패킷을 처리하는 데에 충분한 하드웨어 용량이 이용 가능한지에 대한 검사에 기초한 것이다. 본 발명에 따른 장치는 미리 정해진 하드웨어 유닛량과 처리 용량을 가지며, 그 한계 용량으로 결정된 것보다 많은 동시 접속을 성립시킬 수가 없다. 간단한 실시예에서, 이 개수는 1 정도로 작으며, 이 검사는 사용 시간(engagement)에 대한 간단한 검사에 지나지 않는다. 충분한 가용 용량이 발견되지 않은 경우, 새로운 접속의 성립은 거부되고, 제어 유닛(1)은 적합한 응답을 생성하게 된다.In operation i of Fig. 3, it is checked whether the connection is new. In such a case, state U is generated and the process described in FIG. 4 is started. The initial decision is based on a check that sufficient hardware capacity is available to process the received packet. The apparatus according to the present invention has a predetermined hardware unit amount and processing capacity, and cannot establish more simultaneous connections than that determined by the limit capacity. In a simple embodiment, this number is as small as 1, and this check is only a simple check for engagement. If sufficient available capacity is not found, the establishment of a new connection is rejected and the control unit 1 generates an appropriate response.

새로운 접속이 만들어지면, 제어 유닛(1)은 이 접속의 형성, 즉 송신자를 향한 적당한 응답의 형성을 준비하게 된다. 또한 제어 유닛(1)은 인입 패킷의 HTTP 프로토콜 후에 데이터가 도달하는지의 여부를 검사한다. 접속의 성립은 데이터가 도달되는 경우에만 (Y 분기) 감지되게 되고, 이 처리는 도 3의 단계 j로 향하게 된다.When a new connection is made, the control unit 1 is ready for the formation of this connection, ie the formation of a suitable response towards the sender. The control unit 1 also checks whether data arrives after the HTTP protocol of the incoming packet. The establishment of the connection is detected only when data is reached (Y branch), and the process is directed to step j in FIG.

상기 예에 기초하면, 본 발명에 따른 장치는 운영 시스템을 이용하는 컴퓨터 시스템을 이용하지 않고도 호스트 시스템에 완전값(full value) 양방향성 인터넷액세스를 제공할 수 있다. 상술한 제어 유닛(1)의 동작 방법은 통상의 마이크로컨트롤러로부터 기대되는 것보다 더 큰 처리 용량을 필요로 하지 않는다.Based on the above example, the apparatus according to the present invention can provide full value bidirectional Internet access to a host system without using a computer system using an operating system. The method of operation of the control unit 1 described above does not require greater processing capacity than would be expected from a conventional microcontroller.

상술된 구성에서, 본 발명에 따른 장치는, 그 응용성이 제한적이지 않기 때문에, 범용의 장치로 간주될 수 있다. 호스트 시스템은 보안 시스템, 원격 조정 장치, 프로세스 제어 장비, 하우스홀드 및 산업 장치일 수 있으며, 이들의 상태 정보의 제어 및 판독이 표준 버스 라인을 통해 이루어지게 된다.In the above-described configuration, the apparatus according to the present invention can be regarded as a general purpose apparatus because its application is not limited. The host system may be a security system, a remote control device, a process control equipment, a house hold and an industrial device, and control and reading of their status information is made through standard bus lines.

단일 칩으로 만들어지는 본 발명에 따른 장치는 범용성이 높기 때문에, 제조 수율이 적당히 높은 경우, 가능한 광범위한 어플리케이션에 대한 비용의 장애 요인이 되지 않도록 비용을 충분히 낮출 수가 있다.The device according to the invention, which is made of a single chip, has high versatility, so that if the manufacturing yield is moderately high, the cost can be sufficiently lowered so as not to be a cost barrier for a wide range of possible applications.

Claims (6)

호스트 시스템에의 네트워크 액세스를 제공하기 위한 마이크로컨트롤러 장치에 있어서,A microcontroller device for providing network access to a host system, comprising: - 호스트 시스템에 결합된 주변 인터페이스(8);A peripheral interface 8 coupled to the host system; - 상기 액세스가 제공되는 네트워크에 결합된 네트워크 인터페이스(7);A network interface 7 coupled to the network to which said access is provided; - 상기 네트워크 인터페이스에 결합되어 트래픽과 관련된 데이터를 네트워크에 또한 네트워크로부터 저장하기 위한 저장 수단(4, 5); 및Storage means (4, 5) coupled to the network interface for storing data relating to traffic to and from the network; And - 마이크로코드에 의해 동작되며 메모리를 갖는 제어 유닛(1) - 상기 유닛은 상기 모든 수단에 결합되어 체킹, 처리 및 호스트 시스템에서 네트워크로의 통신의 경우 어떠한 별개의 운영 시스템을 이용하지 않고도 단일층의 구조인 표준 네트워크 프로토콜을 생성하는 것으로 상기 호스트 시스템에의 네트워크 액세스를 제공하도록 프로그램되어 있음 -A control unit (1) operated by microcode and having a memory; the unit is coupled to all of the above means in order to check, process and communicate from the host system to the network without the use of any separate operating system It is programmed to provide network access to the host system by creating a standard network protocol that is a structure. 을 포함하는 마이크로컨트롤러 장치.Microcontroller device comprising a. 제1항에 있어서, 상기 네트워크 인터페이스(7)에 결합된 상기 저장 수단은 상기 제어 유닛(1)에 접속된 제어 라인을 갖는 입력 버퍼(4)와 출력 버퍼(5)를 포함하고, 상기 입력 버퍼(4)는 상기 네트워크 인터페이스(7)를 통해 상기 네트워크로부터 도달한 데이터를 저장하고, 상기 출력 버퍼(5)는 상기 네트워크 인터페이스(7)를 통해 상기 네트워크에 전송되는 데이터를 저장하는 마이크로컨트롤러 장치.The storage means according to claim 1, wherein the storage means coupled to the network interface 7 comprises an input buffer 4 and an output buffer 5 having a control line connected to the control unit 1. (4) stores data reached from the network via the network interface (7), and the output buffer (5) stores data transmitted to the network via the network interface (7). 제1항에 있어서, 상기 입력 버퍼(4)에 저장된 데이터는 상기 조건이 만족된다면 상기 수신된 데이터에 포함된 상기 프로토콜의 체킹 및 상기 통신을 성립하는 데에 필요한 판정을 실행하는 것을 포함하여 순차적으로 처리되는 마이크로컨트롤러 장치.The data stored in the input buffer (4) according to claim 1, comprising sequentially executing the checking of the protocol included in the received data and the determination necessary to establish the communication if the condition is satisfied. The microcontroller device being processed. 제1항에 있어서, 상기 제어 유닛(1)은 새로운 네트워크 접속의 성립 이전에 충분한 미사용 용량(free capacity)이 이용 가능한지를 검사하고, 이러한 이용 가능한 용량이 발견된 경우에만 상기 접속이 허용되는 마이크로컨트롤러 장치.2. The microcontroller according to claim 1, wherein the control unit 1 checks whether sufficient free capacity is available before establishing a new network connection and only allows the connection if such free capacity is found. Device. 제1항에 있어서, HTTP 프로토콜의 검사는 상기 입력 데이터의 상기 순차적 처리 동안 "GET" 및 "POST" 명령의 검사를 포함하고, "GET" 명령이 발견되면, 이전에 취득된 정보가 상기 출력 버퍼(5)에서 판독되고, "POST" 명령이 발견되면, 상기 수신된 정보가 상기 호스트 시스템에 저장되는 마이크로컨트롤러 장치.The method according to claim 1, wherein the checking of the HTTP protocol includes checking of "GET" and "POST" commands during the sequential processing of the input data, and if a "GET" command is found, previously obtained information is stored in the output buffer. The microcontroller device, which is read in (5) and if the "POST" command is found, is stored in the host system. 제1항에 있어서, 상기 제어 유닛(1)의 마이크로코드에 의한 마이크로프로그래밍은 표준 인터넷 프로토콜의 생성을 포함하고, 상기 네트워크로의 정보 전송의 경우, 상기 생성된 인터넷 프로토콜이 정보에 부가되는 마이크로컨트롤러 장치.The microcontroller according to claim 1, wherein the microprogramming by microcode of the control unit (1) comprises the generation of a standard Internet protocol, and in the case of information transmission to the network, the microcontroller to which the generated Internet protocol is added to the information. Device.
KR1020017008870A 1999-01-14 1999-08-12 Microcontroller apparatus for providing network access to a host system KR20010101510A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
HUP9900103 1999-01-14
HU9900103A HU9900103D0 (en) 1999-01-14 1999-01-14 Apparatus for coupling a parent system to a network
HUP9901701 1999-05-21
HU9901701A HUP9901701A2 (en) 1999-05-21 1999-05-21 Microcontroller arrangement for providing network access to a host system
PCT/HU1999/000058 WO2000042516A1 (en) 1999-01-14 1999-08-12 Microcontroller apparatus for providing network access to a host system

Publications (1)

Publication Number Publication Date
KR20010101510A true KR20010101510A (en) 2001-11-14

Family

ID=89998333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017008870A KR20010101510A (en) 1999-01-14 1999-08-12 Microcontroller apparatus for providing network access to a host system

Country Status (6)

Country Link
EP (1) EP1151386A1 (en)
JP (1) JP2002535858A (en)
KR (1) KR20010101510A (en)
CN (1) CN1333892A (en)
AU (1) AU5382399A (en)
WO (1) WO2000042516A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100383766C (en) * 2003-01-01 2008-04-23 深圳市朗科科技有限公司 Method for implementing network connection by utilizing semiconductor storage device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828864A (en) * 1995-06-09 1998-10-27 Canon Information Systems, Inc. Network board which responds to status changes of an installed peripheral by generating a testpage

Also Published As

Publication number Publication date
AU5382399A (en) 2000-08-01
EP1151386A1 (en) 2001-11-07
CN1333892A (en) 2002-01-30
WO2000042516A1 (en) 2000-07-20
JP2002535858A (en) 2002-10-22

Similar Documents

Publication Publication Date Title
US7502826B2 (en) Atomic operations
US6570884B1 (en) Receive filtering for communication interface
US6877036B1 (en) System and method for managing connections between a client and a server
CN101501660B (en) Switch for interconnection of internet, and system
US20070130310A1 (en) I/O Module with Web Accessible Product Data
CN106953853B (en) Network-on-chip gigabit Ethernet resource node and working method thereof
JPH0331027B2 (en)
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US20040260841A1 (en) Method, apparatus, and system for internet protocol communication over intelligent platform management bus
US20060178804A1 (en) Control device for a motor vehicle and communication method therefor
KR101001074B1 (en) Method for transmittng data on a bus
Conway et al. IEEE 1451.2: An interpretation and example implementation
US20060184708A1 (en) Host controller device and method
CN100471171C (en) Establishment of TCP data flow connection by hardware
KR20010101510A (en) Microcontroller apparatus for providing network access to a host system
US6952756B1 (en) Method and apparatus for speculative loading of a memory
EP1052873A2 (en) A memory management technique for maintaining packet order in a packet processing system
US20020073216A1 (en) Method and apparatus for improving transmission performance by caching frequently-used packet headers
EP3999972B1 (en) An apparatus and method for processing flush requests within a packet network
Rajbharti The Microchip TCP/IP Stack
JPH04352054A (en) Communication controller
KR0154489B1 (en) Apparatus for receiving/sending ipc message in atm switching system and method thereof
Sveda et al. Coupling architectures for low-level fieldbusses
US20020078246A1 (en) Method and system for network protocol processing
US20030037188A1 (en) System and method for tracing ATM cells and deriving trigger signals

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid