2020年03月25日

SEIKOEPSON RTC8654の評価

1年ほど前にお客さんから勧められて戴いたSEIKOEPSONが作っているRTC8654を評価してみました。
コントロールするCPUはSTM32L452のI2Cに接続し、アプリケーションマニュアルにしたがってアクセスしてみるとサクッと動きました。


RTC8654_2.jpg


このRTCには32.768khZのX'talが内蔵されていてとても使いやすいのが特徴です。
また、試作時も半田ごてで手付けが可能なので扱いやすいといえますが、この大きさの0.5mmピッチは半田つけするときに指で押さえるわけにも行かずちょと苦労します。

底面は透明になっていて32.768KHzの音叉の様なモノがみえるってそそられますね。

RTC8654_1.jpg


【追記】
更に小型化を望むならRX8130でしょうか。気をつけなければならないのはバックアップ電源の切替回路も内蔵されていてこの設定をしないと時計が止まってしまうというので注意が必要ですが、小型&回路のスマート化には良いでしょう。

posted by Soki at 00:00| Comment(0) | デバイス調査

2020年03月07日

STM32F303でのマスストレージクラスの認識

STM32F303でMSCクラスを認識させるテストをしてみた。

52469.jpg

回路設計の関連知識として手持ちのNuclro-144(STM32F303)を使ってストレージクラスをPCに認識させてみた。

例によってSTM32CubeMX様の力を拝借してコードは自動生成。
SDCの認識にはCubeMXが生成するMidleWareが必要でUSB_DEVICEの設定項目のプルダウンメニューからMSCを選ぶだけです。

CubemxのミドルウェアSDCの設定.jpg


生成したコードをビルドしてプログラムを走らせてもMSCとして認識されません。ホストに接続された時にコールバック関数が走りますから、STORAGE_Read_FS内でで、セクタのデータを要求される必要なデータを返してあげると認識される。

SDCで認識された.jpg


今回コールバック関数が走らないのでよく調べてみると、DP信号のプルアップの設定をポート(PG6)で‘H’を出力しておくことを忘れて半日潰しました(苦笑)。

データ信号線のプルアップで検出される.jpg


追加するコードはこのサイトを参考にして組込ました。

https://qiita.com/mt08/items/fcc925fa47726bfc6c74

画像では使用領域と空き領域が全部ゼロですが、これはFsの適正値を返していないのであとで遊びながら試してみます。

posted by Soki at 19:45| Comment(0) | デバイス調査

2019年12月19日

STM32の内部CR発振器について

ここ2〜3年ですが、STマイクロのマイコン採用率が非常に高い(1年前)のですが、前から気になることがあります。

基本的には内部のCRクロック回路で動くのですが、たまにクロックの発振周波数ズレが起きたりしてUARTでの通信の文字化けが・・・


51747.jpg

一年前にも「STM32F303」で115.2kで通信実験をしたところ、頻繁に文字化けがでたので、内部CR発振器の出力をピンにだしてみると明らかにズレていました。その時のズレは周波数補正レジスタを調整してバケの一番すくないセンターに合わせて無事やり過ごせました。
今回調査では「L542」で、HSIクロックを使用した場合、補正できる範囲を超えてデータバケは解消せず。
調べてみると、定格の発振周波数に16MHz対して観測されたのは13.7MHzととんでもない周波数でした。

こればチップのバグなのか、それとも設定ツールのバグなのか・・・、未だに原因はわかりませんが、MSIクロックがまぁまぁ精度良いので、それをベースにPLLで目的周波数にあげて使用したらUARTの文字化けは解消。


また、MSIはRTCの32KHzベースのクロックがあるときは、自動補正できるという優れもので±0.25%の精度になります。

ほかにも「F446」を調べてみたところ、このチップにおいてはHSIの発振周波数は定格の16.0MHzを確認、残りの「L053」と「F031」も時間のあるときに調べてみようと思います。


因みにATTINY13の内蔵CR発振回路の周波数補正はとんでもなく幅広く±30%位まで調整できましたが、STもその半分で良いからくらい幅取れると嬉しいのですけどね。


SYM32L452_HSIクロックがおかしい0(CubeMxのHSIのCALがダメ).jpg

HSIをPLLでにいれてシステムい供給した設定




SYM32L452_HSIクロックがおかしい1.jpg

MSIをPLLいいれてシステムに供給、MSIはRTCクロックで自動補正もできるので安心。



SYM32L452_HSIクロックがおかしい2.jpg

Cubemxによるクロック補正の設定


SYM32L452_HSIクロックがおかしい3.jpg

内部クロックはピンにだして測定できるのでありがたい。(ポートの設定はVeryHigh必須)


追記:その後STM32L053についてもHSIを引っ張り出して周波数をし食べたら16.1MHzと補正できる範囲内であった。

posted by Soki at 00:00| Comment(0) | デバイス調査