タグ付けされた質問 「can」

CANはController Area Networkの略で、自動車アプリケーションでよく使用されるバスです。2線式差動プロトコルで、10キロビット/秒から1メガビット/秒のボーレートで動作します。

5
CANバスを駆動するには、CAN対応のマイクロコントローラーで十分ですか?
最近では、マイクロコントローラーに組み込まれている多くのCANモジュールがあります。PIC18F2480はその一例です。そのマイクロコントローラー(ビルトインCAN)は、CANバスを単独で駆動できますか、または外部CANトランシーバー/コントローラーが必要ですか? CANにはソフトウェア層とハードウェア層の両方があり、見た目ではこれらのCAN対応マイクロコントローラーはソフトウェアだけを持っているように見えますが、CANバスをそのまま駆動できるかできないとは述べていません。 CANバスを介して6つ以上のマイクロコントローラーを接続したいと考えています。それらすべてのトランシーバーが必要かどうか、または内蔵のものがソフトウェアとハ​​ードウェアの観点から通信を処理できるかどうかを知りたいです。 必要な終端抵抗とその他の小さなディスクリートコンポーネント(キャップ​​、抵抗など)があると仮定します。
45 can 


3
ツイストペアのシールドを取り付ける正しい場所
5つのサブケーブルを含むケーブルで接続された2つのPCBがあります。 カスタムメイドの同軸ケーブルを介した6V電源(ラップトップ電源で見られるものと同様)。 100 ohmインピーダンスシールドツイストペアを介した2 x 100 mbps LVDS。 同じ120ohmツイストペアケーブルを介した2x 1mbps CAN 各LVDSケーブルは、100オームの抵抗でRX端で終端されています。彼らは、ドレイン線で箔スクリーンを持っています。 各CANケーブルの両端は、120オームの抵抗で終端されています。彼らは、ドレイン線で箔スクリーンを持っています。 絶縁された24vの電力は左のボードに供給され、そこで6v(非絶縁)に切り替えられます。両方のボードには、ローカル電子機器用の独自の3.3v DCDCレギュレーター(非絶縁)が含まれています。 私の質問: シールドはどちらの端に接続する必要がありますか?図に示すように、LVDSシールドはソース側で接続する必要があると思います。 CANバスの両端がソースであるので、必要があり、両方の CANシールドの端部がGNDに接続されて? 追加:両方のPCBはプラスチックケースに収納されており、アースには取り付けられていません。

6
シリアルプロトコルの区切り/同期技術
非同期シリアル通信は今日でも電子機器に広く普及しているため、私たちの多くはそのような質問に時々出くわしたと思います。電子デバイスDと、PCシリアル回線(RS-232または同様のもの)で接続され、継続的に情報を交換する必要があるコンピューターを検討してください。すなわち、PCそれぞれコマンドフレームを送信しており、それぞれステータスレポート/テレメトリーフレームで応答しています(レポートはリクエストへの応答として、または独立して送信できます-ここでは実際には関係ありません)。通信フレームには、任意のバイナリデータを含めることができます。通信フレームが固定長パケットであると仮定します。X msDY ms 問題: プロトコルは継続的であるため、受信側は同期を失ったり、進行中の送信フレームの途中で「結合」したりする可能性があるため、フレームの開始(SOF)がどこにあるかはわかりません。Aデータは、SOFに対する相対的な位置に基づいて異なる意味を持ち、受信したデータは破損する可能性があり、永久に破損する可能性があります。 必要なソリューション 短い回復時間でSOFを検出するための信頼性の高い区切り/同期スキーム(つまり、再同期に1フレーム以上かかることはありません)。 私が知っている(そして使用している)既存のテクニック: 1)ヘッダー/チェックサム -事前定義されたバイト値としてのSOF。フレームの最後のチェックサム。 長所:シンプル。 短所:信頼できません。不明な回復時間。 2)バイトスタッフィング: 長所:信頼性が高く高速な回復で、どのハードウェアでも使用可能 短所:固定サイズのフレームベースの通信には適していません 3)9番目のビットマーキング -各バイトに追加ビットを追加します。SOFでマークされたSOF 1とデータバイトには次のマークが付けられ0ます。 長所:信頼性が高く、高速な回復 短所:ハードウェアサポートが必要です。ほとんどのPCハードウェアおよびソフトウェアでは直接サポートされていません。 4)8番目のビットマーキング -上記の一種のエミュレーション。9番目ではなく8番目のビットを使用し、各データワードに7ビットのみを残します。 長所:信頼性の高い高速リカバリは、どのハードウェアでも使用できます。 短所:従来の8ビット表現と7ビット表現の間のエンコード/デコードスキームが必要です。やや無駄だ。 5)タイムアウトベース -定義されたアイドル時間の後に来る最初のバイトとしてSOFを想定します。 長所:データオーバーヘッドなし、シンプル。 短所:それほど信頼できません。Windows PCなどのタイミングの悪いシステムではうまく動作しません。潜在的なスループットのオーバーヘッド。 質問: 問題に対処するために存在する他の可能な技術/解決策は何ですか?上記のリストで簡単に回避できる短所を指摘できますか?システムプロトコルをどのように設計しますか(または設計しますか)?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

3
125 kbit / sでの最大CANバスフレーム(メッセージ)レートは?
私のCANバスは125 kbit / sで実行されており、拡張フレーム形式のみを使用しています。送信できるCANフレームの最大レートを教えてください。データ長が常に8バイトであるとします。 このウィキペディアのページによると、各フレームの最大フレーム長は(1+11+1+1+18+1+2+4+64+15+1+1+1+7) = 128次のとおりです。 最小3ビットのフレーム間スペースを考慮すると、125 kbit / s未満の最大パケットレートは次のようになります。 125000 / ( 128 + 3) = 954フレーム/秒。 しかし、私のテストでは、それほど高くすることはできませんでした。私が達成できる最大フレームレート(8バイトデータすべてで)は、約850フレーム/秒です。 ここで何が間違っています-私の計算、または私のテスト方法?

3
CANバスライセンス
複数のマイクロコントローラー間の長距離通信の可能なソリューションを探して、CANバスを見つけました。ただし、CANプロトコルの実装にはライセンス料が発生するという。 私の計画は、各ノードでネットワーク上で通信するために、マイクロコントローラー、CANコントローラー(MCP2515)、およびCANトランシーバー(MCP2561)を使用することです。 CANライセンス料を支払う必要がありますか、それともCANコントローラーおよびトランシーバーのメーカーが既に支払っていますか? 前もって感謝します
14 can  legal  licensing 

3
CANバス上で同じIDを持つさまざまなメッセージの送信
CAN仲裁はIDを使用して行われ、バス上のノードは任意のIDを使用して送信できます(できませんが、厄介なノードは送信できます)。 同じCANバスに接続された2つの異なるノードが、同じIDで異な​​るデータバイトのメッセージを送信するとどうなりますか? 私の考え:それはバス上にゴミを生成します。支配的なビットを持っている人だけが送信されます。
12 can 

3
MCP2551はUART-CANコンバーターですか?
コンピューターを使用して、250 kbit / sのCANバススニファーを作成します。いくつかの調査の結果、MCP2551はCANの物理層の電圧レベルレギュレーターの一種であることがわかりました。それを念頭に置いて、このセットアップが機能するかどうか疑問に思っています。通信の一部ではなく、自動化されたテスト目的で交換されたメッセージを記録したいだけです。 PC <-> USB-UART(おそらくCP2102、既に持っているので)<-> MCP2551 <-> CANバス そうでない場合、私をバスに参加させるためにMCP2551に入力する必要があるのはどのような信号ですか?
12 usb  microchip  can 

4
ソフトウェアでCANプロトコルレイヤーを実装する
バックグラウンド 私は、以下の控えめなマイクロコントローラー仕様を必要とするプロジェクトを開発しています。 8個の12ビット、10kHz ADC 1kBのRAM 48-QFN以下のフットプリント 20kbpsのデイジーチェーン可能な耐ノイズおよびエラー修正通信プロトコル 信号処理の要件はかなり低く、ほとんどはシステムのマスタープロセッサにエクスポートできます。最初の3つの仕様は簡単に満たすことができ、2ドル未満で行うことができます。ただし、通信は非常に電気的にノイズの多い環境で行われるため、LINやI2Cなどのノイズの影響を受けやすいネットワークは存在しません。LINに対するもう1つの議論は、5Vまたは3.3Vですべてを実行したいということです。LINトランシーバーには12Vが必要なので、センサーボードごとに追加のレギュレーターまたはワイヤが必要になります。私は最初にこのタスクにCANを選択しました。ただし、CANコントローラーにはかなりのコストがかかるため、これをソフトウェアで実行できるかどうか興味があります。 CAN物理層 CAN仕様は、OSIネットワーク参照モデルのデータリンク層と物理層を定義しています。NXP TJA1040 / 50、Maxim MAX3058 / 59、Microchip MCP2551、TI SN65HVD1050などの多くの安価な8ピンIC が物理層を実装するために存在します。D / Aコンバーターまたはオペアンプで物理層を実装することは、不可能ではないにしても困難であるため、これらのICは1ドル程度の価値があり、コストがかかります。 CANデータリンク/プロトコルレイヤー データリンクレイヤーの場合、一部のマイクロコントローラーは、基本的なUART、I2C、およびSPI通信レイヤーにCANプロトコルモジュールを追加します。ただし、これらは基本的なチップよりもかなり高価です。 CANプロトコルモジュールのコストの調査 この主張を実証するために、CANバージョンと非CANバージョンの人気のあるマイクロをいくつか紹介します。 ATmega16-ATMEGA16M1(CAN付き):$ 3.87、ATMEGA168A(CANなし):$ 3.23 dsPIC-DSPIC33FJ64MC802(CAN付き):6.14ドル、DSPIC33FJ64GP202(CANなし):$ 5.48 PIC18-PIC18F2480(CAN付き):6.80ドル、PIC18F24J10(CANなし):2.10ドル Cortex-M3-STM32F103C4T6A(CAN付き):$ 6.50、STM32F100C4T6B(CANなし):$ 2.73 公平を期すために、同等のメモリサイズのマイクロコントローラのみを比較しましたが、多くの非CANバージョンは、より少ないメモリサイズでより少ないコストで利用できます。Microchip MCP2515のような外部CANコントローラーはほぼ2ドルなので、オプションがあればCANをマイクロコントローラーに統合する方が明らかに費用対効果が高くなります。 興味深いことに、ATmegaパーツは、Digikeyの在庫の中で最も安いCAN装備パーツです。 CANプロトコル層の機能 dsPICマイクロコントローラーにあるCANモジュールは次のことを行います。 CANバスモジュールは、プロトコルエンジンとメッセージのバッファリング/制御で構成されています。CANプロトコルエンジンは、CANバスでメッセージを送受信するためのすべての機能を処理します。メッセージは、最初に適切なデータレジスタをロードすることにより送信されます。ステータスとエラーは、適切なレジスタを読み取ることで確認できます。CANバスで検出されたメッセージはエラーがチェックされ、フィルターと照合されて受信レジスタの1つに受信および保存されるかどうかが確認されます。 これはソフトウェアでかなり実行可能と思われます。 質問 ソフトウェアプロトコルレイヤーを使用して、安価なUARTを備えたマイクロコントローラーとCANトランシーバーのみでCAN仕様を実装できますか?もしそうなら、オープンソースの実装は存在しますか? または、CANトランシーバーをUARTで使用してカスタムプロトコルを実装できますか?シングルマスタートポロジでも構いません。カスタムプロトコルでは、調停を正しく行うことが難しいことを理解しています。

1
CANバスのシグナルインテグリティ
チャネルは、CAN_H(赤)、CAN_L(青)、およびCAN_H-CAN_L(茶色)です。 下の図で、CAN_H-CAN_Lの信号形状が許容できることがわかります。ただし、CAN_HとCAN_Lはどちらも見栄えがよくありません。そして実際、デバイスはノイズの多い環境で実行されていません。2つの質問があります。 ここでは、シグナルインテグリティが問題だと思いますか? CAN_H-CAN_Lには、時々1.65 Vの高電圧レベル(左側部分)がありますが、時には2.06 Vの高レベル(右側部分)があります。これは問題だと思いますか?

5
CANバスのカラーコードは何ですか?
ISO 11898-1のCANバス通信配線にカラーコードが指定されているかどうか知りたいのですが。(ファイルに無料でアクセスできません) 運が悪かったので公式文書を探しました。 私がそれについて同僚に尋ねたとき、彼らはすべて色(黄色と緑)に同意しますが、以下の場合は同意しません。 CAN-Hの黄色 CAN-Lのグリーン または代わりに: CAN-Hのグリーン CAN-Lの黄色

3
CANバス上のネットワーク層の選択
産業オートメーションアプリケーションでCANバスを使用することを計画していますが、ネットワークレイヤーの実装方法を決定するのに苦労しています。メッセージIDの割り当て方法とデータパケットのフォーマット方法のガイドラインを提供する、CANを介して使用する上位層プロトコルの推奨事項はありますか?独自のネットワークレイヤーを開発するか、CANopenなどの既存の標準を実装する必要がありますか?

2
ISRなしで割り込みを有効にする
割り込みが有効になっている場合に何が起こるか知りたいのですが(例:NXPのLPC1778のCANモジュールのアービトレーションロスト割り込み)、割り込みにISRが定義されていません。 そのような割り込みが発生すると、それぞれの割り込みフラグが設定されることがわかりますが、ISRを定義していないため、そのような割り込みの制御転送用に格納されている割り込みベクトルオフセットアドレスはなく、制御はパスバックします。メインルーチンに割り込みフラグをリセットして、メインルーチンでポーリングフラグをリセットできます(これは私が考えていることです)。ジャンプするISRがないことをCPUが把握しているときに、レイテンシはありますか? 発生する可能性のある解決策が本当に役に立ちます。 ありがとう。 更新: uCでCAN割り込みを有効にしましたが、ISRを定義していません。内部ループバックテストを実行すると、コードが無限ループに入りました。LPC1778で実行されている無限ループの逆アセンブリコードを次に示します。 B . ENDP したがって、割り込みを使用している場合は、ISRを使用してください。

4
適切なCANバス通信にアース/コモンは必要ですか?
CANバスは差動信号システムなので、GND / COM信号の意味は何ですか?なくても問題ありませんか? 奇妙な出来事が起こっている非常にシンプルな2ノードシステムがあります。(興味がある場合は、その問題についてはこちらを参照してください)2つのノードは私のデバイスとUSB-CANモニターです。どちらも120Ωの終端抵抗があり、それらの間の配線は1 m未満です。 以前のテストでは、ノード間に接続されたCAN_H信号とCAN_L信号しか持っていなかったことを思い出しました。デバイスのCAN_COMをUSB-CANモニターの接地ピンに接続するものがありませんでした。 差動シグナリングの(the?)ポイントは、コモンモードノイズの影響がはるかに少ない(not?)ことです。したがって、グランドを接続しないことで、CAN_HとCAN_Lの絶対参照が失われると思いますが、違いはありますか?
9 grounding  can 

2
「ドミナント」と「リセッシブ」とは正確には何ですか?
LINバスでデータシートを読んでいますが、CANでも同じ用語が使用されているようです。 「劣性」と「優性」は何を意味しますか。たとえば、http://hw-server.com/products/rs_optika/prevodniky_optika.htmlはどうでしょうか。 これらの用語を「低」と「高」、または0と1にどのように関連付けますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.