Output method and apparatus

Abstract: An output apparatus automatically selects one of a plurality of interfaces and ensures receiving buffers corresponding to the interfaces. Data is taken through each interface into the corresponding receiving buffer and the device is controlled to change sizes of the receiving buffers in accordance with conditions of selection.

Description: Field of the Invention The present invention relates to an output method or an apparatus which uses an interface such as an RS-232C, SCSI or parallel interface such as that produced by the Centronics company. Related Background Art Recently, some printing devices have developed which use interfaces and in which the device can change from one interface to another automatically. However, if one interface is selected, these printing devices can only receive data through the selected interface. Accordingly, there has developed a concept in which printing devices receive data simultaneously from several interfaces. However, in such devices if they have fixed areas of memory corresponding to each interface as a receiving buffer, the total necessary memory area-of the printing apparatus becomes a number of times larger than that necessary for devices that receive data through a selected interface. It is known from WO90/12359 to provide a printer with buffer storage in RAM which is allocated as needed to accommodate data to be printed from a number of host computers. According to the present invention, there is disclosed printing apparatus operable to print data received from external apparatuses, the printing apparatus comprising; a plurality of interfaces operable in use to receive data for printing from the plurality of respective external apparatuses; a memory comprising a memory area divided into a plurality of areas constituting receiving buffers for receiving data from the respective interfaces; control means operable to vary the size of the areas constituting the respective receiving buffers; selection means operable to select one of said interfaces; and means for reading out data for printing from the receiving buffer corresponding to the selected interface; characterised in that the control means is responsive to the selection by said selection means to vary the size of the area constituting the receiving buffer of the selected interface so as to be greater than the area of another one of said plurality of receiving buffers. A method in accordance with the present invention is set out in claim 5. The embodiment of the invention provides an output method and apparatus capable of controlling a size of receiving buffers when receiving data through each interface. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a cross-sectional view of a recording apparatus, such as a laser beam printer. Fig. 2 is a block diagram showing controlling construction of a printing apparatus. Fig. 3 is a schematic block diagram of a condition of a memory map of RAM. Fig. 4 is a flow chart showing one example of data interruption processing. Fig. 5 is a flow chart showing a printing process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment according to the present invention will be described with reference to the accompanying drawings. Fig. 1 is a cross-sectional view of a recording apparatus, such as a laser beam printer, in which the character processing method of the present invention is applicable. A main body 100 (printer) of the apparatus receives and stores print information (character codes etc.), form information and macro instructions supplied from an external host computer, generates character patterns (to be generated by the character pattern process of the present invention), forms patterns, and forms an image on a recording sheet constituting the recording medium. There are also shown an operation panel including switches and LED indicators for various operations, and a printer control unit 101 for controlling the entire printer 100 and analyzing the character information supplied from the host computer. The printer control unit 101 converts the character information into a video signal of corresponding character patterns for supply to a laser driver 102, which drives a semiconductor laser 103 and on-off switches the laser beam 104 emitted from the semiconductor laser 103 according to the input video signal. The laser beam 104 is laterally deflected by a rotary polygon mirror 105 to scan an electrostatic drum. 106, thereby forming an electrostatic latent image of a character pattern thereon. The latent image is developed into a visible image by a developing unit 107 positioned around the electrostatic drum 106, and is transferred onto the recording sheet, which is composed of a cut sheet contained in a cassette 108 mounted on the main body 100 and supplied therefrom by a feed roller 109 and transport rollers 110 and 111 to the electrostatic drum 106. The image processing apparatus of each embodiment described above exemplifies a laser beam printer. However, the present invention is not limited to this. The present invention is equally applied to an ink-jet printer. Fig. 2 is a block diagram showing a construction of a controller of a printing apparatus. 1a, 1b are host computers. 2 is a body of the printing apparatus. Each of the host computers 1a and 1b sends data such as print data to a printing apparatus. Each of the interfaces 21a and 21b can receive data from the host computers 1a and 1b. Controller 22 controls the entire printing apparatus. The controller consists of a CPU 22a, ROM 22b which stores a program of process and outline font data, and so on, and also consists of a RAM 22c which includes receiving buffers and a work area which enables the CPU 22a to execute the program. This work area of the RAM 22c stores information which defines the size of each buffer. Memory 23 stores information for the interface presently selected. Frame memory 24 is capable of storing bit map data for one page. The bit map data which are stored in the frame memory 24 are printed by dot printer engine 25. In the above printing apparatus, the CPU 22a executes a process in accordance with a program which is stored in ROM 22b. This process determines the size of each receiving buffer (a part of area of RAM 22c) corresponding to each interface. In this embodiment, the CPU 22a exercises an ensuring process, in accordance with a program which is stored in ROM 22b, to ensure the size of the receiving buffer which has been determined by the ROM 22b.. Taking means (in this embodiment, the CPU 22a executes the taking process in accordance with a program stored in ROM 22b) takes data through each interface to be stored in the determined receiving buffer. The printing apparatus can have an adequate size of receiving buffer correspond to each interface. The above-mentioned embodiment will be further described with reference to Fig. 3. Fig. 3 is a schematic block diagram of a condition of a memory map of RAM 22c. In the embodiment, data from the host computer 1a are sequentially stored in the receiving buffer A of the RAM 22c through the interface 21a. Data from the host computer 1b are sequentially stored in the receiving buffer B of the RAM 22c through the interface 21b. Along with the storing step mentioned above, the CPU 22a controls the following steps. The data which are not processed in the receiving buffer are read and transferred to the frame memory 24 as image data or the font patterns that correspond to the data as character data are transferred and finally printed. As shown in Fig. 3, in the embodiment, the selected receiving buffer is larger than the other one (the non-selected buffer is smaller than the one in the prior art). As mentioned above, host computers 1a and 1b can simultaneously send data to the printing apparatus and the printing apparatus can give priority to the selected interface having the smaller area of RAM 22c by varying the size of the receiving buffer. To execute the process mentioned above, the CPU 22a carries out the program described in Fig. 4 as a flow chart stored in the ROM 22b. Fig. 4 is a flow chart showing one example of data interruption processing according to the embodiment. In Fig. 4, (1) ∼ (5) show each step of the flowchart. When data are transferred from the host computer 1a, an interrupt signal is supplied to the interface 21a. In response to the interrupt signal, the CPU 22a performs the process according to the flow chart of Fig. 4. First of all, in step (1) the CPU 22a judges whether an interface can change one to another at present. If YES in step (1), the flow advances to step (2) and the CPU 22a selects interface 21a and stores the information from selected interface 21a in selected interface memory 23. The CPU 22a then expands the receiving buffer A in the RAM 22c (reduces the receiving buffer B). After that, the flow advances to step (3). If NO in step (1), the flow advances to step (3) directly. In step (3), the CPU 22a takes data through the interface 21a and stores the data in the receiving buffer A in the RAM 22c. In step (4), the CPU 22a determines whether the receiving buffer A is full. If YES in step (4), the CPU 22a executes a busy process and the program flow ends. CPU 22a performs the same procedure if interface 21b is selected. The printing process according to the embodiment will be described with reference to the flow chart in Fig. 5. Fig. 5 is a flow chart showing the printing process. In Fig. 5, (1) ∼ (10) show each step in the process. In step (1), the CPU 22a determines which interface is selected at present. If the interface 21a is selected, the CPU 22a takes data from the receiving buffer A (Step(2)). If the interface 21b is selected, the CPU 22a takes data from the receiving buffer B (step (3)). In step (4), the CPU 22a determines whether the data which is taken is character data. If YES in step (4), the CPU 22a determines in step (6) whether a character pattern which corresponds to the data exists in the font cache area in the RAM 22c. If NO in step(6), the process proceeds to step (7) in which a font pattern is made and registered in the font cache area in RAM 22c. If YES in step(6), the process proceeds directly to step (8). In step (8), the font pattern is stored in frame memory 24 and the flow proceeds to step (9). If NO in step (4), the CPU 22a executes a control process in accordance with the data, and the flow advances to step (9). In step 9, the CPU 22a determines whether data for 1 page are stored in the frame memory 24. If YES in step 9, the CPU 22a transfers the data stored in the frame memory 24 to the engine of the dot printer 25 and prints. The flow then returns to step (1) in Fig. 5. If NO in step 9, the flow returns to step (1) directly. As mentioned above, the printing apparatus can give a priority to the selected interface with a little amount of RAM for receiving data. In the above embodiment, the printing apparatus with two interfaces is described. But in application the number of interfaces is not limited. The CPU 22a can ensure the necessary receiving buffer in accordance with the number of interfaces. In the above embodiment, the page printer prints data after preparing data for 1 page. But, this invention can apply a line printer or a serial printer which executes a printing process line by line such as an ink jet printer. So the embodiment can provide an output method and apparatus capable of assigning adequate amount of receiving buffer to each interface by controlling the size of receiving buffers in accordance with the condition of selected interfaces. So this embodiment can execute efficiently the data receiving process with little amount of receiving buffer.

Claims: Printing apparatus (2) operable to print data received from external apparatuses (1a, 1b), the printing apparatus comprising; a plurality of interfaces (21a, 21b) operable in use to receive data for printing from the plurality of respective external apparatuses (1a, 1b); a memory (22c) comprising a memory area divided into a plurality of areas constituting receiving buffers (A,B) for receiving data from the respective interfaces; control means (22a) operable to vary the size of the areas constituting the respective receiving buffers; selection means (22a, 23) operable to select one of said interfaces; and means (22a) for reading out data for printing from the receiving buffer corresponding to the selected interface; characterised in that the control means is responsive to the selection by said selection means to vary the size of the area constituting the receiving buffer of the selected interface so as to be greater than the area of another one of said plurality of receiving buffers. Apparatus as claimed in claim 1, wherein said control means is operable to increase the data storage capacity of the receiving buffer of the selected interface and to decrease the data storage capacity of another of said receiving buffers. Apparatus as claimed in any preceding claim comprising a memory (23) for storing information representative of which one of said interfaces has been selected. Apparatus as claimed in any preceding claim comprising output means (22, 24, 25) operable to output data for printing from the receiving buffer of the selected interface. A method of controlling a printing apparatus (2) to print data received from external apparatuses (1a, 1b), the method comprising; receiving data from the plurality of external apparatuses (1a,1b) via a plurality of respective interfaces (21a, 21b); storing the data in a memory (22c) comprising a memory area divided into a plurality of areas constituting receiving buffers (A,B) for receiving data from the respective interfaces; controlling the memory to vary the size of the areas constituting the respective receiving buffers; selecting one of said interfaces; and reading out data for printing from the receiving buffer corresponding to the selected interface; characterised in that the controlling step is responsive to the selection step to vary the size of the area constituting the receiving buffer of the selected interface so as to be greater than the area of another one of said plurality of receiving buffers. A method as claimed in claim 5, wherein said step of controlling comprises steps of increasing the data storage capacity of the receiving buffer of the selected interface and decreasing the data storage capacity of the another of said receiving buffers. A method as claimed in any of claims 5 and 6 including the step of storing information representative of which one of said interfaces has been selected in a memory (23). A method as claimed in any of claims 5 to 7, including the step of outputting data for printing from the receiving buffer of the selected interface. A computer program comprising processor implementable instructions for carrying out all of the steps of a method as claimed in any one of claims 5 to 8.

Inventors: OKUYAMA HITOSHI, OKUYAMA, HITOSHI, OKUYAMA, HITOSHI, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1994
Main classification: G06F13
IPC codes: B41J5, G06F3