2014年12月24日(水) 22:06
まず、液晶ディスプレイ側の改造も、基本的には成功していた。USB給電のみで、表示される。
失敗しているように感じたのは、プログラムの書き込みが失敗していたからである。また、ラジコンバッテリー給電を前提にしてバックライトの電流制限抵抗を決めていたせいで、5V給電になると電流が減り過ぎてほぼバックライトが光らないという問題も。
書き込みはST−LINKで確かに可能なのだが、書き込み先はフラッシュメモリーである。そのため、書き込みの前に消去せねばならない。ST−LINKにはバグと呼びたくなる仕様があり、消去せずに書き込んでも「成功」表示になる。ベリファイしても「成功」になる。そして、実際にはプログラムは書き変わっていないという詐欺である。せめてベリファイエラー出せよ!
明示的にメニューからチップの全消去を行い、それから書き込まねばならない。
CoIDE ならワンアクションで消去→書き込み→ベリファイとやってくれるのだが、ST−LINKは作業が2回に分かれてしまい面倒。
これで、現状の最大の問題はSPI2が働かないという点に絞られた。最初はCS信号だけは働いているかのようだったが、今や全く信号が反応しない。オシロで測定しても、機能していない。USB接続が勝手に切れる件といい、SPI周りのプログラムにとんでもないバグが潜んでいそうだ。
written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2014年12月23日(火) 19:45
SPI接続の液晶ディスプレイが売っていないのは見落としだった。
AQM1248という超小型グラフィック表示液晶が、SPIに対応している。しかしこれ、残念なことに非常に表示が遅い。1文字を表示するのに10ミリ秒ぐらい要する。これでは、実用にならない。
やはり、現状のLCDを使えるようにしたい。
さて、謎のUSB切断が再発し、厄介なことになった。
ただ、どうも単純に壊れたというものでもないようだ。USBケーブルを挿し直せば、復活する気配。困ったことに、Discovery は参考資料が少なく、LEDが消灯してしまった意味が分からない。だが、認識だけならST−LINKで可能だったことを思い出す。新基板もまた、認識された。そこで、バイナリの書き込みを実行。

バイナリは書き込み成功し、ベリファイも成功し、その直後に切断された。ほう、もしかするとプログラムのミスによりローパワーモード突入した可能性もあるのか。
なおも原因不明ではあるし、いちいち CoIDE と併用せねばならないのは煩雑。それでも、開発を続行可能というのは朗報だ。
written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2014年12月22日(月) 21:54
オシロによる測定とは無関係だが、ピンアサインが変わったのでプログラムを一部修正。
作りつけの4色LEDは再び使えるようになったので、プログラムも対応させる。
4色LEDによって受信器パルス入力は引っ越しさせられたので、入力ピンを変更する。割り込み処理ルーチンも要修正である。
修正したプログラムを書き込もうとしたら、Connect 失敗した。
CoIDE を立ち上げ直しても駄目で、USBケーブルを抜き差ししても駄目。
そう、経験したばかりの症状だ。前回もそうだが、今回も特別なイベントといえばオシロによる測定ぐらいしかない。オシロは独立器械ではなく、パソコンにUSB接続して使うタイプである。このため、GND電位に注意しないと壊れる。
厄介な問題を完全に回避するため、自分はオシロを使う際には測定対象の基板を必ずバッテリー単独で動作させることにしている。自作機器はバッテリー動作可能なものばかりなので、この方針は一貫している。だから普通は、オシロの接続で何か壊れたことはない。
だが今回は、立て続けの故障?からしてオシロも疑わざるをえない。
Discovery にはユーザーが任意に使える4色LEDの他に、2つのステイタスLEDが存在する。写真の左が電源ランプで、右がUSB接続。USBケーブルを挿し直すと、右が点灯する。そして、CoIDE からプログラムを転送しようとすると、CoIDE ではエラーが表示されこのLEDは消灯する。挿し直せば、再び点灯する。
どうなってるんだ?
単純にオシロ測定で壊したという問題ではないだろう。これまでいろいろな測定やったが、プローブで測定しただけで壊れる状況は考え難い。
もちろん、2電源同時供給も回避している。
問題が、想定外の方向に広がって来た。いずれにしろプログラムの書き込みができないから開発は中断せざるを得ないし、原因不明なのにまた新しい基板を買ってくる訳にも行かない。
written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2014年12月21日(日) 18:43
液晶ディスプレイの新規購入は断念した。
理由は、シリアル接続のLCDが見つからないこと。まあネットで探せばたぶん存在しているのだが。
I2C接続のLCDはあるが、欲しいのはSPI接続である。不安定でプロトコルの複雑なI2CではPIC16F88には流用できない。SPIなら単純なので、非力なマイコンでも余裕だ。強力なSTM32でも、トラブルが発生せず余計な工数を要しない。
そこで、現在の液晶で配線を切り替える。
電源入力を、5V出力に直結。
ところが、いざ取り付けると、液晶が点灯しない。何も表示されない。だが、本題ではないので後回し。
クロックを一杯まで遅くしたSPI2を実現する試験用プログラムを、とにかく書き込みできた。
そこで、オシロを使用。先日測定したのと同じく、CSとクロックを調べる。

ところが、どっちの信号も変化しない。トリガーに引っ掛からないので、データー取得自体が困難。コネクトは復活したが、SPI2に関する限り状況が悪化しやがった!
written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2014年12月20日(土) 20:07
左が新しい基盤だが、QAにチェックが入っていない。いいのか?
新しい基盤は、もちろんLEDなども付いている。すると、受信機パルス入力と重複してしまう。LEDを取り外さなくても、パルス入力は任意のピンを使えるようになっているので、配線替えを行なう。
また、液晶電源を5Vから直接取るように配線替え。
あっさりと、Connect 成功。
見慣れた表示が現れた。
基盤を壊してしまいました、でFAだ。
written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4