フォト
2018年6月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« 2018年5月 | トップページ

2018年6月の2件の記事

2018年6月14日 (木)

Lenovo Miix 2 8 を久々に使ってみる

「ポメラが欲しい」という衝動をぐっとこらえて、

あまり活用していなかったLenovo Miix 2 8で何とかしようと模索中です。

Windows 10にアップデートし、良さげなキーボードを付けたりして
そこそこ活用できそうな感じになってきました。

Dscn8219

キーボードは、こんな感じで乗せるタイプです。

Dscn8228

折りたたんでノートPCみたいな感じで利用出来ます。
キーボードを付けても重さは575gなので持ち運びも苦にならないです。

Dscn8221

暫くこれを持ち歩いて、使ってみることにしよう。


2018年6月11日 (月)

CH340E搭載小型USB-シリアル変換モジュールの調査

AliexpressにてCH340Eを使った小型USB-シリアル変換モジュールを見つけ入手しました。

1PCS CH340E USB to TTL Serial Converter, 5V/3.3V Model:BTE17-06 Alternative CH340G Module
00

1個 $0.53ですが、送料が$1.32かかります。1個だけの注文だと割高になるので5個購入。
5個でも送料は$1.32でした。

このモジュールはaitendoでも販売されているようです。

到着したモジュール
Dscn8178

基板の実装状態は良好な製品です。

GND、5V、TXD、RXD、DTR、3.3Vの6端子があります。
DTRが使えるので、シリアル経由のプログラム書き込みにも利用出来ます。
ポリヒューズが乗っており過電流の対策も施されています。
3.3Vは内蔵レギュレーターで生成しています。

Dscn8188

早速、Arduino Pro mini (5V 16MHz)で書き込みテストを行ってみました。

Dscn8202

Lチカスケッチは問題なく書き込めました。

次に秋月で購入したATmega328P(内部RC 8MHz)への書込みを試してみます。

Dscn8205

書込みでエラー発生。

02

念のため、コマンドラインにて接続チェックをしましたがやはりエラー発生です。

01

ケーブルやリセット回りの実装等を見直すも、原因不明です。
様子的にはDTRによるリセットはちゃんの行われているようですが、
それ以降のデータ通信が上手く行っていないようです。

念のため利用実績のあるCP2102搭載のUSB-シリアル変換モジュールで
書込み確認してみました。

Dscn8209

問題無く書き込み出来ました。何回やってもエラーなしです。

04_2

当然、接続確認も問題なし。

03


CH340E搭載モジュール固有の問題のようです。
Arduino Pro mini (5V 16MHz)では問題なく書き込めていたので、
CH340EがRC発振8MHzの精度の悪さに敏感なためエラーになっているのかもしれません。

CH340E搭載モジュールとCP2102搭載を直結して57600bps設定で通信が出来ることを
確認したので、57600bps設定の通信も問題無く出来ています。

原因については、ロジックアナライザ等を使ってもう少し調べてみることにします。

2018/06/12 追記
ロジックアナライザにて正常書込みが出来るCP2102モジュールと上手くいかない
CH340Eの信号を調べてみました。

CP2012モジュール利用時
06

CH340Eモジュール利用時
05

どうも、CH340EモジュールのDTR信号に問題があるようです。
Atmega328Pは外部リセットピンのLOW→HIGHの立上りでMCU起動の遅延タイマが
スタートし始動しますが、これではブートローダが動く前にデータが送られて処理出来ません。

色々調べると、CH340搭載モジュールの一部にはこれと同様の問題があるようです。
   参考にしたサイト
   ・Arduino Forum Topic: CH340 programmer not auto-resetting (Read 2806 times)
   ・くつしたねこのTinkering,Tinkering and Obliquity - Arduino互換機を作りたい(3)
   ・Memoteki - Arduinoに書き込めない問題を修正する方法[not in sync]

上記のサイトに解決策があり、早速参考にしてみました。
次の回路を付加してCH340EモジュールのDTR出力から短いワンショットパルスを生成します。   

07
Dscn8210

これにより、DTR信号からRESET信号を生成できました。
一番下が生成したRESET信号です。

08

CP2012モジュールのDTRとほぼ同じ信号が生成出来ました。
ただし、これでも書込みがうまくいきません。
もう少し調べてみることにします。

« 2018年5月 | トップページ