JPS63231957A - Controller for printer - Google Patents

Controller for printer

Info

Publication number
JPS63231957A
JPS63231957A JP62067041A JP6704187A JPS63231957A JP S63231957 A JPS63231957 A JP S63231957A JP 62067041 A JP62067041 A JP 62067041A JP 6704187 A JP6704187 A JP 6704187A JP S63231957 A JPS63231957 A JP S63231957A
Authority
JP
Japan
Prior art keywords
data
program
printer
host
processing
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
Application number
JP62067041A
Other languages
Japanese (ja)
Inventor
Ikunori Yamaguchi
山口 郁準
Yoshikazu Ikenoue
義和 池ノ上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Minolta Co Ltd
Original Assignee
Minolta Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Minolta Co Ltd filed Critical Minolta Co Ltd
Priority to JP62067041A priority Critical patent/JPS63231957A/en
Priority to DE3809439A priority patent/DE3809439C2/en
Publication of JPS63231957A publication Critical patent/JPS63231957A/en
Priority to US07/529,734 priority patent/US5276802A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0014Transforming the printer input data into internal codes

Abstract

PURPOSE:To enable a wide variety of printers and information processors to be kept up with, by a method wherein a controller for a printer is equipped with a program processing means capable of execution of an external program by time sharing. CONSTITUTION:A host process 65 for writing a data in a packet buffer 308 and a packet process 64 for sending a data via a print engine interface 311 are contained in ROM 305. Then, a scheduler 62 written in the system ROM 305 switches each process by a timer interrupt 61 from a timer 302. Further, a user process 66 is loaded on a system ROM 307 and processed by time sharing in the same way as for other process by the scheduler 62. By taking such a structure, data of other protocol can be optionally kept up with by changing the user process 66.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はプロトコル仕様の異なる複数の情報処理装置
に幅広く対応することができるプリンタ?:Qi 〔従来の技術〕 コンビエータなど情報処理システムにおいては入出力装
置、例えばプリンタとホスト機である情報処理装置間で
制御情報や記録情報が授受されるが、ホスト機と入出力
装置との両方で解読可能な所定のプロトコル(通信規約
)にしたがって情報の授受がなされなければ作動しない
、このため、ホス)機のプロ)コル仕様に従って入出力
機器、例えばプリンタのプロトコル仕様も定められるこ
とになるから、プリンタはホスト機専用のものとしで*
*されるか、あるいはプリンタ独自のプロトコル仕様を
備えるにしでも、ホスト機に対応するための専用のプロ
トコル変換装置を備えなければならなかりた。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention provides a printer that can be broadly compatible with a plurality of information processing devices having different protocol specifications. :Qi [Prior Art] In an information processing system such as a combiator, control information and recorded information are exchanged between an input/output device, such as a printer, and an information processing device that is a host machine, but both the host machine and the input/output device It will not work unless information is exchanged according to a predetermined protocol (communication protocol) that can be decoded by the computer.For this reason, the protocol specifications for input/output devices, such as printers, are also determined according to the protocol specifications for the host machine. Therefore, the printer should be used exclusively for the host machine*
*Also, even if the printer has its own protocol specifications, it is necessary to have a dedicated protocol conversion device to support the host machine.

プロトコル変換装置としては、ホスト機側から出力され
る制御情報を、その要求する機能に相当するプリンタ側
の制御情報に変換するプロトコル変換プログラムをプリ
ンタ側のvi御用プロセッサで作動させ、ホスト機から
出力される制御情報をプリンタのもつ制御情報に変換す
るものが一般的であった。
As a protocol conversion device, a protocol conversion program that converts control information output from the host machine side into control information on the printer side corresponding to the requested function is run on the VI processor on the printer side, and is output from the host machine. It was common to convert the control information provided by printers into control information possessed by the printer.

この場合、プリンタ側では変換された制御情報から更に
プリンタの動作を制御する内部パラメータに解読変換す
るプロセスがおこなわれる。
In this case, the printer side performs a process of decoding and converting the converted control information into internal parameters that further control the operation of the printer.

しかしながら上記した従来のプロトコル変換手段による
ときは、プリンタを多種類のホスト機に接続可能とする
ためにはそれらのホスト機の種類に相当する数だけのプ
ロトコル変換プ豐グラムを準備しなければならない、こ
の変換プログラムは接続可能とすべさホスト機の種類が
増えれば増えるだけ莫大なプログラムステップのものと
なり、しかも笑際の稼動時には特定のホスト機に対応し
ているだけであるから変換プログラムの一部が使用され
るにすぎず、プログラム開発やプログラム実装の面にお
いて極めて効率の悪いものとなってしまう。
However, when using the conventional protocol conversion means described above, in order to connect the printer to many types of host machines, it is necessary to prepare as many protocol conversion programs as there are types of host machines. As the number of types of host machines that can be connected increases, this conversion program becomes a huge number of program steps.Moreover, at the time of operation, it only supports a specific host machine, so one part of the conversion program is This results in extremely inefficient program development and program implementation.

また、接続可能とするホスト機の種類に対応したプロト
コル変換プログラムをROMに格納しておき、接続する
特定のホスト機が決定したと!lROMを交換して所定
のプロトコル変換プログラムを実装する方法も考えられ
るが、プログラム開発の手数は先の場合と変らず、また
プログラムを格納したROMの作成などの手数と経費を
要することになるから、1種類のプリンタ等の入出カー
機器を多種類のホスト機に接続可能とすることは効率の
悪いものとなっていた。
In addition, a protocol conversion program corresponding to the type of host machine that can be connected is stored in the ROM, and once a specific host machine to be connected has been determined! One possibility is to replace the ROM and implement a predetermined protocol conversion program, but the effort required to develop the program will be the same as in the previous case, and the effort and expense of creating a ROM that stores the program will be required. However, it has been inefficient to connect one type of input/output car equipment such as a printer to many types of host machines.

これらの問題に対応し、変換手段の構成を?!!潔なも
のにするため、本出願人は先に特願昭61−19168
3号として、異なるプロトコル仕様をもつ情報処理装置
から出力される制御情報を、その制御情報が指定する機
能に対応するプリンタ機能情報に変換する変換手段と、
変換されたプリンタ機能情報に基いてこの機能に対応す
るプリンタ機能手段を制御するプリンタ機能制御手段を
複数の変換テーブルとして備えるプリンタ制御装置を提
案した。
How to configure the conversion means to address these issues? ! ! In order to keep the information clean, the applicant first filed the patent application No. 61-19168.
No. 3 is a conversion means for converting control information output from an information processing device having different protocol specifications into printer function information corresponding to a function specified by the control information;
A printer control device has been proposed that includes printer function control means as a plurality of conversion tables, which controls printer function means corresponding to the converted printer function information based on the converted printer function information.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

しかしながら、現在、市場に出でいるプリンタが採用し
てい、るプロトコル仕様は多種多様であるので、その中
には例えば7tントのW埋方法の相違により、上記本出
願人の発明のような変換テーブルのみでは対応できない
ようなプロトコル仕様も存在する。
However, since there are a wide variety of protocol specifications currently adopted by printers on the market, some of them, for example, differ in the method of embedding 7 tons of W, resulting in conversions such as the invention of the applicant mentioned above. There are also protocol specifications that cannot be supported by tables alone.

〔問題点を解決するための手段〕[Means for solving problems]

この発明は上記した問題点に鑑みでなされたものであり
、多種多様なプリンタおよび情報処理装置に幅広く、対
応することが可能なプリンタ制御装置を提供することを
目的とするものである。
The present invention has been made in view of the above-mentioned problems, and it is an object of the present invention to provide a printer control device that can be broadly adapted to a wide variety of printers and information processing devices.

まず、この発明のプロトコル変換手法の概念について説
明する。第27 (b)図は本出願人の先順のプリンタ
制御装置におけるプロトコル変換手法のデータの流れを
示したもので、プロトコル変換のプログラムを持ったプ
ロトコル解析部は一つであり、プロ)コルA・・・nの
解析時に参照する変換テーブルA・・・nを各プロセス
毎に複WLgA持つ形態をとる。従って、ユーザが希望
するプロトコルの変換テーブルA・・・nをディップス
イッチ、またはホスト機A・・・nからのコマンドによ
り変更すれば、そのプロトコル仕様のホス)?jlA・
・・nと接続が可能になる。ユーザが任意のプロト?ル
に対応しようと思えば、変換テーブルA・・・nを書き
替えればよい。
First, the concept of the protocol conversion method of the present invention will be explained. Figure 27 (b) shows the data flow of the protocol conversion method in the applicant's prior printer control device. Each process has multiple WLgA conversion tables A...n that are referred to when analyzing A...n. Therefore, if the user changes the conversion table A...n of the desired protocol using a DIP switch or a command from the host device A...n, the user can change the conversion table A...n of the protocol specified by the user using the DIP switch or a command from the host device A...n. jlA・
...Connection with n becomes possible. Any proto user? If you want to correspond to the file format, all you have to do is rewrite the conversion table A...n.

2八に対し、この発明のプリンタ制御装置におけるプロ
トコル変換手法は第27 (a)IXIにそのデータの
流れを示したとおり、プロトコル変換プログ2ムを持っ
たプロFコル解析部とその変換テーブルBは固定とし、
プロトコル解析部の前段に任意のプロトコル仕様A・・
・nからプリンタ制御装置に採用されているプロトコル
仕様(ホストプロトコル)に変換する複数個または書き
替え可能なユーザプロセスA・・・nを設け、そのプロ
グラムを走らせることにしている。
28, the protocol conversion method in the printer control device of the present invention includes a protocol analysis section having a protocol conversion program 2 and its conversion table B, as shown in Section 27 (a) IXI. is fixed,
Arbitrary protocol specification A before the protocol analysis section...
- A plurality of or rewritable user processes A...n are provided to convert from n to the protocol specifications (host protocol) adopted by the printer control device, and the programs are run.

そこで、この発明のプリンタ制御装置は、少なくともプ
リンタ制御装置本体の制御プログラム以外のプログラム
を記憶可能な記憶手段と、記憶手段への外部プログラム
を入力する入力手段と、制御プログラムと外部プログラ
ムを時分割により実行可能なプログラム処理手段とを備
えたことを特徴とするものである。
Therefore, the printer control device of the present invention includes a storage means capable of storing at least programs other than the control program of the main body of the printer control device, an input means for inputting an external program to the storage means, and a time-sharing method for storing the control program and the external program. The invention is characterized by comprising a program processing means that can be executed by.

〔作用〕[Effect]

記憶手段は、プリンタ制御装置本体の制御プログラム以
外の外部プログラム、例えばプロトコル変換プログラム
を記憶するものである。
The storage means stores external programs other than the control program of the main body of the printer control device, such as a protocol conversion program.

入力手段は、7オント々−トリックなどの外部カートリ
ック、または内JIROMさらにホスト慨から制御装置
本体の記憶手段にプロトコル変換プログラムをダウンロ
ードする。
The input means downloads the protocol conversion program from an external cartridge such as a 7-on-trick or an internal JIROM, or from the host to the storage means of the main body of the control device.

プログラム処理手段は、プロトコル変換プログラムと制
御プログラムを時分割により実行させる。
The program processing means executes the protocol conversion program and the control program in a time-sharing manner.

プロトコル変換プロセス自体が独立したプログラムとし
で扱われるので、その変換プロセスがデータ変換という
簡単なプログラムとなる。
Since the protocol conversion process itself is treated as an independent program, the conversion process becomes a simple program called data conversion.

〔実施例〕〔Example〕

以下、この発明の実施例について説明する。 Examples of the present invention will be described below.

[電子写真プリンタの構成」 まず、プリンタおよびプリンタ・コントローラの概略構
成について説明する。
[Configuration of Electrophotographic Printer] First, the schematic configuration of the printer and printer controller will be described.

第1図は、本発明の実施例であるグラフイク描画の可能
なプリンタ・システム10による処理システムの構成で
ある。汎用のデータ処理装置1からのデータは、データ
処理装置1のスルーブツトを改善するために、ファイル
バッファ2に格納された後、プリンタ争システム10に
出力される。
FIG. 1 shows the configuration of a processing system using a printer system 10 capable of graphic drawing, which is an embodiment of the present invention. Data from a general-purpose data processing device 1 is stored in a file buffer 2 and then output to a printer processing system 10 in order to improve the throughput of the data processing device 1.

プリンタ・システム10は、ビットマツプ方式のデータ
処理装置BMU3と、電子写真プロセスと、レーザを用
いたプリントエンジン4と、外部給紙ユニット5やソー
タ6等の付属装置よりなる。
The printer system 10 includes a bitmap type data processing unit BMU3, an electrophotographic process, a print engine 4 using a laser, and accessory devices such as an external paper feed unit 5 and a sorter 6.

第2図は、プリンタシステムの外観を示すものである。FIG. 2 shows the appearance of the printer system.

プリントエンノン4は、8MU3を白滝しており、アク
セサリとして外部給紙ユニツ)PFU5と、ソーター6
が接続可能である。*た、プリントエンノン4には、シ
ステムの状態を示す表示や、簡単な操作を打なうための
キイが並べ−られた表示パネル44が装着されている。
Printennon 4 is equipped with 8MU3, and accessories include external paper feed unit (PFU5) and sorter 6.
can be connected. *Furthermore, the print controller 4 is equipped with a display panel 44 that displays the status of the system and has keys arranged to perform simple operations.

第3図は、表示パネル44の詳細を示すものである。9
01〜903が入力キイで、910〜918が表示素子
である。キイ901は、プリント動作を一時中断させる
ためのボーズキイ、902はテストプリントを起動する
ためのテストキイ、また903のシフトキイと同時に押
すことによってプリントを中断するキャンセルキイとな
る。
FIG. 3 shows details of the display panel 44. 9
01 to 903 are input keys, and 910 to 918 are display elements. A key 901 is a Bose key for temporarily interrupting the printing operation, a test key 902 is for starting a test print, and a cancel key 903 is for interrupting printing when pressed at the same time as the shift key.

第4図は、′ブ1ノンタ・システム10/)制御概略ブ
ロック図である。ビットマツプ方式データ処理装置3は
、ビットマツプ用のBM−RAM32、このBM−RA
M32に描画を行なうビットマツプ書き込み部31(第
9図参照)、及び7tント部3.3よりなる。プリント
エンクン4との接続は、制御データ(枚数、アクセサリ
−など)用のパスB3とイメーノデータ用パスB4によ
り行う。
FIG. 4 is a schematic block diagram of the control system 10/). The bitmap type data processing device 3 includes a BM-RAM 32 for bitmaps, and a BM-RA for bitmaps.
It consists of a bitmap writing section 31 (see FIG. 9) which performs drawing on M32, and a 7t plot section 3.3. Connection with the print encoder 4 is performed through a path B3 for control data (number of sheets, accessories, etc.) and a path B4 for image data.

フリントエンジン4は1.3つのコントローラを中心に
構成される。*ず、インク7工−ス制御部(I FC)
40はビットマツプ制御部30からの制御データの処理
、表示パネル制御、及び内部バスB5を通じてプリント
エンジン4全体のタイミングの***を行なう、電子写
真am部41は、内部バス5を通じてインターフェイス
制御部40から送られるデータに応じて、電子写真プロ
セス部45の制御を行なう。
The flint engine 4 is mainly composed of 1.3 controllers. *Ink 7 process control unit (IFC)
40 processes control data from the bitmap control unit 30, controls the display panel, and controls the overall timing of the print engine 4 through the internal bus B5. The electrophotographic processing section 45 is controlled in accordance with data sent from the electronic photo processing section 45.

プリントヘッド制御部42は、内部バスB4を通じてビ
ットマツプ書き込み部31から送られてくる情報に従っ
て、プリントヘッド部43の半導体レーザーの発光やポ
リゴン・モータの回松を制御する。*た、外部給紙ユニ
ット5やソータ6も、内部バス5を通じてインターフェ
イス制御部40から制御される。
The print head control section 42 controls the light emission of the semiconductor laser of the print head section 43 and the rotation of the polygon motor according to information sent from the bitmap writing section 31 through the internal bus B4. *In addition, the external paper feed unit 5 and the sorter 6 are also controlled by the interface control unit 40 via the internal bus 5.

「制御部の構成」 第51!Iは本発明によるビットマツプW*部30の構
成を示すものである。全体の構成としては、データ入出
力用のインターフェイス(301,309,310,3
11)と、制御部の中心となるCPU303とそのシス
テムROM、RAM(305゜307)、CPU303
に定期的に割り込みをかけるタイマー302.そしてデ
ータ蓄積用のパ?7tメモリ(304,306,308
)から成る。
“Configuration of control unit” No. 51! I shows the configuration of the bitmap W* section 30 according to the present invention. The overall configuration consists of data input/output interfaces (301, 309, 310, 3
11), CPU 303 which is the center of the control unit, its system ROM, RAM (305°307), CPU 303
A timer 302 that periodically interrupts. And a pa for data storage? 7t memory (304, 306, 308
).

次に各部の動作を説明する。まずパスB2を通してデー
タ処理装置インターフェイス301より取り込まれたデ
ータはR−バッフy304に蓄積される。システムRO
M305内には、第6図に示すようにホストから送られ
てきたデータの仮編集を行ない、データをパケットとし
てパケットバッフy308に書き込むホストプロセス6
5と、パケットを解析してビットマツプ書込部インター
フェイス310よりビットマツプ書込部31へ、または
7オントインター7エイス309を通じて7オント部へ
、さらにプリントエンジンインターフェイス311を通
してインターフェイス制御部40ヘデータを送るパケッ
トプロセス64という独立したプログラムが入ってる。
Next, the operation of each part will be explained. First, data taken in from the data processing device interface 301 through the path B2 is stored in the R-buffer y304. System RO
In M305, as shown in FIG. 6, there is a host process 6 that temporarily edits the data sent from the host and writes the data as a packet to the packet buffer y308.
5, a packet process that analyzes the packet and sends data from the bitmap writing unit interface 310 to the bitmap writing unit 31, or to the 7ont unit through the 7ont Inter 7Ace 309, and further to the interface control unit 40 through the print engine interface 311; It contains an independent program called 64.

そして、同じくシステムROM305にlζ込まれてい
るスケゾューラ62がタイマー3・02からのり゛イマ
ー割り込み61によって各プロセスを状態に応じて切り
替えている。ここでシステムRAM30 ?内には第7
(a)図に示すようなカレント・プロセス・ステータス
(CP S )ブロックというII域があって、各プロ
セスのりr)替え時にCPUのレクスタ内容がC2S内
に記憶されるので、各プロセスは独立して動作を行うこ
とができる。また、プリンタ起動時にはスタートプロセ
スという初期化のためのプロセス63があり直接ホスト
プロセス65よりスタートさせる。システムRAM30
7のメモリ構成を第7(b)図に示す、システムRAM
307のグランロードセグメントには、ユーザプロセス
頭載が設けられている。
A scheduler 62, which is also stored in the system ROM 305, switches each process according to the state using a timer interrupt 61 from the timer 3.02. System RAM30 here? Inside is the 7th
(a) There is a second area called the current process status (CP S ) block as shown in the figure, and r) When each process is replaced, the contents of the CPU register are stored in the C2S, so each process is independent. You can perform the following actions. Further, when the printer is started, there is an initialization process 63 called a start process, which is directly started by the host process 65. System RAM30
The memory configuration of 7 is shown in FIG. 7(b), and the system RAM
The grand load segment 307 is provided with a user process header.

さらに、データ処理装置インターフェイス301を通し
てホス)lflから送られてくるかまたは7tントイン
ター7エイス309を通して7オントカー(リッジ内か
ら別のプロセス(ユーザプロセス66)をシステムRA
Mにロードし、スケジュー262によって他のプロセス
ド同様に時分割処理を打なうことができる。このユーザ
プロセス66は、他のプリンタに対応するプロトコルで
送られてさたデータを本プリンタのプロトコル(ホスト
プロトコル)に変換するプムグラムである。この時のデ
ータの流れは第8図に示すようにR−バッファ304内
にW積されている受信データ(他のプロトコル)をユー
ザプロセス66が取り出し、本プロトコルのプロトコル
に変換した後UR−バッファ306に蓄積する。よって
データの仮編集を竹なうホストプロセス65は、ユーザ
プロセス66の起動時にはUR−パフ7r306、非起
動時にはR−バッフ7304内のデータを取り出すだけ
で良く、他に変更の必要がない。
In addition, the process (user process 66) is sent from the host (host) through the data processor interface 301 or sent from within the 7 ont car (ridge) through the 7 tnt interface 309 to the system RA.
It can be loaded into M and perform time-sharing processing using the schedule 262 in the same way as other processed objects. This user process 66 is a program that converts data sent using a protocol compatible with another printer into the protocol of this printer (host protocol). As shown in FIG. 8, the data flow at this time is that the user process 66 takes out the received data (other protocols) accumulated in the R-buffer 304, converts it into this protocol, and then converts it into the UR-buffer 304. 306. Therefore, the host process 65 that temporarily edits data only needs to retrieve the data in the UR-puff 7r 306 when the user process 66 is started, and the data in the R-buffer 7304 when the user process 66 is not started, and there is no need to make any other changes.

結局、この様な構成を取ることによって異プロトコルの
データに対しても、ダウンロードを行なうユーザプロセ
ス66を変えることによって任意に対応可能となる。ま
た、プリンタ動作を制御する他のプロセスを変更する必
要がないので、ユーザプロセス66はデータの変換のみ
を行なう簡単なものになり、開発も容易となる。
After all, by adopting such a configuration, data of different protocols can be handled arbitrarily by changing the user process 66 that performs the download. Furthermore, since there is no need to change other processes that control printer operations, the user process 66 is simple and only performs data conversion, making development easier.

第9図は、ビットマツプ書込部31の詳細ブロック図を
示す、ビットマツプ書込部の機能は大別して、BM−R
AM32への描I1機能と、プリントの際にBM−RA
M32のデータをプリントエンジン4へ出力する機能と
に分かれる。
FIG. 9 shows a detailed block diagram of the bitmap writing section 31. The functions of the bitmap writing section can be roughly divided into BM-R
Draw I1 function to AM32 and BM-RA when printing
It is divided into a function to output the data of M32 to the print engine 4.

BM−RAM32への描j1機能は、さらに2つに分け
ら九、グラフイクイメージ書込部316により行われる
線や円の描画と、7rントイメ一シ書込部311により
行われる7すント描画とからなる0両方ともビットマツ
プ制御部インターフェイス317を通じてビットマツプ
制御部30から送られてくる中間コードで動作するロジ
ック部であるが、グラフイクイメージ書込部316のほ
とんどの処理は、中間コード内のパラメータを解析して
BM−RAM32に描画するのに対して、7オントイメ
一ノ書込部311のほとんどの処理は、中間コード内の
データに従って7オント部インターフェイス314を通
じて7すント部33から読み込んだ7オントイノーノを
BM−RAM30に描画する。
The drawing function to the BM-RAM 32 is further divided into two parts: drawing of lines and circles performed by the graphic image writing section 316, and drawing of lines and circles performed by the 7r image writing section 311. Both are logic units that operate on the intermediate code sent from the bitmap control unit 30 through the bitmap control unit interface 317, but most of the processing of the graphic image writing unit 316 is based on the parameters in the intermediate code. Most of the processing in the 7-onto image writing section 311 is based on the 7-onto image writing section 311 that analyzes the 7-onto image writing section 311 based on the 7-onto image writing section 311 that reads 7. Ontoinono is drawn on the BM-RAM 30.

一方、プリントの際のデータ出力の機能は、プリントヘ
ッド制御部インターフェイス315により行われる。す
なわち、ビットマツプ制御部からインターフェイス31
7を介して送られでくるプリント開始コードを受は取る
と、プリントエンノン4のプリントヘッド制御部42か
らパスB4を通じて送られてくる同期信号に従って、B
M−RAMのデータをプリントヘッド制御部に出力する
On the other hand, the function of outputting data during printing is performed by the print head control unit interface 315. That is, from the bitmap control section to the interface 31
Upon receiving the print start code sent via path B4, the print head control section 42 of the print head controller 4 receives the print start code sent via path B4.
Data in M-RAM is output to the print head control section.

つぎにイメージエリアの考え方について説明する。Next, the concept of image area will be explained.

第10図に例を示す、第10図において、全エリア(A
1)で示される部分が、ベーパのサイズに相当する。マ
ージン・エリア(A2)は、実際にベーパにプリントを
行なう際の余白部分で、印字データの描画が行われるの
は、残ったイメージ・エリア(A3)の部分である。印
字の開始は、イメージ・エリアの左上から行なわれ、文
字は印字方向A10に従って順次印字される。途中、改
行コードが入力された場合、改行方向Allに、改行幅
A12だけ次の印字位置が移動する。また、復行コード
が入力されると、イメージ・エリア左端、復行位置A1
3に次の印字位置が移動する。なお、マージン・エリア
A2は、ホストからの指定によりベーク単位に変更が可
能である。
An example is shown in Fig. 10. In Fig. 10, the entire area (A
The part indicated by 1) corresponds to the size of the vapor. The margin area (A2) is a blank space when printing is actually performed on vapor, and the print data is drawn in the remaining image area (A3). Printing starts from the upper left of the image area, and characters are printed sequentially in the printing direction A10. If a line feed code is input during the process, the next printing position is moved by the line feed width A12 in the line feed direction All. Also, when the go-around code is input, the left end of the image area, the go-around position A1
The next printing position moves to 3. Note that the margin area A2 can be changed on a bake-by-bake basis as specified by the host.

〔動作〕〔motion〕

これより、フローチャートを参照しながら本システムの
動作説明を行なう0本システムのプログラムは次の3つ
に分かれている。
From this, the operation of this system will be explained with reference to flowcharts.The program of this system is divided into the following three parts.

ホストプロセス  受信バッファ内のデータを解析し、
描画部やプリント エンジン部を制御するため のパケットデータを発生す る。
Host process parses the data in the receive buffer and
Generates packet data to control the drawing section and print engine section.

パケットプロセス ホストプロセスによって発生したパ
ケットデータによ り実際にBM−RAMへ描 画、及びエンジンの制御を 行なう。
Packet process Actual drawing to BM-RAM and engine control are performed using packet data generated by the host process.

ユーザプロセス  形態の異なるプロトコルの入力に対
しで、ホストプロ セスが解析可能なプロトコ ルへ変換シホストプロセス に渡す。7すントカートリ ッジまたは内lROMさら にホスト機からのダウン口 −ドによって供給される。
User process In response to input of different protocols, the host process converts it into a protocol that can be analyzed and passes it to the host process. It is supplied by a stock cartridge or internal ROM as well as a down port from the host machine.

プロトコル変換が必要なけ れば*rtシない。No protocol conversion required If so, there is no *rt.

これらのプロセスは独立したプログラムとなっており、
優先順位のある時分割処理によって並臂して動作してい
る。優先順位はパケットプロセス、ホストプロセス、ユ
ーザプロセスの順位となる。
These processes are independent programs.
They operate side by side through time-sharing processing with priorities. The priority is the order of packet process, host process, and user process.

この他にタイマー割り込みによりこれらのプロセスの管
理を佇なうスケジューラ、スタート時に起動されるスタ
ートプロセスがある。
In addition, there is a scheduler that manages these processes using timer interrupts, and a start process that is activated at startup.

次に各プロセスについて説明する。Next, each process will be explained.

「スタートプロセス」 tIS11図はスタートプロセスを示す70−チャート
である。このプロセスはスタート時に1回だけ起動され
る。まず電源が投入されると(ステップ#1)、内部の
初期化を打ない(ステップ#2)、R−バッファ、UR
−バッフy、パケγトバッ7ア(FIFO)のクリアを
打なう(ステップ#3.#41$5>、次に、この後ホ
ストプロセスを起動するため準備動作として、リクエス
トベクターとカレントベクターのホストプロセスを示す
ビットをセットし、CRTPR8にホストプロセスを示
す番号を入れる(ステップ#6.#7.$8)ここでリ
クエストベクターとは、タイマー割り込みによってスケ
ジューラが起動されたとき、実行が中断されたプロセス
がスケジューラに対して実行の放棄と他プロセスの起動
要求を伝達するためのものであり、各プロセスに対応す
るビットをセットまたはリセットするようになっている
。またカレントベクターは実行中のプロセスに対応する
ビットをセットするようになっていて、スケジューラが
起動されたときは実行が中断されたプロセスのビットが
セットされている。さらに、CRTPR8はカレントベ
クターの示すプロセスの番号が入っていで、プロセスの
番号は優先順位が高い径大さくなる。このリクエストベ
クタ、カレントベクタ、CRTPR8を用いてスケジュ
ーラは次のプロセスの実行先を決定する(後述の「スケ
ジューラ」によって詳細を述べる)。
"Start Process" tIS11 is a 70-chart showing the start process. This process is launched only once at startup. First, when the power is turned on (step #1), internal initialization is not performed (step #2), R-buffer, UR
- Clear buffer y and packet buffer (FIFO) (Step #3. #41$5>, then, as a preparatory action to start the host process after this, clear the request vector and current vector. Set the bit indicating the host process and enter the number indicating the host process in CRTPR8 (Step #6. #7. $8) Here, the request vector is the vector whose execution is interrupted when the scheduler is started by a timer interrupt. The current vector is used to convey to the scheduler a request to abandon execution and start another process, and sets or resets the bit corresponding to each process. When the scheduler is started, the bit corresponding to the process whose execution has been suspended is set.Furthermore, CRTPR8 contains the number of the process indicated by the current vector. The number of a process with a higher priority becomes larger. Using this request vector, current vector, and CRTPR8, the scheduler determines the execution destination of the next process (details will be described in "Scheduler" below).

この後に、CPSブロックの初期化を行なう(ステップ
#9)、pc体的には、各cpsでCPUの実行アドレ
スポインタのデータを格納するエリアに、各フロセスプ
ログラムのスタートアドレス値を入れ、スタックポイン
タを格納するエリアに所定の7ドレス値を入れる。また
必要に応じて他のポインタの初期値も入れる。
After this, the CPS block is initialized (step #9).In PC terms, the start address value of each Flow Process program is put into the area where the data of the CPU's execution address pointer is stored in each CPS, and the stack Enter a predetermined 7 dress value in the area for storing the pointer. Initial values of other pointers are also entered as necessary.

これらの初期設定を終えると割り込みを許可しくステッ
プ#10)、タイマー割り込み待ち(ステップ#11)
のループに入る。
After completing these initial settings, enable interrupts (step #10) and wait for timer interrupts (step #11).
enters the loop.

「スケ7ューラ」 第12図はタイマ割り込みによって起動されるスケジュ
ーラを示す70−チャートである。まずタイマによる割
り込みが入ると(ステップ#30)、CPUの各レノス
タの値をCPSブロック内の退避エリアへ退避する(ス
テップ$31)、次にリクエストベクタにセットされて
いるビットの内で、最優先のプロセス番号をREQPR
8に入れる(ステップ$32)、ここでCRTPR8に
は割り込み処理を行なう直前のプロセス番号が入ってい
るので、これとREQPR8を比較することによって、
より優先順位の高いプロセスの起動リクエストがあるか
どうかを判断する(ステップ$33)。
"Scheduler" FIG. 12 is a 70-chart showing a scheduler activated by a timer interrupt. First, when an interrupt is generated by the timer (step #30), the values of each renostar of the CPU are saved to the save area in the CPS block (step $31). REQPR priority process number
8 (step $32). Since CRTPR8 contains the process number immediately before interrupt handling, by comparing this with REQPR8,
It is determined whether there is a request to start a process with a higher priority (step $33).

上位プロセスの起動リクエストがない場合(ステップ#
33でN)、処理中だったプロセス(CRT PH1が
示している)がりクエスFベクタのビットをリセットし
て先の実行を放棄しているかどうかをチェックしくステ
ップ#42)、もし放棄していないならば(ステップ#
42でY)CPSブロックの退避エリアの各ンνスタの
データをCPUにセットしで復帰する。この場合タイマ
割り込みによって中断したプロセスがそのまま実行され
る。もし放棄している場合(ステップ#42でN)はC
RTPR8の示すプロセスよりも下位でかつ最上位のプ
ロセス番号をREQPR3に入れて(ステップ#41〕
、上位プロセスの起動要求があった場合(ステップ#3
3でY)と同様の処理を行なう。
If there is no startup request for the upper process (step #
33 (N), check whether the process that was being processed (indicated by CRT PH1) resets the bit in the query F vector and abandons the previous execution (Step #42), if it has not. If (step #
Step 42: Y) Set the data of each ν star in the save area of the CPS block in the CPU and return. In this case, the process interrupted by the timer interrupt continues running. If abandoned (N in step #42), C
Put the highest process number lower than the process indicated by RTPR8 into REQPR3 (Step #41)
, if there is a request to start a higher-level process (step #3
Perform the same process as in step 3 (Y).

ここではCRTPR8の示す実行を中断するプロセスの
CPSに退避エリアの値を転送しくステップ#35)、
REQPR8の示すプロセスのcpSの値を退避エリア
に転送する(ステップ$36)。
Here, the value of the save area is transferred to the CPS of the process whose execution is interrupted as indicated by CRTPR8 (Step #35),
The cpS value of the process indicated by REQPR8 is transferred to the save area (step $36).

さらに、CRTPR8にREQPR8の値を入れ(ステ
ップ#37)、REQPR8の示すプロセスのカレント
ベクタのビットだけをセットし、他はリセットする(ス
テップ$38)、これらの処理によって退避エリアには
REQPR8の示すプロセスのレノスタの値が入ってい
るので、復帰先はREQPR8の示すプロセスとなる。
Furthermore, the value of REQPR8 is put into CRTPR8 (step #37), only the bit of the current vector of the process indicated by REQPR8 is set, and the others are reset (step $38). Through these processes, the value indicated by REQPR8 is stored in the save area. Since the process renostar value is included, the return destination is the process indicated by REQPR8.

「ホストプロセス」 第13図はホストプロセスの動きを示す70−チャート
である。ホストプロセスの最初の起動は、前述のように
スタートプロセスがリクエストベクタを用いてスケジュ
ーラにホストプロセスの起動を要求し、タイマmり込み
によって起動されたスケジューラがホストプロセスに切
り替わることによって行なわれる。このとき、制御部の
CPU(303)のプログラムカウンタにホストプロセ
スの先頭アドレスが設定されるので最初の起動はステッ
プ#50より始まる。
"Host Process" FIG. 13 is a 70-chart showing the behavior of the host process. The initial activation of the host process is performed by the start process using a request vector to request the scheduler to start the host process, and the scheduler activated by the timer entry switching to the host process. At this time, the start address of the host process is set in the program counter of the CPU (303) of the control unit, so the first startup starts from step #50.

処理の流れを説明すると、まずホストプロセスに用いて
いるフラグの初期化を行なう(ステップ$51)、具体
的には、ユーザープロセスの実行の有無を示すUSER
F7ラグを0にセットし、受信データ処理ルーチンで仮
イメージ編集中であることを示すLPWRITEを0に
セットする。
To explain the process flow, first, the flags used for the host process are initialized (step $51). Specifically, the USER flag that indicates whether a user process is being executed is initialized.
F7 lag is set to 0, and LPWRITE, which indicates that a temporary image is being edited, is set to 0 in the received data processing routine.

そして、中間コード作成の準備として7すント部(33
)より7ナント属性を読み込む(ステップ#52)にの
とき7オントカーFリツツ内にユーザプロセスが有るか
どうかをチェックして(ステップ#53)、有りの場合
はシステムRAM(307)の所定の領域にユーザプロ
セスをロードしくステップ#54)、ロード終了(ステ
ップ#55)を待ってユーザプロセスの実行を示すUS
ERFを1にセットしくステップ$56)、リクエスト
ベクタのユーザプロセスのビットをセットする(ステッ
プ$57)、これは、最下位のプロセスは常にリクエス
トベクタのビットをセットしておき、自分自身の実行を
放棄することの無いようにするためである。これらの初
期化動作(ステップ#51〜ステップ#57)を行なっ
た後、主ループ(ステップ#58〜ステップ#63)に
入る。
Then, in preparation for creating the intermediate code, we created the 7th section (33
) to read the 7nant attribute (step #52), it is checked whether there is a user process in the 7ontcarFrits (step #53), and if there is, it is stored in a predetermined area of the system RAM (307). Load the user process (step #54), wait for the loading to finish (step #55), and then display the US
Set ERF to 1 (step $56) and set the user process bit in the request vector (step $57). This is to ensure that they do not give up. After performing these initialization operations (steps #51 to #57), the main loop (steps #58 to #63) is entered.

主ループではFIFOの空エリアがなくなるか、USE
RF=1のとき(ステップ#59でY)UR−バッファ
、USERF=Oのと! (ステップ#59でN)は、
R−バッファが空になるとき以外は受信データ処理(ス
テップ#62)を什なう、*た、データ処理を行なわな
いとき (ステップ#58、ステップ#60ステップ#
61でN)はJOBOUT処111を実行する(ステッ
プ$63)、JOBOUT処理1の内容は第14図に示
すが、これはホストプロセスがスケジューラに対して上
位プロセス(実施例ではパケットプロセス)への切り替
えを要求するために、リクエストベクタを更新する。具
体的には、リクエストベクタのパケットプロセスビット
をセットしくステップ$72)、ユーザープロセスがあ
る場合(ステップ#73でY)にはホストプロセスは最
下位プロセスではないのでリクエストベクタのホストプ
ロセスのビットをリセットし自らの実行を放棄する。*
たユーザープロセスの無い場合(ステップ#73でN)
は、ホストプロセスが最下位プロセスとなるのでリクエ
・ストベクタのホストプロセスのビットはセットしたま
まにしておく、なお、これらの処理中はタイマー割り込
みを禁止して(ステップ$71.$75)誤動作を防ぐ
ようにしている。
In the main loop, if there is no FIFO empty area or USE
When RF=1 (Y in step #59), UR-buffer, USERF=O! (N in step #59) is
Received data processing (step #62) is performed except when the R-buffer becomes empty, *or when no data processing is performed (step #58, step #60, step #
61, N) executes JOBOUT processing 111 (step $63). The contents of JOBOUT processing 1 are shown in FIG. Update the request vector to request a switch. Specifically, the packet process bit of the request vector should be set (step $72), and if there is a user process (Y in step #73), the host process bit of the request vector should be set because the host process is not the lowest process. Reset and abandon your own execution. *
If there is no user process (N in step #73)
Since the host process becomes the lowest process, leave the host process bit in the request vector set. Furthermore, during these processes, timer interrupts are disabled (steps $71 and $75) to prevent malfunctions. I'm trying to prevent it.

これらの流れから明らかなように、特定の条件(FIF
Oの空エリアがないまたはR−バッファ。
As is clear from these flows, certain conditions (FIF
No empty area in O or R-buffer.

UR−バッフ7が空きとか、他に受信データ処理内でも
設定している)によってJOBOUT処理1が実行され
リクエストブラダが更新されるまでは、タイマーW4’
)込みによってスケジューラが起動されても再びホスト
プロセスに戻ってくるので受信データ処理をくり返して
行なうことになる。
Until JOBOUT processing 1 is executed and the request bladder is updated due to the UR-buffer 7 being empty or other settings made in the received data processing, the timer W4' is
) Even if the scheduler is activated by the input, the process returns to the host process and the received data processing is repeated.

「受信データ処理」 受信データの処理70−を$15(a)図、!#15(
b)図辷示す。
“Received data processing” Received data processing 70- is shown in Figure 15 (a)! #15 (
b) Show the figure.

虫ず、受信データの処理を行なうために受信バッファよ
りデータを取り出す必要がある。受信データは第18図
に示すようにデータの受信割り込みによってデータ処理
インターフェイス301より取り込まれ、R−バッファ
304に蓄積される。
In order to process the received data, it is necessary to extract the data from the receive buffer. As shown in FIG. 18, the received data is fetched from the data processing interface 301 by a data reception interrupt and stored in the R-buffer 304.

2二でユーザプロセス66が有る場合はR−バッフr3
04のデータのプロトコル変換を行なった後UR−バッ
ファ306に蓄積するので、USERFが1のとき(ス
テップ#101でY)はUR−バッファより、0のとき
(ステップ#101でN)はR−バッファよりデータを
取り込む(ステップ@102.ステップ$107)。
If there is a user process 66 in 22, R-buffer r3
04 data is stored in the UR-buffer 306 after protocol conversion, so when USERF is 1 (Y in step #101), it is stored in the UR-buffer, and when USERF is 0 (N in step #101), it is stored in the UR-buffer 306. Data is fetched from the buffer (step @102. step $107).

ここで受信データは次の5つに分類される。Here, the received data is classified into the following five types.

・IFC関連コード(プリント拳エンジン関連コード)
(ステップ#103〜ステップ#105)−JOB制御
ニア−)’(JOBSTART、PAGEEJECT)
(ステップ#108〜ステップ拌1・書式制御コード(
ステップ#113〜ステップ$114) ・印字データ(文字コード、グラフィックコード)(ス
テップ@12B、ステップ$133)・ユーザープロセ
ス制御コード(ステップ#118〜ステップ$122) 印字データの場合は、対応する7オーマツトの中間コー
ドに変換してFIFOに出力する0文字コードの場合は
、7tント・イメージ書込部311への7オーマツトと
同じで7オントーパターンのアドレス(ステップ129
)、イメージ・エリア上の印字位置に対応するBM−R
AMへの書込みアドレス(ステップ$130)および書
込みモード(ステップ@131)よりなる、グラフィッ
クコードの場合は、グラフィックイメージ書込部316
へのコマンドと同一の7オーマツトで出力される(ステ
ップ$134)、このとき、文字コードの場合は、次の
文字印字位置を更新しておく(ステップ$132)。
・IFC related code (Print fist engine related code)
(Step #103 to Step #105) - JOB control near)' (JOBSTART, PAGEEJECT)
(Step #108 ~ Step Stir 1/Format control code (
Step #113 to Step $114) - Print data (character code, graphic code) (Step @12B, Step $133) - User process control code (Step #118 to Step $122) In the case of print data, the corresponding 7 In the case of a 0-character code that is converted into an automatic intermediate code and output to the FIFO, the address of the 7-onto pattern (step 129
), BM-R corresponding to the print position on the image area
In the case of a graphic code, the graphic image writing unit 316 consists of a write address to AM (step $130) and a write mode (step @131).
It is output in the same 7 format as the command to (step $134). At this time, in the case of a character code, the next character printing position is updated (step $132).

IFC関連コード(ステップ#103)は、インターフ
ェイス制御部40に出力するものであるが、印字データ
との同期をとるため、印字データとは形式の異なるファ
ンクシタンタイプの中間コードとしてFIFOへ出力し
ておく (ステップ#104  )、JOB制御コード
には、ページの区切りに用いるPAGE  EJECT
コード(ステップ#110)と、ページ群の区切りに用
いるJOBSTART(ステップ#108でY)の2つ
がある。どちらもIFC関連コードと同様に、FIFO
に出力する(ステップ$109.ステップ$152)。
The IFC-related code (step #103) is output to the interface control unit 40, but in order to synchronize with the print data, it is output to the FIFO as a funxitane type intermediate code that has a different format from the print data. (Step #104), the JOB control code includes PAGE EJECT, which is used to separate pages.
There are two types: code (step #110) and JOBSTART (Y in step #108), which is used to separate page groups. Both are FIFO as well as IFC related code.
(Step $109. Step $152).

書式制御コード(ステップ#113、ステップ#114
)は、印字の書式を制御する。同一イメージのコピ一枚
数を指定するコードであれば(ステップ#115でY)
、印字データとの同期をとるためFIFOに対応する7
7ンクシaンを出力する(ステップ$116)。
Format control code (step #113, step #114
) controls the printing format. If the code specifies the number of copies of the same image (Y in step #115)
, 7 that supports FIFO to synchronize with print data
7 and outputs a (step $116).

「書式制御とPAGE EJECT処理」第17図は書
式制御コードの処理シーケンスを示したものである。復
行コードの場合(ステップ#161でY)は次の印字位
置を左端へ移動しくステップ#162)、改行コードの
場合は次の印字位置を一行下へ移動する(ステップ16
5)、*たランダム指定のと!(ステップ斡166でY
)はオフセット値を加算した後に、次の印字位置を更新
する(ステップ#167)。
"Format Control and PAGE EJECT Processing" FIG. 17 shows the processing sequence of format control codes. In the case of a return code (Y in step #161), the next print position is moved to the left end (step #162), and in the case of a line feed code, the next print position is moved down one line (step 16).
5), *Random specified! (Y in step 166)
) updates the next printing position after adding the offset value (step #167).

第16図はPAGE EJECT処理の70−を示した
ものである。このPAGE EJECT処理は、FIF
O上へ中間コードとして仮編集するときの仮想的な処理
であり、中間データ処理(第22(b)図)で実際にペ
ーパーの排出を行なうものとは異なる。PAGE EJ
ECTの処理は虫ずFIFOへPAGE EJECTを
示す中間コードを出力する(ステップ#152)。ここ
で、実際の排紙動作はパケットプロセスがこの中間コー
ドを受は取った時に行なわれる。その後、次のべ一ノの
aSSに’iRして次の印字位置を先頭に戻す(ステッ
プ$153)、これらの一連の動作は仮イメージ編集を
示すLPWRITE7ラグによって判別され、(ステッ
プl 51、ステップ#154)空ベーク出力を防ぐ、
第15(b)図のごとく、ユーザープロセスロード要求
コードの場合(ステップ#117でY)は、ユーザープ
ロセスの有無をチェックした後(ステップ$118)7
すントカートリッジよりユーザープロセスのプログラム
のロード処理を行ない(ステップ拌119、ステップ1
20)、USERF7?グのセットをしくステップ#1
21)、さらにリクエストベクタのユーザプロセスビッ
トをセットする(ステップ[22)。
FIG. 16 shows 70- of the PAGE EJECT process. This PAGE EJECT process is performed using FIF
This is a virtual process when temporary editing is performed as an intermediate code onto O, and it is different from the actual ejection of paper in intermediate data processing (FIG. 22(b)). PAGE EJ
The ECT process outputs an intermediate code indicating PAGE EJECT to the insect FIFO (step #152). Here, the actual paper ejecting operation is performed when the packet process receives this intermediate code. After that, 'iR' is performed on the aSS of the next page to return the next printing position to the beginning (step $153). These series of operations are determined by the LPWRITE7 lag indicating temporary image editing (step l51, Step #154) Prevent empty bake output,
As shown in Figure 15(b), in the case of a user process load request code (Y in step #117), after checking the presence or absence of a user process (step $118) 7
The program of the user process is loaded from the storage cartridge (step 119, step 1).
20), USERF7? Step #1
21), and further sets the user process bit of the request vector (step [22).

またユーザプロセス解除コードの場合(ステップ#12
3でY)は逆にUSERFをリセットしくステップ[2
4)、リクエストベクタのユーザプロセスビットをリセ
ットする(ステップ@125)。
Also, in the case of user process release code (step #12
3 (Y) on the contrary, reset USERF in step [2
4) Reset the user process bit of the request vector (step @125).

なお、本実施例ではユーザプロセスがロードされるのは
電源投入時か、カートリッジを後から挿入した場合にホ
ストからのロード要求コードを受信した時となりでいる
が、ロード方法及びそのタイミングは別にどのように決
めてもかまわない。
In this embodiment, the user process is loaded either when the power is turned on or when a load request code is received from the host if the cartridge is inserted later, but the loading method and timing are different. It doesn't matter if you decide.

さらに、ユーザプロセスがカートリッジ内に複数存在す
る場合も考えられるが、本実施例では考えていない。
Furthermore, although it is conceivable that a plurality of user processes exist in the cartridge, this is not considered in this embodiment.

「パケットプロセス」 第19図はパケットプロセスの処理を示す7a−チャー
トである。
"Packet Process" FIG. 19 is a chart 7a showing the processing of the packet process.

まず電源が投入されると(ステップ$200)、BM−
RAMのイメージエリアをクリアしくステップ$202
)、制御フラグを初期化する(ステップ#203)、 
 具体的には、プリント状態を示すJOB A CT 
e り177 L、BM−RAMへy>8m状態を示す
BMWRITEをクリアし、同一枚数のコピ一枚数を示
すC0PYを1にセットし、同一枚数のコピ一枚数を計
算するCC0UNTを1にセットする。
First, when the power is turned on (step $200), the BM-
Clear the RAM image area Step $202
), initialize the control flag (step #203),
Specifically, JOB A CT indicating the printing status
e ri177 Clear BMWRITE indicating y>8m status to L, BM-RAM, set C0PY which indicates the number of copies of the same number to 1, and set CC0UNT which calculates the number of copies of the same number to 1. .

この後、主ループに入るが、主ループの行なう処理は、 ・中間コーとの解析とBM−RAMへの描i[1(ステ
ップ#212〜ステップ$215)と、・プリント会シ
ーケンス制御(ステップ#205〜ステップ@211)
とがある。データの流れは次の様になる。*ず、排紙条
件フラグであるJOBACTが1のときは、プリント・
シーケンス(ステップ#208、ステップ@211)に
入る。
After this, the main loop enters, and the processing performed by the main loop is: - Analysis with intermediate code and writing to BM-RAM i[1 (step #212 to step $215), - Print session sequence control (step #205~Step @211)
There is. The data flow is as follows. *First, when the paper ejection condition flag JOBACT is 1, print/
The sequence (step #208, step @211) is entered.

また、JOBACTが1でないときはFIFOから中間
コードが有ることをチェックして(ステップ#213)
中間コード処理が行なわれる。
Also, if JOBACT is not 1, check that there is an intermediate code from the FIFO (step #213).
Intermediate code processing is performed.

ここでプリントシーケンスに入るとき(ステップ$20
5)とFIFO内のパケットデータが無(なったと11
(ステップ$215)は、下位のプロセスに実行を移す
ために第21図のJOBOUT処理2を実行す−る(ス
テップ$230)、処理内容はリクエストベクタのホス
トプロセス(下位プロセス)のビットをセットしくステ
ップ#231)、パケットプロセスのビットをリセット
(ステップ$232)することである、このようにパケ
ットプロセスは優先順位が最上位となるのでプログツム
が待ちの状態となるか(ステップ#205の場合)、実
行不能になる(ステップ#215の場合)ときのみ下位
プロセスへ処理を移す。
When entering the print sequence here (step $20
5) and there is no packet data in the FIFO (11
(Step $215) executes JOBOUT processing 2 in Figure 21 in order to transfer execution to a lower process (Step $230), the processing content is to set the host process (lower process) bit of the request vector. The next step is to reset the bit of the packet process (step #231) and reset the bit of the packet process (step $232).As the packet process has the highest priority, the program is in a waiting state (in the case of step #205). ), the process is transferred to the lower process only when it becomes unexecutable (in the case of step #215).

[中間コード処理とプリント・シーケンス制御」次に、
FIFOl、:曹えられた中間コードの処理70−を、
$ 22 (a)、(b)図に示す。
[Intermediate code processing and print sequence control] Next,
FIFOl: Processing 70- of the stored intermediate code,
$ 22 Shown in (a) and (b) figures.

ここでは、主に中間コードに応じたBM−RAMへの描
画と、プリント・エンジン部へのコマンド出力などのシ
ーケンス制御を行なう。
Here, sequence control such as drawing to the BM-RAM according to the intermediate code and command output to the print engine section is mainly performed.

まず、印字データの場合(ステップ#303でY)は、
中間コードを7をント・イメージ書込部へ(ステップ$
304)、グラフィックの場合(ステップ#310でN
)はグラフィック・イメージ書込部へ出力(ステップ#
311)する。
First, in the case of print data (Y in step #303),
Transfer the intermediate code 7 to the image writing section (step $
304), in the case of graphics (N in step #310)
) is output to the graphic image writing section (step #
311) Do.

もし初めてのデータを書込む場合(BM−WRITE7
ラグ=0)(ステップ#305でY)、BM−WRIT
E7ラグを1としくステップ#306)、プリントエン
ジン4に対して給紙等の準備を先行させるためのペーパ
ーの先出しコマンドPFCMDをインターフェイス制御
部40に出力する(ステップ$308)、これによりビ
ットマツプ方式データ処理装!!3のプリント準備が終
了すれば、感光体へのレーザー露光が直ちに可能となり
、給紙時開に相当してスループットが向上する。
If you are writing data for the first time (BM-WRITE7
Lag = 0) (Y in step #305), BM-WRIT
The E7 lag is set to 1 (step #306), and a paper advance command PFCMD is output to the interface control unit 40 (step $308) to allow the print engine 4 to prepare for paper feeding in advance (step #308). Data processing equipment! ! When the printing preparation in step 3 is completed, the photoreceptor can be immediately exposed to laser light, and the throughput is improved corresponding to opening when feeding paper.

IFCIII連コードや、JOBSTARTコードは、
IFCへ出力される(ステップ#312〜ステップ$3
13)。
IFCIII continuous code and JOBSTART code are
Output to IFC (step #312 to step $3
13).

コピ一枚数設定の場合(ステップ#319)は、コピ一
枚数C0PY更新する(ステップ#320)。
If the number of copies is set (step #319), the number of copies C0PY is updated (step #320).

FIFO(305)+らピッ)vy7’書込1(31)
への出力は、中間コードデータのある限り順次行なわれ
るが、PAGE  EJECTコードを検出すると(ス
テップ#315でY)、1ペ一ジ分の信号変換が終了し
たのでプリント動作に入る。まず、コピ一枚数をカウン
トするためのCC0UNT7フグに設定されでいるコピ
一枚数をセットし、プリント起動処理に入る。(ステッ
プ$317)(123図)、プリント起動処理では、プ
リント処理に入ったことを示すJOBACT7ラグをセ
ットしくステップ$401)プリントヘッド制御部イン
ターフェイスをプリント可能状態にしくステップ#40
2)、インタ−71イス制御部(40)にプリントコマ
ンドPRNCMDを出力する(ステップ$ 403 )
FIFO (305) + Rapi) vy7' write 1 (31)
Output to is performed sequentially as long as there is intermediate code data, but when a PAGE EJECT code is detected (Y at step #315), signal conversion for one page has been completed and printing operation begins. First, the number of copies set in the CC0UNT7 puffer for counting the number of copies is set, and print startup processing is started. (Step $317) (Figure 123) In the print startup process, set the JOBACT7 lag indicating that print processing has started.Step $401) Set the print head control unit interface to a printable state.Step #40
2) Output the print command PRNCMD to the interface control unit (40) (step $403)
.

これにより、プリントヘッド制御部インターフェイス(
315)では、プリントへッVtIf1111部(42
)の制御回路(426)から送られでくるパルスに同期
して、BM−RAMのデータをパスB4を通じて出力す
る。
This allows the printhead control interface (
315), print VtIf1111 copies (42
) The data in the BM-RAM is output through the path B4 in synchronization with the pulses sent from the control circuit (426) of the BM-RAM.

プリントが終了すると、まだJOBACT7?グがセッ
トされでいるため第19図のステップ#204からステ
ップ#205へ進み、ステップ井206でインターフェ
イス制御WS40からの露光終了コマンドEXPEND
の割り込み待ちとなる。
When printing is finished, is it still JOBACT7? Since the setting has not yet been set, the process advances from step #204 to step #205 in FIG.
Waiting for an interrupt.

EXPEND受信の割り込み処理は第24図に示すよう
に、EPEND7ラグをセットしリクエストベクタのパ
ケットプロセスのビットをリセットする。EXPEND
を検出するとEPEND7フグが1となりループを抜け
で同一イメージのコピー制御を行なう(ステップ#20
8〜ステップ拌211)、まず、コピ一枚敗カウンタC
C0UNTを減算しくステップ$208)、所定枚数の
コピーが終了したかチェックする(ステップ棒209)
As shown in FIG. 24, the EXPEND reception interrupt processing sets the EPEND7 lag and resets the packet process bit of the request vector. EXPEND
When detected, the EPEND7 puffer becomes 1, exits the loop, and performs copy control of the same image (step #20
8~Step agitation 211), First, one copy loss counter C
Subtract C0UNT (step $208) and check whether the predetermined number of copies have been completed (step bar 209)
.

終了の場合はプリン) END処理に入る(第20図)
、ここでは、次のイメージの描画のためBM−RAMを
クリアし、ステップ#241、プリント状態解除のため
JOBACT7ラグをリセットしくステップ$242)
、BM−RAMへの描画状態を示すBMWRITEのク
リアを行なう(ステップ$243)、コピー未終了の場
合は再び、同一イメージでプリントを開始する(ステッ
プ#211)。
(If finished, print) Enter END processing (Figure 20)
, here, clear the BM-RAM to draw the next image, step #241, and reset the JOBACT7 lag to cancel the printing state (step $242).
, clears BMWRITE indicating the state of drawing to BM-RAM (step $243). If copying is not completed, printing starts again with the same image (step #211).

「ユーザプロセス」 第25図はユーザプロセスの処理例を示すものである。"User process" FIG. 25 shows an example of processing by a user process.

5.−ザプロセス自体は対応するプロトコルによってい
くつかのプログラムが存在するであろうが、基本的な形
態はこの様になっている。*に、(ステップ#501〜
$503.棒507゜$510)のステップは各ユーザ
プロセスで共通化しておかないと他プロセスとの対応が
取れなくなる。
5. - The process itself may have several programs depending on the corresponding protocol, but the basic form is as follows. *, (step #501~
$503. Unless the step shown in bar 507° ($510) is shared by each user process, it will not be possible to correspond with other processes.

まず、R−バッファにデータが有ることをチェックしく
ステップ$501)、その後にUR−バッファの空きを
チェックする(ステップ#502)、UR−バッ7Tの
空きがないときは(ステップ#502でN)、ホストプ
ロセスの起動要求をリクエストベクタによって什ない(
ステップ$510)、UR−バッファに空きを作るよう
にする。
First, check that there is data in the R-buffer (step $501), then check for free space in the UR-buffer (step #502), and if there is no free space in the UR-buffer (step #502) ), the host process startup request is fulfilled by the request vector (
Step $510), make space available in the UR-buffer.

UR−バッファの空きがあるときは(ステップ#502
でY)、R−バッフ7よりデータを取り込み(ステップ
$503)、プロトコル変換処理(ステップ#504〜
$508.$508.、$509)を行なう、この実施
例では受信データを制御コードと印字データに分け、制
御コードを受信した時のみホストプロセスの起動要求を
行なうようになっているが、リクエストベクタのセット
のタイミングは変更を打なうプロトコルの形態や処理効
率を考慮して任意の位置で竹なってもかまわない。
If there is free space in the UR-buffer (step #502
(Y), imports data from R-buffer 7 (step $503), and performs protocol conversion processing (steps #504~
$508. $508. . It does not matter if the bamboo is placed at any position considering the form of the protocol to be changed and processing efficiency.

これらのプロセスの切り替えタイミングの例を示したの
が第26図である。このように、定期的なタイマ割り込
みによってスケジユーラが起動されるが、プロセスが切
り替わるのは各プロセスの実行放棄条件が満たされたと
きである。
FIG. 26 shows an example of switching timing of these processes. In this way, the scheduler is activated by periodic timer interrupts, but the process is switched when the execution abandonment condition for each process is satisfied.

〔効果〕〔effect〕

以上述べたように、この発明は少なくともプリンタ制御
装置本体の制御プログラム以外のプログラムを記憶可能
な記憶手段と、記憶手段への外部プログラムを入力する
入力手段と、制御プログラムと外部プログラムを時分割
により実行可能なプログラム処理手段とを備えるもので
あるから、プロトコル変換プログラムなどの外部プログ
ラムな外部カートリックまたは内llROMさらにホス
ト機からのダウンロードの形で供給し、これらの外部カ
ー) +7ツジまたは内jlROMから前記記憶手段に
プロトコル変換プログラムをダウンロードすることによ
って、各種のホスト機に対しプリンタ制御装置内部のソ
フトウェアを変更することなしに対応することができる
。従って、この発明によれば、安価に異プロトコルホス
ト機とプリンタ制御装置との接続が可能となり、またデ
ータのプロトコル形態を変えるにはカートリックを差し
替えるだけで良く、対応が容易である。さらに、この発
明ではプロトコル変換プログラム自体が独立したプログ
ラムとして扱われるので、データ変換という簡単なプロ
グラムとなり、開発が容易である。
As described above, the present invention includes a storage means capable of storing at least a program other than the control program of the main body of the printer control device, an input means for inputting an external program to the storage means, and a time-sharing method for storing the control program and the external program. Since it is equipped with executable program processing means, external programs such as protocol conversion programs are supplied in the form of external cartridges or internal ROMs, and are also downloaded from the host machine, and these external programs can be stored in external cartridges or internal ROMs. By downloading the protocol conversion program to the storage means, it is possible to support various host machines without changing the software inside the printer control device. Therefore, according to the present invention, it is possible to connect a printer control device with a host machine of a different protocol at low cost, and the data protocol format can be easily changed by simply replacing the cartridge. Furthermore, in the present invention, since the protocol conversion program itself is treated as an independent program, it becomes a simple program for data conversion, and development is easy.

よって、ユーザでも任意なプロトコル形態に対してユー
ザプロセスを作ることができるので汎用性があり、幅広
い対応が可能である、などの数々の優れた効果がある。
Therefore, since even a user can create a user process for any protocol format, there are many excellent effects such as versatility and wide range of support.

4、図面のf!!1.lILな説明 第1図は本発明の実施例による処理システムの構成図、
第2図はプリンタシステムの外観を示す錯視図、第3図
は表示パネルの詳細を示す正面図、第4図はプリンタシ
ステムの制御概略ブロック図、第5図は本発明によるピ
ッシマツブ制御部の構成を示すブロック図、第6図はン
7トウェア構成を示すブロック図、第7(a)図はシス
テムRAM内のカレント−プロセス・ステータスブロッ
クの構成を示す構成図、第7(b)図はシステムRAM
のメモリ構成を示す構成図、第8図は受信データの流れ
を示すブロック図、第9図はビットマツプ書込部の詳細
ブロック図、第10図はイメークエリアの考え方を説明
する正面図、第11図はスタートプロセスを示す70−
チャート、第12図はタイマ割り込みによって起動され
るスケジューラを示す70−チャート、第13図はホス
トプロセスの動きを示す70−チャート、第14図はJ
OBOUT処理の内容を示す70−チャート、第15(
1)図、第15(b)図は受信データの処理70−を示
すフローチャート、第16図はPAGEEJECT処理
の70−を示す70−チャート、第17図は書式制御コ
ードの処理シーケンスを示す70−チャート、第18図
は受信データの割り込み処理を示す70−チャート、第
19図はパケットプロセスの処理を示す70−チャート
、第20図はプリント起動処理を示すフローチャート、
$21図はJOBOUT処理を示す70−チャート、第
22 (a)l (b)図は中間コード処理を示す70
−チャート、$23図はプリント起動処理を示すフロー
チャート、第24図はEXPEND受信割り込受信環を
示すフローチャート、第25図はユーザプロセスを示す
70−チャート、第26図はプロセスの切り替えタイミ
ングの例を示すタイムチャート、第27 (a)= (
b)図はプロトコル変換手法のデータの流れを示す概念
説明図である。
4. f in the drawing! ! 1. IIL Explanation FIG. 1 is a block diagram of a processing system according to an embodiment of the present invention,
Fig. 2 is an optical illusion diagram showing the external appearance of the printer system, Fig. 3 is a front view showing details of the display panel, Fig. 4 is a schematic control block diagram of the printer system, and Fig. 5 is the configuration of the pishimatsubu control section according to the present invention. FIG. 6 is a block diagram showing the software configuration, FIG. 7(a) is a block diagram showing the configuration of the current process/status block in the system RAM, and FIG. 7(b) is a block diagram showing the system software configuration. RAM
8 is a block diagram showing the flow of received data, FIG. 9 is a detailed block diagram of the bitmap writing section, FIG. 10 is a front view explaining the concept of the image area, and FIG. Figure 11 shows the start process 70-
Figure 12 is a 70-chart showing the scheduler activated by a timer interrupt, Figure 13 is a 70-chart showing the behavior of the host process, and Figure 14 is a J
70-Chart showing the contents of OBOUT processing, No. 15 (
1), FIG. 15(b) is a flowchart showing the received data processing 70-, FIG. 16 is a 70-chart showing the PAGEEJECT processing 70-, and FIG. 17 is a 70-chart showing the format control code processing sequence. 18 is a 70-chart showing received data interrupt processing, FIG. 19 is a 70-chart showing packet process processing, and FIG. 20 is a flowchart showing print startup processing.
Figure 21 is a 70-chart showing JOBOUT processing, and Figure 22 (a)l (b) is a 70-chart showing intermediate code processing.
-Chart, $23 Figure is a flowchart showing the print startup process, Figure 24 is a flowchart showing the EXPEND reception interrupt reception ring, Figure 25 is a 70-chart showing the user process, Figure 26 is an example of process switching timing. Time chart showing 27th (a) = (
b) The figure is a conceptual explanatory diagram showing the data flow of the protocol conversion method.

61・・・タイマー割り込み、 62・・・スケジユーラ、 63・・・スタートプロセス、 64・・・パケットプロセス、 65・・・ホストプロセス、 66・・・ユーザプロセス、 第6閏 ソフトウェア講成 第7図 Ca) カレント・プロセス・ステータス(OPS)ブロックの
描成(b) 第10図 ♀ 〈f 第11図 第14図 #70 第16図 第20図           第21図$240  
               #230第22図 (b) 手続補正書(自発) 昭和62年10月21日 1、事件の表示 昭和62年特許願第67041号 2、発明の名称 プリンタ制御装置 3、補正をする者 事件との関係   特許出願人 住 所 大阪市東区安土町2丁目30番地大阪国際ビル
氏 名(名称)  (607)  ミノルタカメラ株式
会社4、代理人 〒460 住 所  名古屋市中区栄−下目12番10号フシミフ
ァーストビル1002 6、補正の対象
61...Timer interrupt, 62...Scheduler, 63...Start process, 64...Packet process, 65...Host process, 66...User process, 6th Leap Software Course Figure 7 Ca) Drawing of the current process status (OPS) block (b) Fig. 10♀ <f Fig. 11 Fig. 14 #70 Fig. 16 Fig. 20 Fig. 21 $240
#230 Figure 22 (b) Procedural amendment (voluntary) October 21, 1988 1, Indication of the case 1988 Patent Application No. 67041 2, Name of the invention Printer control device 3, Person making the amendment Case and Relationship Patent Applicant Address Osaka Kokusai Building, 2-30 Azuchi-cho, Higashi-ku, Osaka Name (Name) (607) Minolta Camera Co., Ltd. 4, Agent 460 Address 12-10 Shimome, Sakae, Naka-ku, Nagoya No. Fushimi First Building 1002 6. Subject of amendment

Claims (2)

【特許請求の範囲】[Claims] (1)少なくともプリンタ制御装置本体の制御プログラ
ム以外のプログラムを記憶可能な記憶手段と、記憶手段
への外部プログラムを入力する入力手段と、制御プログ
ラムと外部プログラムを時分割により実行可能なプログ
ラム処理手段とを備えたことを特徴とするプリンタ制御
装置。
(1) A storage means capable of storing at least a program other than the control program of the printer control device main body, an input means for inputting an external program to the storage means, and a program processing means capable of executing the control program and the external program in a time-sharing manner. A printer control device comprising:
(2)前記入力手段が、プリンタ制御装置本体に着脱可
能な第2記憶手段よりなることを特徴とする特許請求の
範囲第1項記載のプリンタ制御装置。
(2) The printer control device according to claim 1, wherein the input device comprises a second storage device that is detachable from the main body of the printer control device.
JP62067041A 1987-03-20 1987-03-20 Controller for printer Pending JPS63231957A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62067041A JPS63231957A (en) 1987-03-20 1987-03-20 Controller for printer
DE3809439A DE3809439C2 (en) 1987-03-20 1988-03-21 Printer control
US07/529,734 US5276802A (en) 1987-03-20 1990-05-29 Printer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62067041A JPS63231957A (en) 1987-03-20 1987-03-20 Controller for printer

Publications (1)

Publication Number Publication Date
JPS63231957A true JPS63231957A (en) 1988-09-28

Family

ID=13333369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62067041A Pending JPS63231957A (en) 1987-03-20 1987-03-20 Controller for printer

Country Status (2)

Country Link
JP (1) JPS63231957A (en)
DE (1) DE3809439C2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2860204B2 (en) * 1992-05-18 1999-02-24 キヤノン株式会社 Output device and method of selecting interpretation program in the device
DE10059948A1 (en) * 2000-12-02 2002-06-20 Conti Temic Microelectronic Bus controller for a motor vehicle safety system where a number of devices of different generations or versions can be connected together using different protocols and effectively controlled using the same central controller

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2560412B1 (en) * 1984-02-24 1993-12-31 Canon Kk DATA PROCESSING APPARATUS

Also Published As

Publication number Publication date
DE3809439A1 (en) 1988-09-29
DE3809439C2 (en) 1994-05-19

Similar Documents

Publication Publication Date Title
JPS63312152A (en) Address control system of image memory
JP2615137B2 (en) Printing device
JPS63231957A (en) Controller for printer
JP2007301881A (en) Multiport printing apparatus
JP2737983B2 (en) Printing device and display device for displaying status of printing device
JP3010559B2 (en) Printing system and printing control method and apparatus
JP2687408B2 (en) Printer control device
JP3126367B2 (en) Printer control device
JP3114935B2 (en) Printer
JP3585206B2 (en) Output device and output method
JP2737983C (en)
JP2002205443A (en) Interruption print system and interruption printing method
JPH044172A (en) Printer control device
JP2003285507A (en) Printer
JP2006007488A (en) Distributed printing method and printer
JPH0221324A (en) Printer controller
JPS6347863A (en) Printer controller
JPS63250727A (en) Printer controller
JP2982007B2 (en) Display device
JPH10114127A (en) Printer
JP2792216B2 (en) Printer device
JPH09277656A (en) Printing device
JPS63250728A (en) Printer controller
JPS63251246A (en) Data memory unit
JP2010044677A (en) Printing system, printing device, and printing method