A signal processor circuit has a phase-locked loop with a low-pass filter for removing phase-modulation components from a clock signal. The processor circuit has an isolated power supply for removing amplitude-modulation components from the same clock signal.

1. Field of the Invention
This device relates to signal processing and more particularly the processing of clock signals. Even more particularly this device pertains to processing a clock signal so as to remove the original amplitude- and phase-modulation components from the clock signal.
2. Description of the Prior Art
Various approaches are available for deriving a xe2x80x9ccleanxe2x80x9d clock signal from a noisy signal. One approach uses an adaptively tuned data receiver for reconstructing a noisy digital signal by using a matched filter which is tunable. The tuning is set by a timing signal which represents the true rate of the received signal. Another approach discloses a system for correcting phase jitter and frequency offsets by using a phase-locked loop for tracking the average phase and frequency offsets followed by a phase jitter corrector located outside the loop. Still another approach is to use an isolated clock circuit for generating the clock signal to be encoded for transmitting signals. The isolated clock is run on an isolated supply and buffers are used to isolate paths going to the multiplexer and the encryptor.
All the above-mentioned approaches contain an efficient means for effective removal of amplitude- and phase-modulation components. The reconstruction of a noisy signal may eliminate phase-modulation components but not necessarily amplitude modulation components. Similarly, the system for correcting phase jitter and frequency offsets by using a phase-locked loop together with a jitter corrector may remove phase-modulation components but not necessarily amplitude-modulation components. The approach utilizing an isolated clock and associated circuits is cumbersome. Further the external clock does not have the advantages of the multiplexer""s internal clock which are better noise performance and desired synchrony since the multiplexer power supply oscillator is usually synchronous with the internal clock. Approaches utilizing external power supplies and amplitude buffers alone do not remove phase noise.
The shortcomings of prior art devices include the lack of removal of both amplitude- and phase-modulation components from the clock signal, lack of synchronism in the output signal with the multiplexer internal clock, lack of simplicity of the main and associated circuits, required circuit modification, and notable expense. The present device avoids these shortcomings.
The present signal processor utilizes a simple design for effectively removing both amplitude- and phase-modulation components from a clock signal. The signal processor is quite useful in enhancing electromagnetic isolation of encrypting/decrypting equipment for secure telemetry. Removal of amplitude- and phase-modulation components from the clock line is necessary to securely operate an encryptor for digital data. A signal encrypted with a dirty clock-signal would be decodeable from the jitter introduced.
The device takes the unregulated clock pulses through a phase-locked loop with a low-pass filter in the feedback loop having a frequency of about one-tenth of the incoming clock frequency. Buffers on the device""s output provide a proper interface with output clock application circuitry. The complete device including the buffers is powered by a regulated power source independent of external circuitry such as clock sources and destinations.
The phase-locked loop of the device follows the average frequency and the phase of the signal and, in doing so, any phase modulation on the input clock signal is reduced or masked or both. This reduction or masking of phase noise is important. In the case of an encrypted telemetry signal, the phase noise is generated in the area of the signal to be enciphered and is an undesired by-product since phase detection of this jitter can reveal significant information even though the signal itself has been enciphered. The use of a phase-locked loop as designed in the present device removes this type of data contamination.
Amplitude variations of an encrypted telemetry signal pose the same threat of revelation of information on the encrypted signal. These amplitude variations are removed by regeneration of the signal within a digital domain established by an amplifier operated off a regulated power supply which is also part of the present system.
Besides the object of this device""s removing both amplitude and phase-modulation components which can reveal information from a clock signal which has already been encrypted, another object is the simplicity of the circuitry which eliminates cumbersome associated circuits such as an outboard oscillator with an external power supply to implement the same functional advantages of the present device.
Still another object is the relatively low expense of the device compared to other approaches for accomplishing the same purpose.
Other objects and novel features of the invention will become apparent from the following detailed description of the invention.

The United States of America as represented by the Secretary of the Navy


A microarray, a substrate for a microarray and more productive methods of fabricating the microarray and the substrate are provided. The microarray includes a substrate divided into a first region and a second region; a plurality of linkers represented by formula 1 or 2:

1. Field of the Invention
The present general inventive concept relates to a microarray, a substrate for a microarray and methods of fabricating the microarray and the substrate, and, more particularly, to a microarray having improved productivity, a substrate for a microarray and methods of fabricating the microarray and the substrate.
2. Description of the Related Art
In recent years, with the advance of genome projects, the genomic nucleotide sequences of various organisms have been identified. Thus, there has been an increasing interest in biopolymer microchips, in particular oligomer probe arrays. Microarrays are tools that have been widely used in gene expression profiling, genotyping, detection of mutation or polymorphism such as Single-Nucleotide Polymorphism (SNP), assaying of proteins or peptides, potential drug screening, and development and preparation of novel drugs.
To enable such assay or detection, a microarray includes a plurality of oligomer probes provided on a substrate. The plurality of oligomer probes have different sequences on different regions and are immobilized on the substrate. In order to immobilize the oligomer probes in a more secure, integrated manner, an active layer serving to mediate coupling of the oligomer probes may be formed on the substrate. Then, the active layer is patterned using the microarray, and a functional group is affixed on the patterned active layer, thereby completing fabrication of the microarray. As such, the conventional microarray fabricating process involves a number of complex processing steps.

Microarray, substrate for microarray and methods of fabricating the same

Abstract: wherein X is a site coupled to the substrate, R is a hydroxyl, aldehyde, carboxyl, amino, amide, thiol, halo, epoxy, or sulfonate group, m is an integer in the range of 3 to 16, p is an integer in the range of 1 to 30, and q is an integer in the range of 1 to 15,        directly coupled to the substrate in the first region but not coupled to the substrate in the second region; and        a plurality of probes coupled to the respective linkers.


A semiconductor integrated circuit includes a plurality of output transistors each controlling the magnitude of an output voltage relative to the magnitude of a load current according to a control value indicated by an impedance control signal applied to a control terminal, a voltage monitor circuit outputting an output voltage monitor value indicating a voltage value of the output voltage, and a control circuit controlling the magnitude of the control value according to the magnitude of an error value between a reference voltage indicating a target value of the output voltage and the output voltage monitor value, and controls based on the control value whether any of such transistors be brought to a conducting state. The control circuit increases a change step of the control value relative to the error value during a predetermined period according to prenotification signals for notifying a change of the load current in advance.

The present invention relates to a semiconductor integrated circuit equipped with a regulator circuit, and particularly to a regulator circuit which controls an output voltage according to an increase or decrease in load current consumed by a load circuit coupled to an output terminal.
In products each of which utilizes a semiconductor process subsequent to 28 nm-generation, the operation of a semiconductor device has been expected to become faster. A problem, however, arises in that since current density in a chip becomes high as the generation of a semiconductor process proceeds, the voltage to be applied to a transistor is greatly reduced at a high load/high-speed operation as compared with at a low load/low-speed operation, thus resulting in a difficulty of a high-speed operation. Under such a circumstance, there has generally been adopted a method for mounting a regulator circuit over a semiconductor chip and suppressing a fluctuation in the voltage applied to a transistor. In general, analog parts such as a resistor, a capacitor, an inductor, etc. are used in a regulator circuit, and a control algorithm for controlling the voltage by the combination of parameter values for these elements has been implemented. The type of such a regulator circuit is called an analog control type regulator. It is difficult for the analog control type regulator to change the loop characteristics of control according to a target to be controlled, at debug after the manufacture of the chip. This is because it is difficult to greatly change the parameter values for the analog parts for determining the loop characteristics. On the other hand, there has been proposed a digital control type regulator capable of easily changing loop characteristics even after chip design.
An example of a regulator circuit operated by such digital control has been disclosed in each of Non-Patent Documents 1 through 3, for example. There has been disclosed in the Non-Patent Document 1, an example in which a voltage value obtained by monitoring an output voltage is converted to a digital value, and a power MOS transistor is controlled by PID control. There has been disclosed in the Non-Patent Document 2, an example in which the number of power MOS transistors each brought to a conducting state is sequentially increased using shift registers. There has been disclosed in the Non-Patent Document 3, an example in which the gate length of a power MOS transistor is increased along a linear function.


Methods and apparatuses for conducting analyses are provided.

Most men with an elevated blood level of total prostate-specific antigen (PSA)—the most common trigger for biopsy in US men—do not have prostate cancer. As a result, it has been estimated that there are close to 750,000 unnecessary prostate biopsies each year in the US. There is considerable evidence that measuring the isoforms of PSA separately, rather than combining them together in a single measure of total PSA, can help predict the presence of prostate cancer. These data include studies showing that cancer is predicted by free PSA, BPSA or −2proPSA. Indeed, free PSA is often measured separately, with urologists given results in terms of total PSA and free-to-total PSA ratio, with an estimated 10 million free PSAs measured per year. There is also evidence that hK2, the molecule that converts PSA from its pro- to active form, is informative of prostate risk. However, none of these markers on their own constitute good predictors of prostate biopsy outcome.
There have been several attempts to build predictive models for prostate cancer, most notably the "Prostate Cancer Prevention Trial Risk Calculator", the "Sunnybrook", and the European Randomized trial of Screening for Prostate Cancer (ERSPC) risk calculator. The problem with these models is that they require more or less extensive clinical work-up, that is, the patient needs to visit a urologist. For instance, the ERSPC risk calculator requires data on prostate volume, which is obtained by inserting an ultrasound probe into the rectum. Accordingly, new methods and apparatuses for predicting risk of prostate cancer and/or prostate gland volume would be beneficial.


The present invention provides a method to resolve a technical problem of a “ghost”. The method is applied to a terminal that includes a first camera lens and a second camera lens, where the both lenses are located on a same side of the terminal. The method includes: obtaining a first image that is captured by the first camera lens and is about a first area, and a second image that is captured at a same moment by the second camera lens and is about a second area; performing translation compensation on the second image by using the first image as a reference image; and fusing the first image and the second image that is obtained after translation compensation is performed, to generate a third image, where a resolution of the third image is higher than a resolution of the first image and a resolution of the second image.

In most fields of image applications, a high-resolution image may be obtained by using a super-resolution algorithm, where the super-resolution algorithm refers to fusing multiple frames of low-resolution images, to generate one frame of high-resolution image. However, because a time difference exists when the multiple frames of low-resolution images are being captured, a local-motion difference exists between the multiple frames of images captured at difference times. The local motion is caused by a motion of an object in a scene at a time interval of capturing two frames of images.
Because the object in the scene moves at the time interval of capturing the two frames of images, a problem of a "ghost" is caused in a high-resolution image when the two frames of low-resolution images are being fused to generate the high-resolution image. As shown in FIG. 1, a "ghost" exists in a photograph generated by means of fusion.

Method and apparatus for fusing a first image and a second image


An adaptive coding and modulation (ACM) apparatus and method for a forward link in satellite communication is provided. The ACM apparatus may include a receiving unit to receive a signal-to-noise ratio (SNR) of a received signal, a determination unit to determine whether the SNR of the received signal is less than or equal to a threshold value, and a processing unit to execute a channel prediction algorithm when the SNR of the received signal is determined to be less than or equal to the threshold value.

1. Field of the Invention
The present invention relates to an adaptive coding and modulation (ACM) apparatus and method for a forward link in satellite communication, and more particularly, to a technology that may reduce a system load by executing a channel prediction algorithm only when a signal-to-noise ratio (SNR) of a received signal is less than or equal to a threshold value (SNR_TH), taking a load of an adaptive coding and modulation controller into account.
2. Description of the Related Art
Currently, satellite communication through which a telephone service is provided to subscribers located in remote areas is being widely used.
Satellite communication implements a long distance communication using an artificial satellite outside of the atmosphere as a relay station.
Satellite communication increases a service coverage area and ensures ultra-high speed transmission using high-frequency electric waves. One of the types of satellites being used is a geostationary satellite in which has a geostationary orbit, with an orbital period that is the same as the rotation period of the Earth. A geostationary satellite has a property of remaining permanently fixed in exactly the same position in the sky. Such a satellite is often used for satellite communication purposes.
According to the characteristics of microwaves, satellite communication allows a high-speed, large-capacity communication and a wide service coverage area, for example, an entire region of a predetermined country.
Also, satellite communication ensures reliability of communication irrespective of topography, and is robust against a disaster. However, because a travel time of electric waves, for example, about 0.24 seconds, disadvantages in terms of a propagation delay and a lack of data security are present in voice communication.
Due to use of a solar cell as a power source, satellite communication may experience a temporary loss of communication when a satellite passes into the shadow of the Earth or during heavy rain.
However, a separate signal line for communication in shortwave bands or higher passing through the ionosphere is not required for satellite communication, and thus is available for a transcontinental long-distance communication or communication in a country with mountainous areas.
Accordingly, satellite communication is being beneficially used for international communication, domestic long-distance communication, maritime communication, aeronautical communication, and the like.
Initially, applications of satellite communication faced limitations with regard to international telecommunications or television (TV) broadcasting due to a high cost of a satellite, but with technological advancements and cost reductions, satellite communication has been extended to various types of applications, for example, data communication, remote data gathering, personal computer (PC) communication, Internet communication, cable TV (CATV)/video distribution, distance education, intra-company communication, leased lines, videoconferencing, newspaper transmission, satellite news gathering (SNG), broadcasting of various events, and the like.
A conventional continuous coding and modulation (CCM) standard, digital video broadcasting satellite second generation (DVB-S2), uses a coding scheme and a modulation scheme selected for a predetermined availability unchangeably throughout a service coverage area. This CCM scheme needs to maintain a high margin in accordance with system availability standards, even under clear sky conditions.
In a case in which a CCM mode is applied to satellite communication, when rain attenuation is severe, attenuation of the entire satellite link may increase, resulting in discontinuity of the link. An adaptive coding and modulation (ACM) may increase an average system throughput and availability.

Adaptive coding and modulation apparatus and method for forward link in satellite communication

Electronics and Telecommunications Research Institute


In an assist pattern arrangement method according to an embodiment, a plurality of patterns, in which an assist pattern is to be arranged, are extracted from a design pattern that is prepared in advance. Then, a resolution map of the extracted pattern is calculated. The resolution map includes a first pattern that increases a resolution of the pattern and a second pattern that decreases the resolution of the pattern. After the resolution map is calculated, a plurality of calculated resolution maps are added. Then, the assist pattern is arranged on the design pattern on the basis of the addition result.

In the related art, there is a method that optimizes a layout design or a mask, using an assist pattern (sub-resolution assist feature (SRAF)), as one of the methods for improving a lithography margin of an exposure pattern (a design pattern which is a main pattern) in a semiconductor lithography technique.
As an SRAF arrangement method, there is a rule-based SRAF technique that arranges an SRAF in the vicinity of a design pattern according to an SRAF arrangement rule. In addition, there is a model-based SRAF technique that arranges an SRAF on a design pattern using a certain model.
However, in the rule-based SRAF technique, in some cases, it is difficult to ensure an appropriate lithography margin. In addition, SRAF arrangement that deviates from the SRAF arrangement rule in the rule-based SRAF technique is required. In this case, it is difficult to appropriately arrange the SRAF. In contrast, in the model-based SRAF technique, it takes a lot of time to calculate a coherence map representing the coherence of the design pattern. In addition, in the model-based SRAF technique, in some cases, it is difficult to derive an appropriate SRAF shape from the coherence map.
Therefore, it is preferable to easily arrange an SRAF on the design pattern, on which it is difficult to arrange the SRAF, in a short time.

Assist pattern arrangement method and recording medium


Disclosed herein is a process for vapor phase growth of gallium nitride compound semiconductor which yields uniform crystal layers with good reproducibility. The process comprises forming a first nitride semiconductor layer on a substrate, forming thereon a protective film for crystal growth prevention in such a way that it has partly open window regions through which the first nitride semiconductor layer is exposed, forming a second nitride semiconductor layer by selective growth from the first nitride semiconductor layer at a crystal growth starting temperature, and continuing crystal growth at a temperature higher than the crystal growth starting temperature. The vapor phase growth at a low temperature yields a uniform crystal layer, and the ensuing vapor phase growth at a raised temperature yields a uniform crystal layer with good reproducibility in conformity with the first crystal layer.

The present application claims priority to Japanese Application No. P2000-232821 filed Aug. 1, 2000, which application is incorporated herein by reference to the extent permitted by law.
The present invention relates to a process for crystal growth used to form semiconductor light-emitting devices. More particularly, the present invention relates to a process for selectively growing crystals of nitride semiconductor.
Nitride semiconductors such as gallium nitride compound semiconductors are formed by means of vapor phase growth. Vapor phase growth needs a special process so that it yields high-quality crystals with a low dislocation density, as disclosed in Japanese Patent Laid-open No. Hei 10-312971. According to this disclosure, the process consists of depositing gallium nitride to form a first semiconductor layer, forming a protective film from a material (such as silicon oxide and silicon nitride) which prevents the growth of gallium nitride compound semiconductor, and allowing the gallium nitride compound semiconductor to grow in the lateral direction or in-plane direction from the region which is not covered by the protective film, thereby forming a second semiconductor layer. This layer structure prevents the propagation of the threading dislocations which extend vertically from the substrate interface.
A similar technique is disclosed in MRS Internet J. Nitride Semicond. Res. 4S1, G3.38 (1999). According to this disclosure, the reduction of threading dislocations is accomplished by the steps of growing a first gallium nitride compound semiconductor layer, selectively removing the semiconductor layer by reactive ion etching (RIE for short hereinafter), and selectively growing a second gallium nitride compound semiconductor layer from the remaining crystals. These techniques yield crystal film having a low dislocation density (about 106 cmxe2x88x922), and they have realized long-life semiconductor lasers.
The former technique mentioned above consists of steps of forming a first gallium nitride compound semiconductor layer, forming a protective film, and forming a second gallium nitride compound semiconductor layer. This technique minimizes the propagation of threading dislocations into the second gallium nitride compound semiconductor layer from the underlying layer if the protective film is formed such that the area of windows or the area of uncovered regions in the protective film is as small as possible. In practice, however, the selective growing needs a comparatively high growing temperature (1000xc2x0 C. or higher) so that deposition on the protective film is as small as possible and because the ordinary growing temperature of GaN is 1000xc2x0 C. or higher. This high temperature causes vigorous evaporation, retarding the start of crystal growth or growing crystals unevenly if the area of the window region is small. This presents difficulties in achieving uniformity and good reproducibility. Therefore, it is impracticable to reduce the area of the window region and there is a limit to the reduction of the threading dislocation density in the second gallium nitride compound semiconductor layer.
It is an object of the present invention to provide a process for vapor phase growth of nitride semiconductor involving a protective film. This process grows high-quality semiconductor crystals uniformly and invariably even though the protective film is so formed as to give small uncovered window regions.
According to the present invention, the process for vapor phase growth of nitride semiconductor includes forming a first nitride semiconductor layer on a substrate, forming thereon a protective film for crystal growth prevention in such a way that it has partly open window regions through which the first nitride semiconductor layer is exposed, forming a second nitride semiconductor layer by selective growth from the first nitride semiconductor layer at a crystal growth starting temperature, and continuing crystal growth at a temperature higher than the crystal growth starting temperature.
According to the present invention, the process for vapor phase growth of nitride semiconductor comprises forming a first nitride semiconductor layer on a substrate, forming thereon a protective film for crystal growth prevention in such a way that it has partly open window regions through which the first nitride semiconductor layer is exposed, forming a second nitride semiconductor layer by selective growth from the first nitride semiconductor layer in such a state that the nitride semiconductor is released at a low level on the surface of the first nitride semiconductor layer or the second nitride semiconductor layer, and continuing crystal growth in such a state that the nitride semiconductor is released on the surface of the second nitride semiconductor layer at a higher level than at the time of start of crystal growth.
The present invention was developed in view of the fact that crystal growth which is usually carried out at a temperature at which crystals do not grow on the protective film or at a temperature at which the reactant gas evaporates does not proceed efficiently in the open window regions of the protective film. The process of the present invention is characterized in that the second nitride semiconductor layer is formed in two stages. The crystal growth is started at an adequate crystal growth starting temperature and is continued at a temperature higher than the crystal growth starting temperature; alternatively, the crystal growth is started in such a state that the nitride semiconductor is released at a low level on the surface of the nitride semiconductor layer and is continued in such a state that the nitride semiconductor is released on the surface of the nitride semiconductor layer at a higher level than at the time of start of crystal growth. In this way it is possible to suppress the evaporation of nitride semiconductor in the window regions.

Process of vapor phase growth of nitride semiconductor


A circuit includes a power converter including an output node and a feedback port, which is configured to receive a feedback signal to control the output signal at the output node. The circuit further includes a feedback network coupled to both the output node and the feedback port of the power converter. The feedback network includes a combined voltage divider. The combined voltage divider includes a first branch and a second branch. The first branch is coupled between the output node of the power converter and a partition node coupled to the feedback port of the power converter. The second branch is coupled between the partition node and a ground voltage. The second branch of the combined voltage divider includes a modulation node between the partition node and the ground voltage.

Various power conversion systems, such as alternating current (AC) to direct current (DC) converters (AC/DC converters) and DC to DC converters (DC/DC converters), include as a desirable feature the ability to control and change the output voltage value dynamically. That ability may be exploited, for instance, for implementing cable-drop-compensation.
Various solutions already proposed to provide such a desirable feature exhibit a number of drawbacks such as, for instance, a certain complexity and/or a marked dependency of the output voltage resolution on the accuracy of a digital-to-analog converter (DAC) included in the arrangement.

Output adjustment circuit for power converters, corresponding device, and method


The invention relates to a detection probe for spectroscopy and/or spectrometry in tissue (4) with the aid of optical fibers (1,2). At least one fiber (2) transmits light into the tissue (4) and other fibers (2) receive backscattered light. According to the invention, deflection devices (mirrors 6, fibers 7, prisms 9,10,11) are provided for the light, whereby the inventive probe is substantially flatter and easier to handle.

The invention relates detection probes for in depth resolving optical spectroscopy and spectrometry.
Various possibilities for detecting the light scattered in tissue in dependence on the distance from the source of illumination already exist. Apart from the use of photodetector arrays directly on the tissue surface, there is the possibility of transmitting the light to the detectors by an arrangement of light guides.
U.S. Pat. No. 4,321,930 discloses an apparatus for monitoring metabolisms in bodies, in which a probe which contains a plurality of deflecting devices, to be specific bent light guides, is placed on the skin.
A corresponding device is also known from DE-A-25 17 129, as a photoelectric pulse pick-up with fiber optics.
In a known configuration, as represented in FIG. 1 and described in EP 771 546 A2, optical fibers in a certain arrangement, which determines the depth of detection and the in-depth resolution, can be placed on the tissue in abutting manner. At the same time, the fibers (illumination fiber 1, detection fibers 2) are cemented into a corresponding fiber holder 3 (material: e.g. PEEK, high-grade steel) or fixed in relation to one another at previously defined spacings by a casting compound (e.g. epoxy casting compound Epo-Tek 301-2). For reasons of biocompatibility, corresponding materials must be used. Also shown in FIG. 1 is the tissue 4, into which light is coupled from the fiber 1, and the paths 5 of the scattered light, which is picked up by the individual detection fibers 2. Because of the relatively unfavorable leverage, such a detection probe must have a wide base plate to allow it to be fixed securely. The use of more than three fibers 1, 2 makes the feeding-in fiber optic cable quite rigid, resulting in great bending radii and consequently a great space requirement.
The direct coupling of the scattered light into the fiber makes the known arrangement very effective. However, this is at the expense of convenient handling and fixing. With this type of optical detection, a fiber diameter beginning from 50 xcexcm is adequate in the case of a fiber spacing of 0.3 mm.
Against this background, it is an object of the invention to reduce the overall size of the detection probe and improve handling.
A detection probe with the features of claim 1 is proposed to achieve this object. Configurations of the invention are the subject of subclaims.
An orthogonal detection of the scattered light is preferably provided, with a fiber guided parallel to the tissue surface and with a deflection of the light of between 0xc2x0 and 180xc2x0, preferably by 90xc2x0, with at least one mirror surface.
The invention allows the detection probes to be made especially flat, thereby reducing the overall size and improving handling. Electrodes can be easily fixed, in a way similar to the electrodes in the case of an electrocardiogram, and are also not felt to be a hindrance, since thexe2x80x9cleadsxe2x80x9d lie flat against the body and do not protrude perpendicularly from it.
Further aims, advantages, features and application possibilities of the present invention emerge from the following description of an exemplary embodiment on the basis of the drawing. All the features described and/or graphically presented here form the subject-matter of the present invention in themselves or in any desired meaningful combination, even independently of how they are combined in the claims or the way in which the latter relate back to one another.

Detection probe for optical spectroscopy and spectrometry


An electronic control unit for a car in which a control portion operates in accordance with signals given from a plurality of input portions including a car ignition switch to thereby perform drive control of a predetermined output portion, the control portion having a sleep function by which the control portion stops when the control portion in not required to operate, comprises a watchdog circuit for watching the operation of the control portion; and a conditioning circuit for defining a condition for starting the watchdog circuit; the conditioning circuit being constituted by an OR circuit for performing the logical sum OR among at least two signal inputs from the input portions and a signal input indicating the fact that the control portion is operating.

The present invention relates to an electronic control unit for a car (hereinafter referred to a "car electric control unit").
Generally, a car electronic control unit is generally designed so as to be controlled by a microcomputer with the advance of its performance. In most cases, a car electronic control unit has such a circuit configuration in which the operation of the microcomputer is watched by a watchdog circuit for the purpose of fail safe at the time of running-away of a program in the microcomputer so that the microcomputer can be reset when the run-away state is detected.
Incidentally, a car electronic control unit generally has a function which stops such a microcomputer (that is, makes the microcomputer sleep) to thereby reduce consumed electric power when the microcomputer is not required to operate. However, if the microcomputer is made to sleep when the runaway state is watched by a built-in watchdog circuit, the electronic control unit resets the microcomputer to start on the basis of misjudgment that the microcomputer has stopped. That is, there arises a problem that the microcomputer starts to increase consumed electric power even in the case where the microcomputer is not required to operate. As a measure to solve such a problem, Japanese Utility Model Publication JP-3-34955(U) entitled "On-vehicle Appliance Control Circuit" proposes a circuit in which an electric source is supplied to a watchdog circuit only in the condition that the microcomputer is required to operate, for example, only when the ignition switch is in the on-state.
FIG. 6 is a functional block diagram showing operating functions of the car electronic control unit. The car electronic control unit has three basic functions as follows:
a seat belt lamp control function which turns a seat belt lamp 2 on/off only when an ignition switch 1 is in an on-state;
a key alarm function which concludes that an ignition key is left behind and sounds an alarm buzzer 5 when an ignition key sensor 4 detects the fact that the ignition key is left as it is inserted in a key cylinder in spite of the fact that the ignition switch 1 is in an off-state and the opened-state of a driver's seat door is detected on the basis of a signal from the door open/close detection sensor 3; and
a room lamp turning-on function which turns-on a room lamp 8 while the door is opened or for several seconds (for example, 5 seconds) after the door is closed on the basis of signals from the door open/close detection sensor 3 and a timer 6 connected to the door open/close detection sensor 3.
In addition to the above three basic functions, it has an additional function as follows.
A watchdog function which watches the operation, such as running-away, etc., of the control portion (microcomputer chip) 7 for controlling the operations of the aforementioned various functions.
In the seat belt lamp control function, the on-state of the ignition switch 1 is detected by a detection portion 11 in the control portion 7 and the seat belt lamp 2 is controlled to be turned on/off on the basis of the result of the detection. Specifically, as shown in FIG. 7, the ignition switch 1 has one end connected to a battery and the other end connected to a connection terminal 12 of the car electronic control unit. The connection terminal 12 is grounded through a resistor R1 in the car electronic control unit and connected to a first input terminal I1 of the control portion 7 through a resistor R2. A first output terminal Q1 of the control portion 7 is connected to the base of an NPN-type first transistor Tr1 through a resistor R3. The emitter of the first transistor Tr1 is grounded, and the collector of the first transistor Tr1 is connected to one end of the seat belt lamp 2 through a connection terminal I3. The other end of the seat belt lamp 2 is connected to the battery. A detection portion 11 in the control portion 7 performs on/off turning of the first transistor Tr1 in accordance with the input state of the first input terminal I1 to control the current in the seat belt lamp 2 to thereby control the turning on/off of the seat belt lamp 2.
In the key alarm function, as shown in FIG. 6, a logical product AND among the off-state of the ignition switch 1, the door opened-state detected by the door open/close detection sensor 3 and the key-presence state detected by the ignition key sensor 4 is detected by an AND circuit 21 to sound an alarm buzzer 5. Specifically, one end of the door open/close detection sensor 3 is grounded, and the other end of the door open/close detection sensor 3 is connected to a connection terminal 22 of the car electronic control unit. The connection terminal 22 is connected to the battery through a resistor R4 and connected to a second input terminal I2 of the control portion 7 through a resistor R5. Further, one end of the ignition key sensor 4 is grounded, and the other end of the ignition key sensor 4 is connected to a connection terminal 23 of the car electronic control unit. The connection terminal 23 is connected to the battery through a resistor R6 and connected to an input terminal I3 of the control portion 7 through a resistor R7. Further, a second output terminal Q2 of the control portion 7 is connected to the alarm buzzer 5. The logical product AND among the off-state of the ignition switch 1, the door opened-state detected by the door open/close detection sensor 3 and the key-presence state detected by the ignition key sensor 4 is detected by the AND circuit 21 in the control portion 7 to thereby control the sounding of the alarm buzzer 5.
In the room lamp turning-on function, as shown in FIG. 6, the timer 6 counts time for several seconds (for example, 5 seconds) after the door open/close detection sensor 3 detects the door closed-state so that the room lamp 8 is turned on while the door open/close detection sensor 3 detects the fact that the door is in the opened-state or while an AND circuit 31 logically detects the fact that the count value of the timer 6 is within the time of several seconds (5 seconds). Specifically, as shown in FIG. 7, a third output terminal Q3 of the control portion 7 is connected to the base of an NPN-type second transistor Tr2 through a resistor R8. The emitter of the second transistor Tr2 is grounded, and the collector of the second transistor Tr2 is connected to one end of the room lamp 8 through a connection terminal 24. The other end of the room lamp 8 is connected to the battery. The AND circuit 31 in the control portion 7 performs on/off turning of the second transistor Tr2 in accordance with the door opened/closed state to control the current in the room lamp 8 to thereby control the turning on/off of the room lamp 8.
In the watchdog function, as shown in FIG. 6, a watchdog circuit 41 is supplied with an electric source so as to operate when the ignition switch 1 is in the on-state. The watchdog circuit 41 receives a watchdog clear signal from a connection terminal WDO for reporting the internal operating state of the control portion 7, so that the watchdog circuit 41 watches the operation of the control portion 7 on the basis of the watchdog clear signal. When the operation of the control portion 7 gets into an abnormal state such as running-away, etc., the watchdog circuit 41 sends a reset signal to a reset terminal RST of the control portion 7. Specifically, as shown in FIG. 7, the watchdog circuit 41 is connected to a PNP-type transistor 43 (switching element) for switching the supply of a source current from an electric source (regulator) 42. The base of the transistor 43 is connected to an NPN-type transistor 44 the connection of which to the ground is switched on/off on the basis of the on/off state of the ignition switch 1.
FIG. 8 is a timing chart showing operations of respective parts. In the car electronic control unit, when the ignition switch 1 is in an off-state in the waveform (A) in FIG. 8, the transistor 44 in FIG. 7 is in an off-state. Accordingly, the base of the transistor 43 becomes high as shown in the waveform (D) in FIG. 8, so that the transistor 43 is kept in the off-state. As a result, the watchdog circuit 41 is at a standstill because the electric source from the regulator 42 is not supplied to the watchdog circuit 41. Further, the control portion 7 is kept in the sleep state to avoid wasteful battery consumption.
When the ignition switch 1 is turned on (at time t1) in the waveform (A) in FIG. 8, the transistor 44 is turned on so that the base of the transistor 43 is bypassed to the ground side so as to become low as shown in the waveform (D) in FIG. 8. As a result, the transistor 43 is turned on, so that the electric source from the regulator 42 is supplied to the watchdog circuit 41. In this occasion, the watchdog circuit 41 sends a reset signal to the reset terminal RST of the control portion 7 to release the sleep state of the control portion 7 (to wake up the control portion 7) as shown in the waveform (G) in FIG. 8. At the same time, the watchdog circuit 41 starts a watchdog operation as shown in the waveform (E) in FIG. 8, so that the watchdog circuit 41 receives a watchdog clear signal as shown in the waveform (F) in FIG. 8 from the connection terminal WDO of the control portion 7 and watches the operation of the control portion 7 on the basis of the signal.
When, for example, a vehicle door is opened and the door opened-state is detected by the door open/close detection sensor 3 at time t2 (the waveform (B) in FIG. 8), the AND circuit 31 of the control portion 7 logically detects the door opened-state and turns on the room lamp 8 (the waveform (C) in FIG. 8).
Although it is a matter of course that the control portion 7 operates when the ignition switch 1 is in the on-state, the operation of the control portion 7 is not always stopped even in the case where the ignition switch 1 is turned off as will be described later. In this case, the watching function of the watchdog circuit 41 in the conventional car electronic control unit does not work when the ignition switch 1 is in an off-state. Accordingly, there arises a problem in a function, such as a timer function, etc., necessary for operating the microcomputer in the off-state of the ignition switch 1, such that running-away cannot be watched while the timer operates.
Specifically, when the ignition switch 1 is turned off as shown in the waveform (A) in FIG. 8 at time t3 in FIG. 8, the transistor 44 in FIG. 7 is turned off. Accordingly, the base of the transistor 43 becomes high as shown in the waveform (D) in FIG. 8, so that the transistor 43 is turned off. As a result, the electric source from the regulator 42 is not supplied to the watchdog circuit 41, so that the watchdog circuit 41 stops its watchdog operation (the waveform (E) in FIG. 8).
However, when the vehicle door is still opened after the time t3, the door opened-state is detected by the door open/close detection sensor 3 (the waveform (B) in FIG. 8). The timer 6 counts several seconds (5 seconds: T.alpha. in the waveform (C) in FIG. 8) after the door open/close detection sensor 3 detects the door closed-state. The room lamp 8 must be in the on-state continuously unless the counting is completed. For this reason, the operation of the control portion 7 is continued even after the time t3 as shown in the waveform (G) in FIG. 8, so that the control portion 7 intends to give a watchdog clear signal, as shown in the waveform (F) in FIG. 8, to the watchdog circuit 41 through the connection terminal WDO.
However, because the watchdog operation of the watchdog circuit 41 has stopped at the time t3 as described above (the waveform (E) in FIG. 8), the watchdog circuit 41 cannot watch the control portion 7 in the period T.beta. between the time t3 and the time t4 even in the case where the watchdog circuit 41 receives the watchdog clear signal as shown in the waveform (F) in FIG. 8.

Harness System Technologies Research, Ltd.


A modular distributed I/O system for an industrial automation network that allows one or more modules of an island to be omitted without requiring reconfiguration of the system by maintaining a consistent I/O image representation of the distributed I/O network for various physical distributed I/O configurations and managing reconfiguration changes remotely using Virtual Placeholder objects.

A programmable logic controller (PLC) is used to monitor input signals from a variety of input points (i.e., input sensors) that report events and conditions occurring within a controlled process. For example, a PLC can monitor such input conditions as motor speed, temperature, pressure, volumetric flow and the like. The PLC has a control program stored within its memory to instruct the PLC on what actions to take upon encountering particular input signals or conditions. In response to these input signals provided by the input sensors, the PLC derives and generates output signals that are transmitted to control the process via PLC output points to various output devices such as actuators and relays. For example, an output signal can be provided by the PLC to speed up or slow down a conveyer, rotate the arm of a robot, open or close a relay, raise or lower temperature, as well as many other possible control functions.
The input and output points referred to above are typically associated with input modules and output modules, respectively. Input and output modules are collectively referred to as I/O modules herein. Those skilled in the art alternatively refer to such I/O modules as I/O cards or I/O boards. I/O modules are typically adapted to be plugged into respective slots located on a backplane board or other attachment system provided by the PLC. The slots are coupled together by a main bus that couples any I/O module plugged into the slots to a central processing unit (CPU). The CPU itself can be located on a card that is adapted to be plugged into a dedicated slot on the backplane board of the PLC.
In many control systems, PLCs are arranged in a master/slave network that includes a master PLC and a plurality of remote slave units that can include other PLCs or devices. In this type of a network, the master PLC controls its own I/O connection points and also the respective I/O connection points for the remote slave unit(s). The control commands from the master PLC are derived from data obtained from the remote slave units, which is obtained from the I/O module(s) connected to each remote slave unit.
To meet the needs of machine manufacturers and users, automation architectures have been decentralized or distributed while delivering performance comparable to centralized systems. For instance, the ADVANTYS STB distributed I/O system is an open, modular input/output system that makes it possible to design islands of automation managed by a master controller via a bus or communication network. The ADVANTYS STB distributed I/O system is a product of Schneider Automation Inc., One High Street, North Andover, Mass.
These automation islands, typically installed close to the machine, help reduce the time and cable cost for sensors and actuators, while increasing system availability. The island components are electronic modules mounted on one or more DIN rails (i.e., standardized rails). These clusters of modules, known as segments, carry a bus from the beginning to the end of each island. The island bus provides power distribution, signal sensing, and power management to compatible modules.
An island can include one or more segments comprising a network interface module (NIM), a power distribution module (PDM), and additional modules for various architectures such as I/O modules, bus extension modules, island bus termination, and island bus extensions.
The island is typically configured using a user interface. The NIM is responsible for assigning addresses to the I/O modules and for maintaining a process image of the I/O modules. Both the NIM and the I/O modules participate in I/O modules automatically obtaining their addresses based on their relative physical locations—using an auto-addressing protocol. The NIM is responsible for maintaining a process image of the I/O modules, which is based on the addresses of the I/O modules. Such an addressing scheme could not handle the situation where a user wanted to physically remove I/O modules that correspond to unwanted options without changing the program to add/delete the options.
Each island is comprised of several I/O modules, divided into several groups. Each group of I/O modules represents one option available in a customer's machine. When all options are included in a particular machine, then all groups of I/O modules must be physically present; this forms the "base" configuration. Different machines may contain different options, hence different groups of I/O modules.
When a machine is built, a technician uses a human-machine interface (HMI) connected to the PLC that controls the automation system and other parts of the machine to select which options are physically present in the machine. To ease PLC programming, the process image of the island must remain identical, regardless of the machine options that are chosen by the customer (and subsequently the I/O modules that are physically present).
In prior versions of automation systems, the Customer must build and maintain different island configuration files for machines with different options; this can be quite burdensome in cases where there are many combinations of machine options available. It is desired that for each base configuration, only one island configuration be necessary.
The present invention provides an I/O configuration solution to overcome these and other problems.

This patent is subject to a terminal disclaimer.

Remote virtual placeholder configuration for distributed input/output modules


A scalable computing system for managing dynamic communities stores and provides access to community and member information. A community is a dynamic and virtual association of users. Some example features of a community include: a home page, membership, non-real time based messaging (threaded messages), chats, community calendar, annotations, and management tools for access control. The scalable architecture of the computing system for managing dynamic communities provides a computing system capable of handling the increasing number of community members and the community elements associated with the community.

This invention relates generally to information systems and more particularly to a computing system having a scalable architecture that is capable of managing dynamic communities.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright (copyright) 1998, 1999 Microsoft Corporation. All Rights Reserved.
The Internet is a worldwide collection of networks that span over 100 countries and connect millions of computers. As of 1998, the Internet had more than 100 million users worldwide and that number continues to grow rapidly. The Internet has quickly become a vital means of communication, collaboration, news, learning, commerce and entertainment.
The quickness and easy access to communication technology available to the growing number of Internet users is fostering the growth of online communities. A community is a virtual association of users. A community can comprise as little as a few users or as many as thousands of users or more. Communities commonly form around areas of similar interest. For example, communities form around topics such as sports, hobbies, pets, and technology to name a few. Common examples of the communication technology used to support communities include electronic newsletters, discussion-group mailing lists, news groups and chat rooms.
As the number of Internet users grows, the need for a scalable system to manage dynamic communities grows. Also, as profiles of Internet users become more diverse, the desire of Internet users to customize community features grows. For these and other reasons, there is a need for a scalable computing system for managing dynamic communities.
A scalable computing system for managing dynamic communities stores and provides access to community and member information. A community is a dynamic and virtual association of users. The scalable architecture of the computing system for managing dynamic communities provides a computing system capable of handling the increasing number of community members and the community elements associated with the community.
Example elements of a community include: a home page, membership, non-real time based messaging (threaded messages), chats, community calendar, annotations, and management tools for access control and the like. The computing system performs authentication of community members and access control to community information. The computing system also performs community management functions including adding, deleting, and modifying community properties. The computing system also controls user navigation and participation including browsing, reading and writing of content by users. The computing system for managing dynamic communities stores community elements and dynamically generates a page containing the requested community elements when a request for such is received.

Scalable computing system for managing dynamic communities in multiple tier computing system


The present invention relates to communications in which transmit data generated in processes in which a utilization portion performs arbitrary application processing are transmitted to an exterior in accordance with a previously determined protocol in a control portion. A RAM comprises a transmission buffer and a management table for managing a state where each of the transmit data, whose request for transmission has been accepted by the control portion, is transmitted and the location, on the transmission buffer, of the transmit data. The utilization portion outputs, when the transmit data is generated, a request to acquire a data write area to the control portion. Correspondingly, the control portion refers to the management table, to specify a data write area where writing is newly allowed in the transmission buffer and present the specified data write area to the utilization portion. The utilization portion writes the transmit data into the presented data write area.

1. Field of the Invention
The present invention relates generally to a communication device, and more particularly, to a communication device comprising a utilization portion for performing arbitrary application processing, a control portion for performing processing in accordance with a previously determined protocol, and a memory which is shared between the utilization portion and the control portion, a communication method, and a medium on which a computer program for carrying out the method is recorded.
2. Description of the Background Art
In a communication device comprising a utilization portion for performing arbitrary application processing, a control portion for performing processing in accordance with a previously determined protocol, and a memory which is shared between the utilization portion and the control portion, the control portion transmits transmit data generated in the utilization portion in accordance with the previously determined communication protocol. In the communication device, when large amounts of transmit data are generated in the utilization portion for a short time period at a speed exceeding the communication speed of the control portion, the transmit data may be discarded without being transmitted. Therefore, the conventional communication device has a transmission buffer provided therein, and employs a method of temporarily storing transmit data in the transmission buffer to absorb the overflow of the transmit data.
Description is now made of the conventional communication device which is provided with the transmission buffer.
FIG. 24 is a block diagram showing an example of the structure of a transmission portion in the conventional communication device. In FIG. 24, the communication device comprises a control portion 1010, a utilization portion 1020, a RAM (Random Access Memory) 1030, and an interface 1040.
The control portion 1010 executes a previously determined communication protocol. Although the utilization portion 1020 performs application processing, no service for using is specified on the communication protocol. That is, a user can use an arbitrary application program in the utilization portion 1020.
The RAM 1030 is used as a working memory of the control portion 1010 and the utilization portion 1020. The RAM 1030 has, as ones related to transmit data, a transmission buffer 1031, a transmit data management table 1032, and an untransmitted data management table 1033. The transmission buffer 1031 and the transmit data management table 1032 are under the management of the utilization portion 1020. On the other hand, the untransmitted data management table 1033 is under the management of the control portion 1010. The details of the transmission buffer 1031, the transmit data management table 1032, and the untransmitted data management table 1033 will be described later.
The control portion 1010 is connected to a communication line 1042 through the interface 1040. The interface 1040 includes a modem or the like, and mediates communication between the communication device shown in FIG. 24 and another communication device (not shown).
FIG. 25 is a diagram showing the structure of the transmission buffer 1031 shown in FIG. 24. Transmit data generated in the utilization portion 1020 is written into the transmission buffer 1031. In FIG. 25, eight transmit data are written, as an example, into the transmission buffer 1031.
FIG. 26 is a diagram showing the structure of the transmit data management table 1032 shown in FIG. 24. The location of each of the transmit data written into the transmission buffer 1031 is contained in the transmit data management table 1032 as shown in FIG. 25 (specifically, a head address in a write area of the each of the transmit data in the transmission buffer 1031).
FIG. 27 is a diagram showing the each of the structure of the untransmitted data management table 1033 shown in FIG. 24. The untransmitted data management table 1033 stores the location of each of the transmit data whose request for transmission has been accepted (a head address in a write area of the each of the transmit data in the transmission buffer 1031) and the size thereof. Further, a header information write area and an ender information write area are provided in relation to the location and the size of each of the transmit data.
FIG. 28 is a flow chart showing a part of operations performed by the utilization portion 1020 shown in FIG. 24. FIGS. 29 and 30 are flow charts showing parts of operations performed by the control portion 1010 shown in FIG. 24.
Referring now to FIGS. 28 to 30, description is made of a series of operations performed from the time when transmit data is generated until it is transmitted in the communication device shown in FIG. 24.
FIG. 28 will be referred to. The utilization portion 1020 judges, when transmit data is generated (step S2801), whether the transmission of the transmit data is the first transmission or the second or later transmission (step S2802). In the case of the first transmission, the utilization portion 1020 judges whether or not the transmit data management table 1032 has a space (step S2803). In the first transmission, the transmit data management table 1032 is empty, so that the result of the judgment is "YES", after which the program proceeds to the step S2804. At the step S2804, the utilization portion 1020 judges whether or not a write area in which transmit data is to be newly written can be ensured in the transmission buffer 1031. In the first transmission, the transmission buffer 1031 is empty, so that the result of the judgment is "YES", after which the program proceeds to the step S2805. At the step S2805, the utilization portion 1020 ensures a write area in which transmit data is to be newly written in the transmission buffer 1031, to add the location (a head address) of the ensured write area to the transmit data management table 1032. The utilization portion 1020 then writes transmit data generated at that time into the newly ensured write area in the transmission buffer 1031 (step S2806). The utilization portion 1020 then prepares a data transmission request (step S2807). The data transmission request includes the location of the transmit data newly written into the transmission buffer 1031 and the size thereof. The data transmission request is outputted to the control portion 1010 at the step S2808.
FIG. 29 will be referred to. The control portion 1010 adds, when it receives the data transmission request from the utilization portion 1020 (step S2901), the location and the size of the transmit data (both are included in the data transmission request) to the untransmitted data management table 1033 (step S2902). The control portion 1010 then writes header information of a packet to be later generated in a header information write area in the same column as a column to which the location and the size of the transmit data are added at the step S2902 (step S2903). Further, the control portion 1010 then writes ender information of the packet to be later generated in an ender information write area in the same column (step S2904). The control portion 1010 then judges whether or not the communication device is currently in a transmittable state (step S2905). Such judgment is required because the communication device shown in FIG. 24 makes half-duplex transmission, for example, so that it cannot transmit the transmit data while receiving transmit data from a communication device at the destination of communication (not shown). The control portion 1010 performs processing at the step S2906 immediately when transmission is possible, while performing the processing after waiting, when transmission is impossible, until there occurs a state where transmission is possible. At the step S2906, the control portion 1010 generates a packet for the oldest transmit data out of the transmit data, which have not been transmitted yet, registered in the untransmitted data management table 1033, and transmits the packet to the communication device at the destination of communication. The packet is constituted by header information, transmit data, and ender information. The header information and the ender information are taken out of the untransmitted data management table 1033. The transmit data is taken out of the transmission buffer 1031 (more specifically, out of a write area specified by the location of the transmit data stored in the untransmitted data management table 1033). The control portion 1010 then judges whether or not acknowledgment (ACK) of arrival of the transmit data is returned from the communication device at the destination of communication (step S2907). When the ACK is not returned, the program is returned to the step S2906. At the step S2906, the control portion 1010 generates and resends the same packet. On the other hand, when the ACK is returned, the control portion 1010 judges that the transmission of the packet is terminated, and deletes information, relating to the packet whose transmission is terminated (header information, the location of the transmit data, the size of the transmit data, ender information) from the untransmitted data management table 1033 (step S2908). The transmission processing in the control portion 1010 is thus terminated.
FIG. 28 will be referred to again. When transmit data is generated in the utilization portion 1020, the transmission of the transmit data at this time is the second or later transmission, so that the program proceeds to the step S2809. At the step S2809, the utilization portion 1020 requires confirmation of a status of the control portion 1010. The status indicates the situation where transmission processing in the control portion 1010 progresses.
FIG. 30 will be referred to. The control portion 1010 takes out, when it receives a status confirmation request from the utilization portion 1020 (step S3001), all the locations of the transmit data which are stored in the untransmitted data management table 1033, to produce a status (step S3002), and sends the produced status to the utilization portion 1020 (step S3003). The confirmation processing of the status in the control portion 1010 is thus terminated.
FIG. 28 will be referred to again. The utilization portion 1020 judges, when it receives the status from the control portion 1010, whether or not there is transmit data whose transmission in the control portion 1010 is completed out of the transmit data written into the transmission buffer 1031 (step S2810). This judgment is made by examining transmit data whose location is stored in the transmit data management table 1032 but does not exist in the status. When transmit data which has been already transmitted exists in the transmission buffer 1031, the utilization portion 1020 writes the transmit data into one of write areas storing the transmit data which has been already transmitted, and overwrites the location of the transmit data (a head address in the write area) on a corresponding column in the transmit data management table 1032 (step S2811). The utilization portion 1020 then deletes the location of transmit data whose transmission is confirmed at the foregoing step S2811 and other than the transmit data written this time into the transmission buffer 1031 (step S2812). The utilization portion 1020 then prepares a data transmission request (including the location and the size of the transmit data written at that time into the transmission buffer 1031) (step S2807). The data transmission request is outputted to the control portion 1010 at the step S2808.
On the other hand, when there exists no transmit data whose transmission is completed in the transmission buffer 1031 at the foregoing step S2810, the program proceeds to the step S2803. At the step S2803, the utilization portion 1020 judges whether or not the transmit data management table 1032 is empty. When the transmit data management table 1032 is not empty, the program is returned to the step S2809. At the step S2809, the utilization portion 1020 confirms the status in the control portion 1010 again. On the other hand, when the transmit data management table 1032 is empty, the utilization portion 1020 judges whether or not a write area in which transmit data is to be newly written can be ensured in the transmission buffer 1031 (step S2804). When a write area in which transmit data is to be newly written cannot be ensured, the program is returned to the step S2809. At the step S2809, the utilization portion 1020 confirms the status in the control portion 1010 again. On the other hand, when a write area in which transmit data is to be newly written can be ensured, the utilization portion 1020 ensures a write area in which transmit data is to be newly written in the transmission buffer 1031, and adds the location (a head address) of the ensured write area to the transmit data management table 1032 (step S2805). The utilization portion 1020 then writes transmit data generated at that time in the newly ensured transmit data write area in the transmission buffer 1031 (step S2806). The utilization portion 1020 then prepares a data transmission request (including the location and the size of the transmit data written at that time in the transmission buffer 1031) (step S2807). The data transmission request is outputted to the control portion 1010 at the step S2808. Operations, which respond to the data transmission request, performed by the control portion 1010 are the same as those in the case of the above-mentioned first transmission.
On the other hand, in a communication device comprising a utilization portion for performing arbitrary application processing, a control portion for performing processing in accordance with a previously determined protocol, and a memory which is shared between the utilization portion and the control portion, when data is received, the data received in the control portion is processed upon being transferred to the utilization portion. In the communication device, the overflow of the received data from the control portion may occur due to the delay of data processing in the utilization portion. Therefore, the conventional communication device employs a method of providing a receiving buffer in the control portion and temporarily storing the received data therein, to restrain the overflow of the received data.
In the conventional communication device employing the above-mentioned method will be described below.
FIG. 31 is a block diagram showing an example of the structure of a receiving portion in the conventional communication device. In FIG. 31, the communication device comprises a control portion 1011, a plurality of utilization portions 1021 to 102N, a RAM 10310, and an interface 1040.
The control portion 1011 executes a previously determined communication protocol. The control portion 1011 is connected to a communication line 1042 through the interface 1040. The interface 1040 includes a modem or the like, and mediates communication between the communication device shown in FIG. 31 and another communication device (not shown).
Although the utilization portions 1021 to 102N perform application processing, no service for using is specified on the communication protocol. That is, a user can use an arbitrary application program in the utilization portions 1021 to 102N.
The RAM 1030 is used as a working memory of the control portion 1011 and the utilization portions 1021 to 102N, and comprises a control portion management area 1051 which is managed by the control portion 1011 and utilization portion management areas 1091 to 109N which are respectively managed by the utilization portions 1021 to 120N. Further, the control portion management area 1051 comprises a first receiving buffer 1081, and second receiving buffers 1061 to 106N, respectively, corresponding to the utilization portions 1021 to 102N. The first receiving buffer 1081 has one record area, and data received under an instruction from the control portion 1011 is recorded on the one record area. Each of the second receiving buffers 1061 to 106N has a plurality of record areas, and the received data stored in the first receiving buffer 1081 is transcribed onto the plurality of record areas under an instruction from the control portion 1011, as required. The utilization portion management areas 1091 to 109N, respectively include data transcription areas 1091a to 109Na. The utilization portions 1021 to 102N transcribe utilization portion data which have been transcribed on the corresponding second receiving buffers 1061 to 106N onto the data transcription areas 1091a to 109Na, respectively.
Data transmitted and received in the conventional communication device takes a form called a packet. The packet is constituted by a header part, a data part and an ender part. In data transmitted with using the data part, there exist control portion data which is subjected to protocol processing in the control portion 1011 and utilization portion data which are respectively subjected to application processing in the utilization portions 1021 to 102N.
A series of operations performed from the time when data is received until application processing is performed in the communication device shown in FIG. 31 will be described using FIGS. 32 and 33. FIG. 32 is a flow chart showing processing steps carried out when the control portion 1011 receives data. FIG. 33 is a flow chart showing processing steps carried out by the control portion 1011 when busy communication from each of the utilization portions 1021 to 102N occurs.
FIG. 32 will be referred to. The control portion 1011 first writes, when data is received, the received data (actually, the data part of the received packet) into the first receiving buffer 1081 (step S3201). As the premise of the start of processing, the first receiving buffer 1081 and the second receiving buffers 1061 to 106N are initialized. The control portion 1011 judges whether or not the data part written into the first receiving buffer 1081 is utilization portion data (step S3202). In the judgment at the step S3202, when the data part is not utilization portion data, that is, control portion data, the control portion 1011 subjects the control portion data to protocol processing (step S3208), and deletes the control portion data from the first receiving buffer 1081 after the processing (step S3209).
On the other hand, in the judgment at the foregoing step S3202, when the data part is utilization portion data, the control portion 1011 transcribes the utilization portion data written into the first receiving buffer 1081 onto the corresponding second receiving buffer 106i (i=any one of 1 to N. The same shall apply hereinafter) (step S3203), and deletes the utilization portion data from the first receiving buffer 1081 (step S3204). Thereafter, the control portion 1011 judges whether or not the utilization portion 102i for processing the utilization portion data is in a busy state (a state where processing is being performed, and a new processing request cannot be accepted) with using a flag or the like (step S3205).
In the judgment at the step S3205, when the utilization portion 102i is not in a busy state, the control portion 1011 notifies the utilization portion 102i of the receiving of the location of the utilization portion data written into the second receiving buffer 106i (specifically, a head address in a write area of the received data) and the size thereof (step S3206). Thereafter, the control portion 1011 deletes the utilization portion data, of which the utilization portion 102i has been notified, from the second receiving buffer 106i (step S3207). The utilization portion 102i performs processing for transcribing utilization portion data onto the data transcription area 109ia managed by itself from the second receiving buffer 106i upon receipt of the notification of the receiving in a period elapsed from the processing at the step S3206 to the processing at the step S3207, which is not illustrated. On the other hand, when the corresponding utilization portion 102i is in a busy state in the judgment at the aforementioned step S3205, the control portion 1011 terminates the receiving processing.
Since the receiving processing was terminated because the utilization portion 102i was in a busy state, when the busy state in the utilization portion 102i is released, the control portion 1011 sends the above-mentioned notification of the receiving to the utilization portion 102i by communication relating to the busy state (hereinafter referred to as busy communication) from the utilization portion 102i, as shown in FIG. 33.
FIG. 33 will be referred to. The control portion 1011 judges, when it receives the busy communication from the utilization portion 102i, whether or not the communication is communication indicating that the utilization portion 102i is not in a busy state (step S3301). In a case where in the judgment at the step S3301, the communication is communication indicating that the utilization portion 102i is not in a busy state, the control portion 1011 further judges whether or not utilization portion data exists in the second receiving buffer 106i (step S3302). On the other hand, in a case where in the judgment at the step S3301, the communication is not communication indicating that the utilization portion 102i is not in a busy state, the control portion 1011 terminates the processing for the busy communication.
When the utilization portion data exists in the second receiving buffer 106i in the judgment at the aforementioned step S3302, the control portion 1011 notifies the utilization portion 102i of the receiving of the location, in which the utilization portion data is written, on the RAM 1030 and the size thereof (step S3303). Thereafter, the control portion 1011 deletes the utilization portion data from the second receiving buffer 106i (step S3304). It is also considered that the transition of the utilization portion 102i to the busy state immediately occurs by the notification made at the step S3303, so that the control portion 1011 reconfirms the contents of the busy communication after the utilization portion data is deleted at the step S3304 (step S3305). Therefore, the program is returned to the step S3301. At the step S3301, the confirmed contents of the communication are judged. In the case of the contents of the communication indicating that the utilization portion 102i is in a busy state, the processing for the busy communication is terminated. In the case of the contents of the communication indicating that the utilization portion 102i is not in a busy state, it is further judged whether or not the utilization portion data exists in the second receiving buffer 106i. The utilization portion 102i performs processing for transcribing the utilization portion data onto the data transcription area 109ia managed by itself from the second receiving buffer 106i upon receipt of the notification in a period elapsed from the processing at the step S3303 to the processing at the step S3304, which is not illustrated. On the other hand, when the utilization portion data does not exist in the second receiving buffer 106i in the judgment at the step S3302, the control portion 1011 terminates the processing for the busy communication.
As a method of restraining the overflow of the received data, the communication device which is provided with the second receiving buffer 106i was described. In a case where data, whose amounts are not less than the size of the receiving buffer 106i, are transmitted to the communication device, however, even if the data is received, the data cannot be written into the second receiving buffer 106i. As a result, deficiency of the data arises.
In order to cope therewith, there is such a method that a communication device on the receiving side communicates the total amount of data which can be stored in a buffer (corresponding to the part of the second receiving buffer 106i in FIG. 31) even if the utilization portion 102i is in a busy state to a communication device on the transmission side before communication is started in the form of a credit value as described later.
This method utilizes the fact that the maximum size of data in a communication packet (which is the maximum value of data which can be carried in one packet transmission) is previously determined in the stages of the construction of a communication system. Specifically, the size of an area in the RAM 1030 which can store received data, that is, the second receiving buffer 106i divided by the maximum data size is found. The communication device on the receiving side communicates the result of the division to the communication device on the transmission side before communication is started as the number of times packet receiving (packet transmission on the receiving side) can be continuously made. A value representing the number of times packet receiving (transmission) can be continuously made is referred to as a credit value. Particularly, its maximum value is referred to as the maximum credit value. The communication device on the transmission side which has received the maximum credit value decreases the credit value by one at a time by itself every time it transmits one packet, to stop the packet transmission at the time point where the credit value becomes zero. The communication device on the transmission side waits until the subsequent credit value is communicated from the communication device on the receiving side. Consequently, the communication device on the receiving side does not unuselessly receive data not less than the allowable amount of data which can be processed by itself (stored in the receiving buffer), so that deficiency of the received data can be prevented from arising, for example.
As described in the foregoing, in the conventional communication device, the transmission buffer 1031 is managed by the utilization portion 1020. However, the transmission processing of the transmit data is performed in the control portion 1010, so that the utilization portion 1020 cannot directly know which of the transmit data in the transmission buffer 1031 has been transmitted. In the conventional communication device, therefore, the control portion 1010 judges which of the transmit data whose request for transmission has been accepted has not been transmitted yet, manage the judgment using the untransmitted data management table 1033, and transmits the result of the management to the utilization portion 1020 as a status. Consequently, the utilization portion 1020 can know which of the transmit data in the transmission buffer 1031 has been transmitted, and can write new transmit data in a portion storing the transmit data.
In the above-mentioned configuration, however, every time transmit data is newly generated, the utilization portion 1020 must inquire a status of the control portion 1010, and the control portion 1010 must produce a status on the basis of the data recorded on the untransmitted data management table 1033 in response to the inquiry and send the produced status to the utilization portion 1020. Further, the utilization portion 1020 must manage the location of the transmit data in the transmission buffer 1031 by using the transmit data management table 1032, to specify the location of a write area storing transmit data which has been transmitted in the transmission buffer 1031 from the sent status. Therefore, the conventional communication device requires complicated processing for managing the transmission buffer 1031, so that a load on the whole communication device becomes heavy because the transmission buffer 1031 is managed in a distributed manner by the utilization portion 1020 and the control portion 1010.
In the conventional communication device, the utilization portion 1020 is in charge of a part of the management of the transmission buffer 1031, so that a processing load on the utilization portion becomes heavy. As a result, a large amount of time and high cost are required to develop a new application program. Since the application program includes processing other than the processing originally expected, it cannot be expected that the processing originally expected is quickly performed, so that the communication device is inconvenient for a user.
On the other hand, in the conventional communication device, two receiving buffers, that is, the first receiving buffer 1081 (for receiving of data and assignment to the control portion/the utilization portions) and the second receiving buffers 1061 to 106N (for storing utilization portion data as anti-overflow measures) are interposed before the received utilization portion data is subjected to application processing in the utilization portions 1021 to 102N. In the aforementioned conventional communication device, therefore, two data transcription (data transcription from the first receiving buffer 1081 to the second receiving buffers 1061 to 106N, and data transcription from the second receiving buffers 1061 to 106N to the data transcription areas 1091a to 109Na) are required in processing one received data. Consequently, the conventional communication device is inferior in communication throughput.
In the above-mentioned conventional communication device, the size of the second receiving buffer 106i is identical and fixed under the management of the control portion 1011 irrespective of different objects and processing capabilities of the utilization portions 1021 to 102N. Therefore, the size of the second receiving buffer 106i is too large and useless depending on the utilization portion 102i, while being too small, causing deficiency of data in some cases.
Furthermore, the conventional communication device which communicates the above-mentioned credit value, the fixed size of the second receiving buffer 106i is divided by the previously determined maximum data size in the communication packet, thereby finding the maximum credit value. Therefore, the maximum credit value is a constant value, although the data size varies for each communication, so that no efficient and most suitable data communication is established depending on communication.

Communication system method and recording apparatus for performing arbitrary application processing

Matsushita Electric Industrial Co., Ltd.


A plurality of items of color-component data representing an image are input and a plurality of items of output color-component data representing an image to be reproduced by a printer are decided and output. In the case of an image in a specific area in which an entered image is represented by at least two items of color-component data, any one item of color-component data is decided upon as output color-component data.

In a case where a multivalued image is output as by a color ink-jet printer using inks of the four colors cyan (C), magenta (M), yellow (Y) and black (K), pseudo-halftone processing is executed using a method such as the error-diffusion method independently for each color. As a consequence, even though the visual characteristics are excellent when viewed for a single color, excellent visual characteristics are not necessarily obtained when two or more colors are superimposed.
For example, assume that an image is formed exclusively of dots based upon the C component and dots based upon the M component. If the original image is composed of 50% of the C component and 50% of the M component, then, ideally, all pixels will be filled with dots based upon C ink or dots based upon M ink, as shown for example in FIG. 17A. If, with the dots formed in this manner, the dot positions of the C ink and the dot positions of the M ink shift relative to each other for some reason, as shown in FIG. 17B, then the major part of the image will be dominated by pixels in which overlap occurs between the dots of the C ink and the dots of the M ink, i.e., pixels having a bluish appearance, and white pixels in which no dots are formed.
Accordingly, in a case where printing is performed using a printhead having a structure in which nozzles that eject C ink and nozzles that eject M ink are juxtaposed along the scanning direction of a carriage, as in ink-jet printers, the formed image will fluctuate periodically as in FIG. 17A or FIG. 17B, owing to a fluctuation in the scanning speed of the carriage, in accordance with position along the scanning direction, and the probability that white pixels will be present also will fluctuate. To the human eye, therefore, it appears that the density of the applicable area varies periodically. In other words, to the human eye, the image appears to be of poor quality.
By contrast, if an image is formed by laying out dots of the C ink and dots of the M ink entirely independently, then, in the case of an original image having a C component of 50% and an M component of 50%, as in the case mentioned above, ideally pixels that are not printed at all, pixels printed only by C ink, pixels printed only by M ink and pixels printed by a combination of both the C and M inks will be formed evenly at a probability of approximately 25% each, as illustrated for example in FIG. 18A.
Further, in the case where an image is formed by laying out dots of the C ink and dots of the M ink independently, there are also instances where a shifting of positions at which the dots are formed causes pixels that are supposed to be printed solely by C ink to be overlapped by neighboring pixels printed in M ink, as depicted for example in FIG. 18B. Conversely, however, there is also a possibility that pixels that are supposed to be printed by both the C and M inks will no longer be printed solely by the C ink or M ink, and hence the overall change in density is small in comparison with the case where dots of the C ink and dots of the M ink are laid out entirely exclusively.
Thus, though it can be said that laying out the dots of the C ink and dots of the M ink in exclusive fashion has the effect of reducing the graininess of the high-light portions of an image, a problem which arises is that in some cases the uniformity of the image tends to be lost in areas of intermediate to high density in a tradeoff with the precision of image formation. In regard to the high-light portions, however, the dots are already spaced apart from one another sufficiently and therefore a decline in image quality ascribable to shifting of dot positions is very small. This means that the effects of the exclusive-dot arrangement are more significant.
In order to deal with this problem, there has been proposed a method (see for example the specification of Japanese Patent Application Laid-Open No. 2002-171420) of correcting output values based upon input values and the total of the input values after two or more colors are subjected to pseudo-halftone processing independently, thereby applying a similar improvement.
With this prior-art method, however, the processing load is heavy because conditional branching is necessary at the time of binarization while pseudo-halftone processing is performed independently for each color. Further, as shown in FIG. 21, even in a case where an area to be controlled exclusively is partitioned using the value of each component, the difference between components and the sum of components, there is a possibility that the area will be partitioned linearly and that the separation obtained may not be suitable for each color component. Further, if the color space is split up too finely, conditional branching also becomes more complex and the processing load becomes increasingly heavy.