GRIDトップページへ English ご連絡 サイトマップ サイト検索 カートを見る
  ■ プログラマーとは、ROMライターとは
メインメニュー

製品ジャンル
ROMライター
エミュレーター
PCMCIAカード
落雷対策
工具
ROM CPU デバイス
ソケット
防錆システム
空燃比
ノッキング
GPS計測
GPSモジュール
センサー
自動車診断
ECU延長ハーネス
エンジンマネージメント
追加基板
H.I.D.

EETools
イノベート
レーステクノロジー
EMS Computers
Kochip Technology


■ プログラマーとは、ROMライターとは

ROMやCPU等の「デバイス」にデータを書込・読込・比較などをする機器です。

当社のプログラマー(ROMライターは)以下の事ができます。
-------------------------------------------------
●デバイスの品種を設定する (セレクト)
●データをパソコンから読み込む (開く)
●データをパソコンに保存する (保存)
●デバイスからデータを読み込む (リード)
●デバイスにデータを書き込む (プログラム)
●データを編集する (エディット)
●デバイスの内容を消去 (イレース)
 (窓付きのROMは、紫外線を当てるイレーサーで一括消去します・デバイスにより上書きで消去します)
●デバイスが空か確認 (ブランクチェック)
●書いたデータの比較 (ベリファイやコンペア)
●偶数、奇数の書き分け (スプリット)
●読み出し禁止 (セキュリティ・データをコピーされないようにします)
 デバイスがこの機能を持っている必要があります。
●オートで、自動で書き込み (ブランクチェック−プログラム−ベリファイ)を自動で行う事も可能です。


ROMって何?
ROMは、「細かく区切られ、それぞれデータの入った大きな棚」を想像すると、わかりやすいと思います。
それぞれの棚には、0からFFまでの数字、つまり、10進数で0から255までの数字が入っています。
一般的に、棚の横幅は16段です。
棚の高さが変わると、容量が変わります。

ちなみに、27C256 というROMは、高さが2048段(10進数)です。
横が16段(10進数)= F(16進数)です。

全体で、8000個分の(16進数で)のデータがあります。
0から始まりますので、8000から一個引いて最後は7FFFになります。

データは、右の1桁目が横列を表し、2桁目から縦列の段を表します。
縦列が高さですから、0000からはじまり、7FFF番地が一番右下=最後の棚の名前になります。

例えば0017hを読むとすると、左から8番目(一番右は0なので)、上かから2段目の棚(一番上は0なので)を指し、その中に入っているデータを読み出す事になります。


デバイスの種類(ROMの種類)
型番から、以下のどれに相当するかがわかります。

P−ROM 一般的に消去できないROMです。内部回路を焼き切るタイプやバイポーラタイプもあります。
一般的に、書き換える事ができないワンタイムになります。車ではR30に使われている7132など古いタイプです。

UV−EPROM 紫外線を当てるイレーサーで消去するROMです。
(コストダウン版の窓なしOTPもありますが、窓がないので消去できません)
27C***など、多くのROMがあり、最も広く使われています。中が見えるガラス窓が付いています。

EEPROM 電気的に消去できるROMです。上書きして消すタイプや、一度に全部消去するフラッシュROMなども含まれます。29C***や27Fなどがあります。窓もありません。最近の大容量ROMの多くがこのタイプです。

シリアルEEPRPM 通常のROMはアドレスとデータの各ラインの数だけ必要なパラレル接続ですが、このROMは、シリアル信号により内部データが出力します。ピン数が少なく、小さいのが特徴です。

PLD プログラムを書き込むと、ディジタル回路として動作するICです。PALやGALなどがあります。

ワンチップマイコン(CPU) ワンチップマイコンやCPUには、ROMを内蔵している物があります。それぞれのマイコン専用の書き込み方式か、アダプタを使うとUV-EPROMと互換で書き込みできるタイプ、フラッシュROM内蔵タイプもあります。PICやAVR、H8シリーズなど、様々な種類があります。
これらデバイスも扱えると、一般的にプログラマと言うようです。

などに大きく分かれます。
プログラマが、自分の使用したいROMやCPUに対応している必要があります。



デバイス互換の問題
デバイスを使用する際は、多くの場合、メーカに関係なく互換があります。
しかし、書き込む際には各メーカーで独自の書き込み方式などを採用し、大きく異なります。
プログラム(書き込み)の際に、メーカーとROMタイプ選定を誤ると、デバイスが故障します。(かなりの確率で)
プログラマーによりメーカーやデバイス名を自動設定できるROMもありますが、ROM自身がメーカーコードなどを持っている必要があり、対応しているROM品種はごくわずかです。

EP-ROMなどは、「VPP」端子に、通常より高電圧をかけて(12.5Vや21Vなど)書き込みます。
また、高速書き込みを実現するため、通常の1/10以下の速度で書き込み出来る仕様のデバイスもあります。
プログラマーで「ROMタイプ設定」を行うと、そのデバイスに最も適したアルゴリズムを使って書き込みします。
その違いによって、間違える事なく「ROMタイプ設定」を行う必要があります。
(自動でメーカーやデバイス名の設定できるROMもあります)

多くのデバイスに対応し、書き込み品質と書き込み速度を向上するためには、プログラマの機種と、付属のソフトウエアが重要になります。
プログラマが多くの品種に、早く、安定して対応するためには、データシートや、デバイスその物が必要になります。いかに早く、多くのデータとデバイスが入手出来るかが、良いプログラマメーカーの条件です。
また、デバイスメーカーとしても、プログラマメーカーに早く対応してもらう事で、デバイスの販売量が左右されますから、デバイスメーカーとの関係はギブアンドテイクになります。

世界中には様々なデバイスがありますが、最も多くの品種が開発され、存在しているのがアメリカです。
パソコンで使われているペンティアムのINTELやAMDなどがアメリカで開発されるように、最新のデバイスが最も早く作られ、また多くの種類があります。現に、日本で使われているほとんどのデバイスが、アメリカで開発され、アジアで生産されます。生産国は、ROMに印刷されている製造国を見れば、一目瞭然です。

もちろん、日本でも独自のデバイスが開発されています。海外での入手が困難なデバイスもあります。
ですから、デバイスに詳しい販売チャンネルを日本を含め世界中に持ち、アメリカに拠点のあるメーカーが、圧倒的に有利なのが、このプログラマー(ROMライター)の業界なのです。

単にスペックや価格だけではなく、デバイス業界に対する影響力や、日本市場に対する意欲など、「メーカーの姿勢」が、プログラマー選びの重要な要素になっています。


自動デバイス設定
メーカー名やデバイス名が、電気的に内蔵されているROMがあります(全部ではありません)
プログラマによっては、メーカー名やデバイス名を自動でROMから読み出す(オート)機能が付いています。
ROM表面の印刷が消えている場合や、印刷していない場合、不明な印刷がされている場合に、効果を発揮します。もちろん、当社のプログラマはオート機能を全機種、標準で装備しています。


ファイルの形式
パソコンで保存されるデータは、次のように様々な形式があります。

バイナリー=生データで、ファイルのデータそのままが、ROMのデータになります。
容量は小さく、扱いも楽です。
しかし、テキスト形式ではないため、そのまま表計算やテキストエディタで内容を編集する事はできません。
編集は、プログラマ付属のソフトウエアのエディットを使うか、バイナリエディタを使用する必要があります。
ただし、チェックサムを気にせず編集できるので、扱いやすい形式です。
様々な名前の拡張子が付いている場合があります。

HEX=同じ拡張子(HEXファイル)でも、様々な形式があります。
一般的にはインテルHEXやモトローラS、他にTEKTRONIX、ASCなど、無数にあります。
ファイルにチェックサムが内蔵され、壊れた場合には読み込みエラーになります。
また、書き込み開始アドレスなどの情報(オフセット)も内蔵されている場合もあります。
ただし、デバイスに書き込まれている(書き込む)データは、バイナリ(生データ)だけで、形式はありません。

どのファイル形式でも、データの保存や、メールで送った場合、ごくまれに内容が壊れる可能性があります。バイナリの場合は、ファイルにチェックサム情報が無いため、内容が正常かどうかのチェックができません。

他のファイル形式では、チェックサムもファイルに書き込まれているために、問題があるとわかります。
ただし、容量はバイナリの数倍になり、保存したファイル形式を相手に伝える必要があります。

個人的にはバイナリをお勧めします。最も一般的です。
今まで数万回のファイルのやりとりをしていますが、実際に壊れたり問題があった事はありません。
メールで送信する場合などは、チェックサムを調べておくと、間違いが起こりません。

データの編集やファイル形式の変更、チェックサムの確認は、ChipMaxのコントロールソフトを使うと簡単です。 編集と、ファイル形式の変換もできます。
(無料です・本体が無くてもソフトウエア単体で作業ができます)


チェックサム
ROMのデータを、全て足し算した下四桁を指します。
例えば、10 6F 06 というデータが有るとすると、10+6F+06=85=0085 がチェックサムとなります。
仮に、最初の10が変化してしまい、11になったとすると、0086となり、チェックサムが合わない事になります。もしメールで送る際など、チェックサムを相手に伝えると、間違いがなくなります。


スプリット
ROMのデータ幅は「8ビット」や「16ビット」・・・などの種類に分かれます。
簡単に言うと、データ(データライン)の数と同じで、8ビットは8本のデータ線があります。
8ビットでどれだけの数が表現できるかと言うと、線が一本につき「LO」と「HI」の2段階で表すので、

8本では
データ足の本数 1 2 3 4 5 6 7 8
表現できる数 2 4 8 16 32 64 128 256
と、256段階になります。
データは0から始まりますから、0−255、つまり16進数では00−FFの数字で表す事ができます。
16ビットのデータは0000−FFFFで表しますから、十進数では0−65535になります。

ゲーム機やパソコンでも、8ビットばかりとは限りません。(今は8ビットを探す方が大変かもしれません)
プログラマの基本は普通8ビットで考えますので、16ビットのデータを扱う時に、スプリットで書くという考え方ができます。
(16ビットやそれ以上でも外部ROMを8ビットが付けられるようにCPU内部でエミュレーションしている場合はありますが、普通は考えません。付いているROMを対象に考えて下さい)

8ビットのROMは、27C64や128、256、512など、たくさんの種類があります。
しかし、動かしたいCPUなどが16ビットの場合は、半分にしかなりません。
そこで16ビット・・・つまり足が16本に対応させるには、ROMを並列に2つ。つまりデータバスを16本並べればよい事になります。

ROMのデータは、
EF 6F 06 B4 B8 1C 16 94 E8 73 61 ・・・・
というデータがあったとします。

8ビットでは
アドレス 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 ・・・
データ EF 6F 06 B8 1C 16 94 E8 73 61 ・・・
のように、一つのROMに連続して書き込みますが

16ビットでは
アドレス 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 ・・・
ROM 1個目 2個目 1個目 2個目 1個目 2個目 1個目 2個目 1個目 2個目 ・・・
データ EF 6F 06 B8 1C 16 94 E8 73 61 ・・・
0000、0002を「Even」、「偶数」や「LO」、「0」側のROM等と言い、上記の1個目のROMにあたり、
0001、0003を「Odd」、「奇数」、「HI」、「1」側のROM等と言い、2個目のROMにあたります。

つまり、スプリットとは、EF 6F 06 B4 B8・・などの連続したデータを、偶数、奇数に書き分ける事です。
この場合、EF 06 が偶数データ、6F B4が奇数データになります。
データが1/2になりますから、ROMの最終番地が、ファイル全体の容量の半分になります。




実際の操作方法


今あるROMをコピーしたい
コピー元デバイス(ROM)をプログラマにセットします。
「セレクト」でROMの品種を設定します。(オートで自動設定できる品種もあります)
デバイスからデータを読み込みます。 「リード」
ブランク(空)のデバイス(ROM)をプログラマにセットします。
「オート」を押すだけで、ブランクチェック、ライト、ベリファイを自動で実行します。
これだけでROMのコピーが完成します。

何個も続けてコピーしたい場合は、上記に続いて
デバイス(ROM)をセットして「オート」を押すだけです。
一度では、一個のROMしか書けませんので、大量に書きたい場合はギャングアダプタを使用します
ChipMaxは一回の操作で同時に4個、TopMaxは同時に8個のデバイスをプログラムできます。


パソコン上(ダウンロードした)のファイルを書き込みたい
圧縮されている場合は、解凍します。(解凍方法はそれぞれのHP上に明記されているはずです)
何種類かの形式になっている場合があります。
ChipMax(TopMax)コントロールソフトを立ち上げます。
「開く」で、ファイルを指定し、バイナリならファイルタイプをbin、HEXファイルならAllHexにして開きます。
ブランク(空)のデバイス(ROM)をプログラマにセットします。
「セレクト」でROMの品種を設定します。
「オート」を押すだけで、ブランクチェック、ライト、ベリファイを自動で実行します。
これだけでROMのコピーが完成します。


今あるROMと比較したい
比較元デバイス(ROM)をプログラマにセットします。
「セレクト」でROMの品種を設定します。(オートで自動設定できる品種もあります)
デバイスからデータを読み込みます。 「リード」
比較対象のデバイス(ROM)をプログラマにセットします。
1.「ベリファイ」を押すだけで、比較を実行し、相違点がある番地でエラー表示がでます。
2.「コンペア」を実行すると、比較して相違点を「COMPERE.TXT」ファイルとして出力します。


ファイルとROMを比較したい
「開く」で、ファイルを指定し、バイナリならファイルタイプをbin、HEXファイルならAllHexにして開きます。
比較対象のデバイス(ROM)をプログラマにセットします。
「セレクト」でROMの品種を設定する。(オートで自動設定できる品種もあります)
1.「ベリファイ」を押すだけで、比較を実行し、相違点がある番地でエラー表示がでます。
2.「コンペア」を実行すると、比較して相違点を「COMPERE.TXT」として出力します。


バイナリファイルを読み込みたい
ファイル読み込み−Binタイプを指定し、OKを押します。


HEXファイルを読み込みたい
ファイル読み込み−Allhexタイプを指定し、ファイルを選んでOKを押します。
Allhexタイプを指定するだけで、ChipMax(TopMax)コントロールソフトは、様々なファイル形式を自動で判断して読み込みます。


バイナリ形式で保存したい
ファイル保存−Binタイプを指定し、OKを押します。


HEX形式で保存したい
ファイル保存−保存したいHexのタイプを指定し、OKを押します。


スプリット書き込みをしたい
コンフィグ−オプションでギャング・スプリットを選び、最初にEven側(Odd )に設定し、オートで書き込みます。
同様にOdd 側(Even)に設定し、オートで書き込みます。
これだけの作業で、スプリットで書き分けられた二種類のROMができあがります。
間違えないように、ROMに偶数か奇数の印を付けておくと良いでしょう。


スプリットのROMを読み込みしたい
Even 、Oddに書き分けられたROMを合体して、一つのデータにする事が出来ます。
「セレクト」でROMの品種を設定します。(オートで自動設定できる品種もあります)
コンフィグ−オプションでギャング・スプリットを選び、最初にEven側(Odd )に設定し、「リード」で読み込みます。
同様にOdd 側(Even)に設定し、「リード」で読み込みます。
コンフィグ−オプション−ファイルセーブで BufferEnd を初期値の2倍に設定します。
例: 3FFF なら、7FFFに。 7FFF なら FFFF に。
ファイルに、名前を付けて「セーブ」(保存)します。

関連リンク :

通信販売の法規 - お問合せ/製品のリクエスト - 個人情報の取り扱い -  リンクについて - 会社概要

Copyright (C) 2012 GRID,Inc. All Rights Reserved. Powered by KoeTech.