CANコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

Similar documents
ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類が あります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストール

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす

ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

Microsoft Word - quick_start_guide_16 1_ja.docx

AN 630: アルテラCPLD におけるリアルタイムISP およびISP クランプ

Cyclone V デバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール、Cyclone Vデバイス・ハンドブック、Volume 1、第1章

1-2 MLAB 図 1-1: Arria 10 デバイスにおける LAB 構造およびインタコネクトの概要 この図は LAB インタコネクトを有する Arria 10 の LAB および MLAB 構造の概要を表しています C4 C27 異なる速度と長さのロウ インタコネクト R32 R3/R6 s

I2Cコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

A-AN pdf

NANDフラッシュ・コントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

USB 2.0 OTGコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

AN 611:3G-SDI レベルB とデュアル・リンクHD-SDI(SMPTE372)リファレンス・デザインのマッピング

6

ロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール

AN 357: Error Detection & Recovery Using CRC in Altera FPGA Devices

スライド 1

Stratix IVデバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール, Stratix IV Device Handbook, Volume 1, Ch 2

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

ハード・プロセッサ・システム (HPS)のテクニカル・リファランス・マニュアル (TRM) 、第12章:クワッドSPIフラッシュ・コントローラ

デュアルDIMM DDR2およびDDR3 SDRAMのボード・デザイン・ガイドライン、外部メモリ・インタフェース・ハンドブック、Volume 2、第5章

スライド 1

Microsoft Word - HowToSetupVault_mod.doc

複数の Nios II を構成する際の注意事項

Notes and Points for TMPR454 Flash memory

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

ヤマハDante機器と他社AES67機器の接続ガイド

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

Arria 10におけるプロトコル経由のCvP初期化およびパーシャル・リコンフィギュレーション ユーザーガイド

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

Microsoft Word - dg_sataahciip_refdesign_jp.doc

スライド 1

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

FPGA 外部のメモリをアバロン・MM・インタフェースへ接続する方法

Veritas System Recovery 18 System Recovery Disk

PowerPoint Presentation

Oracle DatabaseとIPv6 Statement of Direction

McAfee SaaS Protection 統合ガイド Microsoft Office 365 と Exchange Online の保護

MIB サポートの設定

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

2-2 デザイン ガイドライン 表 2-1: 容量と分配 A10-MEMORY タイプ Arria 10 GX Arria 10 GT Arria 10 SX 製品ライン ブロック数 M20K RAM ビット数 (Kb) ブロック数 MLAB RAM ビット数 (Kb) トータル RAM ビット数

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

障害およびログの表示

Microsoft Word - PCI-X_PCIeバスのデータ転送-ver1.0.docx

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

SoC はじめてガイド - HPS-FPGA 間のアクセス方法(Arria® V SoC / Cyclone® V SoC 編)

SAC (Jap).indd

CSS のスパニングツリー ブリッジの設定

PLCシリアル通信 MODBUS通信 データ送信/受信プログラム例

AutoCAD道場-なぜ「レイアウト」がいいのか?

NOTICE The information contained in this document is believed to be accurate in all respects but is not warranted by Mitel Networks Corporation (MITEL

アナログ・接点変換器

ターゲット項目の設定について

MODBUS ユーザーズマニュアル 페이지 1 / 23

ICS_Japan アプリケーションノート ISO メッセージ送受信基礎編 Rev File Name: アプリケーションノート _ISO15765_2_ メッセージ送受信 _ 基礎編 _A00.docx Intrepid Control Systems, Inc. アプリ

オンチップ・メモリ クイック・ガイド for Cyclone III

8B10Bエンコーダ/デコーダMegaCoreファンクション・ユーザガイド

Quartus Prime - プログラミング・ファイルの生成や変換(Convert Programming Files)

VERITAS Backup Exec for Windows Servers Management Pack for Microsoft Operations Manager ガイド

ログインおよび設定

テクニカルホワイトペーパー HP Sure Run HP PC のハードウェア強制されたアプリケーション永続性 HP Sure Run は ハードウェア強制アプリケーション永続化ソリューションで OS の実行中にポリシー適用ハードウェアとの通信を維持する機能を備えています OS 内の HP Sure

Quartus II はじめてガイド - Convert Programming File の使い方

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

USB-Blasterダウンロード・ケーブル・ユーザガイド

ソフトウェアの説明

Xpand! Plug-In Guide

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

Oracle DatabaseとIPv6 Statement of Direction

PowerPoint Presentation

Cyclone III デバイス・ファミリの メモリ・ブロック

CommCheckerManual_Ver.1.0_.doc

改訂履歴 版番号改訂日改訂者改訂内容 年 2 月 12 日ネットワールド 新規 I

ESOTERIC ASIO USB DRIVER インストールマニュアル Windows 用 システム推奨条件 2 インストールで使用する言語を選択して 次へ ボタンをクリックする Intel Core 2 Duo 以上のプロセッサー搭載コンピュータ 搭載メモリ 1GB 以上 対応 OS Windo

Imation Encryption Manager Plus Imation Encryption Manager Plus ソフトウェアにより 対応 USB フラッシュドライブにパスワード保護に対応した総合セキュリティーを設定することができます Imation Encryption Manage

<4D F736F F D A B D815B83675F49534F F325F A815B EF3904D5F8AEE916295D25F E646F6378>

Introducing_SPIStorm-JP

インテル® Stratix®10 デバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール・ユーザーガイド

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

Autodesk Fusion 360 Autodesk Fusion 360 Honda 3D Fusion 360 CAD Honda EV Autodesk Fusion 360 Honda D 3D Web Rinkak 3D 2016 Honda 3D CEATEC JAPAN

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

SonicWALL SSL-VPN 4000 導入ガイド

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

<4D F736F F D E096BE8E9197BF5F984193AE F B40945C432E646F63>

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

実習 :VLSM を使用した IPv4 アドレスの設計と実装 トポロジ 学習目標 パート 1: ネットワーク要件の確認 パート 2:VLSM アドレス方式の設計 パート 3:IPv4 ネットワークのケーブル配線と設定 背景 / シナリオ 可変長サブネットマスク (VLSM) は IP アドレスの節約

Microsoft Word - SUA007

Microsoft Word - CAN Monitor の使い方.doc

形B5Z 画像型人感センサ(HVC-F) コマンド仕様書

ルート プロセッサ

X-Form Plug-in Guide

索引

Transcription:

November 2012 cv_54025-1.2 cv_54025-1.2 ハードウェア プロセッサ システム (HPS) は Cortex -A9 マイクロプロセッサ ユニット (MPU) サブシステム ホスト プロセッサ および CAN プロトコルで使用するダイレクト メモリ アクセス (DMA) コントローラでのシリアル通信用に 2 つのコントローラ エリア ネットワーク (CAN) コントローラを提供しています CAN コントローラは Bosch D_CAN コントローラのインスタンスで ISO 11898-1 に対応しています CAN コントローラは 以下の機能を提供します Bosch のウェブサイト (www.semiconductors.bosch.de) で閲覧可能な CAN Protocol Specification 2.0 パート A およびパート B に対応 最大 1Mbps までのプログラム可能な通信レート 最大 128 通のメッセージまで保持 誤り訂正コード (ECC) 11 ビットの標準識別子および 29 ビットの拡張識別子 プログラム可能なループバック モード 大規模データ転送用の外部ダイレクト メモリ アクセス (DMA) コントローラ 自動再送信 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 Registered Cyclone V Subscribe

図 25 1 に CAN コントローラのブロック図を示します CAN Bus Interface CAN_TXD CAN_RXD CAN Controller CAN Core System Manager ECC Control Signals Message RAM Message RAM Interface Message Handler Register Block Interrupt Request DMA Peripheral Request Interface Host Processor (MPU Subsystem) DMA Controller Slave Interface L4 Peripheral Bus CAN コントローラは 以下のモジュールとインタフェースから構成されています CAN コア CAN バス インタフェースに接続します ISO 11898-1 プロトコルの全ファンクションを処理します メッセージ ハンドラ メッセージ RAM および CAN コアの間でのデータ転送を制御するステート マシーンです 受け入れフィルタリングおよび割り込み生成を処理します メッセージ RAM 最大 128 のメッセージ オブジェクトの保存できます シングル ビット エラー訂正とダブル ビット エラー検出が可能です メッセージ RAM インタフェース IF1 および IF2 の 2 つの独立したインタフェースがあります Cyclone V

レジスタ ブロック モジュール セットアップ用と間接メッセージ オブジェクト アクセス用のコントロールおよびステータス レジスタ (CSR) があります メッセージ RAM へのホスト プロセッサ アクセスはすべて メッセージ RAM インタフェースを中継します CSR アクセス用の Level 4(L4) スレーブ インタフェース CAN コントローラは CAN プロトコルのバージョン 2.0 パート A およびパート B に応じて通信を実行します CAN バスでのすべての通信はメッセージ オブジェクトを経由します CAN コントローラは メッセージ オブジェクトをその内部メッセージ RAM に格納します ホスト プロセッサは 直接メッセージ RAM にアクセスできません そのかわり IF1 および IF2 メッセージ インタフェース レジスタのセットは ホスト プロセッサがメッセージにアクセスできるようにします メッセージは メッセージ ハンドラによってメッセージ RAN および CAN コアの間を通過します メッセージ ハンドラには 受け入れフィルタリング 割り込み生成 および送信リクエスト生成などのメッセージ レベルの役割もあります メッセージ RAM は 最大 128 のメッセージ オブジェクトを格納できます ホスト プロセッサのメッセージ RAM へのアクセスと CAN メッセージ送受信の間に起きうる衝突を回避するには ホスト プロセッサを直接メッセージ オブジェクトにアクセスさせないことです アクセスは IF1 および IF2 のメッセージ インタフェース レジスタを通して処理されます 表 25 1 に メッセージ オブジェクトの構造を示します 最初のロウにはメッセージ オブジェクトのコントロール フラグが含まれており 2 番目のロウにはメッセージ オブジェクトのマスクが 3 番目のロウには CAN メッセージがそれぞれ含まれています MsgVal NewDat MsgLst IntPnd TxIE RxIE RmtEn TxRqst EoB UMask Msk [28:0] ID [28:0] MXtd Xtd MDir Dir DLC [3:0] Data 0 [7:0] Data 1 [7:0] Data 2 [7:0] Data 3 [7:0] Data 4 [7:0] Data 5 [7:0] Data 6 [7:0] この項では メッセージ オブジェクトのコントロール フラグについて説明します MsgVal 0= メッセージ オブジェクトはメッセージ ハンドラに無視されます Data 7 [7:0] 1= メッセージ オブジェクトはコンフィギュレーションされて メッセージ ハンドラで認識される必要があります Cyclone V

ホスト プロセッサは CAN コントローラを初期化するために CAN コントロール レジスタ (CCTRL) の初期化ビット (Init) をリセットする前に未使用のメッセージ オブジェクトすべての MsgVal ビットを 0 に設定する必要があります メッセージ オブジェクトをそれ以上使用しない場合 MsgVal もゼロに設定する必要があります MsgVal フィールドは メッセージ バリッド レジスタ (MOVALA MOVALB MOVALC MOVALD および MOVALX) から直接読み出し可能です しかし 特別なメッセージ オブジェクト用として MsgVal フィールドに書き込む場合 ホスト プロセッサはメッセージ インタフェース レジスタに書き込む必要があります NewDat 0= どの新規データも ホスト プロセッサによってこのフラグがクリアされて以来 メッセージ ハンドラによってこのメッセージ オブジェクトのデータ部分に書き込まれていません 1= メッセージ ハンドラまたはホスト プロセッサは 新規データをこのメッセージ オブジェクトのデータ部分に書き込みました NewDat フィールドは 新しいデータ レジスタ (MONDA MONDB MONDC MONDD および MONDX) から直接読み出し可能です しかし 特別なメッセージ オブジェクト用として NewDat フィールドに書き込む場合 ホスト プロセッサはメッセージ インタフェース レジスタに書き込む必要があります MsgLst 0= ホスト プロセッサにこのビットがリセットされて以来メッセージ消失はありません 1= NewDat ビットがまだ設定されているときに ホスト プロセッサがメッセージを消失してしまったことを示すために メッセージ ハンドラは新規メッセージをこのオブジェクトに格納します MsgLst は メッセージ方向ビット (Dir) が受信になっているメッセージ オブジェクト中でのみ有効です IntPnd 0= このメッセージ オブジェクトは割り込みのソースではありません 1= このメッセージ オブジェクトは割り込みのソースです より高い優先度の割り込みソースが他にない場合 CAN 割り込みレジスタ (CIR) の割り込み識別子フィールドはこのメッセージ オブジェクトをポイントします IntPnd フィールドは 割り込み待機レジスタ (MOIPA MOIPB MOIPC MOIPD および MOIPX) から直接読み出し可能です しかし 特別なメッセージ オブジェクト用として IntPnd フィールドに書き込む場合 ホスト プロセッサはメッセージ インタフェース レジスタに書き込む必要があります TxIE 0= TxIE はディセーブルされます フレームの送信後 IntPnd は変更されずにそのままです 1= TxIE はイネーブルされます フレームの送信後 IntPnd が設定されます Cyclone V

RxIE 0= RxIE はディセーブルされます フレームの受信後 IntPnd は変更されずにそのままです 1= RxIE はイネーブルされます フレームの受信後 IntPnd が設定されます RmtEn 0= RmtEn はディセーブルされます リモート フレームの受信時 TxRqst は変更されずにそのままです 1= RmtEn はイネーブルされます リモート フレームの受信時 TxRqst が設定されます TxRqst 0= このメッセージ オブジェクトは 送信を待機しません 1= このメッセージ オブジェクトの送信が要求されて 完了していません TxRqst フィールドは 送信リクエスト レジスタ (MOTRA MOTRB MOTRC MOTRD および MOTRX) から直接読み出し可能です しかし 特別なメッセージ オブジェクト用として TxRqst フィールドに書き込む場合 ホスト プロセッサはメッセージ インタフェース レジスタに書き込む必要があります EoB 0= メッセージ オブジェクトは FIFO バッファ ブロックに属しており FIFO バッファ ブロックの最後のメッセージ オブジェクトではありません 1= FIFO バッファ ブロックのシングル メッセージ オブジェクトまたは最後のメッセージ オブジェクトです このビットは FIFO バッファを構成する 2 つ以上のメッセージ オブジェクト ( 最大 128) を連結するために使用されます (FIFO バッファに属していない ) シングル メッセージ オブジェクトでは このビットは常に 1 に設定されている必要があります メッセージ オブジェクトのマスク ビットは アービトレーション ビットと共に受信メッセージの受け入れフィルタリングに使用されます UMask 0= マスクを無視します Msk[28:0] MXtd および Mdir は受け入れフィルタリングに影響しません 受け入れられる受信メッセージでは 以下の条件すべてを満たしている必要があります 受信メッセージが メッセージ方向が 0( 受信 ) に設定されたデータ フレームである またはメッセージ方向が 1( 送信 ) に設定されたリモート フレームであること 受信メッセージ識別子が メッセージ オブジェクトのメッセージ識別子 (ID[28:0]) に一致していること 受信識別子の拡張ビットが メッセージ オブジェクトの識別子の拡張ビット (Xtd) と一致していること Cyclone V

1= それぞれのマスク ビットが受け入れフィルタリング用にセットアップされている場合 受け入れフィルタリング用のマスク (Msk[28:0] MXtd および MDir) を使用します 受け入れられる受信メッセージは 以下の条件をすべて満たしている必要があります 受信メッセージが メッセージ方向が 0( 受信 ) に設定されたデータ フレームである または MDir マスク ビットがイネーブルされている状態でメッセージ方向が 1( 送信 ) に設定されたリモート フレームであること 受信メッセージ識別子が Msk[28:0] マスク ビットがイネーブルされているメッセージ オブジェクトのメッセージ識別子 (ID[28:0]) に一致していること 受信識別子の拡張ビットが MXtd マスク ビットがイネーブルされているメッセージ オブジェクトの識別子の拡張ビット (Xtd) と一致していること 1 UMask ビットが 1 に設定されている場合 メッセージ オブジェクトのマスク ビットは MsgVal が 1 に設定される前に メッセージ オブジェクトの初期化中にプログラムされる必要があります Msk[28:0] 識別子マスクは ID[28:0] の関連ビットをフィルタします 0= 関連する識別子ビットは 受け入れフィルタに影響しません 1= 関連する識別子ビットは 受け入れフィルタで使用されます MXtd 0= 拡張フレーム識別子ビット (Xtd) は 受け入れフィルタに影響しません 1= 拡張フレーム識別子ビット (Xtd) は 受け入れフィルタで使用されます 11 ビット ( 標準 ) 識別子がメッセージ オブジェクトで使用される場合 受信データ フレームの識別子は ビット ID28 ~ ビット ID18 に書き込まれます 受け入れフィルタでは Msk28 ~ Msk18 のマスク ビットと共にこれらのビットのみが使用されます MDir 0= メッセージ方向ビット (Dir) は受け入れフィルタリングに影響しません 1= メッセージ方向ビット (Dir) は受け入れフィルタリングで使用されます (1) アルテラは MDir を常に 1 に設定しておくことを推奨しています メッセージ方向ビットを無視するには非常に注意深く処理することが必要で 高度な技術を要します アービトレーション フィールドの ID28-0 Xtd および Dir は 識別子および送信メッセージのタイプを定義するために使用され ( マスク フィールドの Msk28-0 MXtd および MDir と共に ) 受信メッセージの受け入れフィルタリングで使用されます データ フレームを受信するように あるいはリモート フレームを送信するように方向が設定されている場合 受信メッセージは 一致する識別子のバリッド Cyclone V

メッセージ オブジェクトに格納されます 拡張フレームは Xtd が 1 に設定されているメッセージ オブジェクトにのみ格納できて 標準フレームは Xtd が 0 に設定されているメッセージ オブジェクトに格納できます 受信メッセージ ( データ フレームまたはリモート フレーム ) が 1 つ以上のバリッド メッセージ オブジェクトに一致している場合 最小のメッセージ数でオブジェクトに格納されます ID[28:0] ID28-ID0:29 ビット識別子 ( 拡張フレーム ) ID28-ID18:11 ビット識別子 ( 標準フレーム ) Xtd 0= 11 ビット ( 標準 ) 識別子は このメッセージ オブジェクトで使用されます 1= 29 ビット ( 拡張 ) 識別子は このメッセージ オブジェクトで使用されます Dir 0= 受信方向です TxRqst が 1 に設定されている場合 このメッセージ オブジェクトの識別子のリモート フレームが送信されます 一致した識別子のデータ フレームの受信時に そのメッセージはこのメッセージ オブジェクトに格納されます 1= 送信方向です TxRqst が 1 に設定されている場合 それぞれのメッセージ オブジェクトはデータ フレームとして送信されます 一致した識別子のリモート フレームの受信時に このメッセージ オブジェクトの TxRqst ビットは 1 に設定されます (RmtEn = 1 の場合 ) DLC[3:0] DLC は データ フレームのデータ バイト数を指定します 最大バイト数は 8 です メッセージ オブジェクトのデータ長コード (DLC) は すべての CAN デバイスの同一識別子のすべての関連オブジェクトの中と同じように定義されます メッセージ ハンドラがデータ フレームを格納する場合 DLC フィールドを受信メッセージで与えられる値に設定します Data 0[7:0] Data 7[7:0] CAN データ フレームのデータ バイトです メッセージ インタフェース レジスタには IF1 および IF2 の 2 つがあり ホスト プロセッサまたは DMA コントローラに対して 間接的に任意のメッセージ オブジェクトにアクセスするための手段を提供します メッセージ オブジェクトは メッセージ RAM およびメッセージ バッファ レジスタ間で メッセージ間のデータ一貫性を維持しながらシングルのアトミック動作として転送されます Cyclone V

表 25 2 に 各メッセージ インタフェース レジスタ セットの構造を示します ここで x は 1 または 2 のどちらか一方に設定することを示しています コマンド メッセージ バッファ IFxCMR IFxMSK IFxARB IFxMCTR IFxDA IFxDB IFx コマンド レジスタ IFx マスク レジスタ IFx アービトレーション レジスタ IFx メッセージ コントロール レジスタ IFx データ A レジスタ IFx データ B レジスタ 転送方向を指定して メッセージ オブジェクトの転送する部分を選択します メッセージ オブジェクトの Msk MDir および MXtd マスク フィールドへのアクセスを提供します メッセージ オブジェクトの ID Dir Xtd および MsgVal アービトレーション フィールドへのアクセスを提供します メッセージ オブジェクトの DLC EoB TxRqst RmtEn RxIE TxIE UMask IntPnd MsgLst および NewDat フィールドへのアクセスを提供します メッセージ オブジェクトのデータ バイト 0 ~ 3 へのアクセスを提供します メッセージ オブジェクトのデータ バイト 4 ~ 7 へのアクセスを提供します 図 25 1 に示すように CAN コントローラは DMA コントローラのリクエストを発行して メッセージ インタフェース レジスタ間またはそれらとシステム メモリとの間でデータを転送できます CAN コントローラには can_if1dma および can_if2dma と呼ばれる 2 つの DMA リクエスト インタフェースがあります CAN ペリフェラル リクエスト インタフェースは FPGA の DMA ペリフェラル リクエスト インタフェースと共有されます DMA ペリフェラル リクエスト インタフェースを使用するには ホスト プロセッサがプロトコル グループ (protogrp) の CAN コントロール レジスタ (CCTRL) にアクセスする必要があります ペリフェラル リクエスト インタフェースは システム マネージャを通して選択されます f CAN DMA ペリフェラル リクエスト インタフェースの選択について詳しくは Cyclone V デバイス ハンドブック Volume 3 の System Manager の章を参照してください DMA サポート機能をアクティベートして転送を初期化するには メッセージ インタフェース グループ (msgifgrp) の適切な IF コマンド レジスタ (IFxCMR) の DMAactive ビットに 1 を書き込みます メッセージ オブジェクト転送の完了後 CAN コントローラは DMA ペリフェラル リクエストを発行して次のメッセージ オブジェクト転送を実行します リクエストは メッセージ インタフェース レジスタに対する最初の読み出しまたは書き込みまでアクティブの状態が維持されます f 詳しくは Cyclone V デバイス ハンドブック Volume 3 の DMA Controller の章を参照してください Cyclone V

CAN コントローラは アービトレーションを失ったフレームまたは送信中にエラーが発生したフレームを自動再送信する手段を提供します 再送信は ユーザーが介入や通知をしなくても自動的に発生します 送信がうまくいった場合には通常の確認がなされます テスト モードをイネーブルするには CCTRL レジスタのテスト モード イネーブル ビット (Test) を 1 に設定します この動作によって CAN テスト レジスタ (CTR) への書き込みアクセスがアクティベートされます 以下の項では 使用可能なテスト モードを説明します テスト レジスタ (CTR) のサイレント モード (Silent) ビットを 1 にプログラミングすることで CAN コントローラがサイレント モードに設定されます サイレント モードでは CAN コントローラはバリッド データ フレームおよびバリッド リモート フレームを受信することができますが CAN_TXD ピンを High の状態に保持して CAN バスにデータを送信しません サイレント モードは 主要なビットの送信による CAN バスへの影響なしでそのトラフィックを解析するために使用できます ISO 11898-1 では サイレント モードはバス モニタリング モードと呼ばれます 図 25 2 に サイレント モードでの CAN コアを示します CAN Controller CAN_RXD CAN_TXD Vcc RX TX CAN Core テスト レジスタ (CTR) のループバック モード (LBack) ビットを 1 にプログラミングすることで CAN コントローラがループバック モードに設定されます ループバック モードでは CAN コントローラは 自身の送信メッセージを受信メッセージとして扱って それらを受信バッファに格納します ( 受け入れフィルタリングを通過する場合 ) 外部シミュレーションと独立させるために CAN コントローラは ループバック モードでは確認エラーを無視します このモードでは CAN コントローラは 送信 (TX) 出力から受信 (RX) 入力に対して内部フィードバックを提供します 入力ピンの実際の値は CAN コントローラに無視されます Cyclone V

図 25 3 に ループバック モードでの CAN コアを示します CAN Controller CAN_RXD CAN_TXD RX TX CAN Core テスト レジスタ (CTR) のサイレント モード (Silent) ビットおよびループバック モード (LBack) ビットを 1 にプログラミングすることで CAN コントローラはループバックとサイレントの組み合わせモードに設定されます 組み合わせモードは CAN バスに接続されているほかのデバイスに影響することなく CAN ハードウェアをテストするために使用できます このモードでは CAN_RXD ピンは CAN コアから接続されておらず CAN_TXD ピンは High に維持されます 図 25 4 に 組み合わせモードでの CAN コアを示します CAN Controller CAN_RXD CAN_TXD Vcc RX TX CAN Core ホスト プロセッサは L4 スレーブ インタフェースを通して CAN コントローラのデータ コントロール およびステータスの情報にアクセスします スレーブ インタフェースは 32 ビット アクセスのみサポートしています 1 このインタフェースは エラー応答をサポートしていません CAN コントローラは l4_sp_clk クロック入力および can_clk クロック入力で動作します l4_sp_clk クロックは L4 スレーブ インタフェースによって使用されて can_clk は CAN コアを動作するために使用されます can_clk クロックは 少なくとも CAN バス インタフェースの 8 倍の速度にプログラムされている必要があります 例えば 1Mbps のボーレートで動作する CAN バス インタフェースでは can_clk クロックは少なくとも 8MHz に設定されている必要があります l4_sp_clk クロックは can_clk 周波数以上のクロック周波数で動作できます Cyclone V

f l4_sp_clk クロックおよび can_clk クロックについて詳しくは Cyclone V デバイス ハンドブック Volume 3 の Clock Manager の章を参照してください 各 CAN コントローラは ソフトウェアまたはハードウェアによってリセットできます ソフトウェアは CAN コントローラ レジスタ マップのプロトコル グループ (protogrp) の CAN コントロール レジスタ (CCTRL) の Init ビットを設定することで初期化されます バスが CAN リンクでオフ状態である場合 このビットは CAN プロトコルを通して設定されます また このビットは ハードウェアのリセット で説明しているハードウェア リセット入力を通しても設定されます 1 2 つのクロック ドメイン間の同期メカニズムにより Init ビットに書き込まれる値が読み返せるようになるまでに遅延が生じることがあります 前回書き込まれた値が受け取られたことを確認するには Init ビットを新規の値に設定する前にそれを読み出します 1 バス オフ リカバリ シーケンスは Init ビットの設定またはリセットによる短縮ができません バス オフについて詳しくは Bosch のウェブサイト (www.semiconductors.bosch.de) で閲覧可能な CAN Protocol Specification 2.0 パート A およびパート B を参照してください それぞれの CAN コントローラには 個別のリセット信号があります リセット マネージャは コールド リセットまたはウォーム リセット時にそれらの信号を駆動します リセット信号は 両方のクロック ドメインに同期して CAN コントローラ内の適切なロジックに適用されます f 詳しくは Cyclone V デバイス ハンドブック Volume 3 の Reset Manager の章を参照してください 各 CAN コントローラは 2 つの割り込み信号を生成します 1 つはエラーおよびステータス割り込みを示すもので もう 1 つはメッセージ オブジェクト割り込みを示すものです どちらの割り込み信号もグローバル割り込みコントローラ (GIC) に接続されます 割り込みは プロトコル グループ (protogrp) の CAN コントロール レジスタ (CCTRL) でイネーブルされます プロトコル グループ (protogrp) の CAN 割り込みレジスタ (CIR) は 待機中の最高優先度の割り込みを示します 以下のエラー条件において 割り込みが生成されます バス オフ 送信エラー カウントが 256 以上の場合 プロトコル グループ (protogrp) の CAN ステータス レジスタ (CSTS) のバス オフ (BOff) ビットは 1 に設定されます Cyclone V

エラー警告 送信エラー カウンタまたは受信エラー カウンタのどちらか一方が 96 に達している場合 プロトコル グループ (protogrp) の CAN ステータス レジスタ (CSTS) のエラー警告ステータス (EWarn) ビットが 1 に設定されます 以下のステータス条件において 割り込みが生成されます 受信 OK CAN コントローラがメッセージの受信に成功すると プロトコル グループ (protogrp) の CAN ステータス レジスタ (CSTS) の RxOK ビットが 1 に設定されます 送信 OK CAN コントローラがメッセージの送信に成功すると プロトコル グループ (protogrp) の CAN ステータス レジスタ (CSTS) の TxOK ビットが 1 に設定されます ラスト エラー コード メッセージがエラーと共に送受信される場合 エラー タイプに応じてプロトコル グループ (protogrp) の CAN ステータス レジスタ (CSTS) の LEC ビットが設定されます 関連メッセージ オブジェクトの TxIE ビットまたは RxIE ビットが 1 に設定されている場合 メッセージ オブジェクトからの IntPnd ビットは割り込みを生成できます 表 25 3 に 割り込み待機中レジスタのメッセージ オブジェクトの割り込み情報の場所を示します 割り込み待機中レジスタは メッセージ ハンドラ グループ (msghandgrp) にあります MOIPA 割り込み待機中 A レジスタ 1 ~ 32 MOIPB 割り込み待機中 B レジスタ 33 ~ 64 MOIPC 割り込み待機中 C レジスタ 65 ~ 96 MOIPD 割り込み待機中 D レジスタ 97 ~ 128 MOIPX レジスタによって どのメッセージ オブジェクト グループに待機中割り込みがあるかソフトウェアが素早く検出できるようになります この項では CAN コントローラの動作方法について説明します CAN コントロール レジスタ (CCTRL) の Init ビットを 1 に設定することで ソフトウェアの初期化が開始されます Init ビットが 1 のとき CAN バスとの間でメッセージは転送されず CAN_TXD の CAN バス出力が High ステートに維持されます Init ビットを設定しても コンフィギュレーション レジスタは何も変わりません Cyclone V

CAN コントローラを初期化するには ホスト プロセッサは CAN 通信で使用される CAN ビット タイミング (CBT) レジスタおよびメッセージ オブジェクトをプログラムする必要があります メッセージ オブジェクトが必要ない場合 RAM 初期化後のデフォルトのように メッセージ オブジェクトの MsgVal ビットを非バリッド (0) に設定すれば十分です MsgVal ビットをバリッド (1) に設定する前に メッセージ オブジェクト全体を設定する必要があります メッセージ オブジェクトは メッセージ インタフェース レジスタ セットのどちらかを通して設定されます CAN コントロール レジスタ (CCTRL) のコンフィギュレーション変更イネーブル (CCE) ビットおよび Init ビットがどちらも 1 に設定されている場合 CAN ビット タイミング (CBT) レジスタへのアクセスがイネーブルされます Init ビットを 0 に設定することで ソフトウェア初期化を終了します CAN コアは バスの動作およびメッセージ転送に関われるようになる前にバスがアイドル状態になるまで待機することで CAN バスのデータ転送に同期します メッセージ オブジェクトの初期化は CAN コントロール初期化から独立しておりいつでも実行可能ですが メッセージ オブジェクトはすべて メッセージ転送が開始する前に特定の識別子にコンフィギュレーションされているか非バリッドに設定されている必要があります 起動時 メッセージ RAM は初期化される必要があります RAM を初期化するには Init ビットを 1 に設定して プロトコル グループ (protogrp) の CAN ファンクション レジスタ (CFR) の RAMInit ビットを 1 に設定します RAM 初期化が完了すると RAMInit ビットは 0 に戻ります RAM 初期化中は すべてのメッセージ オブジェクトがゼロにクリアされていて RAM ECC ビットが初期化されます RAM へのアクセスは RAM 初期化前または初期化中には許可されません CAN コントローラが初期化されると CAN コントローラは CAN バスに同期してメッセージの転送を開始します メッセージがメッセージ ハンドラの受け入れフィルタリングを通過してきた場合 受信されるメッセージは適切なメッセージ オブジェクトに格納されます すべてのアービトレーション ビット Xtd Dir DLC 8 データ バイト マスク ビットおよびコントロール ビットの UMask MXtd MDir EoB MsgLst RxIE TxIE および RmtEn を含むメッセージ全体は メッセージ オブジェクトに格納されます 受信メッセージが格納されている場合 マスクされたアービトレーション ビットは メッセージ オブジェクト内で変更される可能性があります ホスト プロセッサは メッセージ インタフェース レジスタを使用するときはいつでも各メッセージを読み出しまたは更新することがあります メッセージが RAM との間で転送されると同時にホスト プロセッサがメモリ オブジェクトにアクセスする場合 メッセージ ハンドラはデータの一貫性を保証します 転送されるメッセージは ホスト プロセッサによって更新されます パーマネントなメッセージ オブジェクト ( コンフィギュレーション中に設定されるアービトレーション ビットおよびコントロール ビットが複数の CAN 転送用に変更されないメッセージ オブジェクト ) がメッセージ用に存在する場合 データ バイトのみ更新される必要があります それぞれの送信メッセージが同じメッセージ オブジェクトに割り当てられている場合 ( メッセージ オブジェクト数が十分ではない場合 ) このメッセージの送信が要求される前に全メッセージ オブジェクトをコンフィギュレーションする必要があります Cyclone V

内部での優先度に応じて メッセージ オブジェクトが送信されると同時に 任意の数のメッセージ オブジェクトの送信が要求される可能性があります メッセージ オブジェクト数は 1 ~ 128 で 内部において 1 が最下位 128 が最上位の優先度です 要求された送信が待機中であっても メッセージが更新されるか あるいは非バリッド (MsgVal=0) として設定される可能性があります 待機中の送信が開始する前にメッセージが更新されると 古いデータは無視されます メッセージ オブジェクトのコンフィギュレーションに応じて マッチング識別子を持っているリモート フレームの受信によって メッセージの送信が自動的に要求されることがあります リモート フレームは CAN ネットワークで特別なメッセージを要求するために使用されるフレームです 1 プログラミングを容易にするために アルテラは 受信方向と送信方向の動作でそれぞれ異なる IF メッセージ インタフェースを使用することを推奨しています データ フレームを受信するようにメッセージ オブジェクトをコンフィギュレーションするには Dir フィールドを 0 に設定します リモート フレームを受信するようにメッセージ オブジェクトをコンフィギュレーションするには Dir フィールドを 1 に UMask を 1 に RmtEn を 0 にそれぞれ設定します オブジェクトが送信されている間にそれが変更されないようにするには 以下のコンフィギュレーション ビットおよびコントロール ビットを変更する前に MsgVal を 0 に設定する必要があります ID[28:0] Xtd DLC[3:0] RxIE TxIE RmtEn EoB UMask Msk[28:0] MXtd MDir メッセージ オブジェクトの以下のフィールドは MsgVal クリアせずに変更できます Data0[7:0] to Data7[7:0] TxRqst NewDat MsgLst Cyclone V

IntPnd データ フレームを送信するようにメッセージ オブジェクトをコンフィギュレーションするには Dir フィールドを 1 に設定して UMask を 0 に設定するか RmtEn を 1 に設定します 以下のコンフィギュレーション ビットおよびコントロール ビットを変更する前に MsgVal を 0 に設定する必要があります Dir RxIE TxIE RmtEn EoB UMask Msk[28:0] MXtd MDir メッセージ オブジェクトの以下のフィールドは MsgVal をクリアせずに変更できます ID[28:0] Xtd DLC[3:0] Data0[7:0] to Data7[7:0] TxRqst NewDat MsgLst IntPnd f アドレス マップおよびレジスタの定義は このハンドブックの volume に付属の hps.html ファイルにあります ファイルを開くにはリンクをクリックします モジュールの説明およびベース アドレスを見るには スクロールして以下のモジュール インスタンスのリンクをクリックします can0 can1 Cyclone V

そしてレジスタおよびフィールドの説明を見るには スクロールしてレジスタ名をクリックします レジスタのアドレスは 各モジュール インスタンスのベース アドレスに相対的なオフセットです f すべてのモジュールのベース アドレスは Cyclone V デバイス ハンドブック Volume 3 の Introduction to the Hard Processor System の章にも示されています 表 25 4 に 本資料の改訂履歴を示します 2012 年 11 月 1.2 マイナーな更新 リセットの項の拡張 割り込みの項の拡張 2012 年 5 月 1.1 ブロック図およびシステム統合 機能の説明 プログラミング モデル アドレス マップとレジスタの定義の各項の追加 2012 年 1 月 1.0 初版 Cyclone V