システム設計 | ハード回路設計 | パターン設計 | 装置製造 |
ソフト設計 | ソフト作成 | 社内検査 |
業務内容 >業務内容 |
ノイズに強い制御装置を目指して
ノイズに強いシステムを製作するため、弊社では部品の配置に最も注意を払います。例えばCPUボードを作成する場合
高周波ノイズを発生する部分、外来のノイズが進入しやすいIO、通信部分は絶縁を行い配置を分離します。
また絶縁不可能な場合は、GNDを分離してノイズの流れない部分と一点アースにて接続します。高周波ノイズを発生する信号は、
高周波ノイズ専用のGNDを通して電源へ戻します。理想的にはノイズ発生部分とCPU又はアナログ部分を
別基板として構成し、シールドを行い、CMRR(同相信号除去比)の高い高速のフォトカプラで接続します。
電源にはノイズフィルタ等コモンモードフィルタとバリスタ、高耐圧コンデンサ等を配置します。 電源部にDC/DCを搭載し絶縁を行い、外来ノイズに強いシステムを構成、外部機器との接続による回り込みを防止します。 |
|
CPU部 |
ルネサスマイクロコンピュータのコントローラ系として、高性能なSH2Aを使用しています。クロック
200MHzで動作します。内蔵ROM 1MB、内蔵RAM 128KBを搭載し、この内部RAM上で
プログラムを動作させることで、200MHzのピーク性能を引き出すことができます。
|
||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RAM、ROM |
外部ROMとしてフラッシュメモリ、外部RAMとしてスタティックメモリ、SDRAMを使用しました。 データROMとしてEEPROM、又MMCカードを使用しています。 | ||||||||||||||||||||||||
通信部 |
RS-232C、RS-422インタフェースは、10Mbps、瞬時同相除去電圧15KV/μsの フォトカプラにて絶縁しています。ESD保護として、±15KV HUMAN BODY MODELの RS-232C用IC、±12KV HUMAN BODY MODELのRS-422用ICを採用しています。 EtherNetのPhyとしてTLK110を採用、又USB、I2C、SPI等のプログラムを作成します。 | ||||||||||||||||||||||||
インタフェース |
弊社では、お客様の仕様に合わせたアナログボードを製作しています。
アナログ回路、アイソレーションAI、AO、IOとCPUを使用した回路の最適設計を 行います。 |
A/D、D/A部 |
アナログデバイス、Maxim、リニアテクノロジー等の、シリアルインタフェース付きを採用しています。 | ||
---|---|---|---|
プログラム |
並列処理
C言語、アセンブラを使用した並列処理を行います。タスク切り替えも行いますが、
シーケンスポインタを使用して並列処理を行っています。決してプログラムが
一関数内を一定回数ループすることはあっても、無限ループに陥る事はありません。
メインループにブレークを掛けることで、
現在プログラムがどの部分を走っているか確認可能なプログラム構成です。
確実に原因を特定でるプログラム構成となっています。
タスク切り替え
タスク切り替える場合、独自に作成したタスク切替関数があり、待ち処理が発生した場合にタスク切り
替えを行う事も可能です。OSを使用しませんので、ディスパッチ部分にブレークを掛けることができ、
現在、プログラムがどの部分を走っているか確認可能としています。
相乗効果により応答時間が速いプログラム
プログラムは応答速度を要求する部分と、10mS間隔などの一定間隔のアクセスで良い部分とに分ける
ことができます。
IOのスイッチ等はチャタリング防止のため10mS程度連続して
ON/OFFの状態が継続したかを監視しますが、IOの取り込みタイミングは1mS間隔で10回連続
していたかを確認することで十分です。この様にメインループ毎にコールする関数、1mS毎にコールする関数
、10mS毎にコールする関数を区分する事ができ、相乗効果により応答時間が速いプログラムになります。
高速化
高速処理を必要とする部分は、アセンブラ化が可能です。通常ステップの多いプログラムは2倍程度高速になります。
EtherNetのプロトコルスタックも必要な部分のみを実装することでプログラム容量もコンパクト
になります。
リアルタイム処理
割り込みを使用してリアルタイム処理を実現しています。
リアルタイムOSμITRON
リアルタイムOSμITRONを使用する場合、短い応答時間を必要とするプログラムは一つのタスクと
して作成します。タスク毎に優先順位を設定できますので、短い応答時間を必要とするプログラムに高い
優先順位を設定します。例えば、割り込みで受信データをバッファに保存後、割り込み関数をリターンす
ると、短い応答時間を必要とする受信タスクが速やかに起動され、受信データの解析を行う事ができます。
リアルタイムOSを使用した場合も、メインループにシーケンスポインタを使用た並列処理を行っていま
す。
ドライバーソフト
|