2016年12月21日水曜日

青色(lpc1768) 黄色(lpc11u24)でspi使用時の注意点

こんばんは、

mbed アドベントカレンダー2016 21日目ですね。

明日はやましょうは渋谷で飲んだくれている予定です。
お近くの方はお呼びください。
今年も、皆様、お世話になりました。mbed関連でもかなりのお仕事ができた年でした。
これも一重に皆様のご協力のおかげと思っております。m(_ _)m


さて私も大好きな青mbedというか黄色mbedと言うか
元nxpのマイコンのspiはちょっと独自でなので注意が必要です。

通常Spiで自分がMasterモードであれば、MOSI側が出力ポートのままである筈と思いますよね。
(STも旧フリスケも出力のままですしね。)
どうもnxp(旧NXP)のマイコンは違うらしく、MOSIはOPENになるっぽいのです。
(ブロック図欲しい。)
でもこれ英語版のwikiペディアではこで良い様な波形が紹介されているのです。
なのでバグってことではなく意図的にこの様になっている模様です。

















上からCS / CLOCK /DATA 出力/DATA 入力の順で
手でピン触りながら波形を計測するとこんな波形がとれます。
なので、ハード的にPULL-UPするか?PULL-DOWNするか?
しておかないとぷらぷらになっちゃうんです。
これ相手のマイコンも入力なので、かなり深刻になるかも?
と言うことで注意しましょうね。

ちなみにフリスケFRDM-K64ではこんな波形になります。


















今回チェック用に作成したコードはこんな感じ
#include    "mbed.h"

Serial      PC(USBTX,   USBRX);                 /* PC UART         */
SPI spi(p5, p6, p7); // mosi, miso, sclk
DigitalOut cs(p8);
/* //////////////////////////////////////////////////////////////////////// */
/* // メイン処理 ////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////////// */
int main(void)
{
    //// PC 通信設定  ////////////
    PC.baud(115200);                             /* PC間フォーマット設定 ボ-レート */
    PC.printf("Progam Start!\n");
    spi.frequency(10000);
    while( true ) {
        if ( PC.readable() )
        {
             uint8_t OutData = PC.getc();
             PC.printf("Data:%2x\n",OutData);
             cs = 0;
             spi.write( OutData );
             cs = 1;
        }
    }
}


ということで注意しよう、SPI時、MOSI OPEN NXP(旧フリスケを除く)

以上
やましょうでした。

2016年4月26日火曜日

ラズパイ3 windows 10 iotを試す。


みなさん

お久しぶりです。やましょうです。


ラズパイ3を入手、

windows 10  iot インストール。


blinkky.cppを動かしてみました。。。

        interval.Duration = 500 * 1000 * 10;

っで500ms毎ってことだと思うのですが、

実測すると(計測器自体の誤差も考えられますが。。)



5回なので2.5秒が正解だと思うのですが。

1回あたり、500ms以上掛かっているんですが。。。。。

私の計測機がわるいのか??
デバッグモードなのがわるいのか?
MSさん確認お願いします。

2016年3月27日日曜日

秋月 有機ELが壊れた=>修理!

こんちは、やましょうです。

秋月の有機EL















とても便利でよく愛用しています。


さて、いきなり本題ですが、

表示が点灯せずに交換と言う羽目になり、
それが既に数台ともなると原因を調査したくなりしました。
調査したところ



パターンは2つ
まず上記のところの電圧で15V出てて入ればケース1だと思います。
出てでていなければ、ケース2.だと思います。

ケース1.接触不良で点灯しない。
たぶん持ち運びで、ハンダ割れが発生?
ハンダゴテ、もしくはブロアーで各パーツを温めて
ハンダを割れを修正します。すると直ったケース


ケース2.電源icを壊した
これは何か接触させて、ICを壊した可能性大ですね。
となりの6pinのicを交換しましょう。すると直るかもしれません。
6pinのicは、https://datasheets.maximintegrated.com/jp/ds/MAX1896_jp.pdf
の互換品か?なにかともお思いますが、違う場合も考えられますので
ご自身の判断で交換ください。(やましょうは責任はもちません。)’
このケース以外も考えられますが、やましょうのケースでは上記でした。



と、言うことで無事にすべてうごきました。

それではまた次回。