Розмір відео: 1280 X 720853 X 480640 X 360
Показувати елементи керування програвачем
Автоматичне відтворення
Автоповтор
懐かしいな。普通はシリアル通信用のICに任せるんだけど、部品代をケチるためにソフトウエアで通信したこともあったっけ。
これからシリアル通信について勉強しようと思っているのでとても参考になりました。ありがとうございます!
4:19の作動信号方式の図がわかりません。シングルエンド方式は何V〜何Vに対して0,1と説明がありますが、作動信号方式に関しては、どこのポイントで、どこを基準にした差分で0,1もしくはそのほかの値というのが具体的に欲しいです。シングルエンド方式の説明で、+側が0、-側が1というのも腑に落ちないのですが、作動信号方式も図そのまま受け止めた差分との違いはあるのでしょうか。物分かり悪くてすみません。
シングルエンド方式は単純に信号の電圧だけで0か1かが決まります。信号線の電圧をGND基準で見ます。+側が0というケースはシングルエンドだからというより、RS232Cの規格でそう決まっているということです。CPU付近の信号は+側が1になっており、232Cの信号を作るときに論理がひっくり返ります。差動信号の場合は2つの方式があり、+側と-側の差が0V付近かそうでないかで0と1を決めるものと、+側が-側より大きければ1、小さければ0というものがあります。差動信号では+側と-側の信号が入れ替わったりするわけですが、このタイミングは非同期ならボーレートクロック、クロック同期ならクロック信号に同期して変化するので「きっちり変化した後」に両方の信号を読み取って差を見る感じです。差動の場合、どこを基準にするかというのはGNDではなく-側の信号線です。・・・という説明でおわかりいただけるでしょうか?動画でなく言葉での説明なのでわかりにくいかもしれませんね。
@@embedded_ch お早いご回答ありがとうございます。100%ではないかも知れませんが、理解できたような気がします。
ありがとうございます。勉強になります。
すみません、、一般的にCAN通信で同じCANIDのものを、この時はポーリング、この時は受信割り込み、と分けることは可能でしょうか?マイコン依存やAutosar使用/未使用で回答が変わるかもしれませんが・・ちなみに開発環境としては、AurixマイコンでAutosarのCAN使用を想定していますが、、ルネサスマイコンでAutosarなしだったら実現できた!みたいなエピソードなどでも嬉しいです。。
CANで同じCANIDのものを、ポーリングと割り込みで混在して作る、ということ自体を経験したことがなく、また聞いたこともありません。ひょっとしたら私の経験の範囲外で「こういう場面なら使い分けた方がいい」というのがあるかもしれませんので、具体的に同じCANIDでもポーリングと割り込みをなぜ使い分けたいのかを教えていただけるとこちらからも情報を出しやすくなると思います。回答に至らず申し訳ありませんが、よろしくお願いします。
@@embedded_ch ご回答ありがとうございます!混在させたい背景としては、canダイアグ機能でのリプロを高速化したいという課題があります。既存処理は全てポーリングなのですが、変更影響を最小限としたく、リプロシーケンスの一部のときのみポーリングではなく割込み受信に切り替えたい、という思いです。。
現状、全フレームをポーリングで受信していて、特定のCANIDのときだけ、割り込みを使って高速化したいという主旨でしょうか。だとすると、少なくともCANIDがわかるまではポーリングで受けざるをえないと思います。CANIDがわかったら、高速化が必要なものならDMAを起動してしまえば高速化できそうな気がします。割り込み処理に変更するのはベクタをいじったりいろいろ大変なので、DMAの方が手軽だと思います。CPUにもよりますが、DMAは割り込み要因をトリガにはするものの、実際に割り込みを発生させるかどうかは別にできるので、これまでの処理はそのままでいけそうに思います。
@@embedded_ch DMAという選択肢も考えられるのですね。参考にさせていただきます、ありがとうございました!
👍👍
懐かしいな。普通はシリアル通信用のICに任せるんだけど、部品代をケチるためにソフトウエアで通信したこともあったっけ。
これからシリアル通信について勉強しようと思っているのでとても参考になりました。ありがとうございます!
4:19の作動信号方式の図がわかりません。
シングルエンド方式は何V〜何Vに対して0,1と説明がありますが、
作動信号方式に関しては、どこのポイントで、どこを基準にした差分で0,1もしくはそのほかの値というのが具体的に欲しいです。
シングルエンド方式の説明で、+側が0、-側が1というのも腑に落ちないのですが、作動信号方式も図そのまま受け止めた差分との違いはあるのでしょうか。
物分かり悪くてすみません。
シングルエンド方式は単純に信号の電圧だけで0か1かが決まります。信号線の電圧をGND基準で見ます。+側が0というケースはシングルエンドだからというより、RS232Cの規格でそう決まっているということです。CPU付近の信号は+側が1になっており、232Cの信号を作るときに論理がひっくり返ります。
差動信号の場合は2つの方式があり、+側と-側の差が0V付近かそうでないかで0と1を決めるものと、+側が-側より大きければ1、小さければ0というものがあります。差動信号では+側と-側の信号が入れ替わったりするわけですが、このタイミングは非同期ならボーレートクロック、クロック同期ならクロック信号に同期して変化するので「きっちり変化した後」に両方の信号を読み取って差を見る感じです。差動の場合、どこを基準にするかというのはGNDではなく-側の信号線です。
・・・という説明でおわかりいただけるでしょうか?動画でなく言葉での説明なのでわかりにくいかもしれませんね。
@@embedded_ch お早いご回答ありがとうございます。100%ではないかも知れませんが、理解できたような気がします。
ありがとうございます。勉強になります。
すみません、、一般的にCAN通信で同じCANIDのものを、
この時はポーリング、この時は受信割り込み、と分けることは可能でしょうか?
マイコン依存やAutosar使用/未使用で回答が変わるかもしれませんが・・
ちなみに開発環境としては、AurixマイコンでAutosarのCAN使用を想定していますが、、
ルネサスマイコンでAutosarなしだったら実現できた!みたいなエピソードなどでも嬉しいです。。
CANで同じCANIDのものを、ポーリングと割り込みで混在して作る、ということ自体を経験したことがなく、また聞いたこともありません。ひょっとしたら私の経験の範囲外で「こういう場面なら使い分けた方がいい」というのがあるかもしれませんので、具体的に同じCANIDでもポーリングと割り込みをなぜ使い分けたいのかを教えていただけるとこちらからも情報を出しやすくなると思います。
回答に至らず申し訳ありませんが、よろしくお願いします。
@@embedded_ch
ご回答ありがとうございます!
混在させたい背景としては、canダイアグ機能でのリプロを高速化したいという課題があります。既存処理は全てポーリングなのですが、変更影響を最小限としたく、リプロシーケンスの一部のときのみポーリングではなく割込み受信に切り替えたい、という思いです。。
現状、全フレームをポーリングで受信していて、特定のCANIDのときだけ、割り込みを使って高速化したいという主旨でしょうか。だとすると、少なくともCANIDがわかるまではポーリングで受けざるをえないと思います。CANIDがわかったら、高速化が必要なものならDMAを起動してしまえば高速化できそうな気がします。
割り込み処理に変更するのはベクタをいじったりいろいろ大変なので、DMAの方が手軽だと思います。
CPUにもよりますが、DMAは割り込み要因をトリガにはするものの、実際に割り込みを発生させるかどうかは別にできるので、これまでの処理はそのままでいけそうに思います。
@@embedded_ch
DMAという選択肢も考えられるのですね。
参考にさせていただきます、ありがとうございました!
👍👍