2012年9月10日月曜日

PSoC3 やってみた。

ご無沙汰しています(汗

ここんところ、いろんな講座や講習会にでることが多くて
意外に楽しんでいたりします。

GENET 画像処理分科会 では、ひさびさ?にガッツリ受講生していますし。

テクノス株式会社の利弘さんが講師なのですが、。話慣れてるのか、
キャラが立ってるのもあって、おもしろく聞かせてもらえてます。
まだ、第一回が行われたばかりで、本題には入っていないわけですが
のんびりとでいいので、しっかり教えて欲しいところです。
僕的には、

  1. アルゴリズムや手法の組み合わせの妙
  2. 実装事例
あたりが、ざっくりでもいいのでみれればいいなぁ、とおもうのですが
さすがにここらあたりは、経験的なものだろうし、仕事のキモになる部分でしょうから
なかなか教えてもらいにくいところかもしれません。
まぁ、ゆっくり、落第しないようにがんばりたいところです。


閑話休題。

7月に、サイプレス社のPSoC3ワークショップに行ったわけですが
実際に、手元のボードで、チコチコと遊んでみています。
ワークショップのお題を適当にやってみたら、おおむねわかってくるんですが
逆に言うと、あまりにも従来版の考え方とちがうので、「???」ってなるカンジですね。

PSoC Creater2.0 を立ち上げて、まずは利用コンポーネントをスケマティック画面に
貼り付けて配線しちゃいます。




画面では3つのブロックでつくっています。枠囲みはとくに意味はないので
ほんとうに図面チックに進められます。(ただし、日本語入力が×なのはご愛敬...)
今回は、ワークショップの例題どおり、
1.ボタンの割り込み取得でLEDの点灯
2.VRの値に応じて、LEDをPWM点灯
3.VRの設定値をLCDに表示して、バーグラフ的にも表示させる

っていうのを一度に実装しちゃおう!的内容です。
このうち、2についてはハード的にPGAがやってくれるので、コードが
ありません。(初期化&開始処理のみ)
これをソフト的にやろうとすると結構面倒くさいので、PSoCの面目躍如といったところでしょうか。





で、これがソースコード一式。
メインループ内ではADの変換完了をまって表示に展開しているだけです。
う~ん、お手軽感が伝わらないけど、まぁそれなりにおもしろいなぁと。
今回はAD値を12bitのΔΣにしたけど、20bitまではいけるのでいろいろ
おもしろいことにはつかえそうなカンジですね。

実際に動作させている写真はこれ。



基板左端のVRを回すとLEDがそれに応じて光るわけです。
そのときのVRの取得値はADで取り込んでLCDに表示すると。


さて、実際にここまでやってみて、おもしろいとはおもうんだけど、
スケマティックで変更したり、ユニット追加してから、ソースツリーに
対応ソースが生成されるまでに差があって、そのままではうまく追加されない
ことも結構あって、関数名をさがせないことが結構あったりします。
まぁ、スケマティックを変更したら、その場で一旦Buildしちゃえば
生成されるわけだけど、それなりに時間がかかるので、もうすこしなんとかならないかなぁと。

ま、PSoCデザイナーのダメダメぶりとはひと味ちがうかんじで、これなら許せる感じに
しあがってますね。
あとはもうすこしわかりやすい、チュートリアルがそろってくればいいのかなぁ。

あ、そうそう、デバイスの価格が高いのもちょっと問題かもしれず。
いまつかってるPSoC3の最上位版だと2500円くらいかかるので
安いCPU+CPLDとの差別化がうまくいくかどうか、が問題かもしれませんな。

2012年8月7日火曜日

PSoC3、RL78/G14など...

ふは~~  もうお盆前になっちゃいましたねぇ。

遅ればせながら

  暑中お見舞い申し上げます。

色だけでも暑苦しいねぇ(笑)

さて、割とのんびり出来ているかと思えば、ここ1ヶ月ほど、
急にドタバタして、更新どころではなくなっていました。
で、やっとめどがつきつつあるので、ちょっと更新をば。

まずはPSoC3。
さる7月11日、大阪スカイビルで行われたサイプレス社主催の
に参加してきました。
太っ腹なことにこんなサンプルボードもくれちゃったりしてます。
たぶん1万弱くらいのボードじゃないかな。

  

内容的には、予期に反して結構よかったかな、と。

PSoCはPSoC1のときに注目して使おうと
いろいろやり始めたんだけど、

1)能力低すぎ!!
2)ツールがダメダメ

というマイコンとしては致命的な内容だったので
結局お蔵入りになってました。

というのも、内蔵のアナログ機構をいろいろできる!
というのがふれこみだったのに、スイッチングキャパシタ
で抵抗なんかを実現している影響で、あまりにも
応答性がなくて、結局使える領域がみつけられなかった
ことが最大の要因でして。





また、ツールも内蔵で埋め込めるブロックが少なすぎて結局なんにもできなかったり
配置配線を替えると、ごっそりソースファイルまで消されてしまったりと、
どうしようもない状態。そのうえ、日本語の注釈もつかえないとか、もうさんざんだったんですよね。

で、数年前にPSoC3/5を出しますよ!と言われたときにかなり期待してたんですが、
それから、ま~~~~ったく出す気配がなく、ようやくといった印象。

CPUコア的には、独自コアM8Cから8051に変更になっており(PSoC5はARM)、
かなり普通になっています。
ツールもかなり普通になって、回路図(スケマティック)でごそごそとツールを配置して、
コード生成、という流れになっており、かなり普通に使える印象になっていました。

内蔵のADコンバータが20ビットΔΣが1チャンネルだけ、というのが気になっていたんですが
これについても自分でマルチプレクサを配置しちゃえばいい、というのが新しいといえば
新しいところでしょうか。
つまり、究極にまで、自由度を上げたマイコン、というかんじでした。
あとは、どの程度まで使えるかは追々試してみたいとおもいます。

ただ、仮にいいなぁ、とおもってもつかうかどうかはちょっと疑問ではあるけど。
というのも、Chip1Stopで2800円、Digikeyでも2200円もするその価格。
8ビットマイコンだよね??
と聞きたくなってしまう設定はどうなんだろ???と。

まぁ、CPU+CPLDと思えば、それなりなのかもしれんけど、
その割にはサポートに若干の不安もあるし。
もうすこし様子見のほうがいいのかもしれませんけどね。
いずれにせよ、おもしろいなぁ!とおもったのは事実なので、
ある意味がんばってほしい、デバイスではあります。


閑話休題。

え~、7月31日には、新大阪で行われた、
にも参加してきました。
こちらは抽選だったんですが、一応OKもらえたので(笑

G13についてはすでに稼働実績もあって、結構使いやすい石に仕上がってる
(というか78K0Rそのものだよね、って)印象だったんですが、
こんどのG14はちょっと高機能化してました。
主要なところだと

1)タイマーRD(R8Cに内蔵されてる3相コントロールPWMタイマ)
2)イベントリンクコントローラ(ELC)
3)SNOOZE
4)DTC

ってかんじでしょうか。
実践練習はこの3までをおこなうわけです。
タイマーRD用に64MHzの供給ができるようになってて、ちょっと高機能に
なってました。まぁこれはぼくにはあんまり関係ないなと。

2のELCは、RX210にもついてたんで、期待してたんですが、省電力で
うごかして、ADやタイマー直結で起動!という機能以上にはつかいようが
なさげな感じでした。
これについてはちょっとがっかり感もあったんだけど、まぁ使いようかなぁ。
低速/高速クロックをがっつり使い分ける用途には向くかもしれず。

3のスヌーズはG13にもあったけど、きちんと説明きくとおもしろかったですよ。
CPU自体の高速クロックも止めて、CPUをがっつり止めておきながら
ADとタイマーだけは生きてる!というなんかスゴイ世界。
で、設定されたADの閾値を超えたら割り込み発生で、CPUが生き返るという
なんとも優れもの。
CSI(シリアル通信)もこの機能に対応している(ただし、9600bpsまで)ので
うまくつかえばおもしろいかもなぁ、と。

こっちもTESSERA RL78/G14 Stickがもらえるはずだったんだけど
用意がまにあわなかったのか、結局もらえず。

まぁ、楽しめたけどね。
値段があえば、G14でもいいかもね。






2012年6月16日土曜日

ET West 2012 雑感 (2012.06.18追加)

先日、書いたとおり、6月14、15日の両日インテックス大阪にて
ET West2012 (組込み総合技術展 関西2012)
が開催されていました。
で、うちの会社もワイヤレスコントロール研究会の一員として
出展者として参加していました。
例年は結構人出がすくないのですが、今年は初日午前からガシガシ
人がきてる感じで、なかなかの滑り出し。
奈良高専の土井先生も同感だったようで、いわく
「カンファレンスもテクニカルセッションもタダにしたからじゃないか?」
とのことでした。
なるほどね。たしかに、ぼくも無料だから、ってんで
TS-1 ドライバ開発実践的手法 ~Android最新バージョンへの適用で注意すべきポイント~
ってのをうけたんですよね
内容的にはまぁまぁ、ってか、そんなもん、って感じだったけど(@@;)
みんなメモメモってかんじだったけど。。。。
ま、評価はいろいろなんだろね。
で、うちらの出展は、
学研の大人の科学のお掃除ロボットに、XBee(ZigBee)のユニットを乗っけて、
電池電圧と位置情報をXPortPro(uCLinux)で改修、2面の部屋を判断して
電灯をつけたり消したりする、っていうデモをやりました。
あまりにもあっさりさんなので、PCでも観測制御、っていう展示でした。
もともと岡崎ゼロエミッションでの某所の電力量収集システムを流用したので
応答性はいまいちだったんですが、ま、そこそこ安心してつかえました。
さすがに駆動部はおもちゃなだけあって、2日目にはギアがガシガシ音をたてた
けどね(^▽^)
というわけで、速報的にはこんなかんじで。
続きは次回ということで。

(2012.6.18  以下追加)





我が「ワイヤレスコントロール研究会」の展示ブースの写真です。
2台のお掃除ロボットがみえますか?


















外部接続のモニタ出力をアップにしたものです。
盤面上の左右領域を移動すると画面上の掃除ロボットくんも
するする~~~っと移動して、ランプが連動する、というデモを
そのまま表示しています。
画面下段のグラフはロボットの動作電圧の推移です。
1.7Vくらいでブラックアウト、となるので、電池交換で復帰した
姿がわかります。ざっくり、2時間半弱というのがエコじゃなかったですけど(汗
この画面の上側には電灯と扇風機を設置したコンセントの電力量
推移と、積算電力がグラフ表示されています。

さてさて、1日目はメンバーがぼくともう一人だけだったので
ほぼフルで対応してたんですが、2日目はもう一人が来てくれたので
いろいろ遊びほうけていました。

まず、ザイリンクスにいって、QFPなくなってどうすんのよ!と苦情申し入れ。
さすがに東京エレクトロンさんは結構聞き流してましたけど。
ツールも7シリーズからはPlanAhead系のVivado(ビバドってよむらしい)に
移行します!っていってました。
たしかにロジック合成された結果はかなりいい感じで配置されてたみたいだけど
「それよりもVHDLの構文解釈がVerilogなみに落ちてるほうが問題だ!」
と釘をさしておきました。
実際、シンタックスの評価がガタガタ(ISE13.1)で、ビット長があわなくても
エラーが吐かれないのには閉口します...
わざわざ悪い方にあわせなくてもいいのにね。
VHDLのいいところないじゃん。

つぎに対極のAlteraへ。
こっちは小コマのわりにはまあまぁのカンジ。
SOPC BuilderがQSysに変わって、ちょっと使いやすくなったよ!
ってのがウリだった模様。
こちらは結構好印象だった。
やっぱAlteraのほうがええんだろうか?う~ん。
でもね、WebPackでの操作性はザイリンクスのほうが一枚上手な感じなんだけど。
ま、徐々にこちらに動くってのもありかもしれず。
ちなみにノベルティ、くれた。(わ~い)
CamiAppだったの!!素直にうれしい。

そのお向かいにいたのはDigiとルネサス。

ルネサスはSmartAnalogとLED制御を得意とするRL78の小ブース展開だった。
この当日、SmartAnalog Web シミュレータ ルネサスVAが公開されていたわけだけど
これも実物がみれました。
オリジナルのサンプルソフトとほぼ等価なイメージでま、こんなもんかなと。
CubeSuite+との連携もうまくいっているようなサンプルがあったけど
実際にでてくるには少し時間がかかるっていってたな。
期待してるのにぐずぐずしてると、タイミングのがしちゃうのに。
密かに期待してたがじぇルネのGR-SAKURA関係はまったく紹介すらなかった。
大阪にも進出してほしいなぁ、と伝えておいたけど、たぶんだめなんだろうなぁ。
頻繁に東京までいってられないもんね。

Digiは相変わらずのXBeeの展示だった。
岡本無線さんとのコラボだったけど、まぁこんなもんだろうと。
XBee Wifiもでてたけど、実際のコマンド群とかやってくれたらよかったのに。
ま、ここはいつもこんなもんだろうけど。

うちのXBeeのボードにのっけるってのが最短のテストなんだろうけど、
Twitterみてると結構電源周りが鬼門みたいだし、もうすこしあとにならないと
採用しにくいかもね。
ま、要注目ではあるけど。

意外なものといえば、株式会社デバイスドライバーズ
いろんな展示会でいつも、ここにはつかまるんだけど(笑)
ことしも日高氏が、憎めない髭面で...(笑)
EnOceanの315MHzの無線ユニットをXBeeのPINコンバチボードに乗っけた
ものを出展してました。
315MHzなら、使いやすい周波数なんだけど、よ~~く聞くと
半二重通信、というか基本は1方向通信でやろうというユニットのよう。
単純に無線スイッチとしてなら、これで十分だけど、データのやりとりを
やろうとすると、結構面倒なかんじだった。
ま、これはこれでニッチな市場でいいんではないかなと。
で、こっちがもっと気になったのは、ARM+.NET MircroFrameworkの展示だった。
前に、SH2のボードへのポーティングも書いてらっしゃったけど、
今月号のCQ出版 インターフェース誌にも記事が載るとのこと。
こいつも要チェックなカンジでした。
ボード的にはたぶんコレ。ChipworkX Development System


日高さ~ん。HPみたらすぐわかる!っていってたやん。
全然わからん。
FEZばっかりで。
というわけで、マウザーでも見つけた。やっぱりこれ。
39900円はいいとして、マウザーで、製造中止ってのが気になるよね。
.NET MicroFrameworkなので、C#で開発できるのが最大の売りだけど。
前のSHの記事は微妙にわかりにくかったから、今回は期待してたりするわけです。


あと、何でもないけど、ユニダックスがアヴネットに吸収されてたのにはおどろいた。
Kinectのワークショップ、いきたいなぁ。


PS.
なら高専の土井先生からの紹介で、
サイプレスの田中さんと、名刺交換。
7月11日(水)にPSoC3のワークショップをおこなう!、ということだったので
とりあえず参加の方向で調整中。
当日さんざん、クダまいてごめんなさい。>田中さん





2012年6月12日火曜日

ET-WEST2012に出展します

あ~、期間がかなりあいてしまいましたね。
もうしわけござりませぬ。m(_ _)m

というわけで、もう6月。梅雨の鬱陶しい季節になりましたねぇ。
ここのところ、あれこれやってたんですが、

6月14、15日の両日、大阪南港のインテックス大阪において

組込み総合技術展 関西 
Embedded Technology WEST 2012

ETW2012

が行われます。

で、ここに
ワイヤレスコントロール研究会  (D-14ブース)
の参加メンバーとして、出展します。
MDR単体ではないので、それらしいこともしないんですが
両日とも会場には居るとおもうので、お時間があるかたはぜひお越しください。

出展内容は例年は、「あれこれできますよ~」という内容にしてたんですが
ことしは、岡崎ゼロエミッション用に納品した機器をそのままつかう!
というコンセプトにして、簡略化してあります。

で、それようにPC用ソフトを組んでたりするわけですが、
むかしつくったやつでは結構うざいところがあったりしたので
今回は、展示会用に、あらたに、C#で組んでたりします。

C#もなれてくるとなんとかなるもんですねぇ。
書式文字列がうざいとか、いろいろ気になる点も多々あるんですけど
ま、これはこれでつかいやすいかな。


というわけで、みなさん、当日はおまちしています!

2012年4月16日月曜日

Android初歩勉強会(GENET分会)

さる4月14日、荒れ模様のなか、奈良県工業技術センターで、
有志によるAndroid初歩の勉強会を行いました。

メンバーはGENETコミュニティで知り合った有志6名での
本当に小さい規模の勉強会でした。

ほぼ個人教授に近い形での開催となり、結局Eclipse開発環境上で
ボタンやテキストビューをつかって表示をつくって、挙動を確認する、
というところ(初歩の入り口部分)までで、タイムアップとはなりましたが

お花見がてらのメンバー同士の「わいわい座談会&昼食」も
盛り上がり、結構おもしろかったです。

一応、Androidのライフサイクルも含めて、ざっくりと説明もできたし
なにより、Eclipseのコード補完を使わないと!!というところの
確認ができました。

書籍で独学、となると、ここで躓く!というところがあるので
ゆっくり、相談しながらやっていく、というのは結構いいことなのかもしれませんね。

さて、次回の予定をたてないとね。
内容もここからグレードアップ!といきたいところですけどね。

ここらまでの内容を掘り下げて、直接ソフトコーディングに
はいるのもいいかもしれないんだけど、どうなるか、今後に期待、です。

僕的には早く、組込への融合、という部分にいってほしいんだけどね。

2012年4月2日月曜日

RL78

う~ん、
更新あきすぎ~~。すまんことです。

さてさて、春ですね。
目がかゆいし、くしゃみもひどいけど、GWまであと一踏ん張り、って感じですか。

閑話休題。

某案件で、RL78デビューしました。
ルネサスエレクトロニクスの新CPUですね。

RL78 STICKスタータキット












これで、さっさとサンプルつくって、実働ボードがきたところで
実働機に移植、ということができました。

CubeSuite+という無償開発ツールでやったんですが、
非常に好印象!

もともとNECエレクトロニクスの 78K0R がベースになっているだけあって
CubeSuiteとの相性も◎。

コード生成で、ほぼすべての機能が自動生成されるので、
本来的にやりたい内容に即、かかれるというのは非常に便利でした。

実際、V850ES/JG2のときよりも、かなり使いやすくなっている印象。
驚いたのは
I2Cが、ほぼなにもしなくとも、ちゃんと動いたのにはちょっと感動。
いや、大概、割り込みとか手順にちょっとした癖があったりして、
うごかせるようになるのにすこし時間がかかるもんなんですが
すんなり。
ま、アプリケーションノートがあったので、余計簡単だったんだけど。

残念なのはシミュレータ(デバッガじゃないよ)が昔ながらのもので、
シリアルやら割り込みやらのシミュレートができないんで、使い物に
ならなかったこと。
V850だとシリアルのエミュレートやIO構成の画面シミュまで
できたので、雲泥の差。
ここらは今後に期待、というところか。


あと、シリアルでのファームウエア書き込みの仕様が×。
これでは事実上シリアルでの書き込みができないのとおなじ。
E1がやすいから、という点ではカバーできないくらい、減点事項になってる。
今回はいいけど。

シリアル書き込み機構自体はあるんだけど、書き込み前に、別のピンに
これからおこなう書き込みのモード変更コマンドを送信しないとダメ、
という変態機構のおかげ。
ここ「だけ」はR8Cより大きく劣るところかな。

とにかく、これからSmartAnalogICとのマッチングも含めて
重要になるだろうから、ささ~とアップデートしてほしいなぁ。



2012年2月24日金曜日

京都ビジネス交流フェア 2日目

今日も京都ビジネス交流フェアにいってました。
昨日、帰社後にグラフィック表示に手をいれて、
MDRのロゴグラフィックをだすように修正。


今朝3時頃、「ブロック崩し」を実装している夢で起きてしまい、
1時間ごとに、ソフトをつくってる夢でおきる始末orz

仕方がないので会場で、ちょっとづつソフトを改訂。
チクチクと実装してみました。




う~ん。
結構マジメに判定処理とかつくったけど、
なんか地味(笑)

それでも、「へ~!」とか言ってくれる人たちがいたので
ちょっといいかな。

本当はWiiリモコンでゲームもできるんだけど、
リモコン側が一定時間で省電力モードになってしまうので
めんどくさくて(笑)
ま、こんなもんですよね。


しかし、今日はちょっとイヤな客が。
某た○びしの人。  「これは何を訴えているのですか?一言で」
私          「え~、うちはOEMで...」

某たけ○しの人。  「いや、そんなことは聞いてないんです。一言で」
私          「じゃ、強いて言えば遊び心ですかねぇ」

某たけび○の人。  「聞きかたがわるいのかな。なにがしたいの?一言で」
私          「ん~~」

某 ○けびしの人。  「はぁ~。な~んだ、設計製造か。」
と、のたまいながら去っていきました。

人をバカにするのもほどがあるよね。
ろくに説明もさせずに、「な~んだ」とはなんだ!!

あんまり頭にきたんで、ブツブツいってたら、某社の営業さんに

「ま、一言でいわせていただければ、お引き取りください。っていえばよかったやん」
て(笑)
さすがに思いつかなかった。

でも、最悪の会社だよね。
むかしから偉そうだけど。

ま、相手にせずに気長にいこうっと