Friday, July 24, 2015

Banggoodでの購買経験メモ(3)

はてさて、トラッキングがかかっていない時計キットは今日朝、郵便受けに入っていることに気づきました。

驚いたのはその発送元がスエーデンで、同梱のマニュアルが中国語のみ。


まあ、日本人なので勘とGoogle translateに頼れば、大体想像がつく内容なのでなんとかなりますが、コリャちとヒドイですね。流石、中華サイト。

ICがソケット接続になっているのは良心的です。電源はUSBにつなぎますが、RTC
は3Vの電池につながっている設計です。使用チップはMAXIMのDS1302 トリクルチャージタイムキーピングチップとLED駆動をするMCUのSTC15F204EAです。

このトリクルチャージタイムキーピングチップのDS1302はよくできています。

DS1302には少し古いチップのようですが、リアルタイムクロック/カレンダーと31バイトのスタティックRAMを内蔵しています。このデバイスは、簡素なシリアルインタフェース経由でマイクロプロセッサと通信します。リアルタイムクロック/カレンダーは、秒、分、時間、曜日、日、月、および年の情報を提供します。うるう年の補正を含め、31日に満たない月の最後の日付は自動的に調整されます。このクロックは、24時間形式またはAM/PMインジケータを備えた12時間形式のいずれかで動作します。

DS1302とマイクロプロセッサのインタフェースは、同期シリアル通信の使用によって簡素化されています。クロック/RAMとの通信に必要なのは、CE、I/O (データライン)、およびSCLK (シリアルクロック)の3本のワイヤのみです。クロック/RAMとの間のデータ転送は、1度に1バイトまたは最大31バイトのバースト転送が可能です。DS1302は超低電力で動作するように設計されており、1µW以下でデータおよびクロック情報を維持します。
DS1302は、DS1202の後継製品です。DS1202の基本的なタイムキーピング機能に加えて、DS1302は追加機能として、主電源とバックアップ電源用のデュアル電源端子、VCC1用の設定可能なトリクルチャージャ、および7バイトの追加スクラッチパッドメモリを備えています。

DSO201 に関する重要情報のまとめ

購入品 banggood.com (July/2015)

  • Oscilloscope Ver.4.28 (Normal power-on)
  • Device Firmware Upgrade V3.29D (Power-on with"#-")
  • 購入品はe-design系の外観(Seeedstudioとはどこも出てこない)


この商品関連のネット情報はどうも2種類の製品がすべて並行である:

seedstudioブランド(外国向け?)

e-design.comブランド(中国国内向け?キットもある?少し安い)

複雑な関係は以下のサイトから感じられる:

e-design系販売チャンネル

必要情報源:
DS201 201V4_30:

1.完善restore,恢复出厂设置(Ca中)
2.修复测试值底数问题
3.兼容MAC OS X ,win8.1系统下u盘保存文件

DS201 Pro 201V5_07:

1.增加自动零线校准
2.完善restore,恢复出厂设置(Ca中)
3.修复测试值底数问题
4.兼容MAC OS X ,win8.1系统下u盘保存文件
 とあるので、どうもproでないのは201V4系統ですね。
この辺見ていても、seedstudio系のサイトへリンクしており仲が悪い感じはない。

この他の独立情報源は:

今日はここまで。

Banggoodでの購買経験メモ(2)

中華グッドサイトの www.banggood.com からの買い物の話のつづきです。

同時に3点7月7日に注文しています。

  • 4ドルほどの半田鏝先クリーナーは、翌日中国から発送され16日に着きました。中国からの発送。
  • 12ドルほどの時計キットは、翌日中国から発送され、(情報更新: 25日に着きました。何と、スエーデンからの発送。)
  • 57ドルのポケットオシロは、15日にシンガポールから発送連絡が入り、実際にシンガポールの郵便局からの最初の連絡は5日後の20日の飛行機に乗せる時で、日本の家に23日につきました。


最後のポケットオシロは高額なので無償でトラッキングサービスがついていましたが、出荷されトラッキング番号が付いて5日ほどはとらっきんぐ情報は何も出ず、実質的に日本国内だけのトラッキングでした。家の近くの郵便局などが丁寧に出ます。
Destination Country - Cache Time:2015-07-24 23:00 - Go to official website

KANAGAWA, AOBA, 225-8799, Final delivery

KANAGAWA, AOBA, 225-8799, Processing at delivery Post Office

KANAGAWA, KAWASAKIHIGASHI, 219-8799, Departure from inward office of exchange

KANAGAWA, KAWASAKIHIGASHI, 219-8799, Held by import Customs

KANAGAWA, KAWASAKIHIGASHI, 219-8799, Arrival at inward office of exchange

SINGAPORE, SINGAPORE S05, Dispatch from outward office of exchange
Origin Country - Cache Time:2015-07-24 23:00 - Go to official website

Arrived at overseas (Country code: JP)


どうも、トラッキングする商品は社内資産のまま移動させシンガポールにまとめて持っていき、そこでSAL便のような安い航空貨物にのせているようですね。

次回からは2ドルぐらいなのでトラッキングだけは付けた方がいい気がします。

オシロの箱はあまりつぶれていませんでした。一様動くことだけは確認しました。



まあ、波形はなまっていますが、テスターだけでは分からないことをみられるようになりました。今円安なので56ドル=7000円です。一昔前のアナログテスターに毛の生えた値段ですのでお買い得でしょう。このDSO201は別途レビューします。


Thursday, July 16, 2015

Banggoodでの購買経験メモ(1)

最近勢いで、中華グッドサイトの www.banggood.com から買い物を始めました。

まあ有名サイトなので大丈夫とは思っているのですが、現在進行形の情報を共有/記録します。

まず、サイトに書かれている時間が配達までに本当にかかるということです。米国や日本の通販業者と比べると遅いです。まあ、安いし配達無料ですので文句は言えないのですが。実際は少額の商品は直接航空便で送られてきます。所謂日本のSAL便なんですかね。発注から9日かかってます。

まあ今日来たものはハンダゴテの今風の銅線モジャモジャクリーナーなんですが、そう変なものではありませんでした。4ドルだし悪くありません。

まあ、同じ時に頼んだ、時計のキット$12と携帯オシロ$57がどうなるかです。

時計のキットもすぐ発送されたので、まあ2/3日すれば付くかな。これとハンダゴテクリーナーはやすいのでトッラキングされませんでしたが、すぐ発送されました。

一方、オシロはなかなかSHIPされませんでした。1週間経った昨日連絡が入って発送とのことです。トラッキング番号が来るのですが、シンガポールで発送されている用だという情報以外は24時間経っても出て来ず大丈夫か不安になります。


まあ、中華ディスカウントサイトですので、この辺は御愛嬌なのでしょう。



まあ、包装は簡単で紙箱はベコベコです。白いスタイロフォームでくるんだだけの黒いビニール袋入りでした。

まあ、こんなもんでしょう。

青木

Saturday, September 13, 2014

ATmega328Pファームウエアー書き込み

私はMakefileを作って、ARDUINO対応の16MHzファーム書き込みに対応しています。

このMakefileファイルは https://github.com/osamuaoki/avrdude-friend にあります。

$ make set

などとシェルから入力して使ってください。(avrdudeやarduinoパッケージはインストールする必要ががあります)

ここで理解するべき基本は:
  • チップの初期状態は、8MHzの内部発振器をプリスケーラーで1/8に分周したのをMCUのクロックで使っている。
  • ARDUINO用の状態は、16MHzの外付クリスタル発振器をそのままMCUのクロックで使っている。
  • ARDUINO用のファームウエアーをフラッシュに書いたあと読み出せないようにLOCKしている。
  • 読み出せないようロックされたのを外すには全消去(erase)しかない。

MCUがこれで消去して初期化できなくなるケースとして、何かの間違いで外部クロック使用に設定してしまうことがあるそうです。その際はクロックピンに何らかのクロックをいれればなんとか対応できます。

これよりややこしい壊し方をした際には、RESETに12Vをかけてプログラムする高圧パラレルプログラミング(ATINY等では高圧シリアルプログラミング)なのですが、滅多に無いので新しいチップを買う方が安いですね。

Linuxの基本が分かっていればMakefileの意図するところはわかりますよね。分からないときは


などを読んでください。

Avrdude 6.1-2 がFT232Rには必要

FT232Rベースのプログラマーを使おうとして最近動かなくなったと言う事ございませんか?

少なくともLinux系ではそのようです。

avrdude中のこのコード部分は「すzのAVR研究」にある「FT245R/FT232R で avrdude (2)」と同じようです。 http://suz-avr.sblo.jp/category/780472-1.html 「すzのAVR研究」からコードがマージされたのがバージョン6以降です。でもどうも最近動かないようでした。

結論としては、どうも使用するスレッドライブラリーでバージョンアップがあり、「すzのAVR研究」も含めてタイミングがルーズなところでアップデートしたライブラリーを使うとレグレッションでコケるようです。これはUPSTREAMで問題になってい、パッチもありました。このパッチを私のところで当てると一発で問題解決しました。

DEBIANにパッチ付きでレポートしたところ、すでに修正されました。Debian/Ubuntuなら6.1-2以降のバージョンなら修正済みです。あと一週間もすればDEBIANのTESTING環境やUBUNTUで使えるようになるでしょう。
 https://bugs.debian.org/760764

アップストリームもこのパッチを適用したようなので、まもなくすべて修正されるので安心してください。
 https://savannah.nongnu.org/bugs/?40086

実の所、まずTTL-232R-5Vをプログラマー用に買いましたが、それを確認する前に安さに引かれてプログラマー機能内蔵のUncompatinoも買ってしまいました。さてUncompatino用の部品セットに入っているATMega328PにはARDUINOのファームが入っていないので自分で書き込む必要がありAVRDUDEを起動して動かなかったときには焦りました。

ちなみに、FT232R用のコードはft245r.cとft245r.hです。avrftdi.cなどでは無いようです。

FT-232Rベースのプログラマー作成方法集

ATmega/ATtinyなどのファームウエアーを最初に書き込む際には、専用のプログラマーが必要です。

もちろんARDUINOを一つ持っていれば、教科書通り新品のATMega328Pにブートローダーを書き込むことができます。http://arduino.cc/en/Tutorial/ArduinoISP

何かの拍子でARDUINO上のATMega328Pを壊すと回復不能のようで不安ですよね。ARDUINOに頼らずにプログラマーを確保する一番簡単な方法はFT-232Rを使うプログラマーです。この際ホストPC側のプログラムにはAVRDUDEというプログラム(6.1-2以降)が必要です。(この話は後で書きます)

ここで重要なのは、FT232Rというのは単なる非同期シリアルへの変換だけでなくかなり高機能な同期シリアル変換機能を持っているということです。この機能を使うと「遅い」といわれたシリアルポートを使ったbitbang(ビット叩き)とは異次元の高速書き込みができることです。

FTDI製のFT-232Rという石はUNOになる前のUSBのARDUINO duemilenoveには乗っていて、この場合うまくジャンパー飛ばしてつなげばプログラマーとして使えるとのことです。
 http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html

この特性に注目した設計をされているUncompatinoというARDUINO (UNOの前の)Duemilenove (半)互換ボードは、通常のICSPコネクターはないもののボード上のFT232Rチップを使ってブートローダーを書き込めるようにできたショートピン2*4本が立っています。(たしか基板+部品で1300円程度とお買い得ですが、表面実装のFT-232Rの半田づけがあるので中上級者用)
 http://akizukidenshi.com/catalog/g/gP-07487/
 http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf

またTTL-232R-5Vという、既製のUSBからTTLレベル非同期シリアル変換ケーブルもプログラマーとして使えるはずです。
 http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm
 http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf
具体的には上記ケーブル(私は秋月で1,580円で購入)とICSP用の6PINメスが両方についたケーブル(私はマルツで【LFCBL06-01】6ピンフラットケーブルを154円で購入)を購入します。6PINにコネクターのみを探してもまず見つからないし高いので注意しましょう。そして2列のピンヘッダーを3+1+9=13本の幅で切り出しこれの後ろ側を半田付で結線するだけでアダプターになります。(コネクター間に1本分余裕が要ります)

 # TTL-232R GND 1 Black  -> ICPS GND   (6 pin)
 # TTL-232R CTS 2 Brown  -> ICPS MOSI  (4 pin)
 # TTL-232R VCC 3 Red    -> ICPS VCC   (2 pin)
 # TTL-232R TXD 4 Orange -> ICPS RESET (5 pin)
 # TTL-232R RXD 5 Yellow -> ICPS SCK   (3 pin)
 # TTL-232R RTS 6 Green  -> ICPS MISO  (1 pin)



実写真へのリンク: 配線直後 と 安定化後(ホットメルトの接着剤で固めて配線が切れたりするのを防止。半田付け/接着剤の両工程はピンヘッダーをブレッドボードなどに刺し固定して行うこと。途中で動かすとピンが動いてしまいます。)

GNDとVCC以外はAVRDUDEの設定でなんとでもなるので、配線しやすいようにしてください。(以下の表のD0-D7の数字をavrdude.confや~/.arduino/.avrduderc内のprogramer設定で使用します。ICの脚番号、ソケットの番号とうややこしいので要注意。)

FT232RL
FT232RL
Bit-banging data
Diecimila/Duemilnove
TTL-232R
ttl232r Adapter
Uncompatino
TXD (1)
D0

4 ORANGE
5 (RESET)
→ 2 ATmega
RXD (5)
D1

5 YELLOW
3 (SCK)
→ 3 ATmega
RTS# (3)
D2

6 GREEN
1 (MISO)

CTS# (11)
D3
X3-1
2 BROWN
4 (MOSI)
o o→ MISO
DTR# (2)
D4




DSR# (9)
D5
X3-2


o o→ SCK
DCD# (10)
D6
X3-3


o o→ MOSI
RI# (6)
D7
X3-4


o o→ RESET
VCC


3 RED
2 (VCC)

GND


1 BLACK
6 (GND)


Arduino main MCU side
ATMega328
ICPS
Arduino
MOSI (17)
4
J3-4 (D11)
MISO (18)
1
J3-5 (D12)
SCK (19)
3
J3-6 (D13)
RESET (1)
5
Switch
VCC
2

GND
6


AVRDUDE: -c ttl232r と指定してください。本結線に合わせた設定になります。
(-c ft232r では「Device is not responding to program enable. Check connection.」といわれて動きません。ご注意ください)