2006/08/02(水)UART PC16550DNによるシリアルインターフェース
トランジスタ技術の2006年5月号から6502を使ったマイコンボードの連載が始まっていた。興味を引いたのはシリアルポートにナショセミの16550を使っている事だ。
80系でUARTのチップといえば8251が定番であるが、ボーレートジェネレータを内蔵していないのでチップ数を減らす場合には不利だろう。この記事に触発されて最初にした事はこのチップの入手であるが、DIP品種となるとなかなか見つからない。
しかし鼻が利くのかこれまたスンナリと入手。さてこのチップの情報はマイコンで調べるよりもPC互換機には大量に使われているので、その上で走るオープンソース系のOSを調べたほうが早い。
その上、デバイスドライバーのソースコードだけではなく、貴重な説明資料も豊富に見つかる(その上日本語で)。
もちろんこのチップを扱うのは初めてだけれど、データシートも英語だけれどそんなに難しくはないし、実際の
FreeBSD2.8のドライバーのソースなんかも大変参考になるだろう。Cが得意でなくてもinb()とoutb()周りだけ読めればそれでも大抵理解できる。また、現在の物よりも古いソースの方が単純で明快だ。
さて、問題は何に繋ぐかだ。やっぱりここは8048の出番だろうか。PICやAVRではUARTのポートなんて当たり前の事なんだが。