GPIO の代わりに高速でON-OFFできるI/Oは?

毎々お世話になります。

GPIOのPort出力で CLKを作ろうとしたのですが周期が750nsと遅いので、もっと速い

出力はないでしょうか?

お手数ですがよろしくお願いします。

高瀬

Parents
  • takaseさん、こんにちは。NoMaYと申します。

    RZ/A1に詳しくないですが、今までも、がじぇるね や かふぇルネ で、ポート出力が遅い、という話を何度か読んだ記憶があります。それらの結論は、どれも、RZ/A1はそういうもの、でした。(つまり、GPIOのアクセスのウェイトを短くするレジスタがあるよとか、ライブラリ関数を使うと遅いけれども直接叩くとずっと速いよとか、そういう話は無かったと記憶しています。)

    ライブラリ関数を使うより直接叩けば何がしか速くなるのは当然ですけど、今回は、直接叩いても、欲しい速さが出ないということですよね? 具体的に、どういうCコードで、どういうアセンブラコードが生成されて、オシロ上でどういう波形になっているのか、教えて頂くことは出来ますか?

  • NoMaYさん
    GPIOのアクセスで10M Byteは無理じゃないでしょうか?1Mだと500nSですからこれをやるとプログラム実行する時間がなくなっちゃう。2コアでもあれば?
  • IKUZOさん、こんにちは。NoMaYです。

    400MHz動作のRISCプロセッサですよ。基本的には1命令実行の時間は2.5nsですよ。RL78では、GPIOアクセスにウェイトは入らないので、(それだけに掛かりきりになれば)32MHz動作なら16MHzのパルスが出せるはずですし、RXでは、120MHz動作でも内蔵周辺バスのクロックは60MHzまでなのに加えて数クロックのウェイトが入りますけど、(それだけに掛かりきりになれば)10MHz弱ぐらいのパルスは出せそうに思うのです。他方、RZ/A1は400MHz動作の割に何か異様に遅い(らしいっぽい)のですよ。(というのが、がじぇるね や かふぇルネ で、私が受けた印象なのです、、、でも、念の為、アセンブラコードも確認しておきたいな、と思ったのです、、、) あと、もしGPIOアクセスに非常に多量のウェイトが入る回路設計になっていたとすれば、DMAを使っても非常に多量のウェイトが入るだろうと思いますので、DMAを使っても速くならないかも、と思ったのです、、、

  • NoMaYさん
    ほんとによく調べて頭が下がります、なんと2.5nsなんですか、私の頭が古いのかもしれませんね、私の苦労した経験では8Bit同時出力でタイムラグというのがどれぐらいなんでしょうか、GPIOアクセスでそれぞれ1nS以内とか、それぐらいだとパソコンの USBの2.0でPCI BUSで最大20M Byte ぐらいでしたから、それ以上ぐらいはできるということでしょうか、でも1GHzのマイコンなんていうのもありますが、そんなに早いような感じはしないのですが、多分ですがCPUのクロックと周辺機器に供給するクロックとは別なんでしょうね。
Reply
  • NoMaYさん
    ほんとによく調べて頭が下がります、なんと2.5nsなんですか、私の頭が古いのかもしれませんね、私の苦労した経験では8Bit同時出力でタイムラグというのがどれぐらいなんでしょうか、GPIOアクセスでそれぞれ1nS以内とか、それぐらいだとパソコンの USBの2.0でPCI BUSで最大20M Byte ぐらいでしたから、それ以上ぐらいはできるということでしょうか、でも1GHzのマイコンなんていうのもありますが、そんなに早いような感じはしないのですが、多分ですがCPUのクロックと周辺機器に供給するクロックとは別なんでしょうね。
Children
No Data