趣味の電子工作と釣りについて。電子工作は、おもに変換器作成。釣りはおもにトラウトの管釣り。
外は大雪。雪の少ない相模原市内にもかかわらず30cmくらい積もっているので豪雪地帯の八王子とかは2階から出入りしているんじゃないかな。なんかスタックして身動き取れなくなった車があちらこちらに。。。こんなときは自宅にこもって電子工作、と。
で、某所で自作のパワーFC通信ケーブルを販売していたりするんだけど、A/F入力が不要なら安く簡単に作れるはずだと思って作ってみたらうまくいったので、紹介する。
まず用意するものは、
ミニDINプラグ 5P
ケーブル固定用U字金具
USB to TTL Serial Cable
※ これでググッて! → USB TO UART TTL (Wires) Serial Cable (PL2303HX)
※ 後日追記:PL2303HXはWindows8以降では使えないのでFTDI系のやつにしたほうがいいと思います。PL2303HXは偽物が出回っているらしく、それをつかませられると通信中頻繁にフリーズして大変な目にあうようです。
ミニDINプラグはどこでも売っているけど、細身じゃないとパワーFCに刺さらないので、ヤスリなどでの加工が必要になる。
ケーブル固定用U字金具はあまり売っていないのであるが千石のギターアンプ用パーツを売っている別館で入手可能。これがないと強く引っ張ると抜けそう。
USB to TTL Serial Cableは秋月とかでも売っているが余計なCTS/RTSが出ているので数多く買うならAmazon US, Elecrow , seeed studio の$3程度の安いやつをネットで買って輸入する手も。(安いのは不具合率が異様に高いので自分で殻割り修理できる人にしかお勧めしない。動かないなら捨てる覚悟で買うべし。)
まずは配線について
たった3本の線を接続するだけ。
こんな感じで。
あと、半田剥がれを想定して、ちょっとした絶縁処理して。
完成!
でも、これはFCコマンダーのシリアルがFCC3のものに対応した新型のパワーFCでしか使用できない。でも、SBIUSART(別売)を使えば、FCC NT用のパワーFCでもO.K.!
で、某所で自作のパワーFC通信ケーブルを販売していたりするんだけど、A/F入力が不要なら安く簡単に作れるはずだと思って作ってみたらうまくいったので、紹介する。
まず用意するものは、
ミニDINプラグ 5P
ケーブル固定用U字金具
USB to TTL Serial Cable
※ これでググッて! → USB TO UART TTL (Wires) Serial Cable (PL2303HX)
※ 後日追記:PL2303HXはWindows8以降では使えないのでFTDI系のやつにしたほうがいいと思います。PL2303HXは偽物が出回っているらしく、それをつかませられると通信中頻繁にフリーズして大変な目にあうようです。
ミニDINプラグはどこでも売っているけど、細身じゃないとパワーFCに刺さらないので、ヤスリなどでの加工が必要になる。
ケーブル固定用U字金具はあまり売っていないのであるが千石のギターアンプ用パーツを売っている別館で入手可能。これがないと強く引っ張ると抜けそう。
USB to TTL Serial Cableは秋月とかでも売っているが余計なCTS/RTSが出ているので数多く買うならAmazon US, Elecrow , seeed studio の$3程度の安いやつをネットで買って輸入する手も。(安いのは不具合率が異様に高いので自分で殻割り修理できる人にしかお勧めしない。動かないなら捨てる覚悟で買うべし。)
まずは配線について
たった3本の線を接続するだけ。
こんな感じで。
あと、半田剥がれを想定して、ちょっとした絶縁処理して。
完成!
でも、これはFCコマンダーのシリアルがFCC3のものに対応した新型のパワーFCでしか使用できない。でも、SBIUSART(別売)を使えば、FCC NT用のパワーFCでもO.K.!
PR
2年前にチップが爆発してから採用を諦めていたデジタルアイソレータだが、でかい電解コンデンサーを付けてもノイズ起因の誤動作がどうも発生しているような気がしていて、再度SILICON LABSのDigital Isolatorにチャレンジしてみた。
まず以前購入したSi8440であるが、どうやら終息品のようで、今後はSi8640を使え、ということのようである。で、Si8640のデータシートを見ると、
みたいに書いてあるので、ただ、つなげればいいかな、と思って
こんな感じの接続をしてみる。その結果、寿命が数秒という悲惨な結果に。
数秒経ったら、「パン!」と音がしてチップに穴が開く。。。。。
でも、旧版のSi8440のデータシートには、
こんなサンプル回路が載っているので、これにあわせて
こんな感じにすれば、とりあえず壊れることは無くなった。動作も超安定している!電解コンデンサーつけなくても暴走しない!
たぶんチップベンダーからしてみれば、「ちゃんとデータシート読め」ということなんだろうが、英語がろくに読めない素人がそんなことするわけねーだろうが(怒)!!、と思う。
まず以前購入したSi8440であるが、どうやら終息品のようで、今後はSi8640を使え、ということのようである。で、Si8640のデータシートを見ると、
みたいに書いてあるので、ただ、つなげればいいかな、と思って
こんな感じの接続をしてみる。その結果、寿命が数秒という悲惨な結果に。
数秒経ったら、「パン!」と音がしてチップに穴が開く。。。。。
でも、旧版のSi8440のデータシートには、
こんなサンプル回路が載っているので、これにあわせて
こんな感じにすれば、とりあえず壊れることは無くなった。動作も超安定している!電解コンデンサーつけなくても暴走しない!
たぶんチップベンダーからしてみれば、「ちゃんとデータシート読め」ということなんだろうが、英語がろくに読めない素人がそんなことするわけねーだろうが(怒)!!、と思う。
2年ぶりに山中湖ワカサギまとめを更新することにした。2年前の情報が混在しているので、今は違うかもしれない。
・ドーム船
GPS付き魚探。GPS無しより1万円近く高いが、amazonだと時々GPS無しのPS-500Cと同価格で売っていた(2年前は)。買おうと思って次見たら1万円値上がりして、諦めたとおもって次見たら1万円値下がりしてた、なんて感じだった。まあ、これで衝動買いしたわけだが。。で、バッテリーが思いのほか持つ。朝7時から15時まで付けっぱなしにしたけど、バッテリー残容量が3(フルが4)残っていたし。これならリチウムイオン外部バッテリーは要らないかな?
・Vexilar tri-beam トライビーム振動子
PS-501CN標準添付の振動子だとワカサギドーム船では使い物にならないので購入。ドーム船でビームを20度にすると他の人の迷惑になるらしいので8度で使用。まあ、いいんじゃないかな?常連さんもこれ使ってたし。
・クリスティア CR
初代のやつは水を吸い込んだりで防水性に問題あり、という話を聞くが、俺的には問題なし。ちなみにPEライン3ポンド(トラウト用のお下がり)とIOSラインコート(これもトラウト用)を使っているからかもしれない。
・エサ
基本、山中湖はいつも渋いので、赤虫のほうがいいらしいが、俺的には切りサシで十分と思う。赤虫付けにくいし。ただしサシの1匹チョン掛けは全く釣れない。
・釣り方
基本、山中湖はいつも渋いので、ベタ底にしかワカサギがいないと思ったほうがいい。群れが偶然回ってきたときには放置竿でも釣れるが、このベタ底ワカサギは誘わないとまったく釣れない。常連は手首をくくっと上げて下げるような感じで誘っている。常連の使っている超高感度穂先ならアタリがわかるのだが、素人仕掛けだとこのベタ底ワカサギのアタリはまったくわからないので、誘い何回かごとに、カラ合わせのような感じでスーっと竿を上に上げて、ピタっととめて、来ているかどうか見る。来ていたら穂先がブルブルするので、そのときは巻き上げる。来ていなかったら、また竿を下ろして釣り継続。まあ、常連のモノマネだが、これで釣果は倍増するかも。
・達人への道
サシ切りした手でそのままおにぎりを食べられるようになったら一人前らしい。サシ切りしたときの肉汁が気になるようであれば、まだまだ未熟者。俺は一生未熟者でいい。
・ドーム船
- 魚安・・・紅サシと赤虫の両方売っている。魚探が室内の見えるところに無いのがちょっと不便かも。とくに不満な点もないし、まあ、いいんじゃないかな?
- 湖明荘・・・紅サシ無料サービスはうれしい。魚探も室内から見えるところに設置されている。それ以外、とくに魚安と差は無いかな?ということで、まあ、いいんじゃないかな?
- つちやボード・・・平日でも混んでいる。室内魚探あり。独自開発のリールや竿先アダプターを船内で販売していた。この竿先アダプターだが、 なぎさ(後述)の人も買ったと言っていたので、ワカサギ釣りの定番品らしい。山中湖ワカサギドーム船って、通常昼ごろには船内がお葬式のような感じになる のだが、ここは違っていた。いきなりおっちゃんが乗り込んできて、「よし、わしがなんとかする」とか言って、群れを呼び寄せていた。わずか数分で真っ白な 魚探が魚影だらけになった! で、どうやって呼び寄せたか、というと、エサの残りのサシとかサシ粉とか赤虫とかを釣り穴に全部投げ込んで、棒(ボートの オールみたいなもの)を釣り穴に挿し込んで水の中をグルグルかき回すだけ。これが「群れを止める」というやつか。。。。。でも、たぶん気のせいなんだろうけど、ワカサギの味が今までとちょっと違っていたような気がした。。。。。。なんか深み、というか、サシ風味?
- なぎさ・・・赤虫しか売っていないようだった(頼めば出てきたかも)。魚探が室内の見えるところに無いのでMy魚探を持ち込むには最適。爆釣している船頭さんに「これ(ポットとかコーヒーとか)使ってもいいですか?」と聞くと「いいですよ、あ、足りなかったらそっちにも入ってますよ」とか応えてくれるのだが、実は船頭ではなく常連さんらしい。本当の船頭さんはバスプロらしい。この時期バスプロは釣りなんかせずにアルバイト三昧なんだろうな、と思ったら、真のバスプロはこの極寒の山中湖でもバス釣りをする。1日投げ続けてバイトが1回あった(もちろんボウズ)という感じらしいが、それでも可能性があるかぎり投げ続けるのが真のプロ。。。すごいな。そんなんだったら仙人になれるよ。
GPS付き魚探。GPS無しより1万円近く高いが、amazonだと時々GPS無しのPS-500Cと同価格で売っていた(2年前は)。買おうと思って次見たら1万円値上がりして、諦めたとおもって次見たら1万円値下がりしてた、なんて感じだった。まあ、これで衝動買いしたわけだが。。で、バッテリーが思いのほか持つ。朝7時から15時まで付けっぱなしにしたけど、バッテリー残容量が3(フルが4)残っていたし。これならリチウムイオン外部バッテリーは要らないかな?
・Vexilar tri-beam トライビーム振動子
PS-501CN標準添付の振動子だとワカサギドーム船では使い物にならないので購入。ドーム船でビームを20度にすると他の人の迷惑になるらしいので8度で使用。まあ、いいんじゃないかな?常連さんもこれ使ってたし。
・クリスティア CR
初代のやつは水を吸い込んだりで防水性に問題あり、という話を聞くが、俺的には問題なし。ちなみにPEライン3ポンド(トラウト用のお下がり)とIOSラインコート(これもトラウト用)を使っているからかもしれない。
・エサ
基本、山中湖はいつも渋いので、赤虫のほうがいいらしいが、俺的には切りサシで十分と思う。赤虫付けにくいし。ただしサシの1匹チョン掛けは全く釣れない。
・釣り方
基本、山中湖はいつも渋いので、ベタ底にしかワカサギがいないと思ったほうがいい。群れが偶然回ってきたときには放置竿でも釣れるが、このベタ底ワカサギは誘わないとまったく釣れない。常連は手首をくくっと上げて下げるような感じで誘っている。常連の使っている超高感度穂先ならアタリがわかるのだが、素人仕掛けだとこのベタ底ワカサギのアタリはまったくわからないので、誘い何回かごとに、カラ合わせのような感じでスーっと竿を上に上げて、ピタっととめて、来ているかどうか見る。来ていたら穂先がブルブルするので、そのときは巻き上げる。来ていなかったら、また竿を下ろして釣り継続。まあ、常連のモノマネだが、これで釣果は倍増するかも。
・達人への道
サシ切りした手でそのままおにぎりを食べられるようになったら一人前らしい。サシ切りしたときの肉汁が気になるようであれば、まだまだ未熟者。俺は一生未熟者でいい。
スタッドレスタイヤに換えたけどスキー行かないしあまり意味ないなー、と思って、ならばと2年ぶりに山中湖へ。同じく2年前に魚探PS-501CNをamazonで買ったものの、まったく使ってなかったので、今回はこれも活用するために持ち込んだ。ちなみに振動子はヤフオクで買ったVexilar tri-beam。だって、、、PS-501CN標準の振動子って、船体固定用の変な形のやつしか付いていないから。。。
釣り開始は7時から。2年前は6時か6時半だったと思う。ちょっとゆっくりになった?ということで、自宅を5時に出て、いつもの道志道をひたすら60km近く走行。自宅を出て20分ほどで津久井を通過したが、そのころから路側帯が白くなってきた。やはり冬の道志道にはスタッドレスは必要だ。
道が空いていた(あたりまえ)ので、予定より早く6時過ぎに山中湖湖畔に到着。マリモ通りという北側の道を走っていたら、なんと薄暗いなか、湖面にたくさんの人が!?。。。どうやら穴釣りをやっているらしい。たしかに湖面はスケートリンクのように真っ白だ。でも寒そー。。あとで聞いた話だが、穴釣りは爆釣らしい。1人でドーム船1隻と同じ釣果らしい。とはいえ素人が手をだしてもガイドが凍って釣りにならないらしいので、素人はだまってドーム船。
とそんなこんなで6時半頃にドーム船乗り場に到着。今回のドーム船は「なぎさ」。20数人で満員になるちょっと小さめの船だが二刀流(2本竿)ベースで場所を確保されているので、ツチヤとかより一人あたりのスペースは広め。でも全員が二刀流ならさすがに窮屈であろうが。まあ今日は平日なので、スペースは余裕、余裕。
エサは赤虫。というか、受付には赤虫しか置いてなかった。話を聞くと、激渋なので赤虫じゃないと反応が薄い、ということらしい。紅サシにするつもりだったが、まあいいや。。。。受付を済ませると、「船内でウォーミングアップしておいてください」と言われた。ウォーミングアップって何だ?
船に乗り込んだ。魚探が船室から見えるところに無い。これならMy魚探を使う意味あり!ということで、魚探と仕掛けの準備をした。と、まだ船が着岸したままなのに、もう釣り始めている人がいる。これがウォーミングアップか??でも岸からだと釣れないだろうなぁ、と思ってバケツ見るとすでに5匹くらい釣れている。「明るくなってから釣れなくなったね」なんてこと言っていたが、この人いったい何時から釣ってるんだ??
7時に離岸。15分頃より釣り開始。魚探には魚影かなんかよくわからないものがたくさん映っていたが、さっぱり釣れない。すると店の人が、「ゲイン高すぎ」と言って調整してくれた。ゲイン30くらいにしていたが、 tri-beamの8度だとゲイン12くらいで調度いい、とのこと。でゲイン12にすると、湖底しか映っていない。やっぱり魚はいないようだ。。。魚探に関しては、2回ほど一瞬(30秒くらい?)ぱらぱらと魚影が映ったことがあったが、今日ほぼ1日中こんな感じであった。ちなみに魚探に映らないということは魚がまったくいないということではなく、いるとすれば映らないところにいるということらしい。魚探に映らないのは湖底すれすれのところ。戦闘機や偵察機も地表すれすれを飛行すれば索敵網を回避できるらしいが、ワカサギも高度なステルス性を有しているのであろう。
8時過ぎた。釣果は3匹程度。
9時過ぎた。釣果は5匹程度。
まずいな。。。。
11時過ぎた。さっきまでいた近隣のドーム船の姿が見えない。どこかに行っちゃった?
12時にカップラーメンを食べる。釣果は10匹程度。記録更新(悪い意味で)かぁ?。。。
13時を過ぎてから徐々に調子が上向いてきた。魚探に魚影はあいかわらず無いが、ぽつぽつ当たって、なんとか釣れる。というかあわせ方がわかってきた感じ?
15時、釣り終了。釣果は32匹。決して多くは無い(というかむちゃくちゃ少ない)が、一人で揚げて食べる分には調度いい。これ以上だと、佃煮とか甘露煮とか面倒なことしなくちゃいけなくなるし。
でも、こんなに激渋なのに、横の人は100匹弱、そのさらに横の人は300匹オーバー。。。なんなんだ、この差は。。。
と、たぶんだけど、この差はこんな↓ところから来ているんだろうなぁ、と思っている。
1.エサが違う
赤虫だけじゃなく、紅サシ、白サシも使う。赤虫じゃ釣れなくてサシしか駄目な時間帯もあった(もちろん切りサシ)。ブドウムシ(切りブドウムシで肉汁だしまくり状態)で爆釣する日もあるらしいが、今日はだめなようだった。
2.あわせ方が違う
劇渋の日はアタリがものすごく小さい。俺にはわからない。でも、なんか怪しいなぁ、と思ったら、すーーーっと竿を上に上げて(カラあわせ)、ピタっととめる。魚が付いてたら、プルプルする。横の人、ばんばん釣れているのに、なんで俺の竿、アタリすらないんだ?と思っていたが、このあわせをやるようになってから、けっこう釣れるようになった。あれ?付いてたの?的な感じ。
3.群れを止めるテクニック
俺を含め初心者は群れが来ても1、2匹釣って終わってしまう。常連はこの群れを2本の竿を使って止めてしまうらしい、そして一瞬で10匹や20匹釣ってしまう、らしい。誘いをかけるのはもちろんだが、バラさないということが大きいらしい。魚をバラすと群れが散るらしい。
あ、、、長文になりすぎた。。。朝早かったせいか無性に眠いので寝る。
釣り開始は7時から。2年前は6時か6時半だったと思う。ちょっとゆっくりになった?ということで、自宅を5時に出て、いつもの道志道をひたすら60km近く走行。自宅を出て20分ほどで津久井を通過したが、そのころから路側帯が白くなってきた。やはり冬の道志道にはスタッドレスは必要だ。
道が空いていた(あたりまえ)ので、予定より早く6時過ぎに山中湖湖畔に到着。マリモ通りという北側の道を走っていたら、なんと薄暗いなか、湖面にたくさんの人が!?。。。どうやら穴釣りをやっているらしい。たしかに湖面はスケートリンクのように真っ白だ。でも寒そー。。あとで聞いた話だが、穴釣りは爆釣らしい。1人でドーム船1隻と同じ釣果らしい。とはいえ素人が手をだしてもガイドが凍って釣りにならないらしいので、素人はだまってドーム船。
とそんなこんなで6時半頃にドーム船乗り場に到着。今回のドーム船は「なぎさ」。20数人で満員になるちょっと小さめの船だが二刀流(2本竿)ベースで場所を確保されているので、ツチヤとかより一人あたりのスペースは広め。でも全員が二刀流ならさすがに窮屈であろうが。まあ今日は平日なので、スペースは余裕、余裕。
エサは赤虫。というか、受付には赤虫しか置いてなかった。話を聞くと、激渋なので赤虫じゃないと反応が薄い、ということらしい。紅サシにするつもりだったが、まあいいや。。。。受付を済ませると、「船内でウォーミングアップしておいてください」と言われた。ウォーミングアップって何だ?
船に乗り込んだ。魚探が船室から見えるところに無い。これならMy魚探を使う意味あり!ということで、魚探と仕掛けの準備をした。と、まだ船が着岸したままなのに、もう釣り始めている人がいる。これがウォーミングアップか??でも岸からだと釣れないだろうなぁ、と思ってバケツ見るとすでに5匹くらい釣れている。「明るくなってから釣れなくなったね」なんてこと言っていたが、この人いったい何時から釣ってるんだ??
7時に離岸。15分頃より釣り開始。魚探には魚影かなんかよくわからないものがたくさん映っていたが、さっぱり釣れない。すると店の人が、「ゲイン高すぎ」と言って調整してくれた。ゲイン30くらいにしていたが、 tri-beamの8度だとゲイン12くらいで調度いい、とのこと。でゲイン12にすると、湖底しか映っていない。やっぱり魚はいないようだ。。。魚探に関しては、2回ほど一瞬(30秒くらい?)ぱらぱらと魚影が映ったことがあったが、今日ほぼ1日中こんな感じであった。ちなみに魚探に映らないということは魚がまったくいないということではなく、いるとすれば映らないところにいるということらしい。魚探に映らないのは湖底すれすれのところ。戦闘機や偵察機も地表すれすれを飛行すれば索敵網を回避できるらしいが、ワカサギも高度なステルス性を有しているのであろう。
8時過ぎた。釣果は3匹程度。
9時過ぎた。釣果は5匹程度。
まずいな。。。。
11時過ぎた。さっきまでいた近隣のドーム船の姿が見えない。どこかに行っちゃった?
12時にカップラーメンを食べる。釣果は10匹程度。記録更新(悪い意味で)かぁ?。。。
13時を過ぎてから徐々に調子が上向いてきた。魚探に魚影はあいかわらず無いが、ぽつぽつ当たって、なんとか釣れる。というかあわせ方がわかってきた感じ?
15時、釣り終了。釣果は32匹。決して多くは無い(というかむちゃくちゃ少ない)が、一人で揚げて食べる分には調度いい。これ以上だと、佃煮とか甘露煮とか面倒なことしなくちゃいけなくなるし。
でも、こんなに激渋なのに、横の人は100匹弱、そのさらに横の人は300匹オーバー。。。なんなんだ、この差は。。。
と、たぶんだけど、この差はこんな↓ところから来ているんだろうなぁ、と思っている。
1.エサが違う
赤虫だけじゃなく、紅サシ、白サシも使う。赤虫じゃ釣れなくてサシしか駄目な時間帯もあった(もちろん切りサシ)。ブドウムシ(切りブドウムシで肉汁だしまくり状態)で爆釣する日もあるらしいが、今日はだめなようだった。
2.あわせ方が違う
劇渋の日はアタリがものすごく小さい。俺にはわからない。でも、なんか怪しいなぁ、と思ったら、すーーーっと竿を上に上げて(カラあわせ)、ピタっととめる。魚が付いてたら、プルプルする。横の人、ばんばん釣れているのに、なんで俺の竿、アタリすらないんだ?と思っていたが、このあわせをやるようになってから、けっこう釣れるようになった。あれ?付いてたの?的な感じ。
3.群れを止めるテクニック
俺を含め初心者は群れが来ても1、2匹釣って終わってしまう。常連はこの群れを2本の竿を使って止めてしまうらしい、そして一瞬で10匹や20匹釣ってしまう、らしい。誘いをかけるのはもちろんだが、バラさないということが大きいらしい。魚をバラすと群れが散るらしい。
あ、、、長文になりすぎた。。。朝早かったせいか無性に眠いので寝る。
2年前からいろいろいじっている車載マイコンであるが、何かときどき再起動している気がする。再起動したときのために変数をChip内蔵のEEPROMに記憶するようにしていたが、秒に数十回書き換えているとEEPROMの書換回数が許容をあっという間に超えそうなので、そこで値をSUNのワークステーションのようにNVRAMに書き込もうと思った。
NVRAM高いだろうなぁ、、と思って調べたら、やっぱり高い。と、いろいろ探していると、FRAM(FeRAMともいうらしい)というデバイスを見つけた。どうやら昔ながらのNVRAMは、もう時代遅れらしい。小容量でいいなら、EEPROMもフラッシュメモリーも、今後はこのFRAMに置き換えられていくのだろう。きっと。
で、このFRAMは国内では富士通が作っているようだ。富士通が作る書換可能な不揮発性メモリーということで、あの銘機BUBCOM80やバブルシステムを生み出す原動力となったバブルメモリーの末裔といえるだろう。で、この富士通のFRAMを最初は使おうと思ったが、車載で使える温度帯のものがなくて、仕方なくRamtron(Cypress)のFRAMにした。RamtronのやつはI2Cインターフェースがないので、仕方なくSPIインターフェースのやつを選んだ。それが、FM25040B、である。まあ富士通じゃないけど頭にFMが付いているし、まあいいか。
で、まず結線から。左がFRAM、右がPIC16F1827。
/CS ---- デジタル出力ポート
/WP ---- 5V
/HOLD ---- 5V
SCK ---- SCK1
SI ---- SDO1
SO ---- SDI1
VSS --- GND
VDD ---- 5V
AVRと違って、PICはINとOUTがクロスするので、ちょっと注意が必要。
で、コーディングであるが、主要なところだけ抽出すると、
前処理。ファイルの先頭やmainの前や頭に書く。
#define FRAM_CS PORTA.f2
// CS :RA2
// SCK:RB4
// SDI:RB1
// SDO:RB2
C1ON_bit = 0; // Disable comparators
C2ON_bit = 0;
APFCON0=0b10000001;
APFCON1=0b00000001;
OSCCON=0b11110000; // 8MHz x 4
OPTION_REG=0b00000011; // 1:16 , RB pullup enabled
ANSELA = 0b00000011;
ANSELB = 0b11000000;
PORTA = 0;
TRISA = 0b11110011; // 1 ... input
PORTB = 0;
TRISB = 0b11000010;
PIR1=0;
unsigned short dummy;
unsigned char iscv_cnt;
unsigned char iscv_sts=1;
SPIの初期化は
FRAM_CS=1;
SPI1_Init();
メモリー読み出しは
FRAM_CS=0;
SPI1_Write(0b00000011); // Memory Read
SPI1_Write(0x00); // Address
iscv_cnt=SPI1_Read(dummy);
iscv_sts=SPI1_Read(dummy);
FRAM_CS=1;
メモリー書き込みは
FRAM_CS=0;
SPI1_Write(0b00000110); // Write Enable
FRAM_CS=1;
FRAM_CS=0;
SPI1_Write(0b00000010); // Memory Write
SPI1_Write(0x00); // Address
SPI1_Write(iscv_cnt);
SPI1_Write(iscv_sts);
FRAM_CS=1;
とりあえず、これで動いた。
SPI1_Initは初めに1回実行すればいいみたい。
SPI1_Write(0b00000110)は書き込み毎に毎回実行しなければいけないみたい。
次に書き込みにいくとオートロックされちゃってるみたいな感じ。
NVRAM高いだろうなぁ、、と思って調べたら、やっぱり高い。と、いろいろ探していると、FRAM(FeRAMともいうらしい)というデバイスを見つけた。どうやら昔ながらのNVRAMは、もう時代遅れらしい。小容量でいいなら、EEPROMもフラッシュメモリーも、今後はこのFRAMに置き換えられていくのだろう。きっと。
で、このFRAMは国内では富士通が作っているようだ。富士通が作る書換可能な不揮発性メモリーということで、あの銘機BUBCOM80やバブルシステムを生み出す原動力となったバブルメモリーの末裔といえるだろう。で、この富士通のFRAMを最初は使おうと思ったが、車載で使える温度帯のものがなくて、仕方なくRamtron(Cypress)のFRAMにした。RamtronのやつはI2Cインターフェースがないので、仕方なくSPIインターフェースのやつを選んだ。それが、FM25040B、である。まあ富士通じゃないけど頭にFMが付いているし、まあいいか。
で、まず結線から。左がFRAM、右がPIC16F1827。
/CS ---- デジタル出力ポート
/WP ---- 5V
/HOLD ---- 5V
SCK ---- SCK1
SI ---- SDO1
SO ---- SDI1
VSS --- GND
VDD ---- 5V
AVRと違って、PICはINとOUTがクロスするので、ちょっと注意が必要。
で、コーディングであるが、主要なところだけ抽出すると、
前処理。ファイルの先頭やmainの前や頭に書く。
#define FRAM_CS PORTA.f2
// CS :RA2
// SCK:RB4
// SDI:RB1
// SDO:RB2
C1ON_bit = 0; // Disable comparators
C2ON_bit = 0;
APFCON0=0b10000001;
APFCON1=0b00000001;
OSCCON=0b11110000; // 8MHz x 4
OPTION_REG=0b00000011; // 1:16 , RB pullup enabled
ANSELA = 0b00000011;
ANSELB = 0b11000000;
PORTA = 0;
TRISA = 0b11110011; // 1 ... input
PORTB = 0;
TRISB = 0b11000010;
PIR1=0;
unsigned short dummy;
unsigned char iscv_cnt;
unsigned char iscv_sts=1;
SPIの初期化は
FRAM_CS=1;
SPI1_Init();
メモリー読み出しは
FRAM_CS=0;
SPI1_Write(0b00000011); // Memory Read
SPI1_Write(0x00); // Address
iscv_cnt=SPI1_Read(dummy);
iscv_sts=SPI1_Read(dummy);
FRAM_CS=1;
メモリー書き込みは
FRAM_CS=0;
SPI1_Write(0b00000110); // Write Enable
FRAM_CS=1;
FRAM_CS=0;
SPI1_Write(0b00000010); // Memory Write
SPI1_Write(0x00); // Address
SPI1_Write(iscv_cnt);
SPI1_Write(iscv_sts);
FRAM_CS=1;
とりあえず、これで動いた。
SPI1_Initは初めに1回実行すればいいみたい。
SPI1_Write(0b00000110)は書き込み毎に毎回実行しなければいけないみたい。
次に書き込みにいくとオートロックされちゃってるみたいな感じ。