2019年12月28日土曜日

FPGACONF SD CARD 32GB 対応

先の記事で FPGA を config する為の装置を作成していると書いたが,実のところ 4GB のSD card からの読み込みは可能であったが,32GB 品を試してみると途中で止ってしまう.
止る所が bus 幅を 1 bit から 4 bit に変更した直後であったのそのあたりを色々知らべた. SD spec 的には, CMD7 を送った後に ACMD6 (switch bus width) を送るというのが, 直後なのか, 他の CMD を送った後でも良いのか良くわらず, 色々試行錯誤した. しかし全く解決せず,hard 的な観点で見てみた,とりあえず D0 のみ pull up していたのだが, とりあえずなんでもよいから全 bus pull up してみた.

結果はこれが問題で, 回収後問題なく動作する様になった.

2019年11月21日木曜日

FPGA configurer の作成


FPGA を使用する為には外部より FPGA のコンフィギュレーションデータを転送する必要がある. 多くは serial flash rom から転送を行なうが, 動作が安定しデータの書き換えが必要なれば問題ないが, 開発段階では何回も serial flash rom の更新が必要になる. その場合, JTAG やなんらかの書き換え装置が必要になり, 使用者全体に JTAG を配るか, 一度機器を手元に送ってもらい書き換えて再び発送をするかになる.
本機はその煩わしさから開放する為, コンフィギュレーションデータの格納をSD カードを使用し, 書き換えが必要な場合は SD カードを PC に挿し更新された file PC 上でコピーし, その後 SD カードを本機に挿す事で簡単に更新できる様になり更新の手間が削減される


基本仕様

- CPU STM32F730 200MHz@ 3.3V, 180MHz@1.8V
- SD card 内の bitstream data FPGA に転送
- SD 50MHz 4bit FAT16, FAT32
- FPGA I/F SPI 50MHz(max), 8 bit parallel bus 66MHz(max)
- Chip Select , 8 (STM32F730V 5 本に制限)
- PROGX, DONE, GPIO 8


ソフトスタック


上記はソフトウェアスタックで諸般の事情により ST が出している SDK を使用せずに各スタックをスクラッチから書いている. 簡単に動作内容を示すと, FAT でフォーマットされたファイルシステム上にある init.txt を読み, そこに記述している処理を順次実行していく. その一つに fpga の bitstream ファイルを読みその内容を fpga に転送するスクリプトも含まれる.

結果
bitstream を SD に入れてコンフィギュレーションできる利点は先に述べた通りで, 十分に便利である. ここで問題なのはコンフィギュレーション時間である. 現状ボトルネックは, 計算上, SD からの読み出しである. Clock 50MHz, 4bit 幅の為, 上限 25MB/s となり, 約 80MB の bitstream の場合 3.2sec 程度で読み出せるはずであるが, 実際は SDIO の read コマンドを出してからデータの転送準備ができるまでの無転送期間がある為,今回使用したカードでは実際はおおよそ 4.5sec 程度かかる. ただしカードによって変化すると思われるので, おおよその目安にはなるだろう.


2019年10月21日月曜日

PDF の追加編集 (xournal)




基板の rework などで回路図に変更点を PDF に書きいれるのに xournal を使用する.
PDF を直接編集するのではなく, 別途変更 project file が用意されそちらを追加変更していくので, 以前の変更の再変更などが簡単である.

1. textの追加
2. 自由曲線 (鉛筆 tool)
3. 直線 (自由曲線を直線に自動変換)
4. 円 (自由曲線を円に自動変換)

できてほしい事 (やりたいけどできない事)
a. 矢印直線
b. 矩形描画


とりあえずは回路図に comment を入れられるだけでも有用!

ubuntu では sudo apt install xournal で使用できる


--- 2020/05/22 追記
いまは xournalpp がある.
    sudo apt install xournalpp
で install
なにが良いって, wacom の tablet で手書き文字が使えるのがいい.
いままで, 回路図の check や検討会的なものをするのに紙に書いていたが, pc に直接書き込める. また, 複数人数で remote work しながら画像 share しながら書き込んたものも共有もできる.

Openocd の STM32F730 対応

STM32F730 で openocd を中継し gdb から target remote :3333 で接続すると, 即座に disconnect される. Openocd の comment 的に "gdb_memory_map disable" したらどうと出てくるので, 本当にテキトーな場所 ("jtag scan chain" の if block のした) に "gdb_memory_map disable" を入れてみた.
問題なく接続できる様になるが, 今度は break point の設定をしても cpu を stop できないみたいである.
今度は "gdb_breakpoint_override hard" を入れた. それでも stop できなかった.

まぁ, とりあえず RCC の設定ができる様になったからいいか...
本当に必要になった時に調べるとするか


### 環境
Ubuntu18.04.3
openocd 0.10.0 (apt instll そのまま)
gdb-multiarch 8.1.0.20180409-git (apt install そのまま)

### 変更点
1. copy
cp /usr/share/openocd/scripts/target/stm32f7x.cfg /usr/share/openocd/scripts/target/stm32f730.cfg
2. stm32f730.cfg に以下の下 2行を追加

#jtag scan chain
if { [info exists CPUTAPID] } {
   set _CPUTAPID $CPUTAPID
} else {
   if { [using_jtag] } {
      # See STM Document RM0385
      # Section 40.6.3 - corresponds to Cortex-M7 with FPU r0p0
      set _CPUTAPID 0x5ba00477
   } {
      set _CPUTAPID 0x5ba02477
   }
}
gdb_memory_map disable
gdb_breakpoint_override hard

3. openocd の実行
 
openocd -f interface/stlink-v2-1.cfg -f target/stm32f730.cfg

2019年9月7日土曜日

USB3.0 SuperSpeed の suspend を行なわない様にする

USB3.0 SuperSpeed (以下 SS) を使用していると, 表面上いままでの USB2.0 HS, FS となにも変わらず使用できますが, 消費電力削減の観点から SS が使える active 状態の U0 と SS もしくは device が suspend 状態の U1, U2, U3 があり, 通常 OS として SS の転送 rate が低い場合は  suspend 状態に遷移する様にしているが, video など頻繁な転送を行なう場合は, suspend に入ってしまうと, active 状態の U0 に入るのに時間がかかり転送が drop してしまう.
そこで,
1. host 側の OS で suspend に移行しない様にする
2. target 側で suspend を reject する
事で, active 状態の U0 のままにする事ができる.

USB 3.2 Spec page 190 より

linux では

echo -1 > /sys/module/usbcore/parameters/autosuspend

とする事で上記 1を実現できる.

2019年8月12日月曜日

生命保険の契約変更の変遷とその他保険について

 終身保険の払済をしたのは先の通りですが, あまりにもお粗末な保険契約について他の方の参考もしくは反面教師になればとここに記します.

学生の時に, 保険に入るローカルブームがあり, 終身 1000 万円, 一時払い 2億円 (!!!) の保険を入った. 当時月額 22000 円程度のものに入った. 何故入る必要があるか, 幾ら入る必要があるかなど全くなく契約した. 2 年後一時払い 2 億円はどう考えても必要ないので (それでも) 5,000万円の契約に変更した. もちろん独身で実家暮しなので全く必要ない. その後, この一時払いも無くした. 証書もどっかに行ったので詳細は忘れてしまっているが, この状態で暫く支払っていた. 契約から 20 年立ち保険料も 2,000 円ほど上り, 平成 26 年に入院給付金も解約した. そして今年平成 31 年 (令和元年) 終身部分も払済にし, 保険会社に支払う保険料は 0 円になった.

契約内容の変遷
この間, 大事故も病気もせず保険にお世話になる事はなかった. もちろん丈夫な体にしてもらった親に感謝であるが, マネーリテラシーがまったくないおバカな保険屋に都合の良い客になっていた. なまけものに最適なインデックスファンドの定期的買付け投資を始めてから保険と投資もしくは貯蓄をやっと切離して考えられる様になってきて, 頭だけでなく体で行動が起せる様になってきた.
いやー, それにしても細かく減額をしていったなぁと思う, 若い自分が前に行たら, 保険はいらん! こつこつインデックス投資しろと言いたい.


最近は保険に関する指南 (暴露) 本やブログ, youtube など参考にできる情報が多数あり, やっとちゃんと頭の中に入ってきた. なんともボーっと生きてきたと残念な感じである. しかし, 性格や考えはそう簡単に変わらないし, 変えようとも思っていないので, 死ぬまで続くであろうが, それでも今色々変えていけるのはよかったと思う. しかしまだ個人年金保険や地震保険の解約, また火災保険を火災共済への変更が残っているが, ぼちぼちやっていこうかと考えている. もちろん資産もそれほど無ければ多少の月額の保険料を払って家族が路頭に迷わないもしくは軽減できる様にする必要があるが, 現状それは問題ないのではないかと考えている.

現状考えている最低限必要な保険は以下と考えている.

- 火災保険 (地震保険なし)
- 個人賠償責任保険


場合において必要なのは

- 団体信用生命保険 (家を借金で購入した場合)
- 任意自動車保険 (車を所有している場合, 車両保険はなし)
- 掛捨生命保険 (家族が生きていく為の十分な資産を確保できていない場合)


とにかく貯蓄型の生命保険や個人年金保険は必要ない. 貯蓄と発生確率は低いが自分が払い切れない事態の為の保険を組み合せるのは, 目的と手段が正しく認識できていないと言わざるを得ない. 貯蓄したいのであれば, 債権もしくは株式に投資すれば良いし, 保険は掛け捨てでコスト重視の商品を購入すれば良い.

最近, えっ! そうなのと思ったのが地震保険で, この保険は建物の為の保険でなく, 地震による火災で家屋が消失した時に直近の生活が路頭に迷わない様にする為の物だと知った. その為, 火災保険で契約した家屋の保険料の半分が上限となっていて 100% 保証されるわけではない. 要するに地震での火災は保証しないという事だ. もちろんお金に色は着いていないので家屋の為に支出する事ができるが, それにしては保険金が高い.

とにかく, 次のターゲットは, 火災保険 (地震保険) を火災共済に変更する事かな.

生命保険控除を捨てて, 契約していた終身保険を払済みにした.

以前より契約していた終身保険を払い済みにした. 保険内容は死亡時 1000 万円の保険で, 契約当時は特約など色々付けていて徐々にダウンサイジングして最後の最後に終身保険のみのになっていた. 月約 8000 円程度の保険金でお宝保険と言われる部類の保険なので満期まで払うのも良いが, 以下の理由で払済にする事にした. この払済は, これから支払う分を停止して, 今まで支払った金額のみの運用とし, その分死亡時に受け取る保険金を減額するものである. 払済にする事でどれくらい保険金が減額されるかは, 支払った金額と契約時の利率などで計算されるので, 正確に知るには保険会社に確認が必要になる.

今回窓口に行く前にチョー概算で計算して, 自分自身納得いくかどうか考え, 払済にする理由 (大義名分) を挙げてみた

- 保険はインフレに弱い (保険受け取り時の 1000 万円の物の価値が現在より低くなる)
- 長期資金が流動性が低くなる.
- 解約返戻金が支払金額に比例せず指数的 (始めの頃は損をする)
- 死亡しても家族が路頭に迷わないくらいには資産を確保した.
- 死亡保険なので自分で使えるわけでない (余命半年宣言で支払, そんなん使える状態か!).
- 概算 600 万円程度になると算出

特にインフレに弱い事, 流動性がなくなる事が最大のリスクと考えたのが大きい. もちろんそれなりの資産を確保という前提にある.

早速, 窓口に行き払済を伝えると, 払済前の状態の契約明細を出していただき, 払済後の受取保険金額を出してもらった. そこで示されたのは, 約 780 万円という事だった. 約 78% off であるが, 自分的なテキトー概算よりは十分もらえそうなので, 即決で払済にした. 勿論対応していただいた方から, "お宝保険なのでこのまま払い続けた方がいいですよー", また "今回払済にする理由はなんでしょうか" とか一応お決まりの言葉があったが, あまり色々言わなかった. まぁ, インフレがどうとか流動性がどうとか相手は十分わかっている話なので, 単に息するために話をするだけなので, お茶を濁した...

これで月々 8000 円の相対的に手取収入アップとなる. 本来なら, ETF, 投資信託の積立の金額 up なのだが, いまは積立金額ダウンをしており, 早く来い来い大暴落状態で, 現金を増していこうと思う.

まぁどうでも良いが, まだ個人年金保険の契約もあり, 月 1 万円の支払をしている. 手数料として毎月 0.3% の 30 円を払っており, まだ良心的な手数料だとは思うが, これもやはり, インフレリスク, 流動性をなくしており解約したいところだが, 会社の福利厚生の一貫のものを契約しておりちょっと面倒なので, とりあえず退職までは持っておくか...