2015年06月28日

USBee AX pro

Dealextreme で $9.99 の 安いロジアナ(SKU:148945)を買ってみた。



EZ-USB FX2LP CY7C68013A に入力バッファを付けたもので、USBee AX pro clone として 色々と出回っている。例えば、aliexpress の これなどは、$5.90 で売っている。



Dealextreme にしたのは、レビューに色々書いてくれているから。だが、良く読めば aliexpress のでも良かったような気がする。


これがよく見る内部写真。実際に来たものは、CY7C68013A が QFN に変更になっていた。他の部品配置・パターンは全く同じ。
入力との間に集合抵抗が入っている (101 - 10Ω)、8pin のIC は、I2C ROM 24C02 (256B)。入力バッファは、HC245。



アプリの選定


さて、問題の1つはアプリ。一体何を使うのだろう? レビュー見て混乱してたのだが、どうやら3つの選択枝があるらしい。

1) USBee 公式サイトで アプリを購入。

使えるらしい。が、レジストするのに $49.9 もするようだ。高いのでパス。

2) VID/PID を (0925/3881 に?) 書き換えて、SALEAE 24M_8CH 用のアプリを使う。

VID/PID の 書き換えのために 開発キットを導入するとか面倒そう。で、アプリが有償で高価だったりすると、試す気もなくす。これ以上、調べないでパス。
 ・https://www.saleae.com/downloads
とは、書いたがここから、公式アプリがダウンロードできる。一応メモ。

3) sigrok/pulseview を使う。

なんと、オープンソースのアプリがあるのであった。プロトコルも開発されているようなので、これを使うしかないだろう。それが結論であれば、何を買ってもなんとかなりそうだ。git の tree を見ると android 版もあるようだ。この pluseview は、色々なハードに対応している。あの ZEROPLUS LAP-C もリストに入っている。とても興味がわいてきた。

あるいは、CY7C68013A ボードで 入力バッファがない代わり I2C ROM が 16KB の これ なんかでも良いのではないか?



さらに言えば、FTDI のチップを使って、SYNCBB あるいは 単なる BitBang で取り込むのも 改造すれば可能ではないか! HI-SPEED 対応の FT232HL とか。FULL-SPEED でも FT232X が バッファが少し多くなっていて 往年の FT232RL より有利になっている。取りこぼしがどれぐらいあるかで、どこまで使えるのか? というのが不安材料。あと、ライブラリ。WinUSB(libusb) + libftdi という組み合わせになりそうで、やや不安。

ハードウェアの問題


これもレビューから。
USBee AX pro clone は、3.3V 専用で 5V トレラントではない。

 ・100 Ωを直列に入れる。
 ・74LCX245 に交換すると 5V トレラントに出来る。

という解決策が提示されている。

消費電流が多いため、バスパワーの HUB では、うまく動作しない場合がある。AC アダプタを付けるタイプの HUB を使うこと。

Windows版 インストール


ここに書いてあることをやってみる。

1) Zadigのダウンロードと実行

これは、WinUSB などにデバイスを登録するツール。USBee AX pro clone を接続して実行する。操作は簡単なものだが、他のデバイスも置き換えてしまうこと出来るので、注意。


Windows 8.1 で試したが、最初 "Install WCID Driver" を押す。そうすると USB のリストが出る。VID/PID も自動で設定されて、WinUSB に登録する。

今回は関係ないが、WinUSB 以外に libusb-win32 と libusbK (って何?) に対応している。

2) pulseview-NIGHTLY-installer.exe のインストール


インストールするだけで、設定などほとんどない。デバイスもちゃんと認識された。おわり。ちなみに、sigrok-cli-NIGHTLY-installer.exe は CUI 版。Linux で使う場合は、こっちも便利に使えそう。

アンドロイド版


Android でも動くらしいが、OTG に対応した端末でないと当然ダメだろうし、OTG と言っても HI-SPEED に対応していないと意味がない。そして、消費電流が多いというのが気になる。相当端末を選ぶのではないか? しかし、ちゃんと動くのであれば、面白い。

ここに apk などが置いてあるが、スクリーンショットを見るに、フルセットのようだ。

ソースコードもビルド可能なようだ。電子工作品を Andriod 対応させる場合に相当参考になるのではないか?

おわりに


今回の記事は、紹介記事に見えるかも知れないが、単なる覚書き。インストールしただけで、使ってはいないし、お勧めなのかどうか、判断できていない。

今回は、オープンソースの Android 版を知っただけで、かなりの収穫だと思っている。Android のアプリを作ってみたいのである。外付けデバイスを扱うアプリのソースコードが手に入ったわけで、調べてみたい。

なにか進展があれば、いつものように追記するかも。

aliexpress のアレ


$5.90 で売っている。aliexpress の これも買ってみた。



写真では隠れているが、Salae logic Analyzer (24MHz 8CH)互換。VID/PID も 0925/3881 ... ということは、アレが使える可能性が。それはサテオキ、sigrok/pulseview は、当然のように認識した。



そして、中のバッファは、LVC245 だった。こっちの方が上等で、高速+5V トレラント!。抵抗は 12Ω、ROM は 24C02 -- 同じようなもの。なお、写真にあるように、CLK の端子がある。ただし、これが使えるかどうかは不明。
posted by すz at 11:04| Comment(1) | TrackBack(0) | 日記

2015年06月10日

RDA5871

突然の更新。ちょっとメモ。
android タブレットを買った関係で、いくつか aliexpress で BTキーボード を購入した。いろいろ問題があって分解したり。その過程で面白いものを発見したのでメモしておく。


RDA5871



購入したのは、このキーボード。"Bluetooth Keyboard" と表示され、Bluetooth 3.0 には対応していない。要するに古いタイプ。
これは、キートップに特徴がある。数字キー2 のところに、虫眼鏡のマーク。

おそらく、赤札天国の これも同じではないかと思う。今の為替レートだと 国内で買った方が良いかも知れない。



中の基板。シルクが入っていて分かりやすい。なにやらライターを接続できそうなコネクタ・パターンがある。さらに RXD/TXD のテストパッドも。8pin のチップは L24C64 -- I2C ROM である。メインのチップには、RDA 5871 とマークされている。

この RDA5871 とは、どんなものなのか調べてみると、こんな説明が。

Features
1. On-chip support for common keyboard and mouse interfaces eliminates external processor
2. Bluetooth HID profile version 1.0 compliant
3. CMOS single-chip fully-integrated radio and baseband
4. Integrated battery charger
5. Compliant with Bluetooth 2.1 specification
6. ARM7-based microprocessor with on-chip ROM and RAM
7. Meet class 2 and class 3 transmitting power requirementr
8. Supporting 26MHz DCXO /TCXO
9. Low power consumption
10. Minimum external component
11. Internal 32k LPO.
12. Support for EEPROM
13. Build-in code patching which supports up to 16 KB patching code
14. Built-in four 8-bit resolution ADC channels
15. Programmable keyscan matrix interface, up to 8 × 18 key-scanning matrix

注目したのは、16KB の EEPROM にパッチ・コードを書くことで、機能を変えられるということ。I2C ROM だから、データさえあれば書き換えは容易。

そうは言ってもプログラミングなど出来るはずがない。... と思ったわけだが、rda5871-sdk なんてものが公開されている。

 ・https://code.google.com/p/rda5871-sdk/
ここに行くと、こっちを見ろと誘導される。
 ・https://5871e.codeplex.com
中を見てないが、確かに SDK らしい。SDK をビルドすると SPP と HID のサンプルプログラムが出来るらしい。

また、先の URL には、評価ボードとその回路図が。


キーボード基板は、ほぼ全ピン出力されているようだ。
開発ボードも作ってる。写真のシルクをチェック

ROW0 GPIO0_0
:
ROW7 GPIO0_7
COL00 GPIO1_0
:
COL07 GPIO1_7
COL08 GPIO2_0
:
COL15 GPIO2_7 (COL11-14 : AGPIO)
GPIO3_0 GPIO3_0
:
GPIO3_3 GPIO3_3
COL16 GPIO3_4
COL17 GPIO3_5

どうやら 8bitポートが4つあって、30 本の GPIO がある。自由に使えるが、キーボードスキャンの機能を使う場合は、ピンの割り当ては決まっているということらしい。COL のうち4本は、ADC に接続されていて、AGPIO となっている。

AB1112



RDA5871 のキーボードとほとんど同じに見えるが、よく見ると 虫眼鏡マークは、数字キー1のところ。接続すると "Bluetooth 3.0 Keyboard" と表示される。



中の基板。(裏面はシルクがないので省略)。チップは AB1112A とマークされていて違うもの。チップは違うが、同じように I2C ROM が載っている。説明は見つけた。



RDA5871 と同じようなものではあるが、こちらは情報がない。とは言え解析すれば キーマップぐらいは変えられそう。

ちなみに、最初の基板になぜか AB1107-xxx と印刷されているが、AB1107 は AB1112 の電池駆動版。このチップを搭載した キーボードも安価であるようだ。ひょっとしたらポケモンキーボードは AB1107 じゃないかという気もしている。

確認するために、中古を購入してしまった。これに載っているのは BCM2048 。カセット側にはホスト・コントローラが載っているが、BCM2070 。どちらも ワンチップ。

キーマップ


ローカルな信号名で作成したので、ちょっとややこしい。シルクとの対応表も載せたが、

ピンとのマップ (+シルク信号名)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1 2 3 4 5 6 7 8 9 a b c d e B C D E F G H I J f
C00 C02 C04 C06 C12 C10 C09 R0 R2 C15 R6 R7
C01 C03 C05 C13 C11 C14 C07 R1 R3 R4 R5 C16
キーマップ
ESC 1 2 3 4 5 6 7 8 9 0 - =
B5 C5 C6 C7 C8 B8 B9 C9 Ca Cb Cc Bc Ba

TAB Q W E R T Y U I O P DEL
E5 D5 D6 D7 D8 E8 E9 Db Da D9 Dc Ee

CAPS A S D F G H J K L ; ENTER
E6 G5 G6 G7 G8 I8 I9 G9 Ga Gb Hc Gc

LSFT Z X C V B N M , . RSFT
E3 H5 H6 H7 J8 J9 H9 Ha Hb Jc He

FN CTRL ALT WIN SPACE / \ UP
G1 B4 E2 I1 IF Ec Ea Id

LEFT DOWN RIGHT
Jd JF Jf

C00 C01 C02 C03 C04 C05 C06 C13 C12 C11 C10 C14 C09 C07 C15 C16
1 2 3 4 5 6 7 8 9 a b c d e F f
R0 B CTRL ESC 5 6 = -
R1 C 1 2 3 4 7 8 9 0
R2 D Q W E R O I U P
R3 E ALT LSFT CAPS T Y \ / DEL
R4 G FN A S D F J K L ENTER
R6 H Z X C N M , ; RSFT
R5 I WIN G H UP SPACE
R7 J V B . LEFT DOWN RIGHT
1 2 3 4 5 6 7 8 9 a b c d e F f
C00 C01 C02 C03 C04 C05 C06 C13 C12 C11 C10 C14 C09 C07 C15 C16
(目視でのみ作成:未チェック)

製品としてのレビュー


忘れてた、一応書いておこう。
このキーボードは、剛性が全くない。古いタイプは裏のアルミ板がさらに薄い。3mm厚ぐらいの木板を張り付けると、その問題は解消し、手にもって使っても使えるレベルにはなった。

打鍵感は、悪くない感じがする。一応パンタグラフで、ポメラキーボードと全く同じ構造のようだ。キーの配置で気に入らないのは、Fn キーとの同時押しが必要な ESC ぐらい。

耐久性については非常に疑問。中のフイルムの印刷だけの問題だが、簡単にダメになるかも知れない。

おわりに


面白いと思ったので紹介したが、試すのであれば、電波法に引っかからないような使い方でお願いする。 -- bluetooth は、屋外に電波が届かないような気がするが。
面白いと思ったのは、HID 。単純なイベントを android ホストに送るには HID が便利なのではないかと思うのだ。車のハンドルに付けるリモコンを改造したり出来たら良いなぁと思っている。他には、お気に入りのキーボードを bluetooth 化するとか。

キーボードに使われている IC は、I2C ROM を使っているものが多い印象。キーマップのカスタマイズ程度ならば、意外と障壁が低いようだ。いずれ弄繰り回してみたい。
posted by すz at 02:21| Comment(0) | TrackBack(0) | 日記