FrostyDesign
自分用にさまざまなものを作るページです
FrostyCoreArchitecture
- 2012/04/01 (Sun)
- 未選択 |
- CM(0) |
- Edit |
- ▲Top
制御系のアーキテクチャを書いてみたので公開。
まずは制御系ハードウェアのアーキテクチャ
以前に写真で説明しましたが、CPUはSH7145 50MHz 。
このクラスのマイコンボードとしては1MB DRAMとメモリ多めなのが選定ポイントの1つです。
FPGAボードとは16bit 50MHzのバスで接続。
FPGA内にICS3.0仕様のプロトコルモジュールを6ch、
PSコントローラのプロトコル処理もFPGA化しています。
下記は、シーケンス図です。
通常はまずソフトウェアブロック図を示すところですが、
このアーキテクチャでは
純粋なソフトウェアはメインスレッドのみで
通常、スレッド分けて実装する通信処理系をすべてFPGAで実装しています。
メインスレッドからFPGAの通信はレジスタ経由なのでほぼメモリアクセスと同等で読み書きでき、
レジスタマップがAPIという感じです。
メインスレッド1つに通信系のスレッドが7つという感じでしょうか。
ADコンバータもコントローラ側で複数chスキャンしてるので5msに一回まとめてレジスタ読んでます。
メインスレッドは5ms毎のタイマー割り込みでループしていて、これがシステム制御間隔になっており、
センサ情報取得、PSコントローラ受信、サーボ制御、全て5ms周期になっています。
まずは制御系ハードウェアのアーキテクチャ
以前に写真で説明しましたが、CPUはSH7145 50MHz 。
このクラスのマイコンボードとしては1MB DRAMとメモリ多めなのが選定ポイントの1つです。
FPGAボードとは16bit 50MHzのバスで接続。
FPGA内にICS3.0仕様のプロトコルモジュールを6ch、
PSコントローラのプロトコル処理もFPGA化しています。
下記は、シーケンス図です。
通常はまずソフトウェアブロック図を示すところですが、
このアーキテクチャでは
純粋なソフトウェアはメインスレッドのみで
通常、スレッド分けて実装する通信処理系をすべてFPGAで実装しています。
メインスレッドからFPGAの通信はレジスタ経由なのでほぼメモリアクセスと同等で読み書きでき、
レジスタマップがAPIという感じです。
メインスレッド1つに通信系のスレッドが7つという感じでしょうか。
ADコンバータもコントローラ側で複数chスキャンしてるので5msに一回まとめてレジスタ読んでます。
メインスレッドは5ms毎のタイマー割り込みでループしていて、これがシステム制御間隔になっており、
センサ情報取得、PSコントローラ受信、サーボ制御、全て5ms周期になっています。
PR
- << ねじりバネの巻き方
- | HOME |
- 走行動画 >>
カレンダー
カテゴリー
プロフィール
最新記事
(06/29)
(05/12)
(05/02)
(02/21)
(07/08)
最新CM
[06/28 Braitaereks]
[08/29 l8xc6xc236]
[06/29 MichaelGek]
[06/18 Michaelted]
[06/14 GeorgeaccoG]
この記事へのコメント