王様の耳はロバの耳!

OCN blogzine からお引越ししました
でもやっぱり何も聞かなかったことにしてください(笑)

あけおめことよろ2016

2016-01-01 12:45:52 | 日々のつれづれ

2016年,平成28年を迎えました.今年も電子工作で楽しく遊ぶ年にしたいです.簡単なUSBキーボードの制作を新年いそぎめにやらないといけない.部品は決めたので買出しに行くだけです.でも時間がなかったら通販使うことに.通販は便利だけど,わざわざいって買い物をする楽しみはなくしたくないです.ではお互い元気でまいりましょう.よろしくお願いいたします.


CY8CKIT-042 (PSoC 4) で動く Aitendo UL024TF デモプログラム

2015-11-08 16:16:09 | PSoCで遊ぼう

前回の記事前々回の記事前々々回の記事を合わせてご覧ください.)

*** 本日の成果物 / Products ***
動画/Movie: Aitendo UL024TF Graphics & Resistive Touch on CY8CKIT-042 (PSoC 4)
プロジェクト/Project: UL024TF+ResTouch-042-3_33 on PSoC Creator 3.3
*** ここまで ***

必要なもの: CY8CKIT-042 (PSoC 4 Pioneer Kit) (秋月で取り扱いあり)Aitendo UL024TF

さて,何回もひきずったこのプロジェクトですが,いったんまとめます.タッチスクリーンがうまく動くようになったので,前に作ったグラフィックルーチンを移植して…と思ったら,けっこうバグが潜んでいて,退治するのに手間取ってしまいました.

デモプログラムの構成は以下のようになっています.

  • main.c: デモプログラム本体
  • LED.h, LED.c: LED点灯のためのサブルーチン群
  • UL024TF.h, UL024TF.c: UL024TFを駆動するためのサブルーチン群 ILI9325とResistiveTouchの制御
  • Graphics.h, Graphics.c: グラフィックス関数群 点,線,三角,四角,楕円,文字列
  • xprintf.h, xprintf.c: Chanさん謹製組み込み用printfモジュール メモリが小さいPSoC 4 には最適 自分で作るよりよっぽど機能が高い orz

デモプログラムが起動すると,最初にLEDが赤くちかっと光って画面がクリアされ,色のついた四角が順に表示されます.ILI9325のデータ転送命令を直接叩いて,塗りつぶしの四角形を描画しています.中央に見える不思議な四角は,ILI9325のGRAMからデータを持ってきて,それを別の場所に書き込む実験です.30x20x2バイトのバッファを用意して読み込み/書き出しを行なっています.5秒間表示すると次の描画が始まります.

画面がクリアされ,赤と黄色の直線が描画されました.ここから今回移植したグラフィックライブラリの仕事になります.ILI9325を速く動かすには,なるべく塗りつぶし四角の形で描画することが有利となるので,そのように工夫した結果,縦横に近い線ほど描画が早くなるようすを見ていただけると思います.描画中だけLEDを光らせるようにしました.

次は四角です.塗りつぶしの四角と枠だけの四角です.グラフィックライブラリの関数は引数の範囲チェックをちゃんとやっているので安心して使えるはず…? 座標値は PRSモジュールを用いて乱数を発生させて決めています.

楕円です.こいつがなかなかバグが取れなくて…参考にしたプログラムにまだちょこっとバグがいたんです…まあまあ速いです.

三角形です.塗りつぶしは直線を引くので実現しています.

ペイント関数です.画素がすでに塗られているかをいちいちGRAMに問い合わせるのでとても遅いです…そうそう,ILI9325,というか私の使っているUL024TFでは,GRAMからの読み出しがうまくいかないというか,読み出ししてアドレスを自動インクリメントするところがうまく動かないのですが,これは公知のバグなんですかねえ.情報を探しているのですがなかなか見つかりません.ピクセル単位なら問題ないので,GetImageはPGetで実現していますが,遅いこと遅いこと.

文字列の表示です.倍率を指定できるようにしていて,これは縦横3倍になっています.

最後にタッチスクリーンのデモとなります.この状態で画面に触ると…

触ったところに点を打っていきます.座標値も表示します.いまのところスクリーン右横の画面のない空き地部分のタッチは認識しないようにしています.ファンクションキーを作るときはそこを有効にすると便利でしょうね.

USB-UARTを入れてあるので,TeraTermなどで,PSoC4からのメッセージを受信できます.使うときはPSoC 4 のP4[0],P4[1]をPSoC 5LP (KitProg) のP12[7],P12[6]につなぐことをお忘れなく.Resistive Touchのデモでは座標値を返しています.最初の「9325」は,ILI9325が正しく返事をしていることを表わしています.

Creator 3.3からリソースメータというのがついたので,ちょっとずつ削って節約するようにしています.PSoC4でSCBでないUARTを使うとどえらくリソースを食うとか,Registerをほいほい作るとあっという間にリソース食いつぶす(からリアルタイム性がいらないところではなるべく使わないようがよい)だとか,いろいろなことがわかりました.

PSoC 4はこれをつなぐとあっちがだめ的制約が多くて,5LPではあまりこういうことで困ったことがないので戸惑っています.最初次の画面に送るのにユーザボタン使おうとしたらこれがArduinoのD2ピンにつながっていて(これはボードの設計のせいでPSoC 4 のせいではないけれど)アウト.ならばCapSense Slider使おうとしたら,P4[2]を使うにはP3[6]を出力に使っちゃダメよとかいわれて,やってみないと判明しない制限がいろいろあることがわかってきました.でもきっと,他のマイコンだとそういうほうが普通で,5LPが制限なさすぎ,ということなんでしょうね.

さて,次の課題.042-BLEにつないでBLEモジュールと両立できるかどうか.BLEの状態をグラフィカルにモニターした楽しくデバッグできるといいなとか.FreeSoc2を買ったので,5LPでUL024TF遊んでみたいな,とか.

(とりあえずおわり)

Aitendo UL024TF Graphics & Resistive Touch on CY8CKIT-042 (PSoC 4)

 


PSoC4 から Resistive Touch を使う

2015-11-08 15:20:17 | PSoCで遊ぼう

(前回の記事前々回の記事と合わせてお読みください.)

Aitendo の UL024TF の Resistive Touch が使えることがわかったので,さっそく使ってみようと思います.

まずは原理をおさらい…4線抵抗膜式のタッチスクリーンは,2枚の抵抗膜が重なった構造をもっていて,X軸方向に電流を流すX膜と,Y軸方向に電流を流すY膜があります(図1).電気を流すための4つの端子にはそれぞれ,XL, XR, YU, YDという名前がついています.XLはX+とかXP,XRはX-とかXM,YUはY+とかYP,YDはY-,YMなどと呼ばれる場合もあります(図1).抵抗膜に触れると,その場所でX膜とY膜に導通が生じます.その位置を,各膜への電流の流し方および電圧計の入れ方によって計測しよう,というのがこのタッチスクリーンの原理になります.


図1:4線抵抗膜式タッチスクリーンの構造

図2は,タッチスクリーンに触ったことを検知する方法を図示したものです.ここではX膜側で電圧を測っていますが,入れ替えても同じことです.まずXRに抵抗をはさんでH電圧(ここでは3.3V)を印加します.いわゆるプルアップの状態にしておくわけです.抵抗は抵抗膜の抵抗値(1kΩ程度)より高いものを入れます.PSoC 4 のGPIO で Resistive Pull Up を選んだ場合は約5kΩとなります.他方,Y膜には,どちら側でもいいのですが,L電圧(0V)を印加します.この状態でスクリーンにタッチして導通が発生すると,XRにつないだ電圧計の値は,H電圧から下がる方向に変化します.これを検知すれば,スクリーンにタッチしたことを検出できるわけです.


図2:スクリーンへのタッチを検出する方法

つぎに,X方向の位置を検出する方法です.それにはX膜の両端子にそれぞれH電圧とL電圧を印加します.抵抗膜の抵抗率は一様ですので,抵抗膜上の電圧は,そのX位置に比例します.(抵抗分圧の原理.)スクリーンにタッチすると,YUに接続された電圧計によって,その位置のX膜上の電圧を計測することができます.電圧計は一般にとてもインピーダンスが高いので,Y方向側の位置による測定電圧の変化はほとんど起きないからです.
図3:X方向の位置を検出する方法

Y方向についても原理は同じです.Y膜側に電圧を印加し,X膜側で電圧を測定することになります.


図4:Y方向の位置を検出する方法

この3つの検出を組み合わせて,

  • スクリーンに触っているか否か
  • 触っている場合はそのXY位置はどこか

を求めていくわけです.

CY8CKIT-042 (PSoC 4 Pioneer Kit)にUL024TFをつないでResistive Touchを使えるようにしたときの回路図は以下のようになりました.Arduinoのデジタルピン側,すなわちLCD_DportはもっぱらHLの電圧を印加するために用います.アナログピン側,すなわち制御信号のうちRSとnWRは,電圧の印加とともに,電圧の測定も担います.そうそう,LCD_Dportは DOE を使うのをやめて,入力と出力の切り替えはピンのドライブモードを変更する関数をいちいち呼ぶことにしました.

プログラムの実際については,UL024TF.cの後半を見ていただくのが早いと思います.

次の記事で,移植したグラフィック関数群の紹介とともに,プロジェクトファイルを公開します.

 


Aitendo UL024TF の Resistive Touch は実は使える

2015-11-08 13:48:00 | PSoCで遊ぼう

(この記事は前回の記事のつづきとしてお読みください.)

Aitendo の UL024TF. Color Graphic LCD な Arduino Shield でお値段1,480円.安い?お手ごろ?まあ手が出しやすいお値段ですよね.

前回は Arduino Shield がつなげる Cypress 謹製 PSoC 4 基板で遊んでみましたが,タッチスクリーンについては,Aitendoのページに

(※4線抵抗膜型タッチスクリーンが付いているが、接続が行われていないので使用できません)

などとあるので,あーそういうものかーと思っていたのですが,Youtube 見てたら,チェコの方かしらん,UL024TFでタッチスクリーン便利よーん,ってデモ動画が上がってるじゃないですか.(以下の動画のPartIIのほう.)

 Arduino and LCD TFT 2.4" Shield UL024TF

Arduino and LCD TFT 2.4" Shield UL024TF - part II

ブログへのリンクがあったので必死こいてみるも,チェコ語わかんね~…(Part1,Part2),と思ってたら,右下に Translate のボタン.一度これで英国国旗(英語)を選んでおくと,次回からは自動的にその言語で表示してくれるみたい...ということで,ここにとても重要なことが書いてありました.

#define YP A1  // must be an analog pin, use "An" notation!
#define XM A2  // must be an analog pin, use "An" notation!
#define YM 7   // can be a digital pin
#define XP 6   // can be a digital pin

 むー,なんとLCDのコントロールと同じポートを使いまわしているのですね.

UL024TFはAdafruitのTFTLCD Libraryがそのまま使えるように設計されているので,Adafruitのサイトにいって,いろいろな学習プログラムを眺めてみると…なるほど,どうやらUL024TFはAdafruitのこのボード(取扱終了)のコピーみたいですね.やっと見つけた.使い方はここのページから調べていけばよいのかな.そうかSD-cardのデータピンもLCDと共用なのか.これは面倒だ…

せっかく見つけたので回路図貼っておきます…

 UL024TFのResistive Touchが使えることに気づいている方は日本にもおられました.でも結局それに気がついたのは自分の頭で事実が理解できてからでした…見れども見えず,ってやつですね.とほほ.

#本当はね,こんなするする見つけたんじゃなくて,いろいろ情報が錯綜していて,書いてあるとおりやってもなかなかうまくいかなくて,結局テスターで端子にあたってやっと正解がわかり,そこから見当をつけて情報を探していったんです.

んー,しかしピンの役割が動的に変わるとなると,PSoC3/4/5LP流のやり方ではいささか面倒なような…Virtual Pinというか,Dynamic Pin Assignment みたいなのがあれば,Arduinoみたいな融通無碍なやり方も簡単になるかもなあ…


Cypress の PSoC4 ボードに Arduino GLCD シールドをつないでみた

2015-10-24 13:16:16 | PSoCで遊ぼう

*** 本日の成果物 / Products ***
動画/Movie: Driving Arduino TFTLCD Shield by PSoC 4 boards
プロジェクト/Projects:
for CY8CKIT-042: UL024TF-042_33
for CY8CKIT-042-BLE: UL024TF-042-BLE_33
for CY8CKIT-044 (1): UL024TF-044-1_33
for CY8CKIT-044 (2): UL024TF-044-2_33
on PSoC Creator 3.3
*** ここまで ***

Aitendo さんの UL024TF を買ってみました.2.4インチのカラーGLCD,ドライバIC は ILI9325 です.Arduino UNO シールド仕様になっていて,半田付けなしでそのまま Arduino に挿して使えるそうです.グラフィックドライバは Adafruit TFTLCD library を使ってくれとのこと.

回路図もアップされていないのには閉口しましたが,Adafruit のライブラリがそのままつかえる,と謳っているからには,何かの互換品なんだろうとあたりをつけて探したところ,ドライバICは異なりますが,「Adafruit 2.8" Color TFT Touchscreen Breakout v2」が近いようです.で,その回路図.

保護用でしょうか,74LVC245(UL024TFでは74HC245)が入れてあるのですが,データバス側のDIRはLCD_RDにつながっていて,1のときはA→B方向すなわち出力に,0のときはB→A方向すなわち入力になります.

まあここがわかればあとは普通につなげば動くんだな…,ということで,しかしArduinoにつないで動いた動いた,だけではあまりにつまらないので,Arduino Shield をくっつけられる Cypress の開発キットボードを使ってみることにしました.

私の手元には,次の5種類のPSoC 4 ボードがありますが,そのうち頭に◎をつけたボードがArduino Shieldを直接くっつけることができます.

  • ◎PSoC 4 Pioneer Kit (CY8CKIT-042)
  • ◎Bluetooth Low Power (BLE) Pioneer Kit (CY8CKIT-042-BLE)
  • PSoC 4 M-Series Prototyping Kit (CY8CKIT-043)
  • ◎PSoc 4 M-Series Pioneer Kit (CY8CKIT-044)
  • PSoC 4 Prototyping Kit (CY8CKIT-049-42xx)

これらをつないで,まずは画面を出してみることにしました.

カラーGLCDの駆動は前にやったので簡単簡単…のはずが,PSoC4にはGraphic LCD Interface Module がないことがわかって,ちょっとあわてました.でも,落ち着いて考えれば,そんなに難しくはないはず…まじめに書けばいいはずだ…

というわけで042の回路図はこうなりました.入力と出力にはレジスタを使うことにします.入出力を切り替えるDOE (data output enable)もつけました.042ではKitProg(PSoC5LP)側のUSB-UARTがPSoC4につながっていませんので,自分でつないでやる必要があります.

あとばGraphic LCD Interfaceの~Write8関数と~Read8関数を実現してやればよいのですが,レジスタを使うととても簡単に書くことができます.データをセットしてWR信号を送ってから150nsまつと書き込み完了,ということですが,Delay関数を取ってしまっても動く(それだけ関数呼び出しのオーバーヘッドが大きいともいえるが)ので,コメントアウトしてあります.

 ほとんどメモリも使わず,軽快に動きます.黄色い線はPSoC4とKitProgのUARTの接続です.そうそう,どのボードでもclockは48MHzで試しました.042ではUARTがクロックがごにゃごにゃとwarningを出しますが今回はスルー(笑).

main()はごく簡単にこんな感じです.

042-BLEでもほとんど同じです.ピンアサインが違うので直すだけです.

まったく変わりなく動きます.試していませんが,BLEモジュールを入れたら遅くなるんでしょうね.

さて,問題は044ボードでした.PSoC 4M という新しいシリーズのキット.Capsenseの近接センサやらGesture Padと称するタッチセンサ,加速度センサ,FRAM等々盛りだくさんな構成になっていますが,その分Arduino互換ピンに問題が生じているように思います.042や042-BLEボードと同じ回路図でやろうとすると,なぜか選べないピンが発生するのです.Digital PortのD6, D7(それぞれLCD_D6,LCD_D7につながります)がアサインされているP5[3],P5[5]と,LEDのBがアサインされているP6[5]です.PSoC Creatorのバグかしらと 3.2 でもやってみましたが現象は同じ.いろいろ調べて,どうやら原因はPSoC4のピンの制約らしい,ということがわかってきました.

AN86439 PSoC 4 - Using GPIO Pins というアプリケーションノートの9ページと10ページに記述があるのですが,PSoC4のPort4以上のポートにはPort Adapterなるものがついておらず,そのためにUDB由来のデジタル信号をつなぐことができないとか,入力と出力のsynchronizationができないなどの制約がある,というのです.

レジスタが使えないということなので,ピン単位で制御しなければなりません.HW connection を入出力とも off にして,InputのSync ModeをTransparentに変更してやることで,ようやくPort5やPort6のピンを選ぶことができるようになりました.

最初はピン1本ごとにモジュールを1つ割り当ててみました.

ポート単位のアクセスはこんなふうに関数にまとめました.が,ものすごく遅くなってしまいました.オーバーヘッドが大きいみたいです.

ピンモジュールでは複数ピンをまとめて定義することができますが,今回の場合各ピンはばらばらのPortのピンにつなぐので,Mappingタグの下のContiguousのオプションをはずさないといけません.

ところがこれをはずすと,~Write()や~Right()のようなポート単位のアクセス関数を作ってくれなくなります.もともとレジスタを使ったのもこれが原因だったのでした…

仕方がないので,cypin.hを見ながら,まじめにPinを操作するプログラムを書く羽目になりました.

さっきよりはいくぶん速くなりましたが,042や042-BLEよりもはるかに遅いスピードです.高速化の努力はできると思いますが,Pinの制約がある限り,大幅なスピードアップは難しいかなと思います.044はArduinoシールドで遊ぶにはあまり向いていない,と判断せざるをえないです.うーん残念…

実際の動作スピードは,youtubeに動画をアップロードしたので,そちらをご覧ください.

 


PSoC3/4/5LPでprintfの出力先をUARTにしたいとき

2015-09-27 21:33:44 | PSoCで遊ぼう

意外と知られていないようなので.これはじつはUARTのデータシートに書いてあります.載るようになったのはVer.2.30からのようです. このUART_printf.cをプロジェクトに加えるだけでOKです.あ,もちろんUART_1_PutChar(c)などの部分は自分の作ったモジュールの名前に合わせて変えてください.

[20150928追加] GCC環境(PSoC4/5LP)のprintf系関数で %f がうまくいかない問題も,UART_printf.c ではこそっと解決されています.

/* Add an explicit reference to the floating point printf library to allow
the usage of floating point conversion specifier */
#if defined (__GNUC__)
asm (".global _printf_float");
#endif

Creator 3.* だったかな,でライブラリが変わったときにデフォでリンクしなくなったということのようです(出典).リンクオプションで -u _printf_float を追加するのと同じ効果だそうです.

#オプションついでにいうと,math.hをインクルードしたのに数学関数使えないジャン!なときは,メニューバーからProject-Build Settings-ARM GCCほげほげ-Linker-General と進んで,Additional Libraries に"m"と書くのも著名なはまりポイントですね.要はlibm.aをデフォルトではリンクしないということ.組み込みだもんね.

何年か前にPastelmagicの掲示板で話題になったときの記事はこちら.もう古い情報かな.UART_printf.cとは解決方法が違います.

[20150928さらに追加] 大事なことが抜け落ちていました.PSoC5LPでprintfを使うには,デフォルトのHeap Size (0x80=128bytes)では小さすぎます.大きめにとってください.ここでは0x1000=4kbytesにしてみます.

#昨日の自分は他人,だなあ.身に沁みる… orz

#結局 newlib-nanoのソース読んだのは内緒ね!(爆死)

 

CY8CKIT-059用に作ったテストプログラムをここに置きます.PSoC Creator 3.3用です.KitProg USB-UARTのポート番号を確認し,TeraTerm等でご確認ください.その際,ボーレートの設定をお忘れなく.テストプログラムは115,200ボーで作りましたので,USBUARTデバイスとTeraTermの双方で設定が必要です.

PSoC Creator 3.2 SP1 版のテストプログラムはこちらです.

ポート番号を調べる

USBUARTデバイスでのボーレート設定

TeraTermを起動してポートを設定

ボーレートを設定する.

受信改行コードをLFにしておく

TeraTermによる実行画面のようす

[20150928さらにさらに追加] PSoC4環境で確かめてみました.やはりHeap Size がデフォルトの0x80(=128)bytesでは動きません.0x800(=2048)bytesではうまくいきました.が,PSoC4はメモリが少ないのでちょっと取り過ぎかもしれません.数字を少しづつ変えて調整することになるでしょう.

CY8CKIT-049-42xx (PSoC4 Prototyping Kit)で動くテストプログラムです.PSoC Creator 3.3用です.Bootloader Hostを使って書き込みます.詳しくはこちらのページを参照してください.(Creator 3.2用のドキュメントですが,open new project したときの最初の画面(5ページ目)以外は変わっていません.

このボードでUSBUARTを使おうとするとSDC版UARTモジュールってのを使うことになるんですね.で,ちょっと関数名が違うと.UART_printf.cの中の関数名もUART_1_UartPutCharのように変わっています.

PSoC3での検証はまたの機会に.

 


Windowsのユーザ名を1バイト文字で作りかつ多バイト文字のフルネームを登録する方法について

2015-09-21 12:00:53 | PSoCで遊ぼう

 Windows XP以降漢字を含むユーザー名でアカウントを作ることができますが,しかしこれをやると正常に動作しないソフトウェアもいまだにしつこく存在します.ユーザーのホームフォルダ名をユーザー名そのままでつけてしまうことが問題の根本です.どうしても「パス名に多バイト文字はこない(ASCIIのみ)」ことを仮定したプログラムコードは撲滅が困難です.また,1バイト文字で事足りる文化圏で作られたプログラムに正しい多バイト文字対応を求めるのは,(たくさんの人が使う)メジャーなものでなければ難しいのが現状でしょう.

 Windows XPの時代からの豆知識,ということになりますが,ユーザー名を1バイト文字で作り,ただしメニューの表示等に現れる名前をフルネーム表示する方法を紹介します.

 PSoC Designer / Creator もまだこの問題を抱えたままで,まったく改修する気配がありませんので,自衛するしかありません.またユーザ名を1バイト文字にしておくことで避けられる潜在的な障害を予防することもできるでしょう.(とくに海外で作られたソフトの利用には有効な防衛策と思います.)

PDFはこちら(日本語のみです).


PSoC4BLEでEddystone / Implementation of Eddystone beacon on PSoC4BLE

2015-08-30 17:14:21 | PSoCで遊ぼう

Google から発表された Eddystone ビーコンにも挑戦してみました.いまのBLE moduleではBroadcasterとして作れないのでちょっとはまりましたが,Advertising type を Non-connectable か Scannable にしておけば接続を受け付けないようなので,それさえ分かればあまり難しくありません.Configure まで手を出すと大変でしょうけど…

PSoC4BLE (CY8CKIT-042-BLE) で Eddystone (日本語PDF)

Implemantation of Eddystone beacon on PSoC4BLE (CY8CKIT-042-BLE) (PDF in English)

Program Source (on PSoC Creator 3.2 SP1)

Let's enjoy PSoC4BLE!

 


PSoC4BLE(CY8CKIT-042-BLE)でiBeacon / Implementation of iBeacon on PSoC4BLE (CY8CKIT-042-BLE)

2015-07-20 15:36:21 | PSoCで遊ぼう

CY8CKIT-042-BLEを使ってiBeaconを作ってみました.やり方を書いたPDFファイル(日本語)をここにおきます.思ったよりは難しくなかったです.CY8CKIT-042-BLEは,最近のPSoCセミナーでも配ってますし,共立エレショップでも取り扱っていて,入手性はよいと思います.

ソースをここにおきます.PSoC Creator 3.2です.

Implementation of iBeacon on PSoC4BLE is not difficult. Let's try!

Document (in English): E_iBeacononPSoC4BLE.pdf

Source Code (Project): iBeacondemo_32.cywrk.Archive01.zip (on PSoC Creator 3.2)

iBeacon on PSoC4BLE (CY8CKIT-042-BLE)

 


CY8CKIT-059のリビジョン違い

2015-06-19 07:57:49 | PSoCで遊ぼう

秋月電子通商で取扱いが始まったCY8CKIT-059 PSoC5LP Prototyping Kit を買ってきました.

最初に商品のページを見たときは在庫状況はAAAだったのですが,この記事を書いている時点ではAA.順調に売れているようですね.

 というわけで買ってきた.2つあるのは気の迷いです(笑).

すでにもっているのになぜ買ったかというと,確かめたいことがあったのです.

 上がCypress Storeで買った基板,下が今回秋月で買った基板,どこが違うでしょう?

 実はリビジョンが違います.古いほうがRev.03,新しいほうがRev.05とあります.マニュアル40ページのRevision Historyを見ると,Revision ** と Revision *Aの違い,ということになります.2つの基板ですぐに見つけられる違いは,C41,C42があるかないか.32kHzの水晶をつなぐときのコンデンサが用意されているか否かです.水晶をつける穴はなくて,P15[2]とP15[3]の間に直接つけてね(マニュアル26ページ参照)となっています.他に違いがあるかどうかはちゃんと見ていません.

というわけでいま秋月にある在庫は最新版なので,安心してじゃかじゃか買ってください(笑).