SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|

2009-03-11(Wed) ナナメに3.3V→5V変換する

  ファームウェアアップデートの甲斐が、あったのか、なかったのはわからんが、とりあえずXPortは順調に動作するようになったようである。

  んが、ここでちょっとした問題が。XPortは3.3Vロジックであり、PICの5Vと合わないのだ。もちろん、これは当初からわかっていたことであり、PIC側を3.3Vに合わせるという考えもあった。しかし、当初の目標は液晶の汎用表示機を駆動すること。汎用表示機には、3.3Vで駆動するものもあるらしいが、手元のは5V仕様だ。仕方ない。

  XPortの入力側はトランジスタで3.3Vに変換した。よく考えたら、こっちは抵抗で分圧するだけでもよかったようだが……それより問題は出力側の3.3Vを5Vに昇圧する方法である。これも、PICがTTL入力ならば3.3Vのままツッコめばいいのだが、今回はC言語で組んでみたいという都合で、タイミングにシビアでないUSART機能を使いたいトコロなのだ。USART機能を有効にすると、入力モードはシュミットトリガになり、その場合の閾値は「0.8 * Vdd」。つまり、4V以上が必要になる。

  つーわけで、何となく、こっちもトランジスタで変換をカマそうとしたのだが、ハンダ付けしてから「非反転では電圧変換ができない」ことに気づいた。エミッタフォロアでは、1倍以上の電圧が得られないのである。なんつぅタコな。

  ここにきて、ようやくチマタではどうしているのだろう、とググってみる。どうも、そう簡単な方法はないらしい。結局、オペアンプかバッファを使うのが一番簡単そうだ、という結論に至る。しかし、オペアンプを使うのは気が進まないし、基板スペースの問題から、TTLもキビしそう……ん? いや待て。以前にジャンク袋から入手した、ハーフピッチのTTLを使ってはどうだろう。

  探すと、たくさんのインバータに混じって、ひとつだけオアゲートのTTL、74HC32Aが見つかった。これだッ!! これしかないッ!!

  画像の説明 画像の説明

  ハーフピッチのICをフルピッチ基板に載せるにあたっては、以前に適応した必殺のナナメ技を再び使うのである。PICにつながるはずのRXとTXをショートして、ThinkPadからXPortにtelnetしてキーを叩き、エコーバックが得られることを確認した。よっしゃ、動作確認、完了。

  しかし、この微妙なナナメ感は、整然としているのが常識である基板上で、アリエナイ雰囲気を醸し出していて素敵だ。これを見てると、リングが半分になるようにルータで削れば、ちゃんとハーフピッチのICも実装できそうだな。有事の際にはその技も発動することにしよう。うは。