rftgyふじこlp:今は反芻している…JP1NOM

のんべんだらりと生きてしまいましたよ。

今日のCPU

2019年04月28日 12時26分00秒 | mbed






PDP-11に外部バスを引っ張り出す。LPC1114FN28だとD-SUB25ピンがちょうどよい。

バス20本単位で三組ぐらい配線すると結構嫌になってくる。
世の中すべてシリアルになればいいと思う瞬間。


今日のCPU

2019年04月26日 11時00分00秒 | mbed
和文CWデコーダーが案の定使い物にならなかったので汎用テストベッドに改造。
昔の「CPU」の様にLEDがチカチカする感じに仕上げる。
本来ならレジスターの情報を表示するもんだけど、これはLPC1114FN28のGPIOをモニターする。



I/O端子群もつけないといけないけど、これはどうするかな?D-SUB25ピンにするかな?
電線がなくなったけど、雨が降ってるのでビバホームまで行くのが億劫だな。

コヤツには期待と憧れでPDP-11と名付けることにした。

なお、I2CのLCDとPS/2キーボードを取り付けておいて、デバッグ用のコネクタやらスイッチやらを取り付けた「セルゲゐ標準」で組み立てた。


今日のmbed

2018年09月04日 08時49分00秒 | mbed
現用のダブルスーパーラジオに使ってるVFOのクローンを作ろうと思ったんだけど、ハマった…
PTTとバンドスイッチが押されっぱなしになってパニック。

基板が間違ってる?→作り直し
CPUが壊れてる?→他のCPUの変える
プログラムがおかしい?→コンパイルし直し

までが昨日。なんでだ?と1000回口にして、もう俺はmbedを使えないんじゃないか?とか、もうハンダゴテもキーボードも粉砕してやる!とか思ったけど、多分頭を冷やせばなんとかなると思い直して就寝。

先程ソースコードを見直したら…PTTとバンドスイッチがプルアップでコーディングされとる!しかもロータリーエンコーダーの読み込み関数がざっくり抜けてる!

なんじゃこりゃ…なぜ以前に作った回路がプルアップになっていたのかわからないけど、ここだけロジックを反転して無事動作を確認。REの読み込み関数は昨日デバッグしてるときに削除したらしい。

あ〜なんか疲れたよ。しかもスパゲティ配線を克服するはずが変わってネーし😂。

昨日ノイズかも?と思って中途半端に配線を短くしたのがいけなかったらしい。

行き詰まった時には立ち止まり、脳を休める。これが一番。


今日のI2C

2017年10月03日 04時34分00秒 | mbed

LPC1114FN28にI2C機器を複数ぶら下げる実験。
今回はLCD、メモリー、時計を接続。

当初LCDとメモリーのI2Cアドレス衝突の事態を解決できずにいましたが、メモリーのI2Cアドレスを変える方法を教示していただきました。

リアルタイムクロックにはRX8025NB、メモリーに24FC1025、LCDにはACM1602NIを使用。

メモリーアドレスのA2はHi固定なのでA1をHi、A0をLoにしてLCDとの衝突を回避しました。IchigoJamでメモリーとこのLCDが衝突してつかえないという話から思い出したのですが、当初アドレス変更が反映されず、結局EEPROMのライブラリでアドレスを書き換える必要がありました。

mbedで使ったライブラリは

I2cLCD16_ACM1601NI
M24LC64
PS2
RX8025

です。

この内M24LC64ライブラリのM24LC64.hのなかで指定されるアドレスを0xA4にへんこうしました。

M24LC64ライブラリは24FC1025には最適化されていないものですし、もしかすると1Mb対応何かどうかも不明ですが、一応読み書きができています。まさかバンク切り替えで起きがちなゴーストイメージを読み書きしてるんじゃないと思いますが…

ただ24FC1025は512Mbチップを2つ搭載しているという話もあり、使い方が悪いと64KBしか使えないのかもしれません。

今の所、メモリーの読み書きと時計もどきを組み込んだに過ぎませんが、128KBのEEPROMを使って色々と実験したいと思います。

プログラミング環境は完全にFreeBSDに移行しました。lpc2ispがbinファイルそのままで書き込むため、工数を削減できます。書き込みモード切り替えとリセットスイッチをプッシュスイッチにしておけば、書き込み終了とともにリセットがかかり、プログラムが走ります。