JPWO1993023825A1 - Cartridges for electronic devices - Google Patents
Cartridges for electronic devicesInfo
- Publication number
- JPWO1993023825A1 JPWO1993023825A1 JP4-509654A JP50965492A JPWO1993023825A1 JP WO1993023825 A1 JPWO1993023825 A1 JP WO1993023825A1 JP 50965492 A JP50965492 A JP 50965492A JP WO1993023825 A1 JPWO1993023825 A1 JP WO1993023825A1
- Authority
- JP
- Japan
- Prior art keywords
- electronic device
- cartridge
- data
- housing
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Abstract] This publication contains application data prior to electronic filing, so abstract data is not recorded.
Description
電子装置用カートリッジ Cartridges for electronic devices
本発明は、プリンタ等の電子装置に挿入される電子装置用カートリッジに関する 。 The present invention relates to a cartridge for an electronic device that is inserted into an electronic device such as a printer.
【背景技術 近年、パーソナルコンピュータ、ワードプロセッサ、ワークステージ寂ンなどの ディジタル演算に基礎を置く電子装置、あるいはマイクロプロセッサを組み込ん だプリンタ、ファクシミリ、電子手帳、電子楽器、電子調理器、電子カメラなど が、社会の広範な領域で用いられている。また、自動車、ロボット、工作機械。 あるいは各種電化製品においても、マイクロプロセッサを利用したものが、広く 実用に供されている。 こうしたディジタルな論理演算に基礎を置く機器は、ハードウェアのみで実現さ れた単純なフィードバック制御と比べて柔軟な制御が可能であることの他、ソフ トウェアの変更により実質的な機能を変更することができるという利点な育する 。従って、同一のハードウェアであっても、処理手順を記憶したROMの中身を 変更するだけで、全く異なった制御を実現することも可能である。更に、ソフト ウェアの変更のみで機能のバージ1ンアツプが可能であるという利点も有するの である。 しかしながら、実際にjIIII!Ilを行なうプロセッサの能力は、ハードウ ェア、例えば時間当たりの処理回数、一度に取り扱えるビット数、データの転送 を行なうバス幅などにより決まるから、ソフトウェアのバージ1ンアツプによっ て改善されるのは、たかだか使い勝手の向上など、限定されたものに過ぎず、現 実に既存の電子H置の能力を大幅に向上させることはできなかった。また、ソフ トウェアの変更によるバージ1ンアツプも、ソフトウェアはROMに焼き付けら れていることが多(、ソフトウェアの変更にはROMの交換作業を必要としたた め、困難な場合が多い。このため、ソフトウェアのバージ1ンアツプは、設計当 初からRO−M交換を予定している機種やソフトウェアをフレキシブルディスク など交換可能な媒体で供給するもの以外では困難であった。 もとより、パーソナルコンピュータなどにおいて、マイクロプロセッサなどをそ っくり入れ替えて、コンピュータ全体の機能を向上しようとするいわゆるアクセ ラレータなども存在するが、マザーボード上のCPUの交換が必要になるなど、 誰にでも簡単に行なえるというものではなかった。マイクロプロセッサを組み込 んだプリンタ、ファクシミ1ハ電子手帳、電子楽器、電子調理器、電子カメラな どの民生用電子装置、あるいは自動車の3I装品、ロボット、工作機械などの産 業用電子装置、更には各種電化製品となると、こうした機能の向上、変更につい ては、同等考慮されていないのが通常である。かかる問題を、ページプリンタを 例にとって詳細に説明する。 近年、レーザプリンタ等のページプリンタの普及にはめざましいものがあり、コ ンビエータからのデータの高速な出力機器の主流になろうとしている。レーザプ リンタの場合、240から800DPIの解像度を持ち、−分当たり数ページの 印字能力を持つものが開発されている。こうしたプリンタは、印刷用のエンジン として感光ドラムを用いたゼログラフィユニットを使用しており、帯電、露光、 トナー塗布、転写の各工程を感光ドラムの回転に同期して連続的に行なうことか ら、1ペ一ジ分の画像をメモリに蓄えた後、印刷処理を起動する。 従って、ページプリンタに備えられた画像展開用のメモリは、少な(とも1ペ一 ジ分の画像をメモリに蓄える容量が必要となり、画像データの圧縮を行なってい ないならば、その容量は解像度と処理可能な用紙の大きさとから決まる。例えば 、解像度300DP!、用紙の大きさを横8インチ、縦10インチの場合を考エ テミルと、全部で8X10X300X300=7.200,000ドツトの画素 を取り扱うことになり、少なくさも0.9メガバイトのメモリを用意しなければ ならない。 また、外部のコンピュータから受け取る印字データが印刷しようとする画像のビ ットイメージそのものであれば、プリンタはデータを受け取ってこれをメモリに 順次記憶する処理を行なうだけであり、処理速度は主にデータの転送速度に依拠 する。並列転送、例えばセントロニクス社規格準拠の転送方式はかなり高速なの で、転送速度がゼログラフィユニットの印刷能力を下回ることはほとんど考えら れない。 しかしながら、印字データとして文字のコードと行および桁ピッチなどの情報を 受け取りこれを画像として展開する機能を備えたプリンタでは、あるいはページ 記述言語で記述されたプログラムを受け取ってこれを解釈して展開するプリンタ では、印字データに基づいてビットイメージを演算・生成する処理が必要となり 、単純なビットイメージの転送と較べて全体の処理速度が大きく低下するという 問題があった。即ち、プリンタの処理速度が、主に処理を行なうプロセッサの能 力およびメモリのアクセスタイム等により決まることになり、ゼログラフィユニ ット自体の印刷能力を大幅に下回ってしまうのである。 例えば、1分間に10枚印刷可能なページプリンタを考えてみると、1枚の印刷 物用の画像データを準備するのに許された時間はわずか6秒しかなく、この時間 に0.9メガバイトのデータを総て展開しようとすれば、1バイト当たりに許容 される処理時間は、わずか6,67マイクロセカンドに過ぎない(6秒70゜9 メガバイト)。この処理速度は、現在市場に供給されている高速のRISCタイ プのプロセッサで実現可能かどうかという程度である。これに対してゼログラフ ィユニットは、10枚/分程度の印刷能力を既に備えていることが多い。従って 、現状では、印字データを処理する制御部の処理能力が、全体の印字速度を向上 する上でのネックとなっている。 ページプリンタの中には、内部のメモリ容量を増大可能なものや、予め拡張スロ ットを用意し、ここにフォントやプログラムを内蔵したカートリッジなどを装着 することにより機能を向上しようとするものがあるが、メモリの拡張に伴う処理 速度の向上は望めても、処理能力自体を向上させることはできなかった。例えば 、特定のページ記述言語しかサポートしていないレーザプリンタに、他のページ 記述言語を処理する機能を拡張するため、ICカードその他のカートリッジの形 態で他のページ言語インタープリタのプログラムを供給するものが知られている 。このカートリッジは、プログラムをマスクROMの形態で内蔵しており、プリ ンタの拡張スロットに装着される。 ページ言語インタープリタのプログラムを提供するこのカートリッジについて説 明する。プリンタ本体の制御部は、電源投入直後などのタイミングで、カートリ ッジに割り当てられた所定のアドレスを読みにゆく。ページ言語プログラムを収 納したカートリッジが装着されて1する場合には、特定のコードが返されるので 、制御部は、カートリッジがページ言語プログラムであることを知る。これによ り、プリンタの制御は、カートリッジ内部におかれているインタープリタプログ ラムに移る。この結果、プリンタは外部から受け取るデータをそのページ言語に 従って解釈することができるようになるが、処理速度自体が向上する訳ではなく 、むしろ高級なページ記述言語を改めて採用することで、全体の印刷速度は低下 することが多い。 そこで、上述の問題を解決するために、プリンタ本体とは別個のマイクロプロセ ッサを備えるカートリッジを発明した。このカートリッジは、プリンタ本体から 印字データを受取る機能を有しており、また、カートリッジ内のマイクロプロセ ッサは、受は取った印字データに基づいて画像データを展開する機能を育してい る。 ところで、上記カートリッジはその筐体がアルミニウムにより形成され、これに より内部のマイクロプロセッサで生じた熱を放熱させるようにしているが、一方 で、このような金属製の筐体がアンテナとなって、電磁波の不要輻射を増大させ 、カートリッジ自身あるいは周辺にある電子装置llこノイズを生じさせ、誤動 作などの原因となるという問題があった。 また、上記カートリッジには放熱特性の点で解決すべき問題もある。上記カート リッジに利用されるマイクロプロセッサは、数万個から数十万個の素子を含む電 子回路であり、それらの素子が20〜40MHzあるいはそれ以上の周波数を有 するクロック信号に応じてスイッチング動;乍などを行なっている。従って、マ イクロプロセッサは動作中にかなりの熱を発生する。このため、マイクロプロセ ッサで発生した熱を外部に放出しないとマイクロプロセッサの温度が上がり、マ イクロプロセッサが誤動作を起こしたり、内部の素子が破壊されてしまったりす ることがある。 誤動作や素子の破壊を防止するために、マイクロプロセッサのケースに対しては 80℃程度の最大許容湿度が設定されている。ケースの表面温度を許容値以下に 保つためには、カートリッジの構造を工夫して、マイクロプロセッサから外部に 放熱しやすい構造にすることが重要となる。 しかし、従来はプリンタに装着されるカートリッジであってマイクロプロセッサ を備えるものが存在しなかったので、カートリッジの放熱構造も知られていなか った。 この発明は、従来技術における上述の課題を解決するためになされたものであり 、プリンタ本体から受け取った印字データに基づき所定の処理を実行するマイク ロプロセッサ等の回路素子を内蔵したカートリッジにおいて、外界への不要電磁 波輻射を低減した電子装置用カートリッジを提供することを主な目的とする。 この発明の付加的な目的は、内部の回路素子を効率的に冷却することのできる電 子装置用カートリッジを提供することにある。 【発明の開示】 上述の課題を解決するため、この発明による電子装置用カートリッジは、論理演 算可能な第1のプロセッサを備えた電子装置に、所定の挿入口を介して挿入され る電子装置用カートリッジであって、導電性の遮弊部材と、前記遮弊部材と前記 電子装置の導電部材とを電気的に接続する接続手段と、を備えている。このカー トリッジは導電性の遮弊部材を備えることによって、電磁波ノイズが外部に出射 されるのを防止している。 このカートリッジはさらに、第2のプロセッサと、該第2のプロセッサを搭載し た基板とを備え、前記接続手段は、前記遮弊部材と、前記回路基板の電源用配線 と、前記電子装置の導電部材とを電気的に接続する手段を備えていてもよい。 接続手段が遮弊部材と電源用配線と電子装置の導電部材とを電気的に接続するの で、遮弊部材の電位が安定化され、これによって電磁波ノイズの発生が防止され る。 また、前記基板を収納する筐体を備え、該筐体は前記遮弊部材を含むようにして もよい。この筐体は、少なくとも一部が金属製であってもよく、また、少なくと も一部に導電層を育するものであってもよい。 前記筐体は互いに嵌合して前記基板を収納する第1と第2の筐体要素を備え、前 記カートリッジを前記電子装置に挿入した状態において少なくとも前記電子装置 から突出する前記カートリッジの突出部分において、前記第1と第2の筐体要素 のそれぞれの嵌合面にそれぞれ導電層が形成されていることが好ましく1゜この カートリッジでは、互いに嵌合する第1と第2の筐体要素によって筐体が構成さ れており、かつ、第1と第2の筐体要素の嵌合面にそれぞれ導電層が形成されて いることによって、2つの筐体要素の結合部分から電磁波ノイズが出射されるの を防止している。 この発明の一実施例においては、前記第1と第2の筐体要素の一方がプラスチッ ク製であり、他方が金属製である。 前記接続手段は、複数の箇所において前記基板の電源用配線と前記遮弊部材とを 電気的に接続することが好ましい。この構成は、基板の電源用配線と遮弊部材と の間のインピーダンスを低減するので、肩周波ノイズの発生を防止する上で効果 がある。 前記筐体が貫通口を有する場合には、前記接続手段は、さらに、前記貫通口の両 端部の間の少なくとも一箇所において、前記基板の電源用配線と前記遮弊部材と を電気的に接続する手段を有することが好ましい。この構成では、貫通口から外 部に出射される電磁波の波長を短(することができるので、有害な電磁波ノイズ を低減する上で効果がある。 前記接続手段は、前記遮弊部材に固定された導電性弾性部材を備え、該導電性弾 性部材は、前記筐体に設けられた関口から外部に突出する突出部を有するととも に、カートリッジを前記電子装置に挿入した場合に前記電子装置の導電部材と電 気的に接触するようにしてもよい。 また、複数の前記導電性弾性部材を備え、カートリッジを前記電子装置に挿入し た場合に、少なくとも1つの導電性弾性部材が前記電子装置の導電部材と電気的 に接触するようにしてもよい。 さらに、前記複数の導電性弾性部材は、前記遮弊部材と前記基板の電源用配線と を電気的に接続するようにしてもよい。 放熱特性の点では、金属製の前記筐体要素に固定され、前記第2のプロセッサの 上面に対向して前記筐体の内部に配置された金属製の放熱部材と、該放熱部材と 前記第2のプロセッサの上面との間に介装されて、前記放熱部材と前記第2のプ ロセッサとに密着する介装部材とを備えることが好ましい。こうすれば、第2の プロセッサで発生した熱を、放熱部材と金属製の筐体要素とを介して外部に放出 することができる。 さらに、前記第2のプロセッサを前記放熱部材の方向に押すための弾性部材を備 えることにより、第2のプロセッサと介装部材と放熱部材との間の熱抵抗を低減 することができる。 なお、前記基板が拡張メモリ用コネクタを備えるようにすれば、カートリッジの 用途に応じて必要となるメモリを容易に追加することができる。 この際、前記筐体に拡張メモリを前記拡張メモリ用コネクタに挿入するための拡 張用スロットと、取り外し可能な拡張用スロット蓋とを設け、該拡張スロット蒼 を、カートリッジを電子装置に挿入した場合に電子装置内に隠れる位置に設ける ようにするのが好ましい。こうすれば、カートリッジの使用中に誤って拡張メモ リが抜き差しされるのを防止できる。 なお、前記拡張メモリがICカードとして構成されていれば、メモリの拡張が容 易である。 電子装置用カートリッジに、電子装置本体と電子vtIll用カートリッジとを 機械的に連結する連結手段を備えるようにすれば、電子装置用カートリッジの盗 難を防止することができる。なお、前記連結手段を、施錠手段と該施錠手段の施 錠に応じて電子装置用カートリッジの電源を投入するスイッチ手段とを備えるよ うにしてもよい。 この発明の他の構成による電子装置用カートリッジは、所定の挿入口を介して電 子装置に挿入される電子装置用カートリッジであって、デジタルプロセッサを搭 載した基板と、導電材料による遮弊部材を有し、前記基板を収納する筐体と、前 記電子装置の導電部分と前記基板の電源用配線と前記遮弊部材とを電気的に接続 する接地手段と、を備える。 さらに、この発明のさらに他の構成による電子装置用カートリッジは、論理演算 可能な第1のプロセッサと、前記第1のプロセッサの少な(ともアドレス信号線 が接続されたコネクタとを備えた電子装置に、所定の挿入口を介して挿入される 電子装置用カートリッジであって、第2のプロセッサと、前記電子装置から出力 されたアドレス信号から該アドレスに反映されたデータを取り出すデータ取出手 段と、導電性の遮弊部材を有し、前記第2のプロセッサを収納する筐体と、前記 電子装置の導電部材と前記基板の電源用配線と前記遮弊部材とを電気的に接続す る接続手段と、を備える。 この発明の他の構成による電子装置用カートリッジは、論理演算可能な第1のプ ロセッサと、該プロセッサが実行する処理を記憶した第1の記憶手段と、前記第 1のプロセッサの少なくともアドレス信号線が接続されたコネクタと、外部に転 送すべきデータをアドレス信号に反映させるとともに該アドレス信号を前記コネ クタを介して出力するアドレス出力手段とを備えた電子装置に、所定の挿入口を 介して挿入される電子装置用カートリッジであって、第2のプロセッサと、該第 2のプロセッサが実行する処理手順を記憶した第2の記憶手段と、前記電子装置 から出力されたアドレス信号から該アドレスに反映されたデータを取り出すデー タ取出手段と、前記第2のプロセッサと第2の記憶手段とデータ取出手段とを搭 載した基板と、導電性の遮弊部材を育し、前記基板を収納する筐体と、前記電子 装置の導電部分と前記基板の電源用配線と前記遮弊部材とを電気的に接続する接 地手段と、を備える。 なお、この発明は、上述の各電子装置用カートリッジと電子装置との組み合わせ で構成される電子システムも含んでいる。 [Background Art] In recent years, electronic devices based on digital operations, such as personal computers, word processors, and workstations, as well as printers, facsimiles, electronic organizers, electronic musical instruments, electronic cookers, and electronic cameras incorporating microprocessors, have come to be used in a wide range of areas of society. Microprocessors are also widely used in automobiles, robots, machine tools, and various electrical appliances. These devices based on digital logic operations offer the advantage of more flexible control than simple feedback control achieved solely by hardware, as well as the ability to change their actual functions by modifying the software. Therefore, even with the same hardware, it is possible to achieve completely different control simply by changing the contents of the ROM that stores the processing procedures. Another advantage is that functionality can be upgraded simply by modifying the software. However, in reality, this is not always the case. The processor's capabilities are determined by its hardware, such as the number of operations per unit time, the number of bits it can handle at one time, and the width of the bus over which data is transferred. Therefore, software upgrades offer only limited improvements, such as improved ease of use, and do not actually significantly improve the capabilities of existing electronic equipment. Furthermore, software upgrades are often difficult because software is often burned into ROM, requiring ROM replacement. This makes software upgrades difficult except for models designed with ROM replacement in mind and those in which the software is provided on exchangeable media such as flexible disks. While there are so-called accelerators for personal computers, which involve replacing the microprocessor and other components to improve the overall computer's functionality, these require replacing the CPU on the motherboard, making them difficult for anyone to perform. When it comes to consumer electronic devices with built-in microprocessors, such as printers, fax machines, electronic organizers, electronic musical instruments, electronic cookers, and electronic cameras, as well as industrial electronic devices such as automotive 3I components, robots, and machine tools, and even various electrical appliances, such functional upgrades and modifications are typically not given the same consideration. This problem has been addressed by the development of page printers and other electronic devices. Let me explain this in more detail using an example. In recent years, page printers such as laser printers have become extremely popular, and are fast becoming the mainstream device for high-speed output of data from combiators. Laser printers have been developed with a resolution of 240 to 800 DPI and a printing capacity of several pages per minute. These printers use a xerography unit with a photosensitive drum as the printing engine, and the processes of charging, exposure, toner application, and transfer are performed continuously in synchronization with the rotation of the photosensitive drum. Therefore, the image for one page is stored in memory before the print process is initiated. Therefore, the image development memory provided in a page printer must have the capacity to store at least one page's worth of image, and if the image data is not compressed, this capacity is determined by the resolution and the size of the paper that can be processed. For example, Considering a printer with a resolution of 300 DP and paper dimensions of 8 inches wide and 10 inches high, a printer would need to handle a total of 8x10x300x300 = 7,200,000 pixels, requiring at least 0.9 megabytes of memory. Furthermore, if the print data received from an external computer is the bit image of the image to be printed, the printer simply receives the data and stores it sequentially in memory, and processing speed depends primarily on the data transfer rate. Parallel transfer, such as that based on the Centronics standard, is quite fast, so it is highly unlikely that the transfer rate will fall below the printing capability of the xerography unit. However, printers that receive print data containing information such as character codes and line and column pitch and render it as an image, or printers that receive and interpret programs written in a page description language, require processing to calculate and generate a bit image based on the print data. However, this method significantly reduces overall processing speed compared to simple bit image transfer. In other words, the printer's processing speed is primarily determined by the processor's capabilities and memory access time, resulting in a speed significantly lower than the printing capability of the xerography unit itself. For example, consider a page printer capable of printing 10 pages per minute. The time allowed to prepare image data for one page is only six seconds. If all 0.9 megabytes of data are to be extracted in this time, the processing time allowed per byte is only 6.67 microseconds (6 seconds 70.9 megabytes). This processing speed is only achievable with the high-speed RISC-type processors currently available on the market. In contrast, xerography units often already have a printing capability of around 10 pages per minute. Therefore, currently, the processing capability of the control unit that processes the print data is the key to improving overall printing speed. This is a bottleneck in the development of page printers. Some page printers have expandable internal memory capacity, while others have pre-installed expansion slots where cartridges containing fonts and programs can be inserted to enhance functionality. However, while memory expansion can improve processing speed, it does not improve processing power itself. For example, to expand the processing capabilities of laser printers that only support a specific page description language, other page description language interpreter programs are supplied on IC cards or other cartridges. These cartridges contain the programs in mask ROM and are inserted into the printer's expansion slot. This section explains the cartridges that provide the page language interpreter programs. The printer's control unit reads a specific address assigned to the cartridge immediately after power-on, for example. When a cartridge containing a page language program is inserted, a specific code is returned. The control unit then learns that the cartridge is a page language program. This transfers control of the printer to the interpreter program located inside the cartridge. While this allows the printer to interpret data received from an external source in accordance with the page language, it does not improve processing speed. In fact, adopting a high-level page description language often results in a slower overall printing speed. To address this issue, a cartridge with a microprocessor separate from the printer itself was invented. This cartridge receives print data from the printer, and the microprocessor within the cartridge generates image data based on the received print data. The cartridge's housing is made of aluminum, which dissipates heat generated by the internal microprocessor. However, this metal housing acts as an antenna, increasing unwanted electromagnetic radiation. However, this can cause noise in the cartridge itself or in surrounding electronic devices, resulting in malfunctions. The cartridge also has a problem with heat dissipation that must be solved. The microprocessor used in the cartridge is an electronic circuit containing tens of thousands to hundreds of thousands of elements, which perform switching operations in response to a clock signal with a frequency of 20-40 MHz or higher. Consequently, the microprocessor generates a considerable amount of heat during operation. Therefore, if the heat generated by the microprocessor is not dissipated to the outside, the microprocessor temperature will rise, causing the microprocessor to malfunction or even destroy its internal elements. To prevent malfunctions and damage to the elements, the maximum allowable humidity for the microprocessor case is set at approximately 80°C. To maintain the surface temperature of the case below the allowable value, it is important to devise a cartridge structure that allows heat to be easily dissipated from the microprocessor to the outside. However, in the past, cartridges installed in printers did not allow the microprocessor to dissipate heat to the outside. Since there were no cartridges equipped with such a heat dissipation mechanism, the heat dissipation structure of the cartridge was also unknown. This invention was made to solve the above-mentioned problems in the prior art, and its primary object is to provide an electronic device cartridge containing a circuit element, such as a microprocessor, that executes predetermined processing based on print data received from a printer body, and that reduces unnecessary electromagnetic radiation to the outside. An additional object of this invention is to provide an electronic device cartridge that can efficiently cool the internal circuit element. [DISCLOSURE OF THE INVENTION] To solve the above-mentioned problems, the electronic device cartridge of this invention is an electronic device cartridge that is inserted through a specified insertion port into an electronic device equipped with a first processor capable of logical operations, and includes a conductive shielding member and connecting means for electrically connecting the shielding member to the conductive members of the electronic device. By including the conductive shielding member, this cartridge reduces the amount of electromagnetic noise emitted to the outside. The cartridge further includes a second processor and a circuit board on which the second processor is mounted, and the connecting means may include means for electrically connecting the shielding member, the power supply wiring of the circuit board, and the conductive members of the electronic device. The connecting means electrically connects the shielding member, the power supply wiring, and the conductive members of the electronic device, thereby stabilizing the potential of the shielding member and thereby preventing the generation of electromagnetic noise. The cartridge may also include a housing for housing the circuit board, the housing including the shielding member. At least a portion of the housing may be made of metal, and at least a portion of the housing may have a conductive layer. The housing includes first and second housing elements that fit together to house the board, and preferably, a conductive layer is formed on the mating surfaces of the first and second housing elements at least in the protruding portions of the cartridge that protrude from the electronic device when the cartridge is inserted into the electronic device. In the cartridge, the housing is formed by first and second housing elements that fit together, and a conductive layer is formed on each of the mating surfaces of the first and second housing elements, thereby preventing electromagnetic noise from radiating from the joint between the two housing elements. In one embodiment of the present invention, one of the first and second housing elements is made of plastic, and the other is made of metal. The connecting means preferably electrically connects the power supply wiring of the board to the shielding member at multiple locations. This configuration reduces the impedance between the power supply wiring of the board and the shielding member, thereby effectively preventing the generation of shoulder frequency noise. If the housing has a through hole, the connecting means preferably further includes means for electrically connecting the power supply wiring of the board to the shielding member at at least one location between both ends of the through hole. This configuration shortens the wavelength of the electromagnetic waves emitted to the outside from the through hole, thereby reducing harmful electromagnetic noise. This is effective in reducing the risk of electrical shock. The connection means may include a conductive elastic member fixed to the shielding member, the conductive elastic member having a protruding portion protruding outward from a port provided in the housing and configured to electrically contact a conductive member of the electronic device when the cartridge is inserted into the electronic device. Alternatively, the connection means may include a plurality of the conductive elastic members, at least one of which electrically contacts a conductive member of the electronic device when the cartridge is inserted into the electronic device. Furthermore, the plurality of conductive elastic members may electrically connect the shielding member to the power supply wiring of the board. In terms of heat dissipation characteristics, the connection means preferably includes a metal heat dissipation member fixed to the metal housing element and positioned inside the housing facing the top surface of the second processor, and an interposition member interposed between the heat dissipation member and the top surface of the second processor and in close contact with the heat dissipation member and the second processor. This allows heat generated by the second processor to be dissipated to the outside via the heat dissipation member and the metal housing element. Furthermore, by providing an elastic member for pressing the second processor toward the heat dissipation member, thermal resistance between the second processor, the interposing member, and the heat dissipation member can be reduced. Incidentally, if the board includes an expansion memory connector, memory can be easily added as needed depending on the cartridge's intended use. In this case, the housing is preferably provided with an expansion slot for inserting the expansion memory into the expansion memory connector and a removable expansion slot cover, and the expansion slot cover is preferably located in a position that is hidden within the electronic device when the cartridge is inserted into the electronic device. This prevents the expansion memory from being accidentally inserted or removed while the cartridge is in use. Incidentally, if the expansion memory is configured as an IC card, memory expansion is easy. Incidentally, if the electronic device cartridge includes a connecting means for mechanically connecting the electronic device main body and the electronic device cartridge, theft of the electronic device cartridge can be prevented. The connecting means may also include a locking means and a switch means for powering on the electronic device cartridge in response to the locking of the locking means.An electronic device cartridge according to another configuration of the present invention is a cartridge for insertion into an electronic device through a predetermined insertion port, and includes a circuit board having a digital processor mounted thereon, a shielding member made of a conductive material, a housing for accommodating the circuit board, and grounding means for electrically connecting the conductive portion of the electronic device, the power supply wiring of the circuit board, and the shielding member. Furthermore, a cartridge for an electronic device according to still another aspect of the present invention is a cartridge for an electronic device that is inserted through a predetermined insertion opening into an electronic device having a first processor capable of logical operations and a connector to which at least an address signal line of the first processor is connected, and that includes a second processor, data extraction means for extracting data reflected in an address signal output from the electronic device, a housing having a conductive shielding member and housing the second processor, and connection means for electrically connecting the conductive member of the electronic device, the power supply wiring of the board, and the shielding member.A cartridge for an electronic device according to another aspect of the present invention is a cartridge for an electronic device that is inserted through a predetermined insertion opening into an electronic device that includes a first processor capable of logical operations, first storage means for storing the processes to be executed by the processor, a connector to which at least an address signal line of the first processor is connected, and address output means for reflecting data to be transferred externally in an address signal and outputting the address signal through the connector. a cartridge for an electronic device inserted through an electronic device cartridge, the cartridge comprising: a second processor; second storage means for storing a processing procedure executed by the second processor; data retrieval means for retrieving data reflected in an address signal output from the electronic device from the address signal; a circuit board mounting the second processor, second storage means, and data retrieval means; a housing for housing the circuit board and including a conductive shielding member; and grounding means for electrically connecting a conductive portion of the electronic device, the power supply wiring of the circuit board, and the shielding member. The present invention also includes an electronic system constituted by a combination of each of the above-mentioned cartridges for an electronic device and an electronic device.
【図面の簡単な説明] 図1は、この発明の一実施例としてのカートリッジを示す斜視図、図2は、実施 例のカートリッジの分解斜視図、図3は、プリント基板を拡大して示す斜視図、 図4は、下部ケースを示す図、 図5は、プリント基板を示す平面図、 図6は、プリント基板を下部ケースに載置する様子を示す側面図、図7は、カー トリッジのマイクロプロセッサの部分を拡大して示す要部断面図、図8は、第1 のタイプのプリンタ本体にカートリッジを挿入した状態を示す斜視図、 図9は、第2のタイプのプリンタ本体にカートリッジを挿入した状態を示す斜視 図、 図10は、第1のタイプのプリンタ本体に挿入した状態におけるカートリッジと プリンタ本体のフレームの縦断WJ図、図11は、第2のタイプのプリンタ本体 に挿入した状態におけるカートリッジとプリンタ本体のフレームの縦断面図、r JIJ12は、電磁波ノイズ対策前後の電磁波ノイズの測定結果を示すグラフ、 図13は、チェーンでプリンタ本体に連結されたカートリッジを示す概念図、図 14は、キーIこよるロック機構を有するカートリッジを示す概念図、IE15 は、プリンタとカートリッジの全体構成を示すブロック図、図16は、コネクタ CNI 1における信号線の構成を示す説明図、図17は、電子制御装置150 1側からみたカートリッジ503の7ドレスマツプを示す説明図、 図18は、マイクロプロセッサ601側からみたカートリッジ503のアドレス マツプを示す説明図、 図19は、カートリッジ503の内部構成を示すブロック図、図23は、割込要 求レジスタ640の構成例を示す回路図、図20は、ポーリング・コマンドレジ スタ643の構成例を示す回路図、図2】は、ステータスレジスタ645の内容 を示す説明図、図22は、読出i制御回路620の構成例を示す回路図、図24 は、続出制御回路620を用いたデータ転送を実現する電子制御装置501側の 処理を示すフローチャート、 図25は、ROM671内のデータの構造を示す説明図である図26は、続出制 御回路620を用いたデータ転送を実現するカートリッジ503側の処理を示す フローチャート、 図27は、FIFO制御回路623を用いたデータ転送を実現する電子制御装置 501側の処理を示すフローチャート、rIIJ28は、FIF01i111回 路623を用いたデータ転送を実現するカートリッジ503側の処理を示すフロ ーチャート、図29は、ダブルバンク制御回路624の構成例を示す回路図、図 30は、ダブルバンク制御回路624を用いたデータ転送の開始のための処理を 示すフローチャート、 図31は、同じく電子制御装置1501側におけるその応答処理を示すフローチ ャート、 図32は、ダブルバンク制御回路624を用いたデータ転送を実現する電子制御 装置1501側の処理を示すフローチャート1図33は、ダブルバンク制!1回 路624を用いたデータ転送を実現するカートリッジ503側の処理を示すフロ ーチャート、図34は、レーザエンジン505を制御して行なわれる画像データ の印刷のタイミングを示すタイミングチャートである。[Brief Description of the Drawings] Fig. 1 is a perspective view showing a cartridge according to one embodiment of the present invention. Fig. 2 is an exploded perspective view of the cartridge according to the embodiment. Fig. 3 is an enlarged perspective view of the printed circuit board. Fig. 4 is a diagram showing the lower case. Fig. 5 is a plan view of the printed circuit board. Fig. 6 is a side view showing the printed circuit board being placed in the lower case. Fig. 7 is an enlarged cross-sectional view of the cartridge's microprocessor. Fig. 8 is a perspective view showing the cartridge inserted into a first type printer body. Fig. 9 is a perspective view showing the cartridge inserted into a second type printer body. Fig. 10 is a diagram showing the cartridge and the printer body when inserted into the first type printer body. Figure 11 is a longitudinal cross-sectional view of the cartridge and printer frame inserted into the second type printer body. Figure 12 is a graph showing the results of electromagnetic noise measurements before and after electromagnetic noise countermeasures. Figure 13 is a conceptual diagram showing a cartridge connected to the printer body by a chain. Figure 14 is a conceptual diagram showing a cartridge with a key locking mechanism. Figure 15 is a block diagram showing the overall configuration of the printer and cartridge. Figure 16 is an explanatory diagram showing the signal line configuration in the connector CNI 1. Figure 17 is an explanatory diagram showing the address map of cartridge 503 as seen from the electronic control unit 1501 side. Figure 18 is a diagram showing the cartridge as seen from the microprocessor 601 side. FIG. 19 is a block diagram showing the internal configuration of cartridge 503. FIG. 23 is a circuit diagram showing an example of the configuration of the interrupt request register 640. FIG. 20 is a circuit diagram showing an example of the configuration of the polling command register 643. FIG. 2 is a diagram showing the contents of the status register 645. FIG. 22 is a circuit diagram showing an example of the configuration of the read/write control circuit 620. FIG. 24 is a flowchart showing the processing on the electronic control unit 501 side that realizes data transfer using the continuous output control circuit 620. FIG. 25 is a diagram showing the data structure in ROM 671. FIG. 26 is a flowchart showing the processing on the cartridge 503 side that realizes data transfer using the continuous output control circuit 620. FIG. 27 is a flowchart showing the processing performed by the electronic control unit 501 to implement data transfer using the FIFO control circuit 623. FIG. 28 is a flowchart showing the processing performed by the cartridge 503 to implement data transfer using the FIFO control circuit 623. FIG. 29 is a circuit diagram showing an example configuration of the double-bank control circuit 624. FIG. 30 is a flowchart showing the processing for initiating data transfer using the double-bank control circuit 624. FIG. 31 is a flowchart showing the response processing performed by the electronic control unit 1501. FIG. 32 is a flowchart showing the processing performed by the electronic control unit 1501 to implement data transfer using the double-bank control circuit 624. FIG. 33 is a flowchart showing the processing performed by the cartridge 503 to implement data transfer using the double-bank control circuit 624. FIG. 34 is a timing chart showing the timing of printing image data by controlling the laser engine 505.
1、la、lb プリンタ本体 15 ゼログラフィユニット 34 データバス 36 バスドライバ 50 カートリッジ 5B ROM 68 データセレクタ 100 上部ケース 102 放熱層シリコーンゴム 104 アース用バネ部材 106 拡張メモリ用スロット 108 端面 110 金属板 120 下部ケース 122 バネ部材 !24 嵌合部 126 押圧用シリコーンゴム 128 ゴム保持部 132 開口部 140 下部キャップ 142 貫通口 150 上部キャップ 160 ネジ 180 金属フレーム 】82 金属フレーム 200 rcカード 500 ブリ?り 501 電子制御装置 503 カートリッジ 505 レーザエンジン 507 ワークステージ曹ン 510 CPU llROM 512 RAM 514 データ入力ポート 515 ラインバッファ 518 パスライン 517 レジスタ 518 コンソールパネル 519 コンソールパネルI/F 520 ダブルバッファ回路 550 プリント基板 551 プラグ部 601 マイクロプロセッサ 602 メモリ部 603ASIC 603データ転送制御部 80B ROM 808 ROM 610 セレクタ 810 データセレクタ llRAM 615 拡張RAMインタフェース 617 トライステートバッファ 818 ROM 619 トライステートバッフ1 620 読出制御回路 821 FIFOメモリ 623 FIFO制御回路 624 ダブルバンク制御回路 635 バス制御部 637 リセット素子 640 割込要求レジスタ 643 コマンドレジスタ 645 ステータスレジスタ 647 転送フラグレジスタ 649 FROMコントロールレジスタ650 コントロールレジスタ 851 ラッチ 853 FIFOレジスタ 654 FIFO書込回路 655 FIFO読出レジスタ 657 ラッチ 658 バッファ 661 発振器 665 発振器 670 EEFROM 671 ROM 674 D型フリッププロップ 880 NANDゲート 681 データセレクタ 682 データセレクタ 684〜686 トライステートバッフ1691 RAM 694.695 オアゲート 696 インバータ 520A RAM 520B RAM 520Cメモリ書込コントローラ 520D メモリ読出コントローラ 601p ビン 640a フリツブフロブブ 640a 割込要求レジスタ 643a オフタルD型フリフブフロツブ643c D型フリップフロップ 6521 ラッチ 7900 ユーザプルゲート AAB アドレスバス CAB アドレスバス CDB データバス CNl0 コネクタ CNII コネクタ 1, 1a, 1b Printer body 15 Xerography unit 34 Data bus 36 Bus driver 50 Cartridge 5B ROM 68 Data selector 100 Upper case 102 Heat dissipation layer silicone rubber 104 Grounding spring member 106 Expansion memory slot 108 End face 110 Metal plate 120 Lower case 122 Spring member ! 24 Engagement portion 126 Pressing silicone rubber 128 Rubber retaining portion 132 Opening 140 Lower cap 142 Through hole 150 Upper cap 160 Screw 180 Metal frame 】82 Metal frame 200 RC card 500 Bridge? r 501 Electronic Control Unit 503 Cartridge 505 Laser Engine 507 Work Stage Unit 510 CPU 11 ROM 512 RAM 514 Data Input Port 515 Line Buffer 518 Pass Line 517 Register 518 Console Panel 519 Console Panel I/F 520 Double Buffer Circuit 550 Printed Circuit Board 551 Plug Unit 601 Microprocessor 602 Memory Unit 603 ASIC 603 Data Transfer Control Section 80B ROM 808 ROM 610 Selector 810 Data Selector 11 RAM 615 Expansion RAM Interface 617 Tri-State Buffer 818 ROM 619 Tri-State Buffer 1 620 Read Control Circuit 821 FIFO Memory 623 FIFO Control Circuit 624 Double Bank Control Circuit 635 Bus Control Unit 637 Reset Element 640 Interrupt Request Register 643 Command Register 645 Status Register 647 Transfer Flag Register 649 FROM Control Register 650 Control Register 851 Latch 853 FIFO Register 654 FIFO Write Circuit 655 FIFO Read Register 657 Latch 658 Buffer 661 Oscillator 665 Oscillator 670 EEFROM 671 ROM 674 D-type Flip-Flop 880 NAND Gate 681 Data Selector 682 Data Selector 684-686 Tristate Buffer 691 RAM 694, 695 OR Gate 696 Inverter 520A RAM 520B RAM 520C Memory Write Controller 520D Memory Read Controller 601p Pin 640a Flip-Flop 640a Interrupt Request Register 643a Off-Chip D-Type Flip-Flop 643c D-Type Flip-Flop 6521 Latch 7900 User Pull Gate AAB Address Bus CAB Address Bus CDB Data Bus CN10 Connector CNII Connector
実施例を以下の各項に分けて説明する。 [i]カートリッジの構造 A、カートリッジの構造 B、電磁波ノイズ試験結果 C,カートリッジ構造の変形例 [iiミコプリンタよびカートリッジの電気的構成A、プリンタおよびカートリ ッジの全体構成り、カートリッジのアドレス空間 C,カートリッジの内部構成 り、データ転送制御部603の説明 E、各レジスタの説明 F8M出制開制御620の構成と働き・G、FIFOII11回N623の構成 と働きH,ダブルバンク制御回路624の構成と働き11画像データの印刷 [iiiコその他 [i]カートリッジの構造 A、カートリッジの構造 図1は、この発明の一実施例としてのプリンタ用カートリッジの構造を示す斜視 図、図2はその分解斜視図である。このカートリッジ503は、プリンタ本体の フォント用カートリッジ挿入口に挿入されるカートリッジとして設計されている 。ただし、このカートリッジは、後述するように、プリンタ本体から印字データ を受け取り、受は取った印字データを画像データに展開する機能を有している。 このカートリッジ503は、内部が凹状の上部ケース100と、板状の下部ケー ス120との間に多層プリント基板550(以下、単に「プリント基板」と呼ぶ )が介装された構造を有しており、カートリッジ503のコネクタ側には下部キ ャップ140と上部キャップ150が取り付けられる。上部ケース100と上部 キャップ140と下部キャップ150はABS樹脂製であり、下部ケース120 はアルミニウム製である。上部ケース100の内面には導電層が形成されており 、下部ケース120とともにフレームグランドを構成している。上部ケース10 0内面の導電層は、無電解銅・ニッケルメッキで形成されている。なお、この導 電層は、導電性塗料の塗装、アルミニウムの真空蒸着などの他の周知の方法を用 いて形成してもよい。また、導電性プラスチックを成形して上部ケース100を 製作しても良い。 なお、以下では、キャップ140.150のある側をカートリッジの前方と呼び 、マイクロプロセッサ601のある側をカートリッジの後方と呼ぶ。 プリント基板550の前方にはプラグ部551が形成されており、また、後方に はマイクロプロセッサ801などの回路素子が取り付けられている。プリント基 板550の周縁部分には4つのアース用バネ部材104が固定されており、その 内の2つはカートリッジの挿入方向中央に、また他の2つはカートリッジの後方 に設けられている。バネ部材104は、プリント基板550の接地配線と上部ケ ース100の内表面の導電層とを電気的に接続する役割を育する。 下部ケース120の前方側には、プリンタ本体とのアース接続を確保するための 2枚のアース用バネ部材122が固定される。アース用バネ部材122は鳥が羽 を広げた形状を育しており、左右の羽の部分に相当する第1の屈曲部122aは 上方に屈曲し、鳥の脚の部分に相当する第2の屈曲部は下方に半円弧状に屈曲し ている。第1の屈曲部122aは、下部ケース120とプリント基板550の接 地配線とを電気的に接続する役割を有する。第2の屈曲部は、下部ケース120 に設けられた開口部132からカートリッジ503の外に突出し、プリンタ本体 の接地部分と下部ケース120とを電気的に接続する役割を育する。 下部ケース120の周縁には、平板部121から突出した壁状の形状を有する嵌 合部124が設けられている。嵌合部124は、上部ケース100の側面と嵌合 して略直方体の筐体の主要構造を構成する。 下部ケース120の後方には、プリント基板550を上方に押すための円柱状の 押圧用シリコーンゴム12Bが下部ケース内面のゴム保持部128にはめ込まれ ている。押圧用シリコーンゴム126は、マイクロプロセッサ601の直下にあ たるプリント基板550を上方に押す役割を有する。マイクロプロセッサ601 の上面と上部ケース100の内面との間には、密着性と熱伝導性を改善するため のシート状の放熱用シリコーンゴム102が介装される。また、マイクロプロセ ッサ801の上方を覆うようにアルミニウム製の放熱板110が下部ケース12 0にネジで固定されている。押圧用シリコーンゴム126がプリント基板550 を上方に押すと、マイクロプロセッサ601も上方に押しつけられ、マイクロフ ロセッサ601と放熱用シリコーンゴム102、および、放熱用シリコーンゴム 102と放熱板110の密着性がそれぞれ高められる。この結果、マイクロプロ セッサ601で発生した熱は、放熱板110を介して下部ケース120に伝導し 、下部ケース120から外部に放熱される。 組立の際には、まず下部ケース120に2つのアース用バネ部材122を固定し た後、押圧用シリコーンゴム126をゴム保持部128にはめ込む。一方、プリ ント基板550には各種の回路素子を取付け、また、4つのアース用バネ部材1 04をプリント基板550の所定の穴に差込んでぞれぞれハンダで固定する。 次に、このプリント基板550を下部ケース120に載せ、その後方(マイクロ プロセッサ601側)のコーナ一部をネジで固定する。そして、放熱板110を 下部ケース120の嵌合部124の側面にネジで固定する。その後、上部ケース 100を下部ケース120と嵌合させ、下部キャップ140を差し込む。この際 、下部キャップ140に設けられた2つのネジの貫通孔部141が上部ケース1 00の対応部分の下に差込まれ、下部キャップ140の貫通口142にはプラグ 部551が貫通する。上部ケース100は、前方側の31!所においてネジで固 定される。最後に、上部キャップ150を上部ケース100にはめ込むことによ って図1に示すようなカートリッジ503が完成する。 なお、上部キャップ150の両側には、バネ152を内部に収納したボタンロッ ク154がそれぞれ設けられている。ボタンロック154はバネ152によって 外側に付勢されており、2つのボタンロック154を内側に押すとボタンロック 154のツメが上部ケース100の係合部から外れ、ボタンロック154を離す と保合部に係合する。 図2にはICカード200も示されている。ICカード200は多数のダイナミ ックRAMを育する拡張メモリであり、必要に応じてカートリッジ503に挿入 することが可能である。ICカード200を挿入する場合には、まず上部キャッ プ150を外し、上部ケース100に設けられた拡張メモリ用スロット106に ICカード200を挿入することによって、プリント基板550内のICカード 用コネクタ210にICカード200を差込む、そして、上部キャップ150を 取り付けると図1に示す元の形状に戻る。この実施例では、取り外し可能な上部 キャップ150を外してICカード200を差込めるようにしたので、メモリの 拡張を容易に行なうことができる。また、上部キャップ150をカートリッジ5 03の前方に設けることによって、カートリッジ503をレーザプリンタ本体に 挿入した状態ではICカード200を挿入することができないように工夫してい る。 図3はプリント基板550を拡大して示す斜視図である。図3に示すように、プ リント基板550の上面の後方端にはマイクロプロセッサ601が取り付けられ ており、他端にはプリンタ本体のコネクタと接続するための差し込みプラグ部5 51が形成されている。 マイクロプロセッサ601の周囲には、マイクロプロセッサ601用の制御プロ グラムなどを記憶する4つのROM806〜609と、4つのアドレスバッファ 617と、クロック用の発振器661,865がそれぞれ配置されている。また 、プリント基板550の中央部からやや前方側にはICカード用コネクタ210 が設けられている。プリント基板550の裏面側には、制御回路やレジスタなど を含むASIC(特定用途向けLSI)や、プリント本体内のプロセッサ用の処 理プログラムを記憶したROM(以下、「プリンタ本体用ROMJと呼ぶ)など の種々の回路素子が実装されている。なお、図示の便宜上、プリント基板550 の表面上に形成された配線パターンは省略されている。 マイクロプロセッサ601はビングリッドアレイ(PGA)タイプの素子であり 、他はSOJタイプ、SOPタイプまたはQFPタイプの素子である。マイクロ プロセッサ801としては、例えば、RISCプロセッサであるAMD社製のA m29030 (クロック周波数25MHz)が使用される。 前述したように、このカートリッジ503はプリンタ本体のフォント用カートリ ッジ挿入口に挿入される。通常のフォント用カートリッジは、フォントデータを 記憶したROMを収納したものに過ぎない、これに対して、この実施例のカート リッジ503は、マイクロプロセッサ601と、マイクロプロセッサ601の処 理プログラムを記憶したROM806〜609とを備えており、また、プリンタ 本体用ROMと、ASICを含む制御回路とを備えている点が特徴的である。 このカートリッジ503が挿入されるプリンタ本体側のコネクタは、フォント用 カートリッジと接続される仕様で構成されているので、データをカートリッジか らプリンタ本体側に読出すための読出し専用線は備えているが、データをプリン タ本体からカートリッジ側に転送するための信号線を有していない。一方、この 実施例のカートリッジ503では、プリンタ本体から印字データを受けとって、 この印字データをマイクロプロセッサ601によって画像データに展開する機能 を有している。この際、コネクタが有する読出し専用線を用いて、印字データを プリンタ本体からカートリッジに転送する必要があり、このため、次に示すよう にプリンタ本体のマイクロプロセッサに特別な処理を実行させる。 カートリッジ503がプリンタ本体に挿入されていると、プリンタの起動時にプ リンタ本体内のプロセッサがカートリッジ503内のプリンタ本体用ROMに記 憶された識別データを読み取り、この識別データに応じて、プリンタ本体内のプ ロセッサがそのプリンタ本体用ROM内の処理プログラムに従った処理を行なう 。 プリント本体内のプロセッサは、プリンタ本体用ROM内の処理プログラムに従 って、特別な処理を実行する。この特別な処理とは、1バイト分の印字データ( ページ記述言語プログラム)を実質的に含むようなアドレスを生成し、このアド レスをアドレスバスに乗せてプリンタ本体からカートリッジ503に伝える処理 である。カートリッジ側のASICは、このアドレスを受け取るとともに、これ を解読することによってアドレスに含まれている1バイト分の印字データを抽出 し、カートリッジ内の所定のRAM (後述する)に収納する。マイクロプロセ ッサ601は、このRAMに記憶された1ペ一ジ分の印字データを画像データに 展開する処理を行なう。こうして展開された画像データはカートリッジ503か らプリンタ本体に転送され、ゼログラフィユニットによって画像がプリントされ る。 マイクロプロセッサ601としては、プリンタ本体よりも高速のプロセッサを使 用するのが好ましい。こうすれば、プリンタ本体が実行すべき画像の展開処理を 、高速のマイクロプロセッサ601で行なうので、実質的にプリンタの処理速度 を向上させることができる。なお、カートリッジ503内の回路と、その動作の 詳細については、さらに後述する。 図4(A)は、下部ケース120の平面図、図4(B)はそのB−B断面図であ る。ただし、図4(B)には上部ケース100の断面も描かれている。図4(A )に示すように、下部ケース120は平板部121と嵌合部124を主な構成部 分としている。嵌合部124は挿入方向前方のネジ穴部125の付近で途切れて いる以外は、下部ケース120の周囲に渡って連続した壁を構成している。 図4(B)に示すように、嵌合部124は上部ケース100の側面の内面と嵌合 しており、断面が略長方形の筐体を構成する。前述したように下部ケース120 はアルミニウム製であり、また、上部ケース100の内面には導電層が形成され ている。従って、嵌合部124の外周面の部分では、嵌合部124の外周面と上 部ケース100の内面とで導電層が互いに重なり合っており、内部の回路素子か ら発生される電磁波ノイズを遮断する上で効果がある。 図5は、プリント基板550を示す底面図(すなわち、マイクロプロセッサ60 1が実装されている面と反対側の面)である。ただし、図5は回路素子が実装さ れていない状態を示している。プリント基板550の周辺部には、複数のGND ランド560,526.564,566が形成されている。これらのGNDラン ドは、プリント基板550のシグナル・グランドに設けられた導電層領域である 。 図2と見比べると解るように、プリント基板550の後方部(図5では上側)の 2つのGNDランド560は、プリント基板550を下部ケース120に固定す るネジのための貫通孔とアース用バネ部材104を差込むための3つの小穴とを 含む領域に形成されている。プリント基板550の挿入方向のほぼ中央にある2 つのGNDランド562は、アース用バネ部材104を差込むための3つの小穴 を含む領域に形成されている。また、プリント基板550の挿入方向前方の端部 にある2つのGNDランド564と、その中央にあるGNDランド566とは、 プリント基板550を下部ケース120に固定するネジのための貫通孔を含む領 域にそれぞれ形成されている。 カートリッジ503を組み立てた状態では、プリント基板550の後方部にある GNDランド560と中央部にあるGNDランド562がアース用バネ部材10 4(図2)を介して上部ケース100の内面の導電層に電気的に接続される。 同時に、プリント基板550の後方部にあるGNDランド560と前方部にある GNDランド564.586が下部ケース120のネジ穴部に接触して下部ケー ス120と電気的に接続される。この結果、複数の箇所においてプリント基板5 50の接地配a(以下、「シグナル・グランド」またはrSG]と呼ぶ)を筐体 の導電層(以下、rフレーム・グランド」またはrFGJと呼ぶ)に接続してい る。このように、SGとFCとを多点で接地することによって、5G−FC間の インピーダンスを低減し、高周波電流の発生を防止することができる。この結果 、高周波電流に起因する電磁波ノイズの発生を防止できるという効果がある。 図2からも解るように、下部キャップ140の貫通孔142の部分は導電層が無 いので電磁波ノイズが外部に漏れやすい。よく知られているように、電磁波ノイ ズの規格(日本のVCCI 、米国FCC等)は所定の範囲の周波数(30〜1 000100Oを規制しており、この範囲の電磁波ノイズを低減できれば有害な 電磁波ノイズを防止できる。プラグ部551の中央部付近に設けられたGNDラ ンド566(IP!15)は、このような観点に立ち、貫通孔142から出射さ れる電磁波ノイズの波長を約172に(すなわち周波数を約2倍に)することに よって有害な電磁波ノイズを低減するために設けたものである。 図6は、アース用バネ部材122によってプリント基板550と下部ケース!2 0とが電気的に接続される様子を説明するための側面図である。図6(A)はプ リント基板550を下部ケース120に載置する前の状態を示し、図6(B)は 載置した後の状態を示している。図6(A)に示すように、アース用バネ部材1 22の第1の屈曲部122aと下部ケース120の嵌合部124との間には隙間 がある。図6(B)の状態では、第1の屈曲部122aがプリント基板550に 押しつけられているが、嵌合部124と屈曲部122aとの間にはわずかに隙間 が空いている。屈曲部122&の先端は3つに分かれているので、それぞれほぼ 独立したバネ部材として機能し、アース用バネ部材122とプリント基板550 の下面の接地配線とが確実に電気的に接続される。これらのアース用バネ部材1 22も電磁波ノイズの発生の防止に効果がある。 なお、第1の屈曲部122aは、接地配線以外の電源用配線、例えばマイクロプ ロセッサ801やその他の周辺回路を駆動するための安定した電圧(3V、5V 等)を供給する電源用配線と、下部ケース120とを電気的に接続するようにし てもよい。また、このような電源用配線とは別個に設けられた安定した電圧の電 源用配線に接続してもよい。 図7は、カートリッジ503のマイクロプロセッサ601の部分を拡大して示す 要部断面図である。下部ケース120のゴム保持部128には押圧用シリコーン ゴム126がはめ込まれており、押圧用シリコーンゴム12Bがプリント基板5 50を上方に押上げている。プリント基板550の上にはマイクロプロセッサ6 0】のビン801pが半田付けされている。そして、マイクロプロセッサ601 の上面と放熱板110との間には放熱用シリコーンゴム102が介装されている 。マイクロプロセッサ601で発生した熱は、放熱用シリコーンゴム102と放 熱板110と下部ケース120とを通り、下部ケース120の下面から外部に排 出される。 押圧用シリコーンゴム126がプリント基板550を上方に押すことによって、 マイクロプロセッサ601と放熱用シリコーンゴム102と放熱板110との密 着性が良好になり、これらの間の熱伝導性が改善される。 放熱用シリコーンゴム102としては、熱伝導率の良好な材料が用いられる。 例えば、信越ポリマー株式会社製のシンエラシリコシート(商品名)、信越化学 工業株式会社製の放熱用シリコーンゴムシートTC−CGタイプ(商品名)また は富士高分子工業株式会社製のサーコン(商品名)などが用いられる。これらは 、いずれも約lW/m11に以上の比較的高い熱伝導率を有している。 また、信越化学工業株式会社製のRTVゴムコンパウンド(商品名)のように、 粘性な液体状、パテ状、グリース状などの非固体状であって、使用時に固化させ るタイプの材料もマイクロプロセッサ601の上面に介装する材料として利用で きる。このような非固体状のものを用いれば、僅かな厚みでマイクロプロセッサ 601と上部ケース100との密着性を確保できるので、熱伝導率が比較的低い 材料であっても放熱用材料として良好である。 図7に示す上部ケース100の端面108には、多数の穴が形成されており、空 気が流通し易い構造となっている。これらの穴も、カートリッジ503内部の熱 を放出するのに可動である。また、多数の穴を開けることによって、端面108 の表面積が増加しており、この点からも放熱効率を改善している。なお、他の放 熱対策が十分な場合には、端面108に穴を開ける必要はない。また、電磁波ノ イズを低減する上では端面108に穴を設けないほうが好ましい。 図8および図9は、第1と第2のタイプのプリンタ本体1a、1bにカートリッ ジ503を挿入した状態をそれぞれ示す斜視図である。また、図10と図11は 、挿入状態におけるカートリッジ503とプリンタ本体1a+ibのフレームの 縦断面図である。ただし、図10と図11では、図示の便宜上、回路素子等を省 略している。 図10において、プリント基板のプラグ部551がプリンタ側のコネクタCN1 1に挿入されている。この時、カートリッジ503の後方側にあるバネ部材12 2がプリンタ本体1aの金属フレーム180に接触する。図11では、カートリ ッジ503の前方側にあるバネ部材122がプリンタ本体1の金属フレーム18 2に接触している。このように、2つのアース用バネ部材122の内のいずれか 一方がプリンタ本体の接地された部分と接触することによって、カートリッジの 筐体とプリンタ本体とを確実に電気的に接続している。 以上説明したように、この実施例のカートリッジは、次のような電磁波ノイズの 対策を施している。 ■プラスチック製の上部ケース100の内面には導電層を形成し、下部ケース1 20はアルミニウム製とした。これにより、カートリッジの筐体の内面の全面に 渡って導電層を形成し、電磁波ノイズを遮弊している。 ■下部ケース120の周縁部に壁状の嵌合部124を設け、上部ケースlOOと 嵌合するようにした。これにより、嵌合部124の外周面と上部ケース100の 内面の導電層を重ね合わせて電磁波ノイズを遮弊した。 ■シグナル・グランドとフレーム・グランドとを多点で接地し、これらの間のイ ンピーダンスを低減して高周波電流の発生を抑制した。 ■プラグ部551のための貫通口142付近において、プラグ部551の両端部 と中央部とでシグナル・グランドとフレーム・グランドとを接続し、貫通口14 2から出射される電磁波ノイズの波長を小さく(周波数を大きり)した。これに より、規制の対象となっている有害な波長域の電磁波ノイズを低減した。 また、このカートリッジ503は次のような一般的な電磁波ノイズ対策も併用し ている。 ■各回路素子のGNDピンと電源ピンの近傍にデカップリングコンデンサを設け た。 ■マイクロプロセッサ601の電源配線にコモンモード用チ1−クコイルを設け た。 B、電磁波ノイズ試験結果 図12 (A)は電磁波ノイズ対策前のカートリッジの電磁波ノイズの測定結果 を示すグラフであり、lK12(B)は、この発明の実施例のカートリッジ50 3の電磁波ノイズの測定結果を示すグラフである。図12において、一点鎖線は FCC規格を示している。対策前のカートリッジは、上記の■〜■の対策を施し ておらず、また、上部ケース100と下部ケース120とをそれぞれアルミニウ ムで製作している。図12から解るように、上記の対策によって電磁波ノイズが かなり低減されており、対策後のカートリッジはFCC規格を十分満足している 。 C,カートリッジの構造の変形例 カートリッジの盗難防止のためにカートリッジとプリンタ本体とを機械的に接続 するようにしても良い。図13は、カートリッジ503とプリンタ本体1とを8 1570で接続している例を示す。カートリッジ503の端部には穴572と、 この穴572を通るリング573が設けられている。鎖570の一端はリング5 73に接続されており、他端はプリンタ本体1のアース端子574にネジ止めさ れている。 図14は、キー580によるロック機構を有するカートリッジ503を示してい る。キー580を回転させると、カートリッジ503内に納められていた突起5 82がプリンタ本体1側に飛び出し、プリンタ本体1の対応部分に設けられた溝 (図示せず)に嵌合する。これによって、カートリッジ503がプリンタ本体1 から引き出せないようになる。なお、このようなキー580に、スイッチ機能を 持たせるようにしてもよい。すなわち、キー580を回転させることによって、 カートリッジ503をロックするとともに、カートリッジ503の電源を投入す るようにしてもよい。 なお、盗難防止のために鎖やロック機構を設ける変わりに、カートリッジ503 をプリンタ本体1にネジ止めするようにしてもよい。 上記実施例では拡張用メモリとしてICカードを使用できるとしていたが、SI MM (Single In−1ine Memory Module)など の他の拡張用メモリを使用できる構造としてもよい。 [iiミコプリンタよびカートリッジの電気的構成A、プリンタとカートリッジ の全体構成図15は、実施例に適用されるレーザプリンタ500とこれに装着さ れたカートリッジ503の概略構成を示すブロック図である。 レーザプリンタ500は、レーザプリンタ500全体の制御を司る電子制御装置 501と、用紙Pに画像を形成するレーザエンジン505とを備えている。レー ザプリンタ500はワークステージ璽ン507に接続されており、電子側m装置 501がワークステーション507から送られる印字データに基づいて画像デー タ(ビットマツプデータ)を展開し、コネクタCNl0を介して展開した画像デ ータをレーザエンジン505に転送する。レーザエンジン505は、これに応じ てゼログラフィユニット15を駆動し、用紙Pに画像を印刷する。 電子制御!+1501の内部には、図15に示すように、周知のCPU (本実 施例ではモトローラ社製MC68000)510、CPU510が実行するプロ グラムを記憶したROM511、印字データや展開後の画像データを蓄えるRA M512、ホストであるワークステーション505からの印字データを受け取る データ入カポ−)514、カートリッジ503とのデータのやり取りを行なうパ スライン516に介装されたラインバッファ515、レーザエンジン505との コマンドやステータス情報のやり取りを行なうためのレジスタ517、レーザプ リンタ500のコンソールパネル518とのインタフェースを司るコンソールパ ネル1/F519、レーザエンジン505に転送する画像データを保存するダブ ルバッファ回路520.を備える。 ダブルバッファ回路520は、レーザエンジン505による印刷の8ライン分、 即ち4にバイトの記憶容量を有する2つのRAM520A、520Bを備え、C PU510側からは、メモリ書込コントローラ520Cを介して交互に画像デー タを書き込む。一方、レーザエンジン505は、メモリ続出コントローラ520 Dを介して、この2つのRAM520A、520Bを交互に読み出すことで、感 光ドラムの回転に同期して画像データをビデオ信号に変換し、印刷を実行するこ とができる。2つのRAM520A、520Bを設けて交互にデータを書き込ん だり読み出したりするのは、CPU510からのアクセスとレーザエンジン50 5側からのアクセスを独立して行なわねばならないためである。 CPU510は一方のRAMにデータを書き込んだ後、レジスタ517の所定ビ ットにフラグを立てる。これを対してレーザエンジン505はこのフラグをチェ ックして、データが書き込まれた側のRAMに記憶された画像データを読み出す 。読み出し中は、レジスタ517の別のビットを立ててCPU510にいずれの RAMが読み出し中であるかを知らせる。この時、他方のRAMはレーザエンジ ン505からアクセスされないから、この間に、CPU510は、他方のRAM に次の8ライン分の画像データを書き込んでおく。レーザエンジン505は、一 方のRAMからの読出が完了すると、フラグをリセットし、他方のRAMからの 読み出しに切り換える。CPU510からのデータの書き込むの速度は、レーザ エンジン505からのデータの読み出し速度、即ち印刷の実行速度より速いので 、両者によるメモリへのアクセスの衝突を回避しつつ、1ペ一ジ分の画像データ の転送を確実かつ簡易に実現している。 カートリッジ503は、コネクタCNIIを介して電子制御装置501に接続さ れている。ラインバッファ515は、データバス34の途中に介装されたノくス ドライバ(図示せず)を育している。このバスドライバは、コネクタCNIIか らCPU510の方向のみにデータを転送する一方向のバッファである。言い換 えれば、CPU510から見た場合、コネクタCNIIに接続されたカートリッ ジ503は読み出し専用のデバイスとなっている。 電子制御装!!!501は電源投入時にカートリッジ503がコネクタCNII に装着されているか否かを判断し、装着されていると判断した場合には、電子制 御装置501側部のリセット等を行なった後、カートリッジ503内に用意され たROM (後述)の所定番地にジャンプして、それ以降はカートリッジ503 内に用意された処理を順に実行する。カートリッジ503は、ワークステーショ ン507からレーザプリンタ500に出力されたページ記述言語によるプログラ ムを解釈し、画像データに展開してレーザエンジン505により印刷を行なわせ る。 図16は、プリント基板550の一端に形成されたプラグ部551とコネクタC NIIの結線関係を示す図である。プラグ部551は、両面プリント基板の2つ の面(A面とB面)にそれぞれ形成された25個の端子を有している。図16に おいて、プラグ部551の各端子に対応して信号名が記載されている。なお、信 号名の前に付けられた符号「/」は、信号がロウアクティブであることを示して いる。各信号の意味は、次の通りである。 信号/ASB:CPU510 (モトローラ社製MC68000)力咄力するア ドレスストローブ信号。 信号/UDS:CPU510力咄力する上位データストローブ信号。 信号/LDS:CPU510が出力する下位データストローブ信号。 信号/ADS:電子制御装置1501内においてアドレスストローブ信号/AS Bに基づいて生成されるアドレスストローブ補助信号。このアドレスストローブ 補助信号/ADSは、プリンタの起動時(イニシャライズ時)において、異なる タイプのプリンタでは異なる挙動を示す。この実施例では、後述するように、こ のアドレスストローブ補助信号/ADSのイニシャライズ時の挙動に基づいて、 プリンタのタイプを判別している。 信号10DTACK:カートリッジ503から電子制御装置501側にデータを 転送する際のアウトプットデータアクナリツジ信号。 信号/CTRGSEL:CPU510がカートリッジ503を選択して、その内 部のアドレス空間に割り付けられたROMやレジスタ等にアクセスする際のカー トリッジセレクト信号。 信号A1〜A20 :CPU510が出力するアドレス信号。 信号D1〜D15:カートリッジ503側からの出力信号。 信号R/W:CPU510力咄力するリード/ライト信号。 信号5CLK:レーザプリンタ500に内蔵された発振器(図示せず)から出力 されるクロック信号。 なお、レーザプリンタ500側に与えられる信号/CTRG5は、カートリッジ 503が挿入されるとLレベルに引き下げられ、CPU510は、これによって カートリッジ503がコネクタCNIIに挿入されていることを検出する。 CPU510は、23ビツトのアドレス信号AIないしA23を用いてワードア ドレスを指定し、また、信号/UDS、/LDSを用いて各ワードの上位バイト と下位バイトを指定する。この結果、CPU510はoooooohからFFF FFFhまでの16Mバイトのアドレス空間を扱うことができる。ここで、アド レスの後に付した記号rhJは16進数表示であることを示している。 B、カートリッジのアドレス空間 このカートリッジ503は、電子制御装置501のCPU510の扱うアドレス 空間の一部に割り付けられる。CPU510は、oooooohからFFFFF Fhまでの16Mバイトのアドレス空間を扱うが、その一部をROMカートリッ ジ用に割り当てている。カートリッジ503に割り当てられる空間は、レーザプ リンタの機種により異なるが、ヒエ−レッドバッカー社製のレーザプリンタの場 合、図17左欄に示すように、200000hないし3FFFFFhあるいは4 00000hないし5FFFFFhというた2Mバイトの空間が通常である。 一方、本実施例のカートリッジ503の内部に設けられたマイクロプロセッサ6 01は、AMD社製AMD29030−25MHzであり、その扱えるアドレス 空間はoooooooohからFFFFFFFFhまでの4Gバイトである。 このアドレス空間には、ROMやRAMのみならず、プリンタ側の電子制御装置 501側とのデータのやり取りに用いる各種レジスタ等が割り当てられる。これ を、図18に示した。以下、カートリッジ503内部の電気的な構成を、両マイ クロプロセッサにとってのアドレス空間の割付と共に説明する。 C,カートリッジの内部構成 カートリッジ503の内部構成を、図19に示す。図示するように、カートリッ ジ503は、全体の制御を司るマイクロプロセッサ601を中心に構成されてお り、大きくは、ROM、RAMとその周辺回路からなるメモリ部602と、電子 制御装置501とのデータのやり取りの一切を司るデータ転送制御部803と、 その他の回路とから構成されている。 メモリ部602は、このマイクロプロセッサ601が実行するプログラムを記憶 する計2MバイトのROM606ないし609、このROM808ないし609 をバンク切換で使用するためのセレクタ610、電子制御装置1501から受け 取った印字データを保存したり展開した後の画像データを保存する計2Mバイト のRAM611ないし614、から構成されている。2MバイトのROM606 ないし609は、各々16ビツト×256キロ=4MビットのマスクROMであ り、図18に示したように、アドレス空間のoooooooohから001 F FFFFhに割り当てられている。ROM60Bおよび607、ROM808お よび609は、各々バンクを構成し、2個一組のlパンクで、各々32ビツトの データバスを構成している。ROM606ないし809とマイクロプロセッサ6 01とは、アドレスバスAABおよび制御信号バスにより接続されている。また 、ROM608ないし609のデータバスIDBは、データセレクタ610を介 してデータバスDB29に接続されており、これを介してマイクロプロセッサ6 01はROM60Bないし609からのデータを読み取ることができる。 ROM60Bおよび607、ROM608および809には、マイクロプロセッ サ601からのアドレスバスAABの最下位の3ビツト(AO,A1.A2)を 除く全アドレス信号が入力されている。最下位の2ビツト(AO,AI)が入力 されていないのは、マイクロプロセッサ601からのデータの読み取りが、1ワ 一ド=32ビツト単位(4バイト単位)で行なわれることよる。また、アドレス のA2が付与されていないから、所定の領域のデータを読み取る場合、4個のR OM606ないし609は同時にデータを出力することになる。同時に出力され たデータをII整しているのが、データセレクタ610である。即ち、マイクロ プロセッサ601からのROMへのアクセスは、連続した番地に対して行なわれ ることが多いから、32ビツトを1ワードとして連続する2ワードを一度にRO M606ないし609から読み出しておき、実際に連続したワードの読み取りで ある場合には、データセレクタ610によりROMの属するバンクを順次切り換 えて、連続してデータを読み取るのである。この結果、連続する2ワードに対す るデータの続出は、極めて萬速になる。 一方、RAM611ないし614は、16ビツト×256キロ=4MビットDR AMであり、II118に示したように、アドレス空間の20000000hか ら201FFFFFhの2Mバイトに割り当てられている。カートリッジ503 内には、更に2Mバイトのメモリが増設可能であり、このために拡張RAMイン タフェース615が設けられている。この拡張RAMインタフェース615は、 アドレス空間の20200000hから203FFFFFFhに割り当てられて いる。拡張RAMインタフェース615には、51MMタイプのRAMが最大2 Mバイト分装着可能である。RAM811ないし614および拡張RAMインタ フェース615のデータラインは、マイクロプロセッサ601のデータバスDB 29と直接接続されており、そのアドレスラインはデータ転送制御部603を介 してマイクロプロセッサ601のアドレスバスAABに接続されている。なお、 後述する各種レジスタ等のIloは、アドレス空間の80000000hからに 創り当てられている。 一方、このカートリッジ503をプリンタ500の電子制御装置501側から見 た場合、図17の右欄に示したように、先頭の128にバイトには、ROMが割 り当てられている。即ち、このカートリッジ503は、電子制御装置1501の CPU510が実行するプログラムも内蔵しており、電子制御装置501のCP U510は、カートリッジ503が装着されている場合には、初期化の処理の完 了後、このROMの所定の番地へのジャンプ命令を実行する。それ以後、CPU 510は、このROMに記憶された処理手順に従って動作する。 CPU510がカートリッジ503に割り当てられたこの2Mバイトの空間の先 頭から128にバイトの空間をアクセスすると、カートリッジ503のコネクタ 側アドレスバスCABに設けられたアドレスバッファ617を介して出力される アドレス信号によりROM618がアクセスされ、このROM818に記憶され た命令やデータが、コネクタ側のデータバスCDHに設けられたデータバッファ 619を介して電子制御装置501側のCPU510に送られる。なお、図17 において、「X」は、割り当てられた空間の先頭アドレスの最上位の4ビツトの 値を示している。 D、データ転送制御部603の説明 図179図18に示したアドレスマツプにおいてROMやRAMが割り当てられ たアドレス以外のアドレスには、種々のコントロールレジスタ、ステータスレジ スタが置かれている。これらのレジスタは、データ転送制御部803により実現 されているので、次にこのデータ転送制御部603について説明する。回路の説 明が中心となるが、アドレスマツプ(1117,図!8)を適宜参照する。 図19に示すデータ転送制御部603は、ユーザプルゲー)7900のASIC により実現されている。このASICは、セイコーエプソン社製、型番5sc3 630のスタンダードセルであり、CMo5プロセスにより作られた電力消費の 小さな素子である。データ転送制御部803は、CADシステムであるセイコー エプソン社製ASICデザインシステムrLADSNET」を用いて設計された 。このCADシステムは、論理回N設計に使用するラッチ、フリップフロップ、 カウンタ、プログラマブルロジックアレイ等の要素をライブラリの形で用意して おり、これらを用いて必要な論理回路の設計を行なった後、ASICとしてのパ ターンを自動生成することができる。 ASICとして実現されたデータ転送制御部603は、カートリッジ503がプ リンタ500のコネクタCNIIに装着された状態で、プリンタ500の電子制 all装置501のCPU510と、カートリッジ503のマイクロプロセッサ 601との間のデータのやり取りを制御するものである。両者間のデータのやり 取りは、電子制m装置501倒からカートリッジ503(IIに読み出し専用の データバスを介してデータを送るための読出制御回路620と、同じ(続出制御 回路620の一部の構成を利用しFIFOメモリ621を介してデータを受け渡 すFIFO制御回路623、カートリッジ503側が用意したデータを電子制御 装置501の側から読み取り可能とするダブルバンク制御回路624により実現 される。 なお、FIFOメモリ621は、ファーストインファーストアウトの手順でデー タを記憶し読み出すRAMであり、本実施例では、三菱電機社製M6B252F Pを使用した。 また、データ転送制御部603には、電子制御1装置501側との信号線として 、そのアドレスバスCABがアドレスバッファ617を介して、一方、データバ スCDBがデータバッファ619を介して、各々接続されている。データ転送制 御部603内には、このアドレスバスCABの信号をおよびカートリッジセレク トの信号C3ELを受けて、データ転送制御部603内の各部に選択信号を出力 する第1のデコーダ631が構成されている。同様に、マイクロプロセッサ60 1からのアドレスバスAABおよびコントロール信号CCCもデータ転送制御部 603に接続されており、データ転送制御部803内には、このアドレスバスA ABを受けて、内部の各回路に選択信号を出力する第2のデコーダ632が構成 されている。更に、このアドレスバスAABおよびコントロール信号CCCを受 けて、ROM60Bないし609.RAM611ないし814および拡張RAM インタフェース615にアドレス信号および制御信号を出力するバス制御部63 5も、構成されて(する。 これらの他、データ転送制御部603内部には種々のレジスタが構成されている が、レジスタへの読み書きは、通常のリード・ライト動作によるものの他、特定 の処理を行なったとき、自動的に書き込まれるものも少なくない。これらの特殊 なレジスタの構成については、後述する。また、カートリッジ503が電子制御 l装置1501側から見て続出専用のデバイスとして扱われている関係で、電子 制御l装1501側から書込可能なレジスタは、所定の番地からの読み取り動作 を行なうことで書き込まれる構成となっている。即ち、所定の番地を指定するこ とで第1のデコーダ631から選択信号が出力され、この信号によりレジスタに データが書き込まれるのである。レジスタからの続出は、通常のリードサイクル により行なわれる。また、マイクロプロセッサ601側からは、通常の読出・書 込動作によりデータのリード・ライトが行なわれる。図49では、レジスタは読 み取り可能なバスに接続した状態で描き、書込動作は単なる矢印で示した。こう したレジスタとしては、割込要求レジスタ640、ポーリングeコマンドレジス タ643、ステータスレジスタ(図17レジスタ5TATUS)645、転送フ ラグレジスタ(図18レジスタBPOLL)647、PROMフントロールレジ スタ649、コントロールレジスタ650がある。 これらのレジスタのうち、ステータスレジスタ645と転送フラグレジスタ64 7を除くレジスタは、電子制御装置501のCPU510もしくはカートリッジ 503のマイクロプロセッサ601にメモリマフブトI10として割り当てられ た複数のレジスタの総称である。複数のレジスタは、必ずしも連続したアドレス に割り当てられている訳ではない。割込要求レジスタ640には、図17.1I IJ18に示したレジスタAMDINTO,1,2およびレジスタAMDCLR 0゜1.2が属する。また、ボーりング・コマンドレジスタ643には、レジス タPOLLおよびレジスタMC0NTC5が属する。PROMフントロールレジ スタ649には、レジスタEEPCS、EEPSK、EEPDIが属する。 コントロールレジスタ650には、読出制御回路620.FIFOII11回路 623、ダブルバンク制御回路624に属さないレジスタで、以上の説明に挙が らなかった総てのレジスタが属する。これらは、図171図18に示したレジス タADDMUXA、ADDMUXB、CLKDIV、RTCVAL、RTCON 。 RTCSEL、RTCCLR,5YSKEEPである。 また、図171図18のメモリマツプに示したうち、各々512バイトの領域E WWRL、EWWRHは、電子制御装置501側から読出制御回路620の第1 、第2のラッチ651.652への書込に用いる領域であり、レジスタEWRD はこのラッチ851,852を1ワードとしてマイクロプロセッサ601側から みたものに相当する。レジスタFIFOREQ、FIFOR9T、FIFOWR はFIFO制御回路623のFIFOレジスタ653に相当し、レジスタFlR CLK、RDCLK、FIFORD、RDRSTはFIFO制御回路623のF IFO読出レジスタ655に相当する。なお、FIFO1111回路623には 、FIFOメモリ621に書き込むデータを、読出制御回路620の機能の一部 を用いて保持するラッチ657も備えられている。 図17に符号DPRAMA、DPRAMBで示した領域は、32バイトの容量を 有するバッファであり、ダブルバンク制御回路624の第1.第2のバッファ6 58.659を電子制御装置1501側から見たものに相当する。このバッファ 858.659をマイクロプロセッサ601側から見たのが、図18に示すバン クDPWROA、DPWROBである。なお、ダブルバンク制御回路624を介 したデータのやり取りには、ステータスレジスタ645の所定ビットdi、d2 も用いられるが、その詳細は後述する。 E、各レジスタの説明 割込要求レジスタ640は、電子制御装置1501側からマイクロプロセッサ6 01への割込の要求を発生させ、これを保持するレジスタである。電子制御装置 501からマイクロプロセッサ601への割込は3レベル用意されており、図1 7に示すように、3つのレジスタ(AMDINTO,1,2)が設けられている 。 電子制御袋@501ffiからこの割込要求レジスタ640のいずれかを読み取 ることで、マイクロプロセッサ601に対する割込要求が発生する。このレジス タのセットは、電子制御装置501からの読み取り動作により行なわれるが、読 み取られるデータには意味がなく、割込要求に発生には無関係である。 この割込要求レジスタ640の具体的な構成例を図23に示す。これらのレジス タは、D型フリップフロップから構成されており、電子制御811!501から の上記レジスタの読み取り動作により第1のデコーダ631が出力する信号/A MDINTO,1,2により、各フリップフロップ640 a + b + c の出力端子Qはアクティブロウにセットされ、割込信号/INTO,1,2が出 力される。なお、信号明の前に付けられた符号「/」は、信号がロウアクティブ であることを示す(以下、同じ)。これらのフリップフロップ640 a + b + cの出力をクリアするレジスタは、図18に示すように、読み取り専用 の3のレジスタ(AMDCLRo、1.2)として所定のアドレスに割り当てら れている。従って、マイクロプロセッサ601からこのレジスタが割り当てられ た各アドレスに対する読み取り動作を行なうと、第2のデコーダ632は信号/ INTCLR0,1,2を各々出力し、対応するフリップフロップはプリセット される。 電子制御装置501側から割込要求をかける場合には、割込要求レジスタ640 のいずれかをアクセスすれば良く、マイクロプロセッサ601は優先順位を判定 して、割込要求に応える処理を行なう。この場合に、マイクロプロセッサ60I は、対応する割込要求レジスタ640a、bl cをクリアする。なお、信号P UP2等のように符号rPUP」で始まる信号は、リセット信号出力回路637 から出力される信号であり、リセット時等にロウになる信号である。図23に示 した信号PUP2は、3つの割込要求を一度にクリアするための信号である。 ポーリング・コマンドレジスタ643は、マイクロプロセッサ801(IIから 電子!1111装ff1501側へコマンドを引き渡すレジスタであり、マイク ロプロセッサ601(mlから書込可能でかつ電子制御装置501側から読み取 り可能なレジスタである。このレジスタのハードウェア上の構成例を、図20に 示す。図示するように、ポーリング・コマンドレジスタ643は、16ビツト輻 のデータラッチを構成する2個のオフタルD全フリップフロップ643a* b lおよび1個のD型フリップフロップ643cから構成することができる。 オフタルD全フリップフロップ843a、bのデータ入力端子IDないし8Dに は、マイクロプロセッサ601からのデータバスDB29 (バス幅16ビツト )が接続されており、その出力端子IQないし8Qには、電子側all装置50 1611からのデータバスDB88 (バス幅16ビツト)に接続されている。 オフタルD全フリップフロップ643a、bのクロック端子CKには、マイクロ プロセッサ601側からのポーリング・コマンドレジスタ643のアクセス(図 18、レジスタMC0NTCS)に際して第2のデコーダ632から出力される 信号/MC0NTCSが接続されており、この信号がアクティブロウとなったと き、マイクロプロセッサ601側のデータバスDB29の内容がオフタルD全フ リップフロップ643a、bにラッチされる。また、オフタルD全フリップフロ ップ643a。 bの出力を有効にするアウトプットイネーブル端子OEには、電子制御装置t5 ゜1側からのポーリング・コマンドレジスタ643のアクセス(図17、レジス タPOLL)に際して第1のデコーダ631から出力される信号/POLLが接 続されており、この信号がロウアクティブとなったとき、オフタルD全フリップ フロップ843a、bに保持されたデータが電子側mg装置501側のデータバ スDB68に出力される。 なお、信号/MC0NTC5および信号/POLLは、D型フリップフロップ6 43cのクロック端子Cおよびプリセット端子PRに接続されており、その出力 端子Qからの信号CMDRDは、オフタルD型フリ°ツブフロップ643a、b によるデータのラッチが行なわれると(信号/MC0NTC5がロウ)、ハイレ ベルにセットされ、このデータを電子制御装置501側から読み出すと(信号/ POLLがロウ)、ロウレベルにリセットされる。D型フリップフロップ643 Cの出力信号であるCMDRDは、電子制御装置1501側から続出可能なステ ータスレジスタ645の所定ビットd3(以下、フラグCMDRDとも呼ぶ)と なっている。従って、電子制御装置1501側からこのステータスレジスタ64 5を読み取ることで、電子制御111j11501は、マイクロプロセッサ60 1からポーリング・コマンドレジスタ643にコマンドがセットされたことを知 ることができる。 電子制御装置!501は、ステータスレジスタ645のとットd3であるフラグ CMDRDを見て、コマンドがセットされたことを知ると、通常のリードサイク ルによりポーリング・コマンドレジスタ643の内容、即ちマイクロプロセッサ 601から送られるコマンドを読み取る。コマンドの内容としては、印字データ のデータ転送制御部603側への転送開始の指示、印刷の開始の指示あるいはコ ンソールパネル518へのメツセージの表示等がある。電子制御装置501がポ ーリング・コマンドレジスタ643の内容を読み取ると、図20に示したように 、D型フリップフロップ643cの出力信号CMDRDは、信号/POLLによ りハイレベルに反転する。従って、マイクロプロセッサ601は、この転送フラ グレジスタ647の所定ビットd2を監視することで、自己の出力したコマンド が電子制御装置1501側に読み取られた否かを知ることができる。 ステータスレジスタ645は、マイクロプロセッサ601からコマンドがセット されたか否かを示す上述した情報以外に、図21に示す情報を保持するレジスタ である。各ビットの内容について説明する。ビットdOは、後述する続出制御回 路620に電子制御装置501(1!からデータが書き込まれたとき、続出制御 回路620内で生成される信号EWRDYによりロウレベルにセットされ、その データがマイクロプロセッサ601側によって読み取られたとき、第2のデコー ダ632からの信号によりハイレベルにリセットされる。このビットをフラグE WRDYと呼ぶ。 ピッ)dl、d2は、ダブルバンク制御回路624が電子制御装置1501側と マイクロプロセッサ601側のいずれからアクセス可能な状態であるかを示すも のであり、それぞれフラグADDMUXA、ADDMUXBと呼ぶ。2つのビッ トは、ダブルバンク制御回路624に内蔵された2つの転送用バンクの各々に対 応している。このビットdi、d2は、マイクロプロセッサ601が、図18に 示したように、コントロールレジスタ650に含まれるレジスタADDMUXA 。 ADDMUXABのとットdOにデータを書き込むことでセット拳リセットされ る。従って、マイクロプロセッサ601側からは、ダブルバンク制御回路624 の一方のバンクへのデータの書込に先だって、このフラグをロウレベルにセット し、書込完了後にハイレベルにリセットし、電子制御装置501側からは、この フラグがハイレベルである側のバンクからデータを読み出すものとすれば、2つ のバンクに交互にデータを書き込み、読み出すことで、マイクロプロセッサ60 1側から電子制御装置ml501側に連続してデータを受け渡すことができる。 ビットd3(フラグCMDRD)については、既に説明した。ビットd5は、マ イクロプロセッサ601の動作クロックに基づいてセットされるフラグCLKD Ivである。マイクロプロセッサ601の動作クロックは、外付けの水晶発振子 CRC1を用いた第1の発振器661から出力されるクロックCLKが使用され るが、マイクロプロセッサ601側からコントロールレジスタ650のレジスタ CLKDIVの所定ビットdOに値0を書き込むと、マイクロプロセッサ601 の動作クロックCLKは25MHzとなり、ビットdOに値1を書き込むと、動 作クロックは12.5MHzとなる。電子制御装置501側からみたステータス レジスタ645のフラグCLKDIVは、このクロックCLKが25MHzの場 合にロウレベルにセットされ、12.5Mの場合にハイレベルにセットされる。 電子制m装置501側は、データ転送のタイミング等を合わせるためにマイクロ プロセッサ801の動作クロックの周波数、つまり動作速度を知る必要がある場 合、ステータスレジスタ645のこのビットをチェックする。 ビットd6は、マイクロプロセッサ601が動作している場合にハイレベルにセ ットされ、スリーブモードに入った場合にロウレベルにセットされるフラグAD MONである。本実施例では、マイクロプロセッサ601は、ページ記述言語を 電子制御装置!501側から受け取り、これを展開して!!i像データにする処 理を行なうから、電子制御装+11501側から処理すべきページ記述言語が送 られて来ないまま所定時間が経過した場合には、マイクロプロセッサ601は、 省電力を図るため、最初動作周波数を172、即ち12.5MHzとし、更に時 間が経過すると自らの動作を止めていわゆるスリーブモードに入る。この時マイ クロプロセッサ601は、コントロールレジスタ650のレジスタADMONに 値0を書き込む。この結果、電子制!!装!1501側からみて、ステータスレ ジスタ645のこのビットd6がロウレベルとなり、電子制御装置601側から このビットをチェックすることにより、マイクロプロセッサ601の動作モード を知ることができるのである。 なお、こうした時間の計測等には、データ転送制御部603に組み込まれたリア ルタイムクロックが用いられる。このリアルタイムクロック用のクロックRCL Kは、外付けの水晶発振子665を用いて構成された第2の発振器667からの クロックが用いられている。リアルタイムクロックは、バス制御部635内に構 成されており、マイクロプロセッサ601からの指示を受けて、所定時間の経過 を計測する。水晶発振子および発S器を2!II設けているのは、マイクロプロ セッサ601の動作クロックCLKを、リアルタイムクロックの動作クロックR CLKとは独立に変更可能とするためである。 リアルタイムクロックは、コントロールレジスタ650に属するレジスタRTC VAL、RTC5ELのd1ビットをロウまたはハイにすることで、4N類のイ ンターバルタイマを指定することができ、レジスタRTCONの所定ビットdO に値lを書き込むことでそのタイマをスタートさせることができる。スタートさ れたタイマは、レジスタRTCONのビットdoに値Oが書き込まれて4止され るまで、所定のインターバルでマイクロプロセッサ801に対して割込要求信号 を出力する。マイクロプロセッサ601は、この割込要求信号を受け付けると、 レジスタRTCCLRを読み取って割込要求をクリアする。これらのインターバ ルタイマの出力は、ページ記述言語処理におけるユーザタイム等のカウントに利 用している。 次にPROMコントロールレジスタ649の構成について説明する。PROMコ ントロールレジスタ649には、図18に示す3のレジスタEEPC5,EEP SK、EEPDIが含まれるが、これらのレジスタは、カートリッジ503に内 蔵されたメモリであって電気的にデータを消去・書換可能なEEFROM670 とのデータのやり取りに用いられる。 本実施例のカートリッジ503は、レーザプリンタ500の動作に必要な諸変数 (コンフィグレーン習ン)を、EEPROM870に記憶する。このEEPRO M670は、シリアル転送によりデータの続出、消去、書込を行なうタイプのも のであり、本実施例では、ナシ1ナルセミコンダクタ一社製NMC93C68X 3を使用している。このEEPROM670は、記憶容量として16ビツト×2 56バイト(レジスタ数)の容量を持ち、指定された任意のレジスタの内容を続 出、消去、書込可能である。EEPROM670は、チップセレクト信号C3に より選択状態にされると、シリアルデータ入力端子Dinに送り込まれる「C」 rlJのデータをシリアルデータクロックSLに同Mして取り込むが、データの 転送の最初の3ビツトはEEFROMへの命令として解釈され、次の8ビツトが データの続出、消去もしくは書込が行なわれるレジスタ番号と解釈される。デー タの書込の場合には、これらの命令およびレジスタの指定に続いて、シリアルデ ータクロックSLに同期して記憶すべきデータがデータ入力端子Dinに与えら れることになる。 レジスタEEPC5は、チップセレクト信号を切り換えるものであり、マイクロ プロセッサ601がこのレジスタのとットdOに値1を書き込むと、EEPRO M670は選択状態となる。レジスタEEPSKは、シリアルデータクロックS Kを生成するレジスタであり、マイクロプロセッサ801はこのレジスタに値0 と値lとを交互に書き込むことで、EEPROM670用のシリアルデータクロ ックを生成する。レジスタEEPDIは、EEPROM870に書き込まれるべ き1ビツトのデータを保持するレジスタであり、マイクロプロセッサ601は、 レジスタEEPSKを書き換えてシリアルデータクロックSKを生aするのに同 期して、このレジスタEEPDIの所定ビットdOを、書き込むべきデータに従 って書き換える。EEPROM670のデータ出力端子Doutは、先に説明し た転送フラグレジスタ647の所定ビットdOになっており、マイクロプロセッ サ601は、EEPROM870にデータ読出命令と読み出すレジスタの番号を 出力した後、シリアルデータクロックSKに同期して転送フラグレジスタ647 のビットdOを読み取れば、指定したレジスタの内容を読み込むことができる。 EEPROM870に記憶されたデータは、電源をオフとしても保存されるから 、レーザプリンタ500に電源を投入した直後に、EEPROM870の内容を 読み出して、コンフィブレーシロンを電源断の直前の状態に戻すことができる。 F、続出制御回路820の構成と働き 次に、読出制御回路620の構成例と続出制御回路620によるデータ転送の手 順について説明する。読出制御回路620は、εピッ)X2個の第1.第2のラ ッチ651.652と共に、FI!J22に示すように、転送に必要なデータを 出力するROM871.3人カアンドゲート672、ステータスレジスタ645 のフラグEWRDY (ビットdo)を生成するD型フリッププロップ674を 備える。 続出制御回路620を電子制御装置E501側から見ると、このラッチ651. 652が、図17に示したように、8ビット単位でデータを転送する2つのレジ スタEWWRL、EWWRHに相当する。これらのレジスタは、各々1ワード1 6ビツトのデータの下位バイト、上位バイトの転送に用いられる。なお、第1. 第2のラッチ651.652は、マイクロプロセッサ601側から見ると、図1 8に示すレジスタEWRDに相当する。即ち、マイクロプロセッサ801111 からは、データバスDB290介して、両ラッチ6521.652を1ワードと して読み取ることができる。 読出制御回路620のROM671は、256バイトのデータを記憶するROM であり、例えばヒユーズROM、小容量のFROM等により実現することができ る。もとより、記憶容量の大きなROMの一部として実現してもよ<、RAMを 用いる場合には予めデータを転送しておくことで同等の機能を実現するができる 。このROM671のアドレス端子AOなuNuA7には、コネクタ側アドレス バスCABからのアドレスラインのうち下位の8ビツト(ActないしAC8) が接続されており、データ端子OOないし07は、第1のラッチ851および第 2のラッチ652の入力側IDなし8Dに接続されている。なお、ROM871 の出力は、FIFO制80路623にとってのデータバスZOないしZ7として 、FIFO制御回路623にも出力されている。 第1のラッチ651.第2のラッチ652の出力側は、データバスDB29に接 続されており、マイクロプロセッサ601から、レジスタEWRDとして読み取 り可能である。ROM671のチップセレクトCEおよびアウトプットイネーブ ルOEには、3人カアンドゲート672の出力信号/EWROMが入力されてお り、3人カアンドゲート672の各入力に入る信号/EWWRH,/FIFOW R,/EWWRLのいずれかがアクティブロウとなったとき、アクティブとなり 、この時ROM671は、コネクタ側アドレスバスCAHの下位8ビツトにより 指定されたアドレスのデータを出力する。 信号/EWWRHは、読出制御回路620による上位バイトの転送が指定された 時にロウレベルになる信号であり、信号/EWWRLは、同じくその下位はバイ トの転送が指定された時にロウレベルになる信号であり、信号/F I FOW Rは、FIFO制御回路623によるデータ転送が指定された時にロウレベルに なる信号である。信号/EWWRLおよび信号/EWWRHは、各々第1のラッ チ651および第2のラッチ652のクロック端子CKに入力されているから、 これらの信号がアクティブとなってROM671からデータが出力されたとき、 そのデータは、第1のラッチ651.第2のラッチ652に保持される。しかも 、信d/EWWRLは、D型フリップフロップ674のクロック端子Cにも入力 しているから、下位バイトの転送時には、D型フリップフロップ674の出力Q はロウレベルに反転する。この出力EWRDYは、既述したステータスレシス6 45のビットdOおよび転送フラグレジスタ647のビットd1、即ちフラグE WRDYとして扱われている。 第1のラッチ651.第2のラッチ652は、マイクロプロセッサ601側から はレジスタEWRDとして扱われるから、第1のラブチロ51および第2のラブ チロ52に保持されたデータを読み取ろうとする場合、マイクロプロセッサ60 1はレジスタEWRDに対する読み取り動作を行なう。この時、信号/EWRD がロウアクティブとなり、この信号がアウトプットイネーブル端子に接続された 第1のラッチ651.第2のラッチ652の出力側、即ちデータバスDB29に は、先に保持されたデータが出力される。この信号/EWRDは、Offフリッ プフロップ674のプリセット端子PRに接続されて〜するから、マイクロプロ セッサ60】側から第1のラッチ65I、第2のラッチ652のデータが読み取 られると同時に、D型フリップフロップ674のQ出力である信号EWRDYは ハイレベルに反転する。即ち、ステータスレジスタ645のビットdOおよび転 送フラグレジスタ647のビットd1であるフラグEWRDYは、値1にセット される。 かかるハードウェアを前提として、電子制御装置501およびマイクロプロセッ サ601は、以下の手順で、電子制御!11501側からマイクロプロセッサ6 01便へのデータの転送を行なう。電子ysmg置5装1側からマイクロプロセ ッサ601側に転送されるデータは、電子制御装置501がワークスチーシロン 507から受け取った印字データであり、カートリッジ503mのマイクロプロ セッサ601で、処理しようとするページ記述言語のプログラムである。続出制 御回路620によるデータ転送は、電子制御g装置501側のCPU510が実 行するカートリッジへのデータ転送処理ルーチン(図24)、およびカートリッ ジ503側のマイクロプロセッサ601が実行するのデータ読み込み割込処理ル ーチン(1m26)により行なわれる。 カートリッジ503側に転送すべき印字データが整うと、CPU510は、図2 4のフローチャートに示す処理を起動し、まずステータスレジスタ645のフラ グEWRDY(ビットdo)を読み取る処理を行なう(ステップ5700)。 このフラグEWRDYは、読出制御回路620の第1のラッチ651.第2のラ ッチ652にデータがセットされると値0となり、そのデータがマイクロプロセ ッサ601により読み取られると値lにセットされるから、次にこのフラグEW RDYが値1であるか否かの判断を行なう(ステップ3705)。 フラグEWRDYが値1となるまで待機し、値!となると、次に(領域EWWR Hの先頭アドレス+転送したいデータD×2)のアドレスを読み取る処理を行な う(ステップ5710)。領域EWWR)Iに対する読取処理を行なうと、RO M671からデータが読出される。ROM871には、図25に示すように、そ の先頭番地EWWRHからの偶数番地に00hからFFhまでの256のデータ が、順に書き込まれている。奇数番地にデータを置かないのは、CPU510の データアクセスは1ワード(16ビツト)で行なうのが基本であり、奇数番地か ら始まるワード単位のアクセスはできない(アドレスバスエラー要因となる)か らである。領域EWWRHの先頭からDX2だけ隔たったアドレスに対して読出 処理を行なうと、ROM671からはデータDが読出され、これが図22に示し たように、第2のラッチ652にラッチされる。 こうして転送したいデータの上位バイトの転送(第2のラブチロ52がデータを 保持)が行なわれると、CPU510は、同様に下位バイトの転送(第1ラツチ 651がデータを保持)を行なう(ステップ5715)。以上の処理により、l ワード分のデータが第1.第2のラッチ651.852に保持されたとして、C PU510は、割込要求レジスタのひとつ(本実施例ではAMDINTO)をセ ットする処理を行なう(ステップ5720)。 CPU510は、引き続き図24に示した転送処理ルーチンを繰り返し実行する が、第1のラッチ651によるデータの保持が行なわれると、図22に示したよ うに、フラグEWRDYはロウレベルにセットされるから、このフラグEWRD Yがハイレベル(値1)となるまで、次のデータの転送処理は行なわれない(ス テップ8700.705)。 CPU510が割込要求レジスタ(AMDINTO)をセットすると、マイクロ プロセッサ601は、この割込要求を受け付けて、図26に示すデータ読み込み 割込処理ルーチンを起動する。この処理が起動されるのは、読取制御回路620 の第1.第2のラッチ851,652にデータが保持された直後であり、マイク ロプロセッサ601は、レジスタEWRDを読み込むことにより、電子M11装 置501側が用意したlワードのデータを読み取る(ステップ5730)。その 後、マイクロプロセッサ601は、読み取ったこのデータをRAM611ないし 614の所定の領域に転送する(ステップ5735)。 以上説明した処理により、電子制*装置1501側は、続出専用線であるデータ バスCDBで接続されているに過ぎないカートリッジ503側にデータを転送す ることができる。しかも、データの書込はバイト単位で行ない、読出はワード単 位で行なうので、マイクロプロセッサ601は効率良(データを取り込むことが できる。なお、ここでは1ワードのデータを転送する場合を例に取って説明した が、データの転送はワード単位である必要はなく、バイト単位で転送するものと してもよい。そのばあいには、領域EWWRL側を用いた転送のみを行ない、マ イクロプロセッサ801111で上位の8ビツトのデータを捨てれば良い。 G、FIFO制御回路623の構成と働きFIFO制御回路623は、FIFO メモリ621に書き込むデータをラッチするラッチ657、このFIFOメそす 621へのデータの書込を制御するFIFO書込レジスタ653、同じく続出を 制御するFIFO読出レジスタ655を備える。このFIFOメモリ621は、 1152バイトのデータを蓄えることができ、内部に書き込み用アドレスカウン タと読み出し用カウンタとを備える。FIFOメモリ621には、これらのカウ ンタをそれぞれリセットする書込側リセット端子、続出側リセット端子、書込側 の8ビツトのデータバスと読出側の8ビツトのデータバス、書込用のクロック端 子、続出用のクロック端子が設けられている。 このFIFOメモリ621を用いてデータを電子制御装置501mからマイクロ プロセッサ601側に転送するには、電子制御袋f1501のCPU510は図 27に示す転送処理ルーチンを、カートリッジ503のマイクロプロセッサ60 Iは図28に示す処理ルーチンを、各々実行する。まず、図27のフローチャー トに示した処理ルーチンを説明する。 電子11b 複数バイトのデータ転送を行なう。 電子制御装置501のCPU510が図27に示したデータ転送処理ルーチンを 起動すると、まずFIFO制御回路623のFIFO書込回路654に属するレ ジスタP IFOR5Tを読み出す処理を行ない、書込側のアドレスカウンタを リセットする処理を行なう(ステップ5750)。続いて、送り出すデータの数 をカウントするために変数Nを値Oにリセットする(ステップ5755)。その 後、(レジスタFIFOWRの先頭アドレス+転送したいデータDX2)番地を 読み出す処理を行なう(ステップ8780)。このアドレスを読み出すと、続出 制御回路620と同様に、ROM671の所定の番地がアクセスされて(r!1 J25参照)、CPU510が転送しようとしたデータDが出力され、これが図 22に示すバスZOないしZ7を介してラッチ657にラッチされる。 続いて、FIFO制御回路623のレジスタFIFOREQを読み出してラブチ ロ57に保持されたデータDをFIFOメモリ621に転送する処理を行なう( ステップ5765)。レジスタFIFOREQを読み出すと、FIFOメモリ6 21の書込側のクロック端子に書込クロックが出力され、ラッチ657に保持さ れたデータDが、FIFOメモリ621の書込側アドレスカウンタが示す番地に 書き込まれる。と同時にFIFOメモリ621内の書込側アドレスカウンタの内 容は、[1だけインクリメントされる。こうして1バイトのデータを書き込むと 、転送したデータ数を示す変数Nを値1だけインクリメントしくステップ577 0)、変数Nが転送しようとするデータの総バイト数Xと等しくなったか否かの 判断を行なう(ステップ5775)。従って、転送したデータのバイト@Nがデ ータの総数Xに一致するまで、上述したステップ5760ないし5775の処理 を繰り返す。 全データの転送が完了すると、CPU510は、割込要求レジスタの一つ(AM DINTI)をセットし、データの転送が完了したことをマイクロプロセッサ6 01側に通知しくステップ5780) 、rNEXTJに抜けて本処理ルーチン を終了する。 一方、マイクロプロセッサ601は、この割込要求AMDINT1を受けて図2 8にフローチャートを示すデータ受信割込ルーチンを起動する。このルーチンを 起動すると、マイクロプロセッサ601は、まずFIFO制御回路623のFI FO読出レジスタ655に属するレジスタRDR8Tを読み出して、FIFOメ モリ821の読出側のアドレスカウンタをリセットする処理を行なう(ステップ 5800)。続いて、受信したデータ数をカウントするための変数Mに値0をセ ットする処理を行なう(ステップ5805)。 その後、F夏FO読出レジスタ655に属するレジスタFIRCLK′+:読み 込む処理を行ない(ステップ5810)、読み取ったデータをRAM811ない し614の所定の領域に転送する処理を行なう(ステップ5815)。レジスタ FIRCLKを読み出すと、FIFOメモリ621の読出側のクロック端子に読 出クロックが出力され、その時の続出側アドレスカウンタの示す番地のデータD が、読み出される。と同時にFIFOメモリ621内の読出側アドレスカウンタ の内容は、値1だけインクリメントされる。なお、通常FIFOm!1回路62 3を介して転送されるのは、ページ記述言語のプログラムであることから、受信 されたデータは、直ちにRAMの所!の領域に転送され、画像データの展開に備 えられるのである。 1バイトのデータを受信すると、変数Mを値1だけインクリメントしくステップ 5820) 、この変数Mが転送するデータの総バイト数Xに等しくなうか否か の判断を行なう(ステップ5825)。従って、受信したデータのバイト数Mが データの総数Xに一致するまで、上述したステップ5810ないし5825の処 理を繰り返す。 全データの受信が完了したと判断されると、マイクロプロセッサ601は、デー タの読み込みの完了を示すコマンドをポーリング・コマンドレジスタ643に書 き込む処理を行なう(ステップ5630)。電子制御装置501側のCPU51 0は、このポーリング・コマンドレジスタ643の内容を読み取ることで、FI FO制御回路623によるデータ受信の完了を知ることができる。その後、マイ クロプロセッサ601は、rRNTJに抜けて本処理ルーチンを終了する。 以上説明した処理により、電子制御装置501側からマイクロプロセッサ601 側に、大量のデータを効率よく転送することができる。転送されたデータは、デ ータ転送制御部603のRAM81]ないし614の所定の領域に保存され、マ イクロプロセッサ60Iによる処理を待つ。マイクロプロセッサ601は、電子 制御装置1501側から展開すべき印字データ(ページ記述言語により記述され たプログラム)を総て受け取ると、ROM606ないし608に記憶したページ 記述言語のインタープリタを起動し、RAM611ないし614の所定の領域に 保存されたこの印字データを処理する。かかる処理により画像の展開がなされ、 展開された結果は、RAM811ないし614の所定の領域に画像データとして 記憶される。 H,ダブルバンク制御回路624の構成と働き画像の展開が完了して得られた画 像データは、次に電子制御装置1501側に転送され、そのRAM512に記憶 され、所定のタイミングでレーザエンジン5゜5により印刷されることになる。 かかる画像データの転送を行なうのが、ダブルバンク制御回路624である。ダ ブルバンク制御回路624は、マイクロプロセッサ801mから電子側m装置5 0161に転送するものであり、32バイト(16ワード)のデータを蓄えるバ ンクを2セット備える。これをAバンク、Bバンクと呼ぶが、両者はハードウェ アとしては全く同一なので、Aバンク側の構成例のみを図29に示す。 この各バンクは、そのアドレスおよびデータバスを、マイクロプロセッサ6゜1 側からと電子側611911501側からとに切り換えられる構成になっており 、図示するように、アドレスラインを選択するデータセレクタ681,682. 2個一組で用いられデータバス(16ビツト幅)を選択する2組計4個のオフタ ルラインバッファ684ないし687.32バイト分の記憶容量を有するRAM 891.892、その他の構成ゲートであるオアゲート694,695およびイ ンバータ696から構成されている。rEJ29では、32バイト分の記憶容量 を有するメモリチップを2個用いた構成としているが、単一のメモリチップの上 位アドレスを切り換えることで実現しても差し支えない。 データセレクタ68は、電子制御装ff1501111のアドレスバスCABの 最下位4ビツト(AClないしAC4)と、マイクロプロセッサ601側のアド レスバスAABの下位の4ビツト(A2ないしA5)とを選択して出力する構成 となっており、アドレスバスの選択は、セレクト端子Sに接続された信号ADD MUXA(レジスタADDMUXAのビットdo)により行なわれる。データセ レクタ682は、アドレスバスの選択に合わせて、RAM691.892のり− ド・ライトの信号を切り換えるものであり、同じ(セレクト端子Sに接続された 信号ADDMUXAにより、いずれかの信号がRAM691,692のチップセ レクト端子CE1.2、アウトプットイネーブル端子OEに接続されるかを切り 換えている。 オフタルラインバッフy884.685をデータバスDB29に介装されたトラ イステートタイプのラインバッファであり、ゲート端子IG、2Gがロウレベル となったとき、マイクロプロセッサ601側のデータバスDB29とRAM89 1.692のデータバスを接続し、マイクロプロセッサ601([1からRAM 891.692へのデータの書込が可能な状態とする。オフタルラインバッファ 684.885のゲート端子IG、2Gには、信号/DPWROAと信号ADD MUXAとを入力とするオアゲート694の出力が接続されている。信号/DP WROAは、マイクロプロセッサ601側がAバンクにデータを書き込もうとす るときロウレベルになる信号である。従って、Aバンクへのデータの書込を行な うとして、予めレジスタADDMUXAのビットdOをロウレベルにしておけば 、マイクロプロセッサ601側からAバンクへのデータの書込処理を行なうと、 オフタルラインバッファ684.685のゲートが開き、データバスDB29に 出力されたデータは、RAM691,692のデータバスに出力され、これに書 き込まれる。 一方、オフタルラインバッファ68B’、687は、そのゲート端子IG、2G がロウレベルとなったとき、電子制御811501側のデータバスDB88とR AM691,692のデータバスを接続し、RAM691.692から電子制御 装置1501へのデータの読出が可能な状態とする。オフタルラインバッファ6 86゜687のゲート端子IG、2Gには、信号/DPOEIAと信号ADDM UXAをインバータ696で反転した信号とを入力とするオアゲート695の出 力が接続されている。信号/DPOEIAは、電子制御装置501側がAバンク のデータを読み取ろうとするときロウレベルになる信号である。従って、Aバン クのデータの読出を行なうとして、予めレジスタADDMUXAのビットdOを ハイレベルにしておけば、電子制御装置501側からAバンクに対する続出処理 を行なうと、オフタルラインバッファ886,887のゲートが開き、RAM6 91゜692のデータバスに出力されたデータは、データバスDB68に出力さ れる。 かかるハードウェアを前提として、マイクロプロセッサ601が行なう画像デー タの転送処理と電子制御ll装置501のCPU510が行なうその受け取り処 理とを説明する。図30は、マイクロプロセッサ601が行なう画像データの転 送開始処理ルーチンを示すフローチャートである。図示するように、マイクロプ ロセッサ601は、画像データの転送に先立つて、ポーリング・コマンドレジス タ643に転送開始のコマンドをセットする(ステップ5850)。 電子側m装置501側のCPU510は、このポーリング・コマンドレジスタ6 43のコマンドを読み取って、図31に示す応答処理ルーチンを実行する。即ち 、電子制御装置501は、レーザプリンタ500が印刷可能な状態にあるか否か の判断を行ない(ステップ5880) 、印刷できる状態にあると判断した場合 には、割込要求レジスタの一つ(AMDINT2)をセットしくステップ586 5)、rNEXTJに抜けて本ルーチンを一旦終了する。印刷できる状態にない 場合には、これをカートリッジ503のマイクロプロセッサ601に通知する処 理を行なう(ステップ5870)。印刷できない状態とは、例えばレーザエンジ ン505がまだウオーミングアツプされていない状態、紙づまりなどが生じた状 態など、画像データの転送を受けても印刷できない場合を言う。 電子制御装置501側からの割込要求信号AMDINT2を受け付けると、マイ クロプロセッサ601は、図32に示す画像データ転送割込処理ルーチンを起動 する。この処理を起動すると、マイクロプロセッサ601は、まずレジスタAD DMUXAのビットdOに値1を書き込む処理を行なう(ステップ5900)。 このレジスタADDMUXAのビットdOが値lの場合には、図29を用いて説 明したように、Aバンクを構成するRAM691.692のデータバスはマイク ロプロセッサ601側のデータバスDB29側に接続され、電子制御ll装+1 501側からのアクセスはできない状態となる。 続いて、マイクロプロセッサ601はAバンクDPWROAに16ワード(32 バイト)分のデータを転送する処理を行なう(ステップ5902)。AバンクD PWROAへのデータの書込処理を行なうと、図29に示した信号/DPWRO Aがロウレベルとなり、オフタルラインバッファ884.685を介してデータ がRAM691.692に書き込まれる。16ワードのデータ転送が完了すると 、マイクロプロセッサ801はレジスタADDMUXAのビットdOに値lを書 き込み(ステップ5904) 、Aバンクを構成するRAM691,892のデ ータバスを電子制御装置501のデータバスDB68に接続する。 その後、マイクロプロセッサ601はポーリング・コマンドレジスタ643にA バンクへの転送の完了を知らせるコマンドデータを書き込む処理を行なう(ステ ップ5908)。以上で、Aバンクへのデータの転送処理を完了し、マイクロプ ロセッサ601は、引き続きBバンクについて上述した処理と同一の処理を実行 する(ステップ5910)。Bバンクへのデータ転送が完了した場合には、マイ クロプロセッサ601はポーリング・コマンドレジスタ643に、同様に転送が 完了したことを知らせるコマンドデータを書き込む。こうしてカートリッジ50 3側からA、Bバンク、計32ワード(64バイト)のデータの転送が完了する 。 以上説明したマイクロプロセッサ601の処理に対して、電子制御袋+1501 のCPU510は、図33に示す画像データ受は取り処理ルーチンを実行する。 即ち、CPU510は、まずステータスレジスタ645のビットd3、即ちフラ グCMDRDを読み取り(ステップ5920) 、これが値Oであるが否かの判 断を行なう(ステップ5925)。マイクロプロセッサ601側からポーリング ・コマンドレジスタ643にコマンドデータが書き込まれた場合、このフラグC MDRDは、値0にセットされるので、この時、CPU510はポーリング・コ マンドレジスタ643のコマンドデータを読み取る(ステップ5930)。 読み取ったコマンドデータをチェックし、Aバンクのデータ転送が完了したこと を示すコマンドデータであるか否かの判断を行ない(ステップ5935) 、違 う場合には、その他の処理を実行する(ステップ5940)。ポーリング・コマ ンドレジスタ643のコマンドデータがAバンクのデータ転送の完了を示すもの であった場合には、電子制御装置1501はAバンクDPRAMA (図17参 照)の16ワードを読み込む処理を行ない(ステップ5945) 、読み取った データをRAM512に転送する(ステップ5950)。 以上の処理によりAバンクの16ワードのデータの読み取りが完了するので、マ イクロプロセッサ801から次の16ワードの転送を許可すべく、電子制御装置 501は、割込要求 ジスタの一つ(AMDINT2)をセットする。続いて、 Bバンクについて上述したステップ5920ないし5955の処理を実行する。 即ち、Bバンクに対するマイクロプロセッサ601からのデータの転送が完了し たことをポーリング・コマンドレジスタ643のコマンドデータにより判断する と、BバンクDPRAMBの16ワードのデータを読み取り、これをRAM51 2に転送した後、割込要求レジスタの一つをセットして、マイクロプロセッサ6 01に対して割込要求を立てるのである。 かかる割込要求を受けて、マイクロプロセッサ601は図32に示した割込処理 ルーチンを再度実行することになるから、マイクロプロセッサ601およびCP U510が両ルーチン(図329図33)を実行することで、全画像データの転 送が完了する。全画像データの転送後、新たな印字データを電子制御装置501 側から受け取らなければ、マイクロプロセッサ601は、所定時間が経過すると 、コントロールレジスタ650のレジスタCLKDIVに値1を書き込んで、自 らの動作周波数を半分の12.5MHzに切り換え、消費電力ひいては発熱量を 低減する。 11画像データの印刷 一方、全画像データの転送を受けた電子側mam50tは、既述したダブルバッ ファ回路520およびレジスタ517を用いてレーザエンジン505と信号をや り取りしつつ、画像データによる印刷を行なう。電子制御装置501とレーザエ ンジン505との信号のやり取りを図34に簡略に示した。この図を参照しつつ 、印刷の概要について説明する。 カートリッジ503から展開された後の画像データを受け取ると、電子制御装置 1501は、レーザエンジン505が印刷可能な状態か否かを問い合わせ、ウオ ーミングアツプなどが完了して印刷可能な状態にあると判断すると、図34に示 すプリント信号をレジスタ517を介してレーザエンジン505に出力する。レ ーザエンジン505は、この信号を受けて、直ちに用紙搬送用のモータを起動す る。これに同期して、感光ドラムの回転、帯電処理等が開始される。 印刷される用紙が感光ドラムに対して所定距離だけ離間した位置に至ったとき、 レーザエンジン505は用紙の先端を検出し、信号VREQをレジスタ517を 介して電子側m装置501に出力する。電子制御装置501はこの信号VREQ を受け取ると、所定時間、即ち感光ドラムがレーザビームによる潜像形成の開始 される位置まで回転するのに必要とされる時間だけ待機してから、信号VSYN Cをレジスタ517を介して出力する。レーザエンジン505はこの信号VsY NCを受けて、レーザビームの水平同期信号)ISYNCをレジスタ517を介 して出力する。この信号H5YNCは、1ライン分の画像データの読み取り開始 を指示する信号に相当するので、レーザエンジン505は、この信号に同期して 画像データをダブルバッファ回路520の一方のRAM520Aもしくは520 Bから読み取る。なお、トップマージンを形成する場合には、トップマージンに 対応するライン数だけ、信号VSYNCを無視する制御が行なわれる。この制御 はボトムマージンを形成する場合も同様である。 と同時に、CPU510はこの信号をカウントしつつ、必要な画像データをダブ ルバッファ回路520のRAM520AもしくはRAM520Bに転送する。 レーザエンジン505が用紙後端を検出してから所定時間が経過するが、水平同 期信号のカンウド値が予め用紙サイズに合わせて設定された値に等しくなるがす ると、CPU510は、画像データのダブルバッファ回路520への転送を終了 する。以上の処理により、1ペ一ジ分の画像データはレーザエンジン505に転 送され、用紙にその画像が印刷される。 [iiiコその他 (1)以上、本発明をプリンタに適用した実施例について説明したが、本発明は 、プリンタへの適用にに限るものではな(、例えばワープロやパーソナルコンピ ュータ、あるいはワークスチーシーンなどにも適用することができる。近年、こ うしたコンピュータ関連機器は、拡張スロットはもとより、ICカードといった カートリッジタイプの拡@装置が取付は可能となっていることが多い。こうした 拡張スロットやICカードなどを備えたワープロ、パーソナルコンピュータ等で は、ここに本発明のカートリッジを装着し、本体側のプロセッサの処理を、モニ タコマンドなどでカートリッジに内蔵したメモリに記憶した処理に移し、カート リッジに備えられたプロセッサと共に情報を処理するものとすれば、情報処理機 能の向上、追加あるいは変更を実現することが容易である。更に、制御をカート リッジ側に移してしまえば、処理の内容はいかようにも変更することができるが ら、既に販売した機器の機能の変更や向上、ワープロなど各種専用機におけるソ フトのバージロンアップなどを実現することができる。 このように、本発明は、プロセッサを用いたあらゆる装置、例えば車載の電装品 、ファクシミリ、電話、電子手帳、電子楽器、電子カメラ、翻訳器、ハンディコ ピー、キャッシュディスペンサ、リモコン装置、電卓など、コネクタにより接続 可能なあらゆる情報処理装置のカートリッジに適用可能である。こうした情報処 理装置では、本体側のプロセッサがカートリッジを認識してその処理をカートリ ッジ側に用意したアドレスに移行する機能を備えていれば、既存の電子装置にお いても、本発明のカートリッジを実現することは容易である。かかる機能を備え ていない場合でも、本体側プロセッサをカートリッジに記憶した処理に移行させ る手法は種々考えられる。 esooo系のプロセッサは、データを所定のアドレスから読み込む処理を行な う際、データバス上のデータが確立しているか否かをデータを出力する機器(ス レー力がプロセッサに応答する信号DTACKにより判断している。そこで、本 体側のプロセッサが本体側に備えるROMに記憶した処理を実行中に、絶対番地 へのジャンプ命令を実行しようとしたとき、絶対番地へのジャンプ命令の実行で あることをカートリッジ側でインストラクシCンを解析して検出しておき、本体 側の本来のROMがデータバスにジャンプ先の絶対番地を出力するタイミングよ り先に、カートリッジ側に内蔵したROMの実行アドレスをデータバスに出力す ると共に信号DTACKを本体側プロセッサに返し、強制的にカートリッジ内の 所定アドレス以降に処理を移行させる構成が取り得る。一旦、処理がカートリッ ジ側のROMに移ってしまえば、その後の処理はいかようにも構成することがで きる。 この例では、本体側のプロセッサが絶対アドレスへのジャンプ命令を実行するこ とを前提としているが、ジャンプ命令そのものも本体側のROMから続出してい ることに着目し、電源投入後最初にROMからインストラフシーンを読出すとき 、該インストラフシーンの読出より先に、カートリッジ側からジャンプ命令に相 当するコードをデータバスに載せると共に信号DTACKを返す構成とすること も可能である。これらの手法では、信号DTACKの競合という問題を生じる恐 れはあるが、バスのタイミングを細かく解析すれば、実現可能である。 (2)本発明は以上の実施例に同等限定されるものではなく、例えば、アウトラ インフtントを内蔵したカートリッジにおいてプリンタ本体から文字のポイント 数等のデータを受け取りその文字の指定ポイント数のビットイメージを生成して プリンタ本体に転送する構成、電子装置から受け取ったデータをカートリッジで 特に複雑な処理をすることなく単に記憶したり表示したりする構成、あるいはプ リンタ本体がインクジェットプリンタである構成など、本発明の要旨を逸脱しな い範囲内において、種々なる態様で実施し得ることは勿論である。 The embodiments are described in the following sections. [i] Cartridge Structure A. Cartridge Structure B. Electromagnetic Noise Test Results C. Modified Cartridge Structure [ii] Electrical Configuration of the Printer and Cartridge A. Overall Configuration of the Printer and Cartridge B. Cartridge Address Space C. Internal Configuration of the Cartridge D. Description of the Data Transfer Control Unit 603 E. Description of Each Register F. Configuration and Function of the Output/Open Control Unit 620 G. Configuration and Function of the FIFO 11111 Loopback 623 H. Configuration and Function of the Double Bank Control Circuit 624 I. Printing Image Data [iii] Other [i] Cartridge Structure A. Cartridge Structure Figure 1 is a perspective view showing the structure of a printer cartridge as an embodiment of this invention, and Figure 2 is an exploded perspective view. This cartridge 503 is designed to be inserted into the font cartridge insertion slot of the printer. However, as described below, this cartridge also has the function of receiving print data from the printer and converting the received print data into image data. This cartridge 503 has a structure in which a multilayer printed circuit board 550 (hereinafter simply referred to as the "printed circuit board") is interposed between an upper case 100 with a concave interior and a plate-like lower case 120. A lower cap 140 and an upper cap 150 are attached to the connector side of the cartridge 503. The upper case 100, upper cap 140, and lower cap 150 are made of ABS resin, while the lower case 120 is made of aluminum. A conductive layer is formed on the inner surface of the upper case 100, which, together with the lower case 120, forms a frame ground. The conductive layer on the inner surface of the upper case 100 is formed by electroless copper-nickel plating. However, this conductive layer may also be formed using other well-known methods, such as painting with conductive paint or vacuum deposition of aluminum. The upper case 100 may also be manufactured by molding conductive plastic. In the following, cap 140 will be referred to as the "cap 140." The side with the microprocessor 601 is called the front of the cartridge, and the side with the microprocessor 601 is called the rear of the cartridge. A plug portion 551 is formed at the front of the printed circuit board 550, and circuit elements such as the microprocessor 801 are attached at the rear. Four grounding spring members 104 are fixed to the periphery of the printed circuit board 550, two of which are located in the center of the cartridge insertion direction and the other two at the rear of the cartridge. The spring members 104 serve to electrically connect the ground wiring of the printed circuit board 550 to the conductive layer on the inner surface of the upper case 100. Two grounding spring members 122 are fixed to the front of the lower case 120 to ensure a ground connection with the printer body. The grounding spring member 122 has the shape of a bird with its wings spread, with first bent portions 122a, corresponding to the left and right wings, bending upward, and second bent portions, corresponding to the bird's legs, bending downward in a semicircular arc. The first bent portion 122a electrically connects the lower case 120 to the ground wiring of the printed circuit board 550. The second bent portion protrudes from the cartridge 503 through an opening 132 provided in the lower case 120 and electrically connects the grounding portion of the printer body to the lower case 120. A wall-shaped mating portion 124 protruding from the flat plate portion 121 is provided on the periphery of the lower case 120. The mating portion 124 mating with the side of the upper case 100 forms the main structure of the approximately rectangular parallelepiped housing. At the rear of the lower case 120, a cylindrical pressing silicone rubber 12B is fitted into a rubber holder 128 on the inner surface of the lower case to press the printed circuit board 550 upward. The pressing silicone rubber 126 serves to press the printed circuit board 550, located directly below the microprocessor 601, upward. A sheet-like heat-dissipating silicone rubber 102 is interposed between the top surface of the microprocessor 601 and the inner surface of the upper case 100 to improve adhesion and thermal conductivity. In addition, an aluminum heat sink 110 is fixed to the lower case 120 with screws so as to cover the top of the microprocessor 601. When the pressing silicone rubber 126 presses the printed circuit board 550 upward, the microprocessor 601 is also pressed upward, improving adhesion between the microprocessor 601 and the heat-dissipating silicone rubber 102, and between the heat-dissipating silicone rubber 102 and the heat sink 110. As a result, heat generated by the microprocessor 601 is conducted to the lower case 120 via the heat sink 110 and then dissipated from the lower case 120 to the outside. During assembly, first, two grounding spring members 122 are fixed to the lower case 120, and then the pressing silicone rubber 126 is fitted into the rubber holder 128. Meanwhile, various circuit elements are attached to the printed circuit board 550, and four grounding spring members 104 are inserted into the designated holes in the printed circuit board 550 and secured with solder. Next, the printed circuit board 550 is placed on the lower case 120, and a screw is used to secure one of its rear corners (on the microprocessor 601 side). The heat sink 110 is then secured to the side of the fitting 124 of the lower case 120 with a screw. The upper case 100 is then fitted to the lower case 120, and the lower cap 140 is inserted. At this time, the two screw through-holes 141 on the lower cap 140 are inserted under the corresponding portions of the upper case 100, and the plugs 551 pass through the through-holes 142 on the lower cap 140. The upper case 100 is secured with screws at 31° on the front side. Finally, the upper cap 150 is fitted into the upper case 100, completing the cartridge 503 shown in Figure 1. Incidentally, a button lock 154 with a spring 152 housed inside is provided on each side of the upper cap 150. The button locks 154 are biased outward by the springs 152. When the two button locks 154 are pressed inward, their tabs disengage from the engaging portions of the upper case 100, and when the button locks 154 are released, they engage with the retaining portions. Figure 2 also shows an IC card 200. The IC card 200 is an expansion memory containing multiple dynamic RAMs and can be inserted into the cartridge 503 as needed. To insert the IC card 200, first remove the top cap 150 and insert the IC card 200 into the expansion memory slot 106 provided in the upper case 100. The IC card 200 then plugs into the IC card connector 210 in the printed circuit board 550. Then, when the top cap 150 is attached, the IC card returns to its original shape as shown in Figure 1. In this embodiment, the removable top cap 150 can be removed to insert the IC card 200, facilitating memory expansion. Furthermore, by providing the top cap 150 at the front of the cartridge 503, the IC card 200 cannot be inserted while the cartridge 503 is inserted in the laser printer body. Figure 3 is an enlarged perspective view of the printed circuit board 550. As shown in Figure 3, a microprocessor 601 is attached to the rear end of the top surface of the printed circuit board 550, and an attachment plug 551 is formed at the other end for connecting to a connector on the printer body. Surrounding the microprocessor 601 are four ROMs 806-609 that store control programs for the microprocessor 601, four address buffers 617, and clock oscillators 661 and 865. Additionally, an IC card connector 210 is provided slightly forward from the center of the printed circuit board 550. Mounted on the back side of the printed circuit board 550 are various circuit elements, such as an ASIC (application-specific integrated circuit) containing control circuits and registers, and a ROM (hereinafter referred to as the "printer ROM") storing the processing program for the processor within the printed circuit board. For ease of illustration, the wiring patterns formed on the front side of the printed circuit board 550 are omitted. Microprocessor 601 is a pin grid array (PGA) type element, while the others are single-ended, single-ended package (SOP), or quadrature flat package (QFP) type elements. Microprocessor 801, for example, is a R The ISC processor used is the AMD Am29030 (clock frequency 25 MHz). As mentioned above, this cartridge 503 is inserted into the font cartridge slot of the printer body. While a typical font cartridge simply contains a ROM that stores font data, the cartridge 503 of this embodiment is equipped with a microprocessor 601 and ROMs 806-609 that store the processing program for the microprocessor 601. It also includes a printer-specific ROM and a control circuit including an ASIC. This cartridge 503 is unique in that it is inserted into a connector on the printer body, which is designed to connect to a font cartridge. Therefore, it has a dedicated read line for reading data from the cartridge to the printer body, but no signal line for transferring data from the printer body to the cartridge. In contrast, the cartridge 503 in this embodiment has the function of receiving print data from the printer body and converting this print data into image data using the microprocessor 601. To do this, the print data must be transferred from the printer body to the cartridge using the dedicated read line of the connector. For this purpose, the microprocessor in the printer body executes special processing, as described below. When cartridge 503 is inserted into the printer body, the processor in the printer body reads the identification data stored in the printer body ROM in cartridge 503 upon printer startup. Based on this identification data, the processor in the printer body executes processing according to the processing program stored in the printer body ROM. The processor in the printer body then reads the printer body ROM. The cartridge 503 executes special processing according to the processing program stored in the printer. This special processing involves generating an address that essentially contains one byte of print data (page description language program) and transmitting this address over the address bus from the printer to the cartridge 503. The cartridge ASIC receives this address and decodes it to extract the one byte of print data contained in the address, which it then stores in a designated RAM (described below) within the cartridge. The microprocessor 601 then reads the data stored in this RAM and executes the special processing. The cartridge 503 converts the print data into image data. The converted image data is transferred from the cartridge 503 to the printer, where the xerography unit prints the image. It is preferable to use a processor faster than the printer itself as the microprocessor 601. In this way, the image conversion process that should be performed by the printer itself is performed by the high-speed microprocessor 601, thereby substantially improving the printer's processing speed. The circuitry within the cartridge 503 and its operation will be described in more detail below. Figure FIG. 4(A) is a plan view of the lower case 120, and FIG. 4(B) is a cross-sectional view taken along the line B-B. Note that FIG. 4(B) also depicts a cross-section of the upper case 100. As shown in FIG. 4(A), the lower case 120 is primarily composed of a flat plate portion 121 and a mating portion 124. The mating portion 124 forms a continuous wall around the periphery of the lower case 120, except for a break near the screw hole 125 at the front in the insertion direction. As shown in FIG. 4(B), the mating portion 124 fits into the inner surface of the side of the upper case 100, forming a housing with a roughly rectangular cross-section. As mentioned above, the lower case 120 The upper case 100 is made of aluminum, and a conductive layer is formed on the inner surface of the upper case 100. Therefore, the conductive layers on the outer surface of the mating portion 124 and the inner surface of the upper case 100 overlap each other around the outer periphery of the mating portion 124, which is effective in blocking electromagnetic noise generated by the internal circuit elements. Figure 5 is a bottom view of the printed circuit board 550 (i.e., the side opposite the side on which the microprocessor 601 is mounted). However, Figure 5 shows the state without any circuit elements mounted on it. Multiple GND lands 560, 526, and 570 are located around the periphery of the printed circuit board 550. 564, 566 are formed on the printed circuit board 550. These GND lands are conductive layer regions provided for the signal ground of the printed circuit board 550. As can be seen by comparing with Figure 2, the two GND lands 560 at the rear of the printed circuit board 550 (the upper side in Figure 5) are formed in an area that includes through holes for screws that secure the printed circuit board 550 to the lower case 120 and three small holes for inserting the grounding spring member 104. The two GND lands 562 located approximately in the center of the printed circuit board 550 in the insertion direction are formed in an area that includes three small holes for inserting the grounding spring member 104. In addition, the two GND lands 564 at the front end of the printed circuit board 550 in the insertion direction and the GND land 566 in its center are each formed in an area that includes through holes for screws that secure the printed circuit board 550 to the lower case 120. When the cartridge 503 is assembled, the GND land 560 at the rear of the printed circuit board 550 and the GND land 562 at the center are electrically connected to the conductive layer on the inner surface of the upper case 100 via the grounding spring member 104 (Figure 2). At the same time, the GND land 560 at the rear of the printed circuit board 550 and the GND land 564 at the front are electrically connected to the conductive layer on the inner surface of the upper case 100 via the grounding spring member 104 (Figure 2). 586 contacts the screw holes in the lower case 120, electrically connecting it to the lower case 120. As a result, the grounding wire (hereinafter referred to as "signal ground" or rSG) of the printed circuit board 550 is connected to the conductive layer of the chassis (hereinafter referred to as "frame ground" or rFGJ) at multiple points. By grounding the SG and FC at multiple points in this way, the impedance between the 5G and FC can be reduced, preventing the generation of high-frequency currents. This effectively prevents the generation of electromagnetic noise caused by high-frequency currents. As can be seen in Figure 2, there is no conductive layer in the area of the through-hole 142 of the lower cap 140, making it easy for electromagnetic noise to leak to the outside. As is well known, electromagnetic noise standards (such as Japan's VCCI and the U.S. FCC) regulate a specific frequency range (30 to 1,000 ohms), and reducing electromagnetic noise in this range can prevent harmful electromagnetic noise. Ground land 566 (IP15) located near the center of plug portion 551 is designed to reduce harmful electromagnetic noise by reducing the wavelength of the electromagnetic noise emitted from through-hole 142 to approximately 172 ohms (i.e., approximately doubling the frequency). Figure 6 shows the electrical connection between printed circuit board 550 and lower case 20 via grounding spring member 122. 6A and 6B are side views illustrating the electrical connection between the printed circuit board 550 and the lower case 120. FIG. 6A shows the state before the printed circuit board 550 is placed on the lower case 120, and FIG. 6B shows the state after placement. As shown in FIG. 6A, there is a gap between the first bent portion 122a of the grounding spring member 122 and the mating portion 124 of the lower case 120. In the state shown in FIG. 6B, the first bent portion 122a is pressed against the printed circuit board 550, but there is a small gap between the mating portion 124 and the bent portion 122a. Because the tip of the bent portion 122a is divided into three, each functions as an almost independent spring member, and the grounding spring member 122 functions as an electrical connection between the first bent portion 122a and the lower case 120. The spring members 122 are electrically connected securely to the ground wiring on the underside of the printed circuit board 550. These grounding spring members 122 are also effective in preventing the generation of electromagnetic noise. The first bent portion 122a may be configured to electrically connect a power supply wiring other than the ground wiring, such as a power supply wiring that supplies a stable voltage (3V, 5V, etc.) to drive the microprocessor 801 and other peripheral circuits, to the lower case 120. It may also be connected to a power supply wiring that provides a stable voltage that is provided separately from such a power supply wiring. Figure 7 shows an enlarged view of the microprocessor 601 portion of the cartridge 503. This is a cross-sectional view of a key part. A pressing silicone rubber 126 is fitted into the rubber retaining portion 128 of the lower case 120, and the pressing silicone rubber 12B presses the printed circuit board 550 upward. The pin 801p of the microprocessor 601 is soldered onto the printed circuit board 550. A heat-dissipating silicone rubber 102 is interposed between the top surface of the microprocessor 601 and the heat sink 110. Heat generated by the microprocessor 601 passes through the heat-dissipating silicone rubber 102, the heat sink 110, and the lower case 120, and is released to the outside from the bottom surface of the lower case 120. The pressing silicone rubber The rubber band 126 presses the printed circuit board 550 upward, improving the adhesion between the microprocessor 601, the heat-dissipating silicone rubber 102, and the heat sink 110, and improving thermal conductivity between them. A material with good thermal conductivity is used for the heat-dissipating silicone rubber 102. For example, Shin-Etsu Polymer Co., Ltd.'s Shin-Etsu Silico Sheet (product name), Shin-Etsu Chemical Co., Ltd.'s TC-CG Type Heat-Dissipating Silicone Rubber Sheet (product name), or Fuji Polymer Industries Co., Ltd.'s Sarcon (product name). All of these have a relatively high thermal conductivity of approximately 1 W/m11 or higher. Furthermore, non-solid materials such as viscous liquids, putty, or grease, such as RTV Rubber Compound (product name) manufactured by Shin-Etsu Chemical Co., Ltd., which solidify upon use, can also be used as the material to be applied to the top surface of the microprocessor 601. By using such non-solid materials, adhesion between the microprocessor 601 and the upper case 100 can be ensured with only a small thickness, making them suitable for heat dissipation even if the material has a relatively low thermal conductivity. The end surface 108 of the upper case 100 shown in Figure 7 has numerous holes formed therein, allowing for easy airflow. These holes are also used to secure the cartridge 503. The end surface 108 is movable to release heat from the inside of the cartridge 503. Furthermore, by drilling numerous holes, the surface area of the end surface 108 is increased, which also improves heat dissipation efficiency. If other heat dissipation measures are sufficient, drilling holes in the end surface 108 is not necessary. Furthermore, in order to reduce electromagnetic noise, it is preferable not to drill holes in the end surface 108. Figures 8 and 9 are perspective views showing the cartridge 503 inserted into the first and second types of printer main bodies 1a and 1b, respectively. Figures 10 and 11 are longitudinal cross-sectional views of the cartridge 503 and the frame of the printer main body 1a+ib in the inserted state. However, the figures For ease of illustration, circuit elements and the like are omitted in Figures 10 and 11. In Figure 10, the plug portion 551 of the printed circuit board is inserted into the printer-side connector CN11. At this time, the spring member 122 on the rear side of the cartridge 503 contacts the metal frame 180 of the printer body 1a. In Figure 11, the spring member 122 on the front side of the cartridge 503 contacts the metal frame 182 of the printer body 1a. In this way, by having one of the two grounding spring members 122 contact a grounded portion of the printer body, the cartridge housing and the printer body are reliably electrically connected. As explained above, the cartridge of this embodiment has the following measures against electromagnetic noise: ■ A conductive layer is formed on the inner surface of the plastic upper case 100, and the lower case 120 is made of aluminum. This forms a conductive layer across the entire inner surface of the cartridge housing, blocking electromagnetic noise. ■ A wall-shaped mating portion 124 is provided on the periphery of the lower case 120, which is designed to fit into the upper case 100. This allows the outer surface of the mating portion 124 to overlap with the conductive layer on the inner surface of the upper case 100, blocking electromagnetic noise. ■ Multiple signal grounds and frame grounds are provided. The signal ground is connected at two points, reducing the impedance between them and suppressing the generation of high-frequency currents. ■ Near the through-hole 142 for the plug portion 551, the signal ground and frame ground are connected at both ends and the center of the plug portion 551, shortening the wavelength (increasing the frequency) of the electromagnetic noise emitted from the through-hole 142. This reduces the harmful wavelength range of electromagnetic noise that is subject to regulation. This cartridge 503 also incorporates the following general electromagnetic noise countermeasures: ■ Decoupling capacitors are installed near the GND pin and power pin of each circuit element. ■ Microprocessor A common-mode choke coil was installed in the power supply wiring of the processor 601. B. Electromagnetic Noise Test Results Figure 12 (A) is a graph showing the electromagnetic noise measurement results for the cartridge before electromagnetic noise countermeasures were implemented, and Figure 12 (B) is a graph showing the electromagnetic noise measurement results for cartridge 503, an embodiment of this invention. In Figure 12, the dashed-dotted line indicates the FCC standard. The cartridge before countermeasures did not incorporate the above countermeasures (1) to (5), and the upper case 100 and lower case 120 were both made of aluminum. As can be seen from Figure 12, the above countermeasures significantly reduced electromagnetic noise. These countermeasures have been implemented, and cartridges after the countermeasures fully meet FCC standards. C. Modified Cartridge Structure To prevent cartridge theft, the cartridge may be mechanically connected to the printer body. Figure 13 shows an example in which the cartridge 503 is connected to the printer body 1 by 81570. The end of the cartridge 503 has a hole 572 and a ring 573 that passes through this hole 572. One end of the chain 570 is connected to the ring 573, and the other end is screwed to the ground terminal 574 on the printer body 1. Figure 14 shows a cartridge 503 with a locking mechanism using a key 580. When the key 580 is rotated, the protrusion 582 housed inside the cartridge 503 pops out toward the printer body 1 and fits into a groove (not shown) provided in a corresponding portion of the printer body 1. This prevents the cartridge 503 from being pulled out of the printer body 1. The key 580 may also be equipped with a switch function. That is, by rotating the key 580, the cartridge 503 may be locked and powered on. Instead of providing a chain or locking mechanism to prevent theft, the cartridge 503 may be secured by a switch. It may also be screwed to the printer body 1. In the above embodiment, an IC card can be used as expansion memory, but other expansion memory such as an SIMM (Single In-Line Memory Module) may also be used. [ii. Electrical Configuration of the Printer and Cartridge] A. Overall Configuration of the Printer and Cartridge Figure 15 is a block diagram showing the general configuration of the laser printer 500 and the cartridge 503 installed therein that are applied to this embodiment. The laser printer 500 includes an electronic control unit 501 that controls the entire laser printer 500, and a control unit 502 that controls the printing of images on paper P. The laser printer 500 is connected to a workstation 507, and the electronic control unit 501 generates image data (bitmap data) based on print data sent from the workstation 507. The electronic control unit 501 then transfers the image data to the laser engine 505 via a connector CN10. The laser engine 505 then drives the xerography unit 15 to print an image on paper P. As shown in Figure 15, the electronic control unit 1501 includes a well-known CPU (in this embodiment, a Motorola MC68000) 510. The printer includes a ROM 511 that stores programs for printing, a RAM 512 that stores print data and expanded image data, a data input cap 514 that receives print data from the host workstation 505, a line buffer 515 attached to a path line 516 that exchanges data with the cartridge 503, a register 517 that exchanges commands and status information with the laser engine 505, a console panel 1/F 519 that interfaces with the console panel 518 of the laser printer 500, and a double buffer circuit 520 that stores image data to be transferred to the laser engine 505. The double buffer circuit 520 includes two RAMs 520A and 520B, each with a storage capacity of 4 bytes, for eight lines printed by the laser engine 505. The CPU 510 alternately writes image data to these RAMs via a memory write controller 520C. Meanwhile, the laser engine 505 alternately reads data from these two RAMs 520A and 520B via a memory read controller 520D, converting the image data into a video signal in synchronization with the rotation of the photosensitive drum and enabling printing. The reason for alternately writing and reading data to and from the two RAMs 520A and 520B is that access from the CPU 510 and the laser engine 505 must be independent. After writing data to one of the RAMs, the CPU 510 sets a flag in a specified bit of register 517. In response, the laser engine 505 checks this flag and reads the image data stored in the RAM where the data was written. During reading, another bit in register 517 is set to indicate to the CPU 510 which RAM is being read. Since the other RAM is not accessed by the laser engine 505 at this time, the CPU 510 writes the next eight lines of image data to the other RAM. When the laser engine 505 completes reading from one RAM, it resets the flag and switches to reading from the other RAM. The data writing speed from the CPU 510 is faster than the data reading speed from the laser engine 505, i.e., the printing speed, so memory access conflicts between the two are avoided, and the transfer of one page of image data is achieved reliably and easily. Cartridge 503 is connected to the electronic control unit 501 via connector CNII. Line buffer 515 includes a bus driver (not shown) installed along data bus 34. This bus driver is a one-way buffer that transfers data only from connector CNII to CPU 510. In other words, from the perspective of CPU 510, cartridge 503 connected to connector CNII is a read-only device. When electronic control unit 501 is powered on, it determines whether cartridge 503 is attached to connector CNII. If it is, it resets the electronic control unit 501, jumps to a predetermined location in the ROM (described below) stored in cartridge 503, and then sequentially executes the processes stored in cartridge 503. Cartridge 503 interprets programs written in a page description language (PDL) output from workstation 507 to laser printer 500, converts the data into image data, and prints it using laser engine 505. Figure 16 shows the wiring relationship between the plug section 551 formed at one end of the printed circuit board 550 and the connector CNII. The plug section 551 has 25 terminals formed on each of the two sides (side A and side B) of the double-sided printed circuit board. In Figure 16, signal names are listed corresponding to each terminal of the plug section 551. Note that the symbol "/" before the signal name indicates that the signal is low active. The meaning of each signal is as follows: Signal /ASB: Address strobe signal output from the CPU 510 (Motorola MC68000). Signal /UDS: Upper data strobe signal output from the CPU 510. Signal /LDS: Lower data strobe signal output by the CPU 510. Signal /ADS: Address strobe auxiliary signal generated within the electronic control unit 1501 based on the address strobe signal /ASB. This address strobe auxiliary signal /ADS behaves differently for different types of printers when the printer is started up (initialized). In this embodiment, as described below, the printer type is determined based on the behavior of this address strobe auxiliary signal /ADS at initialization. Signal 10DTACK: Output data acknowledge signal when transferring data from cartridge 503 to electronic control unit 501. Signal /CTRGSEL: Cartridge select signal when CPU 510 selects cartridge 503 and accesses ROM, registers, etc. allocated in its internal address space. Signals A1-A20: Address signals output by CPU 510. Signals D1-D15: Output signals from cartridge 503. Signal R/W: Read/write signal output by CPU 510. Signal 5CLK: A clock signal output from an oscillator (not shown) built into laser printer 500. Note that signal /CTRG5 sent to laser printer 500 is pulled low when cartridge 503 is inserted, allowing CPU 510 to detect that cartridge 503 has been inserted into connector CNII. CPU 510 uses 23-bit address signals AI through A23 to specify word addresses, and signals /UDS and /LDS to specify the upper and lower bytes of each word. As a result, CPU 510 can access a 16-Mbyte address space ranging from ooooooohh to FFF FFFh. The symbol rhJ after the address indicates that the address is in hexadecimal notation. B. Cartridge Address Space Cartridge 503 is assigned to a portion of the address space managed by CPU 510 of electronic control unit 501. The CPU 510 handles a 16 MB address space from 00000h to FFFFFFFh, with a portion of this space allocated for the ROM cartridge. The space allocated to the cartridge 503 varies depending on the laser printer model. In the case of a Heeredbacker laser printer, the address space is typically 2 MB, from 200000h to 3FFFFFh or 400000h to 5FFFFFh, as shown in the left column of Figure 17. On the other hand, the microprocessor 601 provided inside the cartridge 503 in this embodiment is an AMD29030-25 MHz microprocessor manufactured by AMD, and its address space is 4 GB, from 00000h to FFFFFFFh. This address space is allocated not only to ROM and RAM, but also to various registers used to exchange data with the printer's electronic control unit 501. This is shown in Figure 18. The electrical configuration within cartridge 503 is described below, along with the address space allocation for both microprocessors. C. Internal Configuration of Cartridge The internal configuration of cartridge 503 is shown in Figure 19. As shown, cartridge 503 is centered around microprocessor 601, which is responsible for overall control. It is broadly composed of memory section 602, consisting of ROM, RAM, and its peripheral circuits; data transfer control section 803, which handles all data exchange with electronic control device 501; and other circuits. Memory section 602 is composed of 2 MB of ROMs 606-609, which store the programs executed by microprocessor 601; selector 610, which switches between banks of ROMs 808-609; and 2 MB of RAMs 611-614, which store print data received from electronic control device 1501 and image data after development. The 2MB ROMs 606 through 609 are each 16-bit x 256K = 4MB mask ROMs, and are assigned addresses from 0 ... ROMs 60B and 607, and ROMs 608 and 609 are assigned the least significant three bits (AO, A1, . All address signals except for bit A2 are input. The two least significant bits (AO, AI) are not input because data is read from microprocessor 601 in 32-bit word units (4-byte units). Furthermore, because address bit A2 is not provided, when reading data from a given area, the four ROMs 606 through 609 output data simultaneously. Data selector 610 sorts the simultaneously output data. Since microprocessor 601 often accesses ROMs at consecutive addresses, two consecutive words (32 bits per word) are read from ROMs 606 through 609 at a time. When consecutive words are actually being read, data selector 610 sequentially switches the banks to which the ROMs belong, reading the data consecutively. This results in extremely fast data output for two consecutive words. On the other hand, RAMs 611 through 614 are 16-bit x 256K = 4M-bit DRAMs, and as shown in II118, are allocated 2M bytes of address space from 20000000h to 201FFFFFh. An additional 2M bytes of memory can be added to cartridge 503, and for this purpose, an expansion RAM interface 615 is provided. This expansion RAM interface 615 is allocated to address space from 20200000h to 203FFFFFFh. Up to 2M bytes of 51MM RAM can be installed in expansion RAM interface 615. The data lines of RAMs 811 through 614 and expansion RAM interface 615 are directly connected to microprocessor 601's data bus DB29, and their address lines are connected to microprocessor 601's address bus AAB via data transfer control unit 603. Note that the I/O addresses of various registers, described below, are allocated starting at 80000000h in the address space. When cartridge 503 is viewed from the electronic control unit 501 of printer 500, the first 128 bytes are allocated to ROM, as shown in the right column of Figure 17. In other words, cartridge 503 also contains a program executed by the CPU 510 of electronic control unit 1501. When cartridge 503 is installed, the CPU 510 of electronic control unit 501 executes a jump command to a specific address in this ROM after completing initialization. Thereafter, the CPU 510 operates according to the processing procedures stored in this ROM. When CPU 510 accesses the first 128 bytes of the 2 MB space allocated to cartridge 503, ROM 618 is accessed by an address signal output via address buffer 617 on cartridge 503's connector-side address bus CAB. The instructions and data stored in ROM 618 are sent to CPU 510 on electronic control unit 501 via data buffer 619 on the connector-side data bus CDH. Note that in Figure 17, "X" indicates the value of the most significant 4 bits of the starting address of the allocated space. D. Explanation of Data Transfer Control Unit 603 In the address map shown in Figure 18, various control and status registers are located at addresses other than those allocated to ROM and RAM. These registers are implemented by data transfer control unit 803, which will be described next. This section focuses on the circuit description, but references will be made to the address map (1117, Figure 8) as appropriate. The data transfer control unit 603 shown in Figure 19 is implemented using a User-Plug 7900 ASIC. This ASIC is a standard cell, model 5SC3630, manufactured by Seiko Epson Corporation, and is a low-power device manufactured using the CMo5 process. The data transfer control unit 803 was designed using the Seiko Epson ASIC Design System rLADSNET, a CAD system. This CAD system provides a library of elements used in logic circuit design, such as latches, flip-flops, counters, and programmable logic arrays. Using these elements, the necessary logic circuit design can be used to automatically generate the ASIC pattern. The data transfer control unit 603, implemented as an ASIC, controls the exchange of data between the CPU 510 of the electronic control unit 501 of the printer 500 and the microprocessor 601 of the cartridge 503 when the cartridge 503 is attached to the connector CNII of the printer 500. Data exchange between the two is achieved by a read control circuit 620 that sends data from the electronic control unit 501 to the cartridge 503 via a read-only data bus, a FIFO control circuit 623 that uses a portion of the same read control circuit 620 to transfer data via a FIFO memory 621, and a double-bank control circuit 624 that enables data prepared by the cartridge 503 to be read from the electronic control unit 501. The FIFO memory 621 is a RAM that stores and reads data in a first-in, first-out order. In this embodiment, a Mitsubishi Electric M6B252FP was used. The data transfer control unit 603 also has an address bus CAB that serves as a signal line to the electronic control unit 501. The data transfer control unit 603 is connected to the address bus CAB via an address buffer 617, and the data bus CDB via a data buffer 619. A first decoder 631 is configured within the data transfer control unit 603, which receives the signal on this address bus CAB and the cartridge select signal C3EL and outputs a selection signal to each unit within the data transfer control unit 603. Similarly, the address bus AAB and control signal CCC from the microprocessor 601 are also connected to the data transfer control unit 603, and a second decoder 632 is configured within the data transfer control unit 603, which receives this address bus AAB and outputs a selection signal to each internal circuit. Furthermore, a second decoder 632 receives this address bus AAB and control signal CCC and outputs a selection signal to each internal circuit within the data transfer control unit 603. A bus control unit 635 is also configured, which outputs address and control signals to RAMs 611 through 814 and expansion RAM interface 615. In addition to these, various registers are configured within the data transfer control unit 603. Reading and writing to these registers is performed by normal read/write operations, and many registers are automatically written when specific processes are performed. The configuration of these special registers will be described later. Furthermore, since cartridge 503 is treated as a dedicated read-only device from the electronic control unit 1501 side, registers that can be written to from the electronic control unit 1501 side are configured to be written by reading from a specified address. In other words, by specifying a specified address, a selection signal is output from first decoder 631, and this signal writes data to the register. Reading from the register is performed by a normal read cycle. Data is read and written from the microprocessor 601 using normal read and write operations. In Figure 49, registers are depicted as connected to a readable bus, with write operations indicated by simple arrows. These registers include an interrupt request register 640, a polling command register 643, a status register (register 511 in Figure 17) 645, a transfer flag register (register 512 in Figure 18) 647, a PROM control register 649, and a control register 650. Of these registers, except for the status register 645 and the transfer flag register 647, these are the collective names for multiple registers assigned as memory addresses 110 to the CPU 510 of the electronic control unit 501 or the microprocessor 601 of the cartridge 503. These multiple registers are not necessarily assigned to consecutive addresses. The interrupt request register 640 has the following registers: 1I Registers AMDINTO, 1, 2 and AMDCLR shown in IJ18 0°1. The polling command register 643 includes the register POLL and the register MC0NTC5. The PROM control register 649 includes the registers EEPCS, EEPSK, and EEPDI. The control register 650 includes the read control circuit 620. This includes all registers not included in the FIFO II circuit 623 and double bank control circuit 624, but not listed above. These are the registers ADDMUXA, ADDMUXB, CLKDIV, RTCVAL, and RTCON shown in Figures 171 and 18. RTCSEL, RTCCLR, and 5YSKEEP. Also, among the 512-byte areas shown in Figures 171 and 18, EWWRL and EWWRH are accessed from the electronic control unit 501 by the first and second latches 651 and 652 of the read control circuit 620. 17 is an area used for writing data to FIFO memory 621, and register EWRD corresponds to latches 851 and 852 as one word, as viewed from the microprocessor 601 side. Registers FIFOREQ, FIFOR9T, and FIFOWR correspond to FIFO register 653 of FIFO control circuit 623, and registers F1RCLK, RDCLK, FIFORD, and RDRST correspond to FIFO read register 655 of FIFO control circuit 623. The FIFO1111 circuit 623 also includes a latch 657 that holds data to be written to FIFO memory 621 using part of the read control circuit 620's functions. The areas indicated by symbols DPRAMA and DPRAMB in FIG. 17 are buffers with a capacity of 32 bytes, and are the first and second registers of double bank control circuit 624. Second buffer 6 58. 659 as seen from the electronic control unit 1501 side. This buffer 858. 659 as seen from the microprocessor 601 side are the banks DPWROA and DPWROB shown in Figure 18. Note that certain bits di and d2 of the status register 645 are also used to exchange data via the double bank control circuit 624; details of these will be discussed later. E. Description of Registers The interrupt request register 640 generates and holds interrupt requests from the electronic control unit 1501 to the microprocessor 601. Three levels of interrupts from the electronic control unit 501 to the microprocessor 601 are available, and as shown in Figure 17, three registers (AMDINTO, 1, and 2) are provided. Reading any of the interrupt request registers 640 from the electronic control bag @501ffi generates an interrupt request to the microprocessor 601. This register is set by a read operation from the electronic control unit 501, but the read data is meaningless and is unrelated to the generation of the interrupt request. A specific example of the configuration of this interrupt request register 640 is shown in Figure 23. These registers are composed of D-type flip-flops, and when the electronic control 811! 501 reads the registers, the first decoder 631 outputs the signal /AMDINTO,1,2, which sets the output terminal Q of each flip-flop 640a+b+c to active low, outputting the interrupt signal /INTO,1,2. Note that the symbol "/" before the signal indicates that the signal is low active (the same applies below). The registers that clear the outputs of these flip-flops 640a+b+c are three read-only registers (AMDCLRo,1.2), as shown in Figure 18. 2) are assigned to specific addresses. Therefore, when microprocessor 601 performs a read operation on each address assigned to this register, second decoder 632 outputs signals /INTCLR0, 1, and 2, respectively, and the corresponding flip-flops are preset. To issue an interrupt request from electronic control unit 501, it simply accesses one of interrupt request registers 640, and microprocessor 601 determines the priority and processes the interrupt request accordingly. In this case, microprocessor 601 clears the corresponding interrupt request register 640a, 640b, or 640c. Signals beginning with "rPUP," such as signal PUP2, are output from reset signal output circuit 637 and go low upon reset, etc. Signal PUP2 shown in Figure 23 is a signal for clearing three interrupt requests at once. The polling command register 643 is a register that passes commands from the microprocessor 801 (II) to the electronic control device 501. It is a register that can be written to by the microprocessor 601 (II) and read from the electronic control device 501. An example of the hardware configuration of this register is shown in Figure 20. As shown, the polling command register 643 can be composed of two off-type D flip-flops 643a*b and one D flip-flop 643c, which form a 16-bit data latch. The data input terminals ID through D of the off-type D flip-flops 843a,b are connected to the data bus DB29 (16-bit bus width) from the microprocessor 601. The output terminals IQ through IQ are connected to the data bus DB88 (16-bit bus width) from the electronic side ALL device 501611. The clock terminal CK of the offal D all flip-flops 643a, b is connected to the signal /MC0NTCS output from the second decoder 632 when the polling command register 643 is accessed from the microprocessor 601 (Figure 18, register MC0NTCS). When this signal goes active low, the contents of the data bus DB29 on the microprocessor 601 side are latched into the offal D all flip-flops 643a, b. The output enable terminal OE, which enables the output of the offal D all flip-flops 643a, b, is connected to the electronic control When polling command register 643 is accessed from device 501 (FIG. 17, register POLL), signal /POLL is output from first decoder 631. When this signal goes active low, the data held in off-type D flip-flops 843a, b is output to data bus DB68 on the electronic control device 501 side. Signals /MC0NTC5 and /POLL are connected to clock terminal C and preset terminal PR of D-type flip-flop 643c. Signal CMDRD from output terminal Q is set high when data is latched by off-type D flip-flops 643a, b (signal /MC0NTC5 goes low), and this data is sent to the electronic control device 501 side. When read from the electronic control unit 501 (signal /POLL is low), it is reset to a low level. The output signal CMDRD of D-type flip-flop 643C is a specific bit d3 (hereinafter referred to as flag CMDRD) of status register 645 that can be output from the electronic control unit 1501. Therefore, by reading this status register 645 from the electronic control unit 1501, the electronic control unit 111j11501 can know that a command has been set in the polling command register 643 from the microprocessor 601. When the electronic control unit 501 sees flag CMDRD, bit d3 of status register 645, and learns that a command has been set, it executes the polling command through a normal read cycle. The microprocessor 601 reads the contents of the polling command register 643, i.e., the command sent from the microprocessor 601. The command contents include an instruction to start transferring print data to the data transfer control unit 603, an instruction to start printing, or a message to display on the console panel 518. When the electronic control unit 501 reads the contents of the polling command register 643, as shown in FIG. 20, the output signal CMDRD of the D-type flip-flop 643c is inverted to high level by the signal /POLL. Therefore, by monitoring a specific bit d2 of this transfer flag register 647, the microprocessor 601 can determine whether the command it output has been read by the electronic control unit 1501. The status register 645 is This register holds the information shown in FIG. 21, in addition to the information indicating whether a command has been set from the microprocessor 601. The contents of each bit will be explained below. Bit d0 is set low by a signal EWRDY generated within the continuous output control circuit 620 when data is written from the electronic control unit 501 (described later). When that data is read by the microprocessor 601, it is reset high by a signal from the second decoder 632. This bit is called flag EWRDY. Bits d1 and d2 indicate whether the double bank control circuit 624 is accessible from the electronic control unit 1501 or the microprocessor 601, respectively. These flags are called ADDMUXA and ADDMUXB. Two bits correspond to each of the two transfer banks built into the double bank control circuit 624. These bits d1 and d2 are set or reset by the microprocessor 601 writing data to bit d0 of register ADDMUXA or ADDMUXAB included in the control register 650, as shown in FIG. 18. Therefore, the microprocessor 601 sets this flag to a low level before writing data to one bank of the double bank control circuit 624, and resets it to a high level after the write is complete. If the electronic control unit 501 reads data from the bank where this flag is high, data will be transferred alternately to the two banks. By writing and reading data, data can be continuously transferred from the microprocessor 601 to the electronic control unit ml501. Bit d3 (flag CMDRD) has already been described. Bit d5 is flag CLKDIV, which is set based on the microprocessor 601's operating clock. The microprocessor 601's operating clock is the clock CLK output from the first oscillator 661 using an external crystal oscillator CRC1. However, when the microprocessor 601 writes a value of 0 to a specific bit dO of register CLKDIV in control register 650, the microprocessor 601's operating clock CLK becomes 25 MHz. Writing a value of 1 to bit dO sets the operating clock CLK to 12. 5 MHz. Status flag CLKDIV in register 645 from the perspective of electronic control unit 501 is set to a low level when this clock CLK is 25 MHz, and 12. This bit is set high when the microprocessor 801 is in sleep mode. When the electronic control unit 501 needs to know the operating clock frequency of the microprocessor 801, i.e., its operating speed, to synchronize data transfer timing, it checks this bit in the status register 645. Bit d6 is a flag, ADMON, that is set high when the microprocessor 601 is operating and set low when it enters sleep mode. In this embodiment, the microprocessor 601 receives page description language (PDL) data from the electronic control unit 501 and expands it to image data. Therefore, if a predetermined time has passed without receiving any PDL data to be processed from the electronic control unit 501, the microprocessor 601 will initially reduce its operating frequency to 172, i.e., 12.5M, to conserve power. 5 MHz, and after a certain amount of time has elapsed, it stops its operation and enters sleep mode. At this time, microprocessor 601 writes a value of 0 to register ADMON in control register 650. As a result, bit d6 of status register 645 goes low from the perspective of electronic control device 1501. By checking this bit, electronic control device 601 can determine the operating mode of microprocessor 601. Note that a real-time clock built into data transfer control unit 603 is used to measure time, etc. This real-time clock clock, RCLK, is generated by a second oscillator 667 constructed using an external crystal oscillator 665. The real-time clock is configured within bus control unit 635 and receives instructions from microprocessor 601 to measure the passage of a predetermined period of time. The crystal oscillator and oscillator are connected to each other. The purpose of the PROM control register 649 is to allow the microprocessor 601's operating clock CLK to be changed independently of the real-time clock's operating clock RCLK. The real-time clock can specify a 4N-type interval timer by setting the d1 bit of registers RTCVAL and RTCSEL, which belong to the control register 650, low or high. The timer can be started by writing a value of 1 to a specified bit dO of register RTCON. Once started, the timer outputs an interrupt request signal to the microprocessor 801 at specified intervals until it is stopped by writing a value of 0 to bit do of register RTCON. Upon receiving this interrupt request signal, the microprocessor 601 reads register RTCCLR and clears the interrupt request. The output of these interval timers is used to count user time and other events in page description language processing. Next, the configuration of the PROM control register 649 will be described. PROM control register 649 includes registers EEPC5, EEPSK, and EEPDI (see Figure 18). These registers are used to exchange data with EEPROM 670, an electrically erasable and rewritable memory built into cartridge 503. In this embodiment, cartridge 503 stores various variables (configuration variables) necessary for the operation of laser printer 500 in EEPROM 870. This EEPROM 670 is a type that reads, erases, and writes data via serial transfer. In this embodiment, an NMC93C68X3 manufactured by NAS Semiconductor Corporation is used. This EEPROM 670 has a storage capacity of 16 bits x 256 bytes (number of registers) and can read, erase, and write the contents of any specified register. When EEPROM 670 is selected by chip select signal C3, it receives data "C" sent to serial data input terminal Din in synchronization with serial data clock SL. The first three bits of the data transfer are interpreted as a command to the EEPROM, and the next eight bits are interpreted as the register number to which data is to be read, erased, or written. When writing data, following these commands and register designation, the data to be stored is applied to data input terminal Din in synchronization with serial data clock SL. Register EEPC5 switches the chip select signal; when microprocessor 601 writes a value of 1 to bit dO of this register, EEPROM 670 is selected. Register EEPSK is a register that generates the serial data clock SK. Microprocessor 801 generates the serial data clock for EEPROM 670 by alternately writing the value 0 and the value 1 to this register. Register EEPDI is a register that holds one bit of data to be written to EEPROM 870. In synchronization with rewriting register EEPSK to generate serial data clock SK, microprocessor 601 rewrites a specific bit dO of register EEPDI according to the data to be written. The data output terminal Dout of EEPROM 670 is a specific bit dO of the transfer flag register 647 described above. Microprocessor 601 outputs a data read command and the number of the register to be read to EEPROM 870, and then reads bit dO of transfer flag register 647 in synchronization with serial data clock SK to read the contents of the specified register. The data stored in EEPROM 870 is preserved even when the power is turned off. The contents of EEPROM 870 can be read immediately after powering on the laser printer 500, restoring the configuration to the state it was in immediately before power was turned off. F. Configuration and Function of the Readout Control Circuit 820 Next, we will explain an example configuration of the readout control circuit 620 and the procedure for data transfer by the readout control circuit 620. The readout control circuit 620 reads ε (pi-bit) x 2 first. Second latch 651. 652, and ROM 871, which outputs the data necessary for transfer, as shown in FI! J22. It also includes a D-type flip-flop 674 that generates the EWRDY flag (bit do) of the status register 645, a counter gate 672, and a status register 645. When viewed from the electronic control unit E501 side, the output control circuit 620 includes this latch 651. 652 corresponds to the two registers EWWRL and EWWRH, which transfer data in 8-bit units, as shown in Figure 17. These registers are used to transfer the lower and upper bytes of one word (16 bits) of data. Second latch 651. When viewed from the microprocessor 601 side, 652 corresponds to the register EWRD shown in FIG. 18. That is, the microprocessor 801111 transmits data to both latches 6521 and 6522 via the data bus DB290. 652 can be read as one word. The ROM 671 of the read control circuit 620 is a ROM that stores 256 bytes of data and can be implemented, for example, using fuse ROM or a small-capacity FROM. Of course, it can also be implemented as part of a larger-capacity ROM. If RAM is used, equivalent functionality can be achieved by transferring data in advance. The address terminals AO through NUA7 of this ROM 671 are connected to the lower 8 bits (Act through AC8) of the address lines from the connector-side address bus CAB, and the data terminals OO through OO7 are connected to the inputs ID through ID8D of the first latch 851 and the second latch 652. The output of ROM 871 is also output to the FIFO control circuit 623 as data buses ZO through Z7 for the FIFO control circuit 623. First latch 651. The output of second latch 652 is connected to data bus DB29 and can be read by microprocessor 601 as register EWRD. The output signal /EWROM of triplet gate 672 is input to chip select CE and output enable OE of ROM 671. When any of the signals /EWWRH, /FIFORWARD, or /EWWRL input to triplet gate 672 goes active low, ROM 671 outputs data from the address specified by the lower 8 bits of connector-side address bus CAH. Signal /EWWRH goes low when the read control circuit 620 specifies the transfer of the upper byte. Signal /EWWRL goes low when the read control circuit 620 specifies the transfer of the lower byte. Signal /FIFOR goes low when the FIFO control circuit 623 specifies the data transfer. Signals /EWWRL and /EWWRH are input to the clock terminals CK of the first latch 651 and the second latch 652, respectively. Therefore, when these signals become active and data is output from ROM 671, the data is read from the first latch 651. The signal EWRDY is held in the second latch 652. Furthermore, since the signal d/EWRRL is also input to the clock terminal C of the D-type flip-flop 674, when the lower byte is transferred, the output Q of the D-type flip-flop 674 is inverted to a low level. This output EWRDY is treated as the bit dO of the status register 645 and bit d1 of the transfer flag register 647, i.e., the flag EWRDY. First latch 651. The second latch 652 is treated as the register EWRD by the microprocessor 601. Therefore, when attempting to read data stored in the first latch 51 and the second latch 52, the microprocessor 601 performs a read operation on the register EWRD. At this time, the signal /EWRD becomes active low, and this signal is transmitted to the first latch 651 connected to the output enable terminal. The previously held data is output to the output of second latch 652, i.e., data bus DB29. This signal /EWRD is connected to preset terminal PR of Off flip-flop 674, so that as soon as the data in first latch 651 and second latch 652 is read from microprocessor 601, signal EWRDY, the Q output of D-type flip-flop 674, is inverted to a high level. In other words, bit d0 of status register 645 and flag EWRDY, which is bit d1 of transfer flag register 647, are set to a value of 1. Based on this hardware configuration, electronic control unit 501 and microprocessor 601 transfer data from electronic control unit 11501 to microprocessor 601 in the following manner: The data transferred from the electronic control device 501 to the microprocessor 601 is print data received by the electronic control device 501 from the workstation 507, and is a page description language program to be processed by the microprocessor 601 of the cartridge 503. Data transfer by the read control circuit 620 is performed by the data transfer processing routine to the cartridge (FIG. 24) executed by the CPU 510 of the electronic control device 501, and the data read interrupt processing routine (1m26) executed by the microprocessor 601 of the cartridge 503. Once the print data to be transferred to the cartridge 503 is ready, the CPU 510 initiates the process shown in the flowchart of FIG. 24, first reading the EWRDY flag (bit do) of the status register 645 (step 5700). This EWRDY flag is stored in the first latch 651 of the read control circuit 620. When data is set in the second latch 652, it becomes 0, and when the data is read by the microprocessor 601, it is set to 1. Next, a determination is made as to whether the EWRDY flag is 1 (step 3705). The microprocessor waits until the EWRDY flag becomes 1. If it does, it then reads the address of (the starting address of area EWWRH + the data D to be transferred x 2) (step 5710). When a read operation is performed on area EWWRH, data is read from ROM 671. As shown in FIG. 25, 256 pieces of data, from 00h to FFh, are written sequentially to even-numbered addresses starting from the starting address EWWRH in ROM 671. Data is not placed at odd addresses because CPU 510 typically accesses data in single words (16 bits), and word-by-word access starting from an odd address is not possible (this would result in an address bus error). When a read operation is performed on an address DX2 away from the beginning of area EWWRH, data D is read from ROM 671 and latched in second latch 652, as shown in FIG. 22. After the upper byte of the data to be transferred has been transferred (second latch 652 holds the data), CPU 510 similarly transfers the lower byte (first latch 651 holds the data) (step 5715). Through the above process, one word's worth of data is stored in the first latch 652. Second latch 651 . Assuming that the data is held in first latch 652, CPU 510 sets one of the interrupt request registers (AMDINTO in this embodiment) (step 5720). CPU 510 then repeatedly executes the transfer processing routine shown in FIG. 24. However, once the data is held in first latch 651, as shown in FIG. 22, flag EWRDY is set low. Therefore, the next data transfer process is not performed until flag EWRDY becomes high (value 1) (step 8700). 705). When the CPU 510 sets the interrupt request register (AMDINTO), the microprocessor 601 accepts this interrupt request and initiates the data read interrupt processing routine shown in Figure 26. This processing is initiated by the first. Immediately after the data is held in the second latches 851 and 652, microprocessor 601 reads register EWRD to read one word of data prepared by electronic control unit 501 (step 5730). Microprocessor 601 then transfers this data to a designated area in RAM 611 through 614 (step 5735). Through the above-described process, electronic control unit 1501 can transfer data to cartridge 503, which is only connected via data bus CDB, a dedicated line. Furthermore, since data is written in bytes and read in words, microprocessor 601 can efficiently retrieve data. While the example shown here illustrates the transfer of one word of data, data transfer does not have to be in words; it can also be in bytes. In this case, transfers are performed only using the EWWRL area, and microprocessor 801 discards the upper 8 bits of data. G. Configuration and Function of FIFO Control Circuit 623 FIFO control circuit 623 includes a latch 657 that latches data to be written to FIFO memory 621, a FIFO write register 653 that controls the writing of data to this FIFO memory 621, and a FIFO read register 655 that also controls the read/write operation. This FIFO memory 621 It can store 1,152 bytes of data and is equipped with an internal write address counter and a read counter. FIFO memory 621 is equipped with a write reset terminal and a read reset terminal for resetting these counters, respectively, an 8-bit write data bus, an 8-bit read data bus, a write clock terminal, and a read clock terminal. To transfer data from electronic control device 501m to microprocessor 601 using this FIFO memory 621, CPU 510 of electronic control bag 501 executes the transfer processing routine shown in Figure 27, and microprocessor 601 of cartridge 503 executes the processing routine shown in Figure 28. First, the processing routine shown in the flowchart of Figure 27 will be explained. Electronic device 11b Transferring multiple bytes of data When the CPU 510 of the electronic control unit 501 initiates the data transfer processing routine shown in Figure 27, it first reads register PIFOR5T belonging to the FIFO write circuit 654 of the FIFO control circuit 623 and resets the write-side address counter (step 5750). Next, it resets variable N to the value 0 to count the number of data items to be sent (step 5755). It then reads the address (the starting address of register FIFOWR + the data DX2 to be transferred) (step 8780). Reading this address accesses a specific address in ROM 671 (see J25), just as with the control circuit 620, and outputs the data D that the CPU 510 intended to transfer. This data is then stored in latch 657 via buses ZO through Z7 shown in Figure 22. The data D held in latch 657 is then latched by the FIFO control circuit 623. Next, register FIFOREQ of the FIFO control circuit 623 is read, and data D held in latch 657 is transferred to the FIFO memory 621 (step 5765). Reading register FIFOREQ outputs a write clock to the write-side clock terminal of FIFO memory 621, and data D held in latch 657 is written to the address indicated by the write-side address counter of FIFO memory 621. At the same time, the contents of the write-side address counter in FIFO memory 621 are incremented by 1. After writing one byte of data in this way, variable N, which indicates the number of transferred data, is incremented by 1 (step 5770), and a determination is made as to whether variable N is equal to the total number of bytes X of data to be transferred (step 5775). Therefore, the above-described processing of steps 5760 through 5775 is repeated until the transferred data bytes @N equals the total number of data bytes X. When all data transfers are complete, the CPU 510 sets one of the interrupt request registers (AMDINT1), notifies the microprocessor 601 that the data transfer is complete (step 5780), and exits to rNEXTJ, terminating this processing routine. Meanwhile, upon receiving this interrupt request AMDINT1, the microprocessor 601 initiates the data receive interrupt routine, the flowchart of which is shown in Figure 28. Upon initiating this routine, the microprocessor 601 first reads register RDR8T, which belongs to the FIFO read register 655 of the FIFO control circuit 623, and resets the address counter on the read side of the FIFO memory 821 (step 5800). Next, the microprocessor 601 sets the value of variable M, which counts the number of received data, to 0 (step 5805). Next, the register FIRCLK' belonging to the FIFO read register 655 is read (step 5810), and the read data is transferred to a specified area in RAM 811 or 614 (step 5815). When register FIRCLK is read, a read clock is output to the read-side clock terminal of FIFO memory 621, and data D from the address indicated by the current read-side address counter is read. At the same time, the contents of the read-side address counter in FIFO memory 621 are incremented by one. Note that, since what is typically transferred via FIFO memory circuit 623 is a page description language program, the received data is immediately transferred to the RAM area and prepared for image data development. When one byte of data is received, the variable M is incremented by one (step 5820), and a determination is made as to whether this variable M is equal to the total number of bytes of data to be transferred, X (step 5825). Therefore, steps 5810 through 5825 are repeated until the number of bytes of received data, M, matches the total number of bytes of data, X. When it is determined that all data has been received, the microprocessor 601 writes a command indicating completion of data reading to the polling command register 643 (step 5630). By reading the contents of this polling command register 643, the CPU 510 on the electronic control unit 501 can determine that data reception by the FIFO control circuit 623 has been completed. The microprocessor 601 then exits to rRNTJ and terminates this processing routine. The above-described processing enables efficient transfer of large amounts of data from the electronic control unit 501 to the microprocessor 601. The transferred data is stored in a designated area of RAM 611-614 of data transfer control unit 603 and awaits processing by microprocessor 601. When microprocessor 601 receives all print data (a program written in a page description language) to be rendered from electronic control unit 1501, it activates the page description language interpreter stored in ROM 606-608 and processes the print data stored in a designated area of RAM 611-614. This processing renders the image, and the rendered results are stored as image data in a designated area of RAM 611-614. H. Configuration and Function of Double Bank Control Circuit 624: The image data obtained after rendering is then transferred to electronic control unit 1501, stored in RAM 612, and printed by laser engine 505 at the designated timing. The double bank control circuit 624 performs this image data transfer. The double bank control circuit 624 transfers data from the microprocessor 801m to the electronic side device 50161 and has two sets of banks that store 32 bytes (16 words) of data. These are called Bank A and Bank B, but since the hardware is identical, only an example of the configuration of Bank A is shown in Figure 29. Each bank is configured so that its address and data bus can be switched between the microprocessor 601m and the electronic side 601m. As shown, data selectors 681, 682 select the address line. Four off-line buffers 684 to 687, used in pairs to select the data bus (16 bits wide). RAM with 32 bytes of storage capacity 891. The microprocessor 601 is composed of a RAM 692, and other gates, OR gates 694, 695, and inverter 696. The rEJ29 uses two memory chips with a storage capacity of 32 bytes, but this can also be achieved by switching the upper address of a single memory chip. Data selector 68 selects and outputs the least significant four bits (AC1 through AC4) of the address bus CAB of the electronic control unit ff1501111 and the least significant four bits (A2 through A5) of the address bus AAB of the microprocessor 601. The address bus is selected by the ADD MUXA signal (bit do of register ADDMUXA) connected to select terminal S. Data selector 682 selects RAM 691. in accordance with the address bus selection. The ADDMUXA signal connected to the same select terminal S switches the read and write signals of RAM 691, 692. Either signal is connected to the chip select terminals CE1, CE2, CE3, CE4, CE5, CE6, CE7, CE8, CE9, CE10, CE11, CE22, CE33, CE34, CE35, CE36, CE37, CE38, CE39, CE40, CE41, CE42, CE43, CE44, CE45, CE46, CE47, CE48, CE49, CE41, CE42 ... 2. Switches whether or not it is connected to the output enable terminal OE. Ophthalmic line buffer y884. 685 is a tri-state type line buffer connected to data bus DB29. When gate terminals IG and 2G go low, the data bus DB29 on the microprocessor 601 side and RAM89 1. 692 data bus is connected to the microprocessor 601 ([1 to RAM 891. 692. Ophthalmic Line Buffer 684. The output of OR gate 694, which receives signals /DPWROA and ADD MUXA, is connected to gate terminals IG and 2G of 885. Signal /DPWROA goes low when microprocessor 601 attempts to write data to bank A. Therefore, if bit dO of register ADDMUXA is set low beforehand to write data to bank A, then when microprocessor 601 attempts to write data to bank A, offal line buffer 684. The gate of 685 opens, and the data output to data bus DB29 is output to the data buses of RAMs 691 and 692 and written thereto. On the other hand, when the gate terminals IG and IG of ophthalmic line buffers 68B' and 687 go low, they connect data bus DB88 on the electronic control 811501 side to the data buses of RAMs 691 and 692, thereby disabling RAM 691. Data can now be read from 692 to electronic control unit 1501. The gate terminals IG and 2G of ophthalmic line buffers 686 and 687 are connected to the output of OR gate 695, which receives signal /DPOEIA and signal ADDMUXA inverted by inverter 696. Signal /DPOEIA goes low when electronic control unit 501 attempts to read data from Bank A. Therefore, if bit dO of register ADDMUXA is set high in advance to read data from Bank A, when electronic control unit 501 performs a continuous data transfer operation on Bank A, the gates of ophthalmic line buffers 886 and 887 open, and the data output to the data bus of RAM 691 and 692 is output to data bus DB68. Based on this hardware configuration, we will now explain the image data transfer process performed by microprocessor 601 and the reception process performed by CPU 510 of electronic control device 501. Figure 30 is a flowchart showing the image data transfer start processing routine performed by microprocessor 601. As shown, prior to transferring image data, microprocessor 601 sets a transfer start command in polling command register 643 (step 5850). The CPU 510 of electronic control device 501 reads the command in polling command register 643 and executes the response processing routine shown in Figure 31. That is, electronic control unit 501 determines whether laser printer 500 is ready to print (step 5880). If so, it sets one of the interrupt request registers (AMDINT2) (step 5865) and exits to rNEXTJ, temporarily terminating this routine. If laser printer 500 is not ready to print, it notifies microprocessor 601 of cartridge 503 (step 5870). An inability to print refers to a situation in which printing is not possible even when image data is transferred, such as when laser engine 505 has not yet warmed up or a paper jam has occurred. Upon receiving interrupt request signal AMDINT2 from electronic control unit 501, microprocessor 601 initiates the image data transfer interrupt processing routine shown in FIG. 32. When this process is initiated, the microprocessor 601 first writes a value of 1 to bit dO of register ADDMUXA (step 5900). If bit dO of register ADDMUXA is set to a value of 1, then, as explained using FIG. 29, RAM 691., which constitutes bank A, is written to the RAM 691. The data bus of 692 is connected to the data bus DB29 on the microprocessor 601 side, and access from the electronic control unit 1501 side is disabled. Next, microprocessor 601 transfers 16 words (32 bytes) of data to bank A DPWROA (step 5902). After writing the data to bank A DPWROA, signal /DPWROA shown in FIG. 29 goes low, and off-chip line buffer 884. Data is sent to RAM 691 via 685. 692. Upon completion of the 16-word data transfer, microprocessor 801 writes the value 1 to bit dO of register ADDMUXA (step 5904) and connects the data bus of RAMs 691 and 892 constituting Bank A to data bus DB68 of electronic control unit 501. Microprocessor 601 then writes command data to polling command register 643 indicating the completion of the transfer to Bank A (step 5908). This completes the data transfer to Bank A, and microprocessor 601 then executes the same process as described above for Bank B (step 5910). When the data transfer to Bank B is complete, microprocessor 601 writes command data to polling command register 643 indicating the transfer is complete. This completes the transfer of a total of 32 words (64 bytes) of data from cartridge 503 to Banks A and B. In response to the processing of microprocessor 601 described above, CPU 510 of electronic control bag 1501 executes the image data reception processing routine shown in FIG. 33. That is, CPU 510 first reads bit d3 of status register 645, i.e., flag CMDRD (step 5920), and determines whether it is set to the value 0 (step 5925). If command data is written to polling command register 643 from microprocessor 601, flag CMDRD is set to the value 0. At this time, CPU 510 reads the command data from polling command register 643 (step 5930). The read command data is then checked to determine whether it indicates that data transfer from bank A has been completed (step 5935). If not, other processing is performed (step 5940). If the command data in polling command register 643 indicates that the data transfer for bank A is complete, electronic control unit 1501 reads 16 words from bank A DPRAMA (see Figure 17) (step 5945) and transfers the read data to RAM 512 (step 5950). Since the above process completes the reading of 16 words of data from bank A, electronic control unit 501 sets one of the interrupt request registers (AMDINT2) to allow microprocessor 801 to transfer the next 16 words. Next, steps 5920 through 5955 described above are executed for bank B. That is, when the microprocessor 601 determines from the command data in the polling command register 643 that the data transfer from bank B to bank B is complete, it reads 16 words of data from bank B DPRAMB and transfers them to RAM 512. It then sets one of the interrupt request registers to issue an interrupt request to microprocessor 601. Upon receiving this interrupt request, microprocessor 601 re-executes the interrupt processing routine shown in FIG. 32. Therefore, the transfer of all image data is completed when microprocessor 601 and CPU 510 execute both routines (FIGS. 32 and 33). If no new print data is received from electronic control unit 501 after the transfer of all image data, microprocessor 601, after a predetermined time has elapsed, writes a value of 1 to register CLKDIV in control register 650 and halves its operating frequency to 12. 5 MHz, reducing power consumption and heat generation. Printing Image Data Meanwhile, the electronic side mam 50t, which has received all the image data, prints the image data while exchanging signals with the laser engine 505 using the double buffer circuit 520 and register 517 described above. Figure 34 shows a simplified diagram of the signal exchange between the electronic control unit 501 and the laser engine 505. Referring to this diagram, we will explain the printing overview. Upon receiving image data extracted from the cartridge 503, the electronic control unit 1501 inquires whether the laser engine 505 is ready to print. If it determines that warm-up and other procedures are complete and the laser engine 505 is ready to print, it outputs the print signal shown in Figure 34 to the laser engine 505 via register 517. Upon receiving this signal, the laser engine 505 immediately starts the paper feed motor. Synchronously, photosensitive drum rotation, charging, and other processes begin. When the paper to be printed reaches a position a predetermined distance away from the photosensitive drum, laser engine 505 detects the leading edge of the paper and outputs signal VREQ to electronic control unit 501 via register 517. Upon receiving signal VREQ, electronic control unit 501 waits a predetermined time, i.e., the time required for the photosensitive drum to rotate to a position where latent image formation by the laser beam begins, and then outputs signal VSYNC via register 517. Upon receiving signal VSYNC, laser engine 505 outputs a horizontal synchronization signal (ISYNC) for the laser beam via register 517. Since signal HSYNC corresponds to a signal instructing the start of reading one line of image data, laser engine 505 synchronizes with this signal and reads the image data from one of RAMs 520A or 520B of double buffer circuit 520. When forming a top margin, the VSYNC signal is ignored for the number of lines corresponding to the top margin. This control is also performed when forming a bottom margin. At the same time, CPU 510 counts this signal and transfers the necessary image data to RAM 520A or RAM 520B of double buffer circuit 520. A predetermined amount of time has passed since laser engine 505 detected the trailing edge of the paper, and when the horizontal synchronization signal value becomes equal to a value preset according to the paper size, CPU 510 terminates the transfer of image data to double buffer circuit 520. Through the above process, one page's worth of image data is transferred to laser engine 505, and the image is printed on the paper. [iii. Other (1) While the above describes an embodiment in which the present invention is applied to a printer, the present invention is not limited to printers; it can also be applied to, for example, word processors, personal computers, and workstations. In recent years, such computer-related devices often have expansion slots and the ability to accommodate cartridge-type expansion devices such as IC cards. In such word processors, personal computers, etc., equipped with expansion slots or IC cards, the cartridge of the present invention can be inserted and the processing of the main processor can be transferred to processing stored in the cartridge's built-in memory using monitor commands, etc., and information can be processed together with the cartridge's processor. This makes it easy to improve, add, or change information processing functions. Furthermore, since the processing content can be changed in any way once control is transferred to the cartridge, it is possible to easily change the processing content of already sold devices. This allows for the modification or improvement of functions, as well as the upgrading of software in various dedicated devices such as word processors. In this way, the present invention can be applied to cartridges for any processor-based device, such as in-vehicle electrical equipment, facsimiles, telephones, electronic organizers, electronic musical instruments, electronic cameras, translators, handy copiers, cash dispensers, remote control devices, and calculators, and any other information processing device that can be connected via a connector. In such information processing devices, if the main processor has the ability to recognize the cartridge and transfer its processing to an address prepared on the cartridge, it is easy to implement the cartridge of the present invention in existing electronic devices. Even if such functionality is not provided, various methods can be considered for transferring the main processor to processing stored on the cartridge. When reading data from a specified address, esooo-based processors check whether data is established on the data bus. The output device (slave) determines whether or not a jump instruction to an absolute address is being executed based on a DTACK signal sent back to the processor. Therefore, when the mainframe's processor attempts to execute a jump instruction to an absolute address while executing a process stored in the mainframe's ROM, the cartridge analyzes the instruction and detects that the jump instruction is to an absolute address. Then, before the mainframe's ROM outputs the absolute address of the jump destination to the data bus, the cartridge's built-in ROM's execution address is output to the data bus and a DTACK signal is returned to the mainframe's processor, forcing the process to proceed to a specified address within the cartridge. Once the process has been transferred to the cartridge's ROM, subsequent processing can be configured in any way. While this example assumes that the mainframe's processor executes a jump instruction to an absolute address, it is important to note that the jump instruction itself is also generated from the mainframe's ROM. However, when the instruction scene is first read from ROM after power-on, it is also possible to configure the cartridge to place a code equivalent to a jump command on the data bus and return a DTACK signal prior to reading the instruction scene. While these approaches may result in DTACK signal contention, they are feasible with careful analysis of bus timing. (2) The present invention is not limited to the above embodiments. It goes without saying that various embodiments within the scope of the present invention may be implemented, such as a cartridge with a built-in outline focus receiving data such as character point size from the printer, generating a bit image of the character at a specified point size, and transmitting it to the printer; a cartridge simply storing and displaying data received from an electronic device without any particularly complex processing; or a printer in which the printer is an inkjet printer.
この発明にかかる電子装置用カートリッジは、プロセッサを用いたあらゆる装置 、例えばワープロ、パーソナルコンピュータ、ワークスチーシロン、車載の電装 品、ファクシミリ、電話、電子手帳、電子楽器、電子カメラ、翻訳器、ハンディ コピー、キャッシュディスペンサ、リモコン装置、電卓など、コネクタにより接 続可能なあらゆる情報処理vir11のカートリッジに適用可能である。The electronic device cartridge of this invention can be used in any processor-based device, such as word processors, personal computers, workstations, automotive electronics, fax machines, telephones, electronic organizers, electronic musical instruments, electronic cameras, translators, handheld copiers, cash dispensers, remote control devices, and calculators, as well as any other information processing device that can be connected via a connector.
Claims (30)
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPWO1993023825A1 true JPWO1993023825A1 (en) | 1994-05-12 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0608418B1 (en) | Cartridge for electronic apparatus | |
| US7804688B2 (en) | Apparatus including processor | |
| EP0572668B1 (en) | Apparatus and method for processing information, and additional control device used therein | |
| WO1993016883A1 (en) | Additional electronic device and electronic system | |
| JPWO1993016883A1 (en) | Additional electronic devices and systems | |
| US5437041A (en) | Device and method for exerting force on circuit mounted on board through opening of the board to facilitate the thermal conduction between circuit and housing | |
| JPWO1993008027A1 (en) | Accessory control device and information processing device using the same | |
| US5537517A (en) | Information processing device in an electronic apparatus utilizing an accessory control device and methods of application | |
| JPWO1993017875A1 (en) | Accessory control device and information processing device using the same | |
| WO1993018922A1 (en) | Apparatus and method for processing information, and additional control device used therein | |
| US5461705A (en) | Information processing device in an electronic apparatus utilizing an accessory control device and methods of application | |
| JPWO1993023825A1 (en) | Cartridges for electronic devices | |
| JP3284416B2 (en) | Electronic device cartridge | |
| JPWO1993016882A1 (en) | Additional electronic devices and systems | |
| WO1993025957A1 (en) | Information processing apparatus and additional control device used therefor, and information processing method therefor | |
| JPWO1993025957A1 (en) | Information processing device, accessory control device used therefor, and information processing method | |
| JPWO1993016881A1 (en) | Model identification device and method | |
| WO1993016881A1 (en) | Type discrimination device and method thereof |