Method and apparatus for multi-function processing capable of performing a program downloading using a common single connection, and a medium storing the method

A multi-function apparatus includes a plurality of image forming apparatuses, a buffer memory, a data transmission mechanism, and a connector. Each image forming apparatus includes a controller which includes a program memory for storing a program used by the image forming apparatus. The data transmission mechanism connects the image forming apparatuses to each other so as to allow a data transmission therebetween. The connector connects an external storage to the data transmission mechanism so as to allow a data transmission from the external storage to the buffer memory. The external storage stores data of programs to be respectively used by the image forming apparatuses. When the external storage is connected to the connector, the data of the programs stored in the external storage are transmitted to the buffer memory through the connector and are downloaded into the respective program memories included in the controllers of the image forming apparatuses through a data transmission using the data transmission mechanism.

BACKGROUND

The present application relates to a method and apparatus for multi-function processing, and more particularly to a method and apparatus for multi-function processing capable of performing a program downloading using a common single connection. The present application further relates to a computer readable medium for storing the above-mentioned method.

2. Description of the Related Arts

An image forming apparatus, such as a copying machine, a facsimile machine, a printer, a scanner, an electronic filing apparatus, etc., or a combination apparatus of these machines, performs an image processing operation according to a program provided to a control unit of the apparatus.

Since the above program is typically stored in an EPROM (erasable programmable read only memory) provided to the apparatus, it is needed to exchange the EPROM each time the program is changed.

In order to reduce time required for the exchange of the EPROM, programs are recently stored in a flash ROM which can be updated by a downloading of a new program from an external storage including an IC (integrated circuit) card. Thereby, the time for exchanging the program in the apparatus is dramatically shortened. In this method, the IC card, for example, is substituted for the flash ROM, that is, addresses of the flash ROM and the IC card are exchanged on a memory map, and therefore the apparatus is started with the program stored in the IC card. Thereby, the apparatus can download a new program stored in the IC card to the flash ROM.

This download method is significant especially for a recent digital multi-function apparatus which is mostly based on a digital copying machine and has a plurality of components for image forming, such as a printer, a facsimile, a scanner, etc., wherein each of the components is provided with a dedicated CPU and ROMs.

One example of the above background digital multi-function apparatus is explained with reference toFIGS. 1 and 2.FIG. 1shows a digital multi-function apparatus5based on a digital copying apparatus6having a main controller100and which has optional devices of a printer controller200and a facsimile controller300. In this background digital multi-function apparatus5, a CPU (central processing unit)101included in the main controller100controls the entire operations.

The background digital multi-function apparatus5performs a copying operation in which image data output from a reading controller400after an original is read by a reading unit (not shown) is sent to a writing controller500via an image controller106. The writing controller500controls an LD (laser diode), not shown, to turn on and off according to the image data and forms an image on a transfer sheet based on a known electrophotographic procedure (not shown).

Each of the printer controller200and the facsimile controller300is connected to the digital copying apparatus6with a UART (Universal Asynchronous Receiver Transmitter) serving as a data transmitting configuration and an application image data bus serving as a data bus for sending data of an application image.

During a print operation, the printer controller200receives print data sent through a network with a network interface mechanism (not shown) and sends a print image generated by an image controller206based on the print data to the digital copying apparatus6so as to perform an image forming operation. This operation is performed by an execution of a printer application program by a CPU (central processing unit)201with an assistance of a ROM (read only memory)202and a RAM (random access memory)203, included in the printer controller200.

During a facsimile operation, the facsimile controller300transmits a facsimile image, generated and sent to the facsimile controller300by the digital copying apparatus6, to a facsimile line with a facsimile line interface (not shown), or receives a facsimile signal from the facsimile line via the facsimile line interface and sends it to the digital copying apparatus6so as to perform the image forming operation. This operation is performed by an execution of a facsimile application program by a CPU (central processing unit)301with an assistance of a ROM (read only memory)302and a RAM (random access memory)303, included in the facsimile controller300.

In the above operations, the digital copying apparatus6exchanges with the printer controller200and the facsimile controller300control data through UARTs (Universal Asynchronous Receiver Transmitter)104,204, and304and image data through the application image data bus connecting image controllers106,206, and306to each other so that the background digital multi-function apparatus5can perform a sequential operation under a multi-function operating system.

The main controller100is provided with a ROM (read only memory)102that stores a plurality of programs including a program used by the CPU101which governs the entire operations of the background digital multi-function apparatus5. To update the programs, as described above, an IC (integrated circuit) card107, serving as an external storage device and which stores a latest program, is connected to an IC (integrated circuit) card connector105and the program is downloaded to the ROM102via a CPU bus.

FIG. 2shows a procedure of the program downloading performed by the background digital multi-function apparatus5. After the IC card107is inserted into the IC card connector105in Step S701, the background digital multi-function apparatus5is given power in Step S702and then a download program stored in the IC card107is initiated in Step S703. Thereby, the downloading program is started in Step S704.

In Step S704, the contents of the IC card107are sequentially transmitted to the ROM102via the CPU bus. Whether the transmission of the program is completed is checked in Step S706. If the transmission is determined as completed in Step S706, a process for completing the program downloading is performed in Step S707. Then, the process ends.

Likewise, the printer controller200performs an application operation according to the program stored in the ROM202. To update the program, IC (integrated circuit) card207is connected to IC (integrated circuit) card connector205and the program stored in the IC card207is downloaded to the ROM202. Also, the facsimile controller300performs an application operation according to the program stored in the ROM302. To update the program, IC (integrated circuit) card307is connected to IC (integrated circuit) card connector305and the program stored in the IC card307is downloaded to the ROM302.

However, the background digital multi-function apparatus5needs to have more than one mechanism for receiving the IC card and transmitting the contents of the IC card. This results in an increase of the manufacturing cost.

SUMMARY

The present application describes a novel multi-function apparatus. In one example, a novel multi-function apparatus includes a plurality of image forming apparatuses, a buffer memory, a data transmission mechanism, and a connector. Each of the image forming apparatuses includes a controller which includes a program memory for storing a program used by the image forming apparatus. The data transmission mechanism is configured to connect the plurality of image forming apparatuses to each other so as to allow a data transmission therebetween. The connector is configured to connect an external storage to the data transmission mechanism so as to allow a data transmission from the external storage to the buffer memory. The external storage stores data of programs to be respectively used by the plurality of image forming apparatuses. When the external storage is connected to the connector, the data of the programs stored in the external storage are transmitted to the buffer memory through the connector and are downloaded into the respective program memories included in the controllers of the plurality of image forming apparatuses through a data transmission using the data transmission mechanism.

The data transmission mechanism may include a communications mechanism which is normally used by the plurality of image forming apparatuses to exchange control data therebetween.

The data of the programs transmitted from the external storage to the buffer memory may be downloaded with the communications mechanism to the respective program memories included in the controllers of the plurality of image forming apparatuses at a transmission rate faster than a regular transmission rate used for the control data.

The communications mechanism may be a universal asynchronous receiver transmitter.

The data transmission mechanism may include an image data bus which is normally used by the plurality of image forming apparatuses to exchange image data therebetween.

The present application further describes a novel program downloading method. In one example, a novel program downloading method includes the steps of providing, connecting, transmitting, and downloading. The providing step provides a multi-function apparatus which includes a buffer memory, a connector, and a plurality of image forming apparatuses connected each other with a data transmission mechanism. Each of the plurality of image forming apparatuses include a controller provided with a program memory for storing a program used by the image forming apparatus. The connecting step connects an external storage storing data of programs to the connector. The transmitting step transmits the data of programs stored in the external storage into the buffer memory. The downloading step downloads the data of the programs, transmitted from the external storage to the buffer memory, respectively to the program memories of the controllers respectively included in the plurality of image forming apparatuses through a data transmission using the data transmission mechanism.

The data transmission mechanism may include a communications mechanism which is normally used by the plurality of image forming apparatuses to transmit control data therebetween and the downloading step uses the communications mechanism.

The downloading step may download the data of the programs, transmitted from the external storage to the buffer memory by the transmitting step, with the communications mechanism to the respective program memories of the controllers respectively included in the plurality of image forming apparatuses at a transmission rate faster than a regular transmission rate used for the control data.

The communications mechanism may be a universal asynchronous receiver transmitter.

The data transmission mechanism may include an image data bus which is normally used by the plurality of image forming apparatuses to exchange image data therebetween.

Further, the present application describes a computer readable medium storing computer instructions for performing the steps described in the above novel program downloading method.

DETAILED DESCRIPTION

In describing preferred embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the invention is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner.

Referring now to the drawings, wherein like reference numeral designate identical or corresponding parts throughout the several views, particularly toFIG. 3, a digital multi-function apparatus1as one example of a multi-function image forming system according to an embodiment of the present application is described.FIG. 3shows a block diagram of a main part of the digital multi-function apparatus1that includes a digital copying apparatus2, as a basic machine, and optional equipment installed on the basic machine, including a printer controller20and a facsimile controller30. The digital copying apparatus2includes a main controller10which is provided with a CPU (central processing unit)11that controls the entire operations of the digital multi-function apparatus1.

The digital multi-function apparatus1performs a copying operation in which image data output from a reading controller40after an original is read by a reading unit (not shown) is sent to a writing controller50via an image controller16. The writing controller50controls an LD (laser diode), not shown, to turn on and off according to the image data and forms an image on a transfer sheet based on a known electrophotographic procedure (not shown).

Each of the printer controller20and the facsimile controller30is connected to the digital copying apparatus2with a UART (Universal Asynchronous Receiver Transmitter) serving as a data transmitting configuration and an application image data bus serving as a data bus for sending data of an application image.

During a print operation, the printer controller20receives print data sent through a network with a network interface mechanism (not shown) and sends a print image generated by an image controller26based on the print data to the digital copying apparatus2so as to perform an image forming operation. This operation is performed by an execution of a printer application program by a CPU (central processing unit)21included in the printer controller20.

During a facsimile operation, the facsimile controller30transmits a facsimile image, generated and sent to the facsimile controller30by the digital copying apparatus2, to a facsimile line with a facsimile line interface (not shown), or receives a facsimile signal from the facsimile line via the facsimile line interface and sends it to the digital copying apparatus2so as to perform the image forming operation. This operation is performed by an execution of a facsimile application program by a CPU (central processing unit)31included in the facsimile controller30.

In the above operations, the digital copying apparatus2exchanges with the printer controller20and the facsimile controller30control data through UARTs (Universal Asynchronous Receiver Transmitter)14,24, and34and image data through the application image data bus connecting image controllers16,26, and36to each other so that the digital multi-function apparatus1can perform a sequential operation under a multi-function operating system.

The main controller10is provided with a ROM (read only memory)12that stores a plurality of programs including a program used by the CPU11which governs the entire operations of the digital multi-function apparatus1. To update the programs, an IC (integrated circuit) card17, serving as an external storage device and which stores a latest program, is connected to an IC (integrated circuit) card connector15and the program is downloaded to the ROM12via a CPU bus.

Likewise, the printer controller20and the facsimile controller30are provided with ROMs (read only memories)22and32, respectively, which govern the operations of the respective units. To update the programs for these optional devices, the IC card17which also stores latest programs for the optional devices is connected to the IC card connector15and the respective programs are downloaded to the ROM22and32via the CPU bus and the UARTs.

Thus, downloading of the programs to the respective memory devices can be performed through a single common connector, the IC card connector15. Thereby, a number of connectors can be minimized.

Referring toFIG. 4, an operation for downloading programs to the digital copying apparatus2and the optional devices through the IC card connector15is explained. After the IC card17is inserted into the IC card connector15in Step S201, the digital multi-function apparatus1is given power in Step S202and then a download program stored in the IC card17is initiated in Step S203.

In Step S204, one of the optional devices is selected so that the program is downloaded to the device selected. An instruction for this selection may be provided inside the IC card17or through an operation panel60of the digital copying apparatus2.

When the digital copying apparatus2is selected as the device for the downloading in Step S204, the process proceeds to Step S205and the contents of the IC card17is sequentially transmitted to the ROM12via the CPU bus in Step S206. Whether the transmission of the program is completed is checked in Step S207. If the transmission is determined as completed in Step S207, a process for completing the program downloading is performed in Step S216. Then, the process ends.

When the facsimile controller30is selected as the device for downloading in Step S204, the process proceeds to Step S208. Then, in Step S209, the contents of the IC card17is transmitted to and is temporarily stored in a storage of the main controller10, including a RAM (random access memory)13, via the CPU bus and the program temporarily stored is transmitted to a memory for temporarily storing facsimile transmission data held within the facsimile controller30via a data transmission configuration connecting the main controller10and the facsimile controller30each other. Whether the transmission of the program is completed is checked in Step S210. If the transmission is determined as completed in Step S210, the program temporarily stored in the memory within the facsimile controller30is downloaded to a ROM (read only memory)32in Step S211and a process for completing the program downloading is performed in Step S216. Then, the process ends.

Likewise, when the printer controller20is selected as the device for downloading in Step S204, the process proceeds to Step S212. Then, in Step S213, the contents of the IC card17is transmitted to and is temporarily stored in a storage of the main controller10, including the RAM (random access memory)13, via the CPU bus and the program temporarily stored is transmitted to a memory for temporarily storing printer transmission data held within the printer controller20via a data transmission configuration connecting the main controller10and the printer controller20each other. Whether the transmission of the program is completed is checked in Step S214. If the transmission is determined as completed in Step S214, the program temporarily stored in the memory within the printer controller20is downloaded to a ROM (read only memory)22in Step S215and a process for completing the program downloading is performed in Step S216. Then, the process ends.

In the above procedure ofFIG. 4, the program downloading to the optional device is performed through the data transmission configuration that connects the main controller10and either the printer controller20or the facsimile controller30to each other. Such data transmission corresponds to the processes performed in Steps S209and S210or Steps S213and S214.FIG. 5shows another flowchart in which the data transmission performed in Steps S209and S210or Steps S213and S214are performed with the UART configuration. It is assumed that, before starting the process ofFIG. 5, several operations are performed; the IC card17is inserted into the IC card connector15, the program data is transmitted from the IC card17, and the program data is stored in the memory of the main controller10, including the RAM13.

In Step S301inFIG. 5, the transmission of the program data to the facsimile controller30or the printer controller20is started. In Step S302, the program data representing the contents of the IC card17is written into a transmission register of the UART14. In Step S303, the program data written in the register of the UART14is sequentially transmitted to the corresponding option device through the UART interface. In Step S304, whether transmission of a designated amount of data is completed is determined by checking the transmitted data between the UARTs. If the transmission is determined as completed in Step S304, a process for terminating the transmission process is performed in Step S305. Then, the process ends.

Generally, exchanges of the control data between the main controller10and the printer controller20and between the main controller10and the facsimile controller30are performed with the UART. The transfer rate for the control data transmission with the UART is typically set to a value in a range of from 4,800 bps to 14,400 bps.

In the present embodiment, each of the programs used for the main controller10, the printer controller20, and the facsimile controller30and which are subjected to be the downloading, typically has a volume of 1 to 2 Mbytes although it depends upon a scale of the system.

As an example, the following case is examined, in which the UART has the conditions of the following 5 items and each of the control programs for the printer controller20and the facsimile controller30has a volume of 2 Mbytes.

In the above case, transmission of 1-byte data requires a time of approximately 1.146 ms which calculation is made as follows;
number of bits×baud rate=(1+8+1+1)×1/9600≅1.146 ms.

If the transmission is successively executed with no time consumption between data blocks, the transmission of 2-Mbyte data requires a time of approximately 38.2 min which is calculated as follows;
1.146 ms/byte×2 Mbyte≅2292s≅38.2 min.

This time period may be too long and cannot be a realistic figure for the downloading.

To make it faster, the UART is set to a baud rate faster than the rate normally used for transmitting the control data. As an example, a baud rate of 16 times faster is examined, that is, 9,600 bps is increased to 153,600 bps.

In this case, transmission of 2-Mbyte data requires a time of approximately 2.4 min., which can be considered as realistic as the downloading. The time is calculated as follows;
{(1+8+1+1)×1/153600}s/byte×2 Mbyte ≅143.2s≅2.4 min.

Referring toFIG. 6, an exemplary procedure of the program downloading with a faster UART baud rate is explained. In the program downloading shown inFIG. 6, the downloading of the program is set to a baud rate faster than the one normally used for transmitting the control data with the UART configuration between the main controller10and the optional devices (i.e., the printer controller20and the facsimile controller30).FIG. 6shows the procedure of data transmission between the main controller10and the optional devices, which corresponds to Steps S209and S210or Steps S213and S214ofFIG. 4. It is assumed that, before starting the process ofFIG. 6, several operations are performed; the IC card17is inserted into the IC card connector15, the program data is transmitted from the IC card17, and the program data is stored in the memory of the main controller10, including the RAM13.

In Step S401ofFIG. 6, the transmission of the program data to the facsimile controller30or the printer controller20is started. Initially, in Step S402, the UART14is set to a baud rate faster than the regular baud rate at which, as regular operations other than the program downloading, the control data is transmitted to the optional devices so as to activate the optional devices. In Step S403, the program data representing the contents of the IC card17is written into the transmission register of the UART14. In Step S404, the program data written in the register of the UART14is sequentially transmitted to the corresponding option device through the UART interface. In Step S405, whether transmission of a designated amount of data is completed is determined by checking the transmitted data between the UARTs. If the transmission is determined as completed in Step S405, a process for terminating the transmission process is performed in Step S406. Then, the process ends.

Referring now toFIG. 7, an exemplary procedure of the program downloading through the application image data bus is explained. In the program downloading shown inFIG. 7, the downloading of the program is performed with the application image data bus configuration between the main controller10and the optional devices (i.e., the printer controller20and the facsimile controller30), which steps correspond to Steps S209and S210or Steps S213and S214ofFIG. 4. It is assumed that, before starting the process ofFIG. 7, several operations are performed; the IC card17is inserted into the IC card connector15, the program data is transmitted from the IC card17, and the program data is stored in the memory of the main controller10, including the RAM13.

In Step S501ofFIG. 7, the transmission of the program to the facsimile controller30or the printer controller20is started. Initially, in Step S502, the program data stored in the memory of the main controller10(i.e., the RAM13) is written into the image controller16using, for example, a transmission buffer included in the image controller16so as to transmit the program data through the application image data bus. In Step S503, the program data written in the image controller16is sequentially transmitted to the corresponding option device through the application image data bus using, for example, the transmission buffer of the image controller16. In Step S504, whether transmission of a designated amount of data is completed is determined by checking the transmitted data between the transmission and receiving buffers of the image controllers16and26and between the transmission and receiving buffers of the image controllers16and36. If the transmission is determined as completed in Step S504, a process for terminating the transmission process is performed in Step S505. Then, the process ends.

In this way, the program downloading is performed through the application image data bus between the main controller10of the digital copying apparatus2and the optional devices (i.e., the printer controller20and the facsimile controller30). Thereby, the digital multi-function apparatus1can perform the program downloading in a relatively faster manner.

The present embodiment is provided with a download program that has predicates of an execution procedure for downloading, from an external storage, programs used as control programs by the CPU11of the main controller10, the image controller16, the CPU21of the printer controller20, and the CPU31of the facsimile controller30. By initiating this download program, the digital multi-function apparatus1can perform the program downloading relative to a focused program. This download program can be recorded in any kind of machine readable medium (i.e., a semi-conductor memory, a floppy disk, etc.) and, therefore, it can be prestored in the ROM12,22, or32under the control of the CPU11and the main controller16, the CPU21, or the CPU31. It may also be possible that the download program is stored in a medium, the program is installed in the RAM13,23, or33, and the download program installed in the RAM13,23, or33is then initiated to execute the download program.

This invention may be conveniently implemented using a conventional general purpose digital computer programmed according to the teaching of the present specification, as will be apparent to those skilled in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The present invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.

Numerous additional modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the present application may be practiced otherwise than as specifically described herein.

This application claims priority to Japanese patent application No. JPAP2000-132712 filed on May 1, 2000 in the Japanese Patent Office, the entire contents of which are hereby incorporated by reference.