2016-08-03 6 views
0

私は理由がわからないCANバス通信の問題に直面しています。私はMCP2515をSPI-> CANインターフェースとしてMCP2551(これまで)に接続し、TIのHVD256を現在持っています。MCP2515&ATMEGA328 SPI特色

現在、コンポーネントはスキーマに示すように接続されています。 SCK、MOSI、MISO、およびCAN-CSは、AVRの適切なピンに接続されています。

schematic + oscilloscope screenshots

問題は、CAN通信が時々動作し、後者は大幅に広がっている間、時々ないことを、事実にあります。 MISO(グリーン)信号が左のオシロスコープのスクリーンショットのように見える間に、時々私はMCP2515からの応答も得られません。

MISOラインでプルダウンまたはプルアップを試してみることさえ勧められました(私はこれまで遭遇したことがない)。信号は右側にあります。

なぜ起こっているのでしょうか?

まれに、MCP2515がSPIでうまく通信し、すべてのレジスタの内容が意味をなさない場合、TXピンに信号/データが存在せず、結果としてMCP2551(またはHVD256 )。出力は0Vまたは+ 5Vですが、データはありません。

すべての手がかりに感謝します!

-blume-

答えて

0

CanLo/CanHighの間に抵抗がありますか?それは少なくともその行の片側にあるはずです。 ここをクリックしてください:SN65HVD256 with MCU example schematics

私の知る限り、プルダウンは仕様書に記載されています。 120オームの抵抗は一般的な公称値です。

+0

もちろんあります。 USB2CANリーダーには私のPCとのインターフェースがあり、もう1つはデバイスのバスの終わりにあります。 CANは実際にはうまくいきますが、マイクロコントローラとMCP2515の間のSPIの電圧レベルは変わっています。でも、何とか動作しても、それが実験室から出たら驚いてはいけません。 – Blume