くろょろぐ

はてダからはてブロに移行済み

6502系

去年だったか一昨年だったか、つい衝動買いしてしまったWDCのマイコン。なぜかDigiKeyでは扱っていなくて、Mouserで購入したもの。以前から6502の16ビット拡張版である65816を入手したいと常々思っていたら、6502系はWDCで引き継いでCMOS版のW65C02S/W65C816Sを製造販売していて(ご時世というか、IP版もあるみたい)、ついに購入したというわけ。WDCではW65C02S/W65C816SをコアにしたシングルチップマイコンW65C134S/W65C265Sも作って売っている。
というわけでうっかり、これら4つのMPU/MCUチップを購入、ついでに周辺チップのW65C22S(VIA)と、W65C51N(ACIA)もついでに入手。ブレッドボードで使えるようにとほとんどDIP版を購入。ただMCUだけはDIP版がないので、PLCC版を入手した。DIPとPLCCの他にQFP版も製造されている。65C51は68系のACIAにボーレートジェネレータを内蔵したようなチップだけど、ちょっと制約が多くて使いづらいチップだったかも…。ちなみにチップ名末尾の"S"と"N"は入出力インターフェースがそれぞれCMOSレベル/NMOSレベルであることを意味している。N版は電源電圧5Vのみ対応、S版は2V~5Vの広い電圧範囲で使える。詳しくはデータシート参照の事。
ところで、WDCのページではW65C134Sは最大で8MHz動作という事になっているけど、パッケージの刻印を見る限り、W65C02S/W65C816S同様に最大14MHzで動作するっぽい。ちなみにW65C265Sは最大8MHz動作で、ちょっと残念。
二つのMCU、W65C134SとW65C265Sは、最近のマイコンに比べると少し控え目(アナログ系が全くと言っていいほどない)だけど、パラレルI/O、シリアルI/O、カウンタタイマー、クロックジェネレータ、そして小容量のRAMとROMが統合されている。ROMは残念ながら今流行りのFlashではなくマスクROMなので、オリジナルのコードをROMに入れるにはメーカーに特注するしかない。代わりにデフォルトでは内蔵のUARTをターミナルに接続して使用する簡易モニタープログラムが入っている(ソースも全て公開されている)。そのせいかどうか、MCUには端子設定でI/Oポートをいくつか犠牲にして内蔵MPUのバスラインを引き出すという昔ながらの方法をとる事ができる。なので、オリジナルのコードは外部バス上に自前のROMをつなぐなどすればいいという事らしい(ここも、小ピンのI2C/SPIシリアルROMでブートするという最近の流行りとは違う)。バスラインは本当にそのまま引き出されているので、MPUを止めて外からチップ内のI/Oにアクセスする事すら可能。まぁ、用途はDMAなんだろうけど。DMAコントローラは内蔵されてないけどね。面白い事に、65816は40ピンのパッケージにおさめるために24本のアドレスのうち、最上位の8本はデータバスとマルチプレックスするのに、それをコアにしたW65C265Sではマルチプレックスなしで24本全部を一度に引き出せる。
あ、ちなみに65816は16ビットMPUだけど、データバスは8ビットしかないので、16ビットデータの転送は8ビットデータバスを2サイクルかけて転送してる。