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: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to an output method or an apparatus which uses an interface such as an RS-232C, SCS1 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. Furthermore, there are some printing devices using several interfaces, which can select the interface through which first data is received. For that reason, if the speed of transferring data through the selected interface is slow, the time necessary for receiving the data is long. Moreover, it is necessary for the device to interpret the received data and therefore, processing the data to be received through the unselected interfaces is still more delayed. Getting back to the device that selects the interface with which the first data is received as stated above. If the processing of the data is interrupted, such as, for example, at the middle of a page to be printed, processing the data to be received by the unselected interface is still more delayed. There are some devices with several interfaces including a two-way interface which can automatically change from one interface to another. But if one interface is selected, these printing devices can get and interpret data only through the selected interface. So, there has developed the concept of a printing device that receives data simultaneously through several interfaces. However, the data which can be interpreted is only the data which can be received through the selected interface. Even if host computers are provided to transfer the data to the printing device, the device cannot get a status of affairs until the device selects the two-way interface. In the above-described devices, error recovery is carried out for a selected interface or for all interfaces regardless of the reason for the error. WO 90/12359 discloses a printer with a communications interface having a plurality of input ports. Printing is performed by storing data received from the input ports in respective buffers. After data is stored in a buffer an emulation module is selected to process the data. An activity timeout scheme is used to change an interface. In accordance with aspects of the present invention there is provided an apparatus and a method in accordance with claims 1 and 2. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a cross-sectional view of a recording apparatus, such as a laser beam printer to which the present invention can be applied. Fig. 2 is a perspective view showing the internal structure of an ink jet printer to which the present invention can be applied. Fig. 3 is a block diagram of a control circuit of the ink-jet printer shown in Fig. 2. Fig. 4 is a block diagram showing controlling construction of a printing apparatus. Fig. 5 is a schematic block diagram of a condition of a memory map of RAM. Fig. 6 is a flow chart showing a printing process. Fig. 7 is a flow chart showing a data interrupt receiving process of a printing apparatus according to an embodiment of the present invention. Before describing the present invention in detail a laser beam printer and an ink-jet printer to which the present invention maybe applied will first be described. 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 present invention is not limited to laser beam printers. The present invention is equally applicable to an ink-jet printer as will now be described. (I) General Description of Ink-jet Printer Main Body Fig. 2 is a perspective view of an ink-jet recording apparatus IJRA to which the present invention can be applied. Referring to Fig. 2, a carriage HC engages with a helical groove 5005 of a lead screw 5004 rotated interlockingly with normal/reverse rotation of a drive motor 5013 through driving force transmission gears 5011 and 5009 having a pin (not shown) and can be reciprocated in directions indicated by arrows a and b. An ink-jet cartridge IJC is mounted on the carriage HC. A paper press plate 5002 presses the paper in the carriage movement direction through a platen 5000. Photocouplers 5007 and 5008 are home position detecting means for detecting the presence of a lever 5006 of the carriage within this range to switch the rotational direction of the motor 5013. A member 5016 supports a cap member 5022 for capping the front surface of a recording head. A suction device 5015 draws the ink from the cap to recover the recording head through an opening 5023 in the cap. A cleaning blade 5017 is moved back and forth by a member 5019, and the cleaning blade 5017 and the member 5019 are supported on a main body support plate 5018. The blade need not have this form, but can be replaced with a known cleaning blade. A lever 5021 starts suction to recover the recording head. The lever 5012 is moved together with movement of a cam 5020 engaged with the carriage. The driving force from the driving motor is controlled by a known transmitting means such as clutch switching. Capping, cleaning and suction recovery are performed by desired processes at the corresponding positions in accordance with the behavior of the lead screw 5004 when the carriage reaches the home position. If desired operations are performed at known timings, any scheme can be employed in this embodiment. (II) Description of Control Arrangement A control arrangement for executing recording control of the respective components in the apparatus will be described with reference to the block diagram in Fig. 3. A control circuit includes an interface 1700 for inputting a recording signal, an MPU 1701, a program ROM 1702 for storing control programs executed by the MPU 1701, a dynamic RAM 1703 for storing various data (e.g., the recording signal and recording data supplied to the head), a gate array 1704 for controlling and supplying the recording data to a recording head 1708 and performing transfer control of data between the interface 1700, the MPU 1701, and the RAM 1703, a carriage motor 1710 for moving the recording head 1708, a paperfeed motor 1709 for conveying a recording sheet, a head driver 1705 for driving the head, and motor drivers 1706 and 1707 for driving the paperfeed motor 1709 and the carriage motor 1710, respectively. The operation of the above control arrangement will be described below. When a recording signal is input to the interface 1700, a recording signal is converted into print recording data by the gate array 1704 and the MPU 1701. The motor drivers 1706 and 1707 are driven to drive the recording head in accordance with the recording data supplied to the head driver 1705, thereby printing the recording information. Fig. 4 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. 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 apparatus will be further described with reference to Fig.5. Fig. 5 is a schematic block diagram of a condition of a memory map of RAM 22c. 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. 5, 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. A printing process will now be described with reference to the flow chart in Fig. 6. Fig. 6 is a flow chart showing one embodiment of the first 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 a printing apparatus with two interfaces is described. But 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 the page printer prints data after preparing data for 1 page. But, the same can also be applied to a line printer or a serial printer which executes a printing process line by line such as in ink jet printer. An embodiment of the present invention will now be described. Fig. 7 is a flow chart showing a data interrupt receiving process of a printing apparatus according to the present invention. In step (1) Fig. 7, the CPU 22a receives data through the interface 21a. In step (2), the CPU determines if the data is a form-feed (ff). If YES in step (2), the CPU 22a determines whether the interface can be changed from one to another. If YES in step (3), the CPU 22a selects interface 21a in step (4) and stores information indicating that interface 21a is selected, in memory 23. The flow then advances to step (5). If NO in step (2), the f low advances to step (5) directly. In step (5) the CPU 22a stores the received data in the receiving buffer A of the RAM 22c. The CPU 22a then determines whether the receiving buffer A is full in step (6). If YES in step (6), the CPU 22a executes the busy process and other printing processes in step (7). A description of the printing process is omitted. The described embodiment can provide an output method and apparatus capable of selecting a unable interface by controlling to change from one interface to another.

Claims: An output apparatus comprising: a plurality of interfaces (21a, 21b) for receiving data from a plurality of external apparatus (1a, 1b); a memory (22c) comprising a memory area divided into a plurality of receiving buffers (A, B) for storing data received at a respective one of said plurality of interfaces (21a, 21b); taking means (22a) for, when data is received at one interface (21a) of the plurality of interfaces (21a, 21b), taking the data from said one interface (21a); detection means (22a) for detecting whether the data taken from said one interface (21a) is a form feed code (ff); determining means (22a) for, if the detection means has detected the data taken from said one interface (21a) is a form feed code (ff), determining if an interface can be changed from one to another; selection means (22a) for, if the determining means has determined that an interface can be changed from one to another, selecting said one interface (21a); storing means (22a) for storing the data taken from said one interface (21a) in an associated receiving buffer (A) either if the detection means has detected the data taken from said one interface (21a) is not a form feed code (ff), or if the determining means has determined that an interface cannot be changed from one to another, or after the selection means has selected said one interface (21a). An output method wherein data is received from a plurality of external apparatus (1a, 1b) at a plurality of interfaces (21a, 21b) comprising the sequence of steps of: taking data from one interface (21a) of the plurality of interfaces (21a, 21b); detecting whether the data taken from said one interface (21a) is a form feed code (ff); if it has been detected that the data taken from said one interface (21a) is a form feed code, determining if an interface can be changed from one to another; if it has been determined that an interface can be changed from one to another, selecting said one interface (21a); storing the data taken from said one interface (21a) in an associated receiving buffer (A).

Inventors: OKUYAMA HITOSHI, OKUYAMA, HITOSHI
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1994
Main classification: G06F3
IPC codes: G06F3