Armadilloフォーラム

armadillo-640_con9_awl13_rtc.dtbの配置場所について

resourceone

2018年11月5日 12時45分

RTCオプションモジュールを使いたいのですが、まだ販売店のラインナップにないので購入はできてません。
ところで、当たり前すぎて確認してなかったのですが、RTCオプションモジュールは640用のプラケースまたはアルミケース内には収まるのでしょうか?
さて、カーネルだけでも更新しておこうと思いましたが、ダウンロードリンクが古いままでat7のバイナリがリンクされてません。at6になってます。
そこで、ソースからコンパイルしました。
取説の通りにuImage、armadillo-640.dtb、armadillo-640_con9_awl13_rtc.dtbは作成されました。
ディスクに配置する場合、以前と同様にuImageは/boot/uImageへarmadillo-640.dtbは/boot/a640.dtbとするのが適切だと分かるのですが、
armadillo-640_con9_awl13_rtc.dtbはどこに配置するのでしょう?a640.dtbのほうはブートローダで指定しているので、同じようになにか指定がいるのでしょうか?

また、内蔵のRTCは非推奨ということですが、一応、動作確認するための電池の接続方法が知りたいです。

コメント

> RTCオプションモジュールを使いたいのですが、まだ販売店のラインナップにないので購入はできてません。
> ところで、当たり前すぎて確認してなかったのですが、RTCオプションモジュールは640用のプラケースまたはアルミケース内には収まるのでしょうか?

収まるよう設計しております。
ですが、コイン電池ホルダー上面は電池の+極になっており、アルミケースとの
クリアランスが極めて小さいため、プラスチックケースをご利用ください。

アルミケースの場合はポリイミドテープ等で絶縁は可能だとは思いますが、
ケースに応力が加わった際の変形等で絶縁材が破損する等懸念がありますので、
アルミケースはお勧めしかねます。

> さて、カーネルだけでも更新しておこうと思いましたが、ダウンロードリンクが古いままでat7のバイナリがリンクされてません。at6になってます。

ごめんなさい。アップロードしていましたが、リンクを更新していませんでした。
現在反映されています。

> 取説の通りにuImage、armadillo-640.dtb、armadillo-640_con9_awl13_rtc.dtbは作成されました。
> ディスクに配置する場合、以前と同様にuImageは/boot/uImageへarmadillo-640.dtbは/boot/a640.dtbとするのが適切だと分かるのですが、
> armadillo-640_con9_awl13_rtc.dtbはどこに配置するのでしょう?a640.dtbのほうはブートローダで指定しているので、同じようになにか指定がいるのでしょうか?

armadillo-640_con9_awl13_rtc.dtb は armadillo-640.dtb の代りに /boot/a640.dtb にリネームして使ってください。

> また、内蔵のRTCは非推奨ということですが、一応、動作確認するための電池の接続方法が知りたいです。

CON13の1ピンがコイン電池用3V入力になっています(3ピンがGNDです)。
外付け部品無しで直結して良いです。

取説の6.6RTCのページで、2018/4/12時点で・・対応してません。という注意書きがありますが、営業さんによると、記述削除されるべきで、間違いというお話だったのですが、紛らわしいので、削除すべきなら削除していただけますか?内蔵RTCは非推奨ながらも対応したということですよね?

表17.21 対応バッテリ例で、CON6にCR2032 WK11と掲載されてますが、この電池はCON6のソケットに入れられるのでしょうか? 普通のCR2032と違って、端子が線で出ているタイプですけど、2本の端子からの線をCON5に繋ぐということでしょうか?

中島です。

CPU内蔵RTCの使い方については下記をご参照ください。
https://users.atmark-techno.com/comment/6264#comment-6264

対応バッテリ例の表は間違っており、

CON4: CR2032 WK11
CON6: CR2016

が正しいです。

紛らわしい記載については次回アップデートで改善するようにします。
不備が多くて申し訳ありません。

RTCオプションモジュールは注文してみましたので、入手次第動作確認してみます。
内蔵RTCの動作も確認できました。精度と電池寿命に難ありと理解してますが、電池寿命が短いのは省電力動作が実装出来てないからと思うのですが、今後改善される予定はあるのでしょうか?
RTCオプションモジュールは自分としては余計なUSBが付いていて価格的に高いので、440のRTCモジュールのようにRTCだけの商品があればよかったです。
また、内蔵RTCについてですが、仮に電池をつないで、オプションのケース内に収めたと仮定した場合、PWRONピンをオープンしないと電源が入らない仕様になってますね。スイッチのような部品が1つ追加で必要で、それではケースに穴でも開けない限り入らないです。
普通に電源プラグを差し込むと起動するように変更は出来ないのでしょうか?

i.MX6ULL内蔵のRTCは消費電流が高めのため、どうしても現状の電池寿命となってしまいます。

CON9のPWRONピンでArmadillo-640の電源のON/OFF制御を行う感じでしょうか?
どのような状況なのかあまりイメージが湧いていないのですが、電源プラグを抜き差しするのであれば、
PWRONピンで電源制御する必要はないような気がします。

内蔵RTCを使うために電池を接続すると、電源プラグの差し込みだけでは起動しないのです。電源プラグは抜いてから10秒以上経ってから接続するようにしているので、正しい差し込み方です。時々、差し込みだけでも起動する場合もあります。
取説の14.5.1.2で、電源のオンまたはオフの状況はRTC_BATピンからのバックアップ電源により保持されるという文章から、プラグ挿入で起動しないのは、仕様だと思ってましたが、違うのでしょうか?
この文章の次に、PWRONピンの制御があったため、それを実行したら起動しました。

外部からArmadillo-640の電源を制御する信号として、ONOFF信号、PWRON信号の2種類があります。

ONOFF信号は、CON13の4ピンまたはCON9の11ピンから制御できる信号です。
i.MX6ULLのONOFFピンに接続されており、GNDにショートすることで電源オフ、
再度GNDにショートすることで電源オンすることができます。
この電源オン/オフの情報は、i.MX6ULLの低消費電力ドメインで保持されます。
RTC_BATから電源を供給している場合、電源オン/オフの情報が保持されますので、
電源オフの情報が保持されている場合は、プラグを挿入しても電源はオンしません。

PWRON信号は、CON9の12ピンから制御できる信号です。
パワーマネジメントICのPWRONピンに接続されており、
GNDにショートすることで電源オフ、オープン状態で電源オンすることができます。
こちらの情報は特に保持されることはないので、オープン状態にしておけば、
プラグの挿入で電源をオンできます。

電池を接続している時に、プラグの差し込みだけで起動しないことがあるとのことですが、
おそらく、ONOFFピンをGNDにショートしたことで、
電源オフの情報が保持されているのではないかと思います。

手順をご確認いただけますか?

改めて一度、全部開発用のケーブルを外して確認しました。ピンに接続しているものはJP2がクローズ以外になにもありません。
まず、なにも接続しないで、電源プラグを挿入して起動できることを確認しました。
次に、シャットダウンして、プラグを抜きます。(シャットダウンはプッシュボタンでshutdown -h nowコマンド実行するようにしてあります)
10秒経過してからプラグを入れると、起動します。
シャットダウンして、プラグを抜きます。10秒待ちます。
次に電池を接続して、プラグを差すと、電池を接続した初回は起動します。
シャットダウンしてから、プラグを抜いて、10秒経過してから、差すと起動しません。
再度、抜き差ししても起動しません。
(ここで、何度やっても起動しないので、回避策としてPWRONピンをGNDに1秒接触させてから離すと起動するのですが、現象確認のためやりません)
電池を外して、抜き差しすると起動します。

また同じ手順で上記を繰り返しても同様の現象です。電池を接続した時の2回目以降は起動しません。

開発用の232CケーブルをCON9に差して、上記手順でプッシュボタンを使用しないで、コンソールからshutdown -h nowしても同じ症状です。

電池の接続は
CON13の1ピンをCR2032電池の+へ、3ピンを電池の-へ接続してます。(電池の接続は内蔵RTCの動作が以前に確認できているので正しいはずです。)
eMMCブートで行いました。SDカードは未挿入です。ブートローダは最新のもので、改変してません。
カーネルat7も最新ですが、cifsだけ有効に変更してます。
また、内蔵RTCが未実装だった古いブートローダとカーネルat4でも同じ現象が出てました。

電池を付けた時と付けてない時で電源の動作が異なるのが仕様でないとすると、回路設計上の不具合ということでしょうか。
危惧しているのは、実際の運用ではRTCオプションボードを利用する予定でして、その場合にも同じように電源プラグで起動しない現象が出てしまうとかなり困ります。接続ピンが違うので大丈夫だといいのですが。まだボードが手元にないので未確認です。

shutdownコマンド後に電源を切断した場合、
ONOFFピンをGNDとショートして電源を切断した場合と同じ状態になります。
RTC_BATから電源を供給している場合、電源オフの情報が保持されるので、
プラグを挿入するだけでは電源はオンせず、
ONOFFピンをGNDにショートしなければいけないようです。

電源切断後5秒以上の間隔をあけてから電源を投入しているのは、
低消費電力ドメインに電源供給しているラインの電荷が抜けるのを待つためなので、
RTC_BATから電源を供給している場合は、意味がありません。

RTCオプションモジュールの場合、電池を接続するのはRTCオプションボード上のリアルタイムクロックICとなり、
低消費電力ドメインに電源は供給されませんので、同様の現象は発生しません。

RTCオプションモジュールが入手できましたので、確認してみました。確かに電源の問題は起きませんでした。
ところで、このモジュールを使用した場合、CR2032 WK11で6.2年,CR2016で2.5年という電池寿命ということが取説には記載されてますが、
電源をアダプタから入れている状態ですと、OSが起動している、していないに関わらず、電池は消費されないと考えておいていいのでしょうか?

Armadillo-640に5V電源供給している場合、
リアルタイムクロックへの電源供給はパワーマネジメントIC(VCC_3.3V)より行われます。

RTCオプションモジュールの回路図は公開しておりますので、詳細はこちらでご確認ください。
(購入製品登録が必要となります)
https://users.atmark-techno.com/documents/specifications?taxonomy_vocab…