2019年4月10日水曜日

NUCLEO64 用 USB HOST, TARGET CN 基板の作成


先の投稿の通り, STM32 で USB HOST を実装しようと考えた. NUCLEO の評価基板でとりあえずソフト実装を考えたが, NUCLEO64 は USB 機能のある CPU が実装されていても, DP/DN ポートは USB コネクタが接続されていない. 毎回ユニバーサル基板に USB コネクタを実装して NUCLEO に接続するのも面倒なので USB コネクタ基板を作成した.

仕様は以下の通り

1.  USB A, micor B を実装
2.  LED 2個
3.  PUSH SW 2個 (BOOT, Generic)
4.  SOP16, SOT23-5, SOT23-6 footprint

今回も fusion pcb で作成している.
発注の際, 両面, t=1.6, 5枚 であれば送料込みで $9.90 との事でそれで発注した.

2019年3月24日日曜日

USB Keyboard Mouse 切替器の作成 (検討)

最近の PC は PS/2 の keyboard, マウスはなくなり USB ばかりになった. それはそれで良いのだが, PCが増えるとその数のキーボードとマウスが増える事になり, 机の上がどんどん狭くなる. そこで, それほど同時に使用しないキーボードとマウスを切替器によって兼用していまえば不必要なものはなくせる.

そこで今回, USB Keyboard Mouse 切替器を作成してみようと思う.

仕様

4 pcs の PC の切替 (keyboard mouse)
1 HOST (Keybpard, mouse 側)
4 DEVIE (PC側)
切り換え時に PC のenum を発生させない
(単純に DN/DP を切り換える方式でなく, 一旦それぞれのレポートを解釈する)
切替情報を出力する事で, HDMI, DP の切替を検討する

HOST CPU:   STM32F4xx (USB host, bootloader がある事  TBD)
TARGET CPU: STM32L072 x4


開発案件

HOST (keyboard, mouse接続側)
     USB DFU による update を可能な cpu を選定
     USB type A CN CPU基板の作成 (新規, TARGETの回路も入れるかは未定)
     USB host controller HID の作成 (新規)

TARGET (PCに接続)
     REF-STM32L4 基板を使用 (か?)
     USB HID の作成 (KICADKEYを流用)
     PCから TARGET CPU の update (bootloader の DFU 使用)
     PCから TARGET CPU を経由して HOST CPU の update (CDCの実装)


PCに接続する TARGET CPU の board と firm は過去の流用が可能なので, キーボード, マウスを接続する HOST CPU の開発をすればで実現できそうだ.

IMU 専用センサーハブ IMU4P の作成

近年ドローンやロボティックスで, 自立走行などで IMU を用いる事が多くなった. 金銭的コストは IMU 1 つの情報で処理した方が良いが, 複数 IMU を使用して単体ノイズをキャンセルする事を期待して金銭的コストを払っても性能を重視するアプリケーションで使用が検討される場合がある. その際, 複数の IMU は 1 つのセンサブロックとして扱える様な物を用意しておくと, 使い廻しが可能で短期に開発が可能となる. ただし, 今回は複数センサのデータを演算して結果を返すのではなく, それぞれのデータをほぼそのまま上位に転送する機器を作成する. また, 複数センサは同じ物である必要はなく, 色々なメーカーのさまざまなセンサを接続できる様にする.

IMU センサ数:                   4 pcs
センサ側インターフェイス: 4 線 SPI
上位側インターフェイス:    UART 4Mbps, 8N1
上位側プロトコル:             timestamp, count, sensor 情報, crc
                                           ハンミング符号化によりエラー訂正可能
タイムスタンプ:                   28bit 外部クロック入力
CPU:                                  STM32L072
対応 IMU:                          ADXL345, BMI160, LIS3DHH, MPU8250


今回 hardware は, STM32L4-REF に STM32L072 を載せ, STM32L4-REF と IMU を接続する為の board を作成した.

IMU4P github top                github IMU4P files
IMU4P document                github IMU4P-01 dosument
IMUMB-01 schematics       github IMUMB-01 sch

2019年1月5日土曜日

やっちまったぜー, NISA 扱いの株式の特定口座への支払

以前 NISA で個別株式の購入をしていたが, ほとんどは売却してしまっていて, 現在は VTI 等の ETF しか購入していない. まだ大丈夫だと思っていたが一番古い個別株が, 年初に特定口座に払出された. まさかそんなに前のものが残っていたのかとちょっと落胆した.
と言うのも, 年末からの下落で, 買値の約 10 円安の払出し価額となってしまったからだ. ただ, 500株しかないので, ほぼ 5,000 円程度の評価損状態がベースとなった. 戻って売却しても申告分離課税で約 1,000 円の譲渡益税が掛る.

たかが 5000 円とは言え, これが最近投資している VTI などに適応されると, とんでもない事になりそうな予感がする. この払出しの件のちょっと前に VTI に対して年度毎にどれだけ購入したかをまとめすぐに分る様にしておいたので, 来年からはロールオーバーもしくは期日までに払出しの指示をしよう.

昔から言われていたとはいえ,
NISA は表向の表情とは違い地雷のある制度だ. くわばらくわばら.

2019年の貯蓄運用投資方針

2018年振り返り

2018年末の下落により対入金額で評価損益約 -0.3% となった. 昨年初は約 +2.9% だったのでかなり下落した. 現在リスク資産比率を約 60% としており, なおかついまだリスク資産, 特に米国株式 33 %, 先進国株式 (除く日本株式) 13% の資産比率に対し, 今回の下落分も含めそれぞれ 3.8%, 2.8% 少ない状態である. SP500 が去年初から約 -7.5%の下落を考えると, おおよそ投資比率程度の下落であると思われる. また, 労働収入税引前の約 60% 以上を投資 (現金債券等を含む) にまわせた.


今年の行動指針

引き続き労働収入税引前の最低 60% を以下の配分で投資していく. しかもほぼインデックスファンドで運用.
振り返りでも書いた通り, 本格的なリセッションが始まるかもしれなく, リスク資産の評価額が半分になる可能性も考慮しておく必要がある. しかし,

米国株式            33% (-3.8%)
先進国株式        13% (-2.8%)
日本株式              5% (+1.4%)
新興国株式           5%
商品 (金など)        2%
REIT                    1%
SocialFunding       1%
債券等                25% (+1.6%)
現金等                15% (+3.4%)

また, 配当は DRIP や手動での配当の再投資を行なう. 本格的なリセッションになると約 2,3 年は下落基調となるので, リスク資産の購入するのには丁度良い時期となる. 現状は 20 ケ月ほどで積立不足が解消される予定である. 日本株式の 1.4% 部分は今後再度上昇した時に NISA 部分の売却を検討する (根拠なき下落とも言われているのでそれを期待する).


指針変更の検討

1. 現状のリスク資産比率 60% を 70% にするか検討
  特に生活防衛資産を定めていないが, 現金にある程度の余裕があるのと, 資産資産運用効率を高める為にリスク資産比率を高めようかと考えている.
   低リスク資産に現金の他に債券等があるが, この債券等に退職金累計額が含まれている. 現状厚生年金支払累計額を含めてはいないが, これらの資産は将来ある時点で一時金もしくは年金受け取りが発生する. その時点で急な投資比率の変化をさける為, 低リスク資産に含めているがリバランスには実質使えない. その為リスク資産比率 70%とすると, 債券等が低リスク資産のほとんどを占める事になり, 現金が少なくなりリバランス資金がなくなる. 70% でなく 65% にするなどの微妙な調整が必要かもしれない.


2. リタイアならびにその後の生活の検討
最低でも 10 数年後には現在の勤め先からアーリリタイアもしくは通常の退職する事が考えられる. 退職後, 必要な生活費, 教育費, その他費用, そして運用投資, 年金受給など見積をしておきスムーズな移行ができる様に気持ちの部分ならびに資産の部分を備える検討に入る. 老後の費用として現役時の費用の 70% 程度を見積ると良いみたいだが, 年間約 300 万円もと見積っておけば良いのではないか. これを年金受給, 配当収入, 資産取り崩しで 95 歳までまかなえれば良いかと思われる.


3. 海外証券口座へのドル送金と円からドル替えの手法の検討
現状, YJFXでドル替 -> SMBC prestia -> Fistradeでの送金を行なっている (いた). しかし, 手数料が約 3500 円ほどかかる. ならびに, Firstrade のドル受け取りが名義人口座でない為, 昨今のマネーロンダリング対策強化により送金できない機会もあると言われている. そこで Interactive Brokers (以下 IB) にてドル替し, ACHにて Union Bank -> Firstrade への送金を検討する. ただし, IB は流動資産として 10 万米ドル切ると口座維持手数料が 10 米ドル発生するので, その対策が必要 (今後 USDJPY=80 になる事を考慮に入れると12.5百万円が必要, うーん, 結構敷居が高い). すべて IB で管理すれば良いのだが, Firstrade は DRIP があるのでそちらで運用していきたい.

                                                                                                100万円        200万円
YJFXでドル替 -> SMBC prestia -> Fistrade                               約3,550円    約3,600円
SMBC -> IB円受取 -> IBFXドル替 -> Union Bank -> Firstrade     約1000円     約1,200円

IB でドル替できる様になると YJFX, SMBC prestia 口座は必要なくなる.

2018年12月30日日曜日

KICAD の short cut 専用 keyboardの作成 (win7対策)

KICAD short cut keyboard が Windows 7 で正しく認識しない問題を知らべている.

とりあえず波形調べてみた.



電圧が高い方が host の出力, 低い方が STM32L072 である. 今回 3.3V LDO がなかったので, 3.0V にた為, 電圧が低い. datasheet 上 margin 0 で範囲に入っている (通常 ng ですが...) これはおかしと思い, それでは mask rom の bootloader での USB DFU ではどうかと確認してみると, ほぼ同じ感じであきらかな違いはない.  どう考えても drive strength が低い様な気がする. しかし, mask rom の bootloader は正しく認識する (ある意味こんな波形で通信できるのかと感心した). 良く考えると, DM,DPは差動信号なので, cross した以降は特にらだらだ上っても問題ない. やはり, 信号波形とは関係なさそうだ.


当初から usb bus analyzer を使用しているが, どうも L072 が PC からの packet 正しく取れていないく, 当然 data も返す事もできていない様に感じる. ただし, ACK が返っているので, ちょっと謎である.

次に USB 用の内部 clock である HSI48 関連を見た. SYSCFG, CRS など関連 module の範囲が広いので enable の順番などを確認した. その中で, 時々正しく device descriptor の要求に対し, 返事を返している事があった. おおよそ 20 回に 1回程度であろうか. やはり USB clock がおかしいのであろうか... HSI48 の 48MHz の clock 出力周波数をみてみると, 結構 jitter が乗っている. また, オシロのなんちゃって周波数カウンタ的にも 100ppm 以上の変化がある. Ubuntu と Windows でのそれほどの違いはなさそうである. 唯一違うのが get device descriptor の setup を発行するまでに SOF が 36 個程度か 20 個程度かというものであるが, mask rom の bootloader の DFU では問題なく認識しているので, この SOF に起因するとは思えない.


HSI48をさんざん調べ一点直したところがあったが, 特に改善はみられない. setup 自体は問題なく受けていて処理ができていないのではなかと考え, 該当 code に printf を入れまくると, なぜか, setup を受けているはずなのに setup 処理 routine に飛んで行っていない. setup 割り込みが発生してから, 割り込み要因が途中で変化している事があった. その時には, Win7 が usb を reset していた. 今回割り込み要因を調べるのに, 毎回 EPnR register から読んでいた. もしやと思い EPnR を一度 locad buffer に入れてからそれを参照する様にした所, 全く問題なくなった.
毎回 EPnR を読むと割り込み要因が消す, もしくは次の packet を受信してその要因をみていたようだ. ふだん module の 割り込み register を一度 loal buffer にいれているのだが, register 名が割り込み感がなかったので毎回読んでいたのではないかと思う. STM32L4x でなにもなかったが STM32L0x は core clock の上限が 32MHz なので処理が比較的ゆっくりとなり, 問題が出てきたのではなかと思われる.




2018年12月28日金曜日

マイナンバーの署名用電子証明書 (長い方) のパスワードは英字はすべて大文字です

年末になり来年早々恒例の確定申告の作成をしなければならない. いままで郵送で送り付けしかも, 受取証の返信封筒なしのチャレンジャブルな方法で行なっていた. 今年始めに通知カードをマイナンバーカードに切り換えた. また, カードリーダも用意してずっと放置していたので, そろそろ設定などをしなければと重い腰を上げた.

以下の処理を行なった
1. JPKIの download と install
2. 国税庁 site の root 証明 / 中間証明設定
   信頼済み site 登録
3. 開始届出の新規設定

この 1 の所で, マイナンバーカードを認識させて, 証明書の表示ができるのでパスワードを打ってみた. これだと思うパスワードを打ってみたが通らない. 違うのかと思い別のパスワードを入れてみてなんやかんやで 5回を越えパスワードロックした.

ググってみると英字は  大文字  だと言う事だ.

通常大文字小文字混在やろうと思うのだが, 大文字だけであった. パスワードのアンロックは区役所の端末でしかできない. たぶん小文字で打ってしまっていたのを大文字にすれば良いはずだが, ロック解除だけでやっぱり違うパスワードだったとなったら二度手間なので, 今回は再設定をした. 大文字だけってなんかだなぁと, 思い区役所に行った. 手続きは,

1. 申請書 (名前, 住所, etc, ロック解除か再設定か, 印鑑いらなかった)
2. 端末で再設定 (4文字パスワードで入れて確認される)

役所に行かなければならないが, 内容はそれほど繁雑でなかった. 大文字だと再認識しながら, 多分同じであろうパスワードを打った. それほど混んでいなかったので役所に着いてから 20 分もかからず完了した.

家に帰り JPKI で確認すると問題なく証明書の確認ができた. ただ eTAX の送信時にまたなんらかのトラブルがあるはずだ. なかなか楽しませてもらえそうだ...




署名用電子証明書 (長い方) のパスワードは英字はすべて  大文字  です