おいふぉりーのぶろぐ

きっと趣味のブログに違いないです!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

[MAXII]hwSPXインターフェース完成。

昨日から、ガリガリ書いていたハードウェアによるSPXインターフェースの実装についてです。SPXとは、JunkBoxで公開しているSerial Port eXtenderのことです。パソコンのシリアルにつないで、24ビットのパラレルI/Oを提供します。で、SPXの通信コマンドは、パソコン側から見て
 読み込み:'r'[AH][AL]を送信した後、[DH][DL]を受信。
 書き込み:'w'[AH][AL][DH][DL]を送信。
 ※[xx]は16進キャラクタ('0'~'9'、'A'~'F'を示しています。[AH][AL]で読み書きのアドレス、[DH][DL]がデータとなっています。
と言う感じです(ちょっと、オリジナルとは違うかも)。まあ、通信コマンドはテキストベースです。テキストベースなので、ターミナルから簡単に動作確認したりできるので、結構気に入っています。SPX本体のレジスタに読み書きすると言う感じです。

以上のことをハードウェアで実装しました。正確には、SPXの読み書きのコマンド処理のインターフェース部分までしか書いてかいてないけど。これがブロック図↓(手抜きでメッチャわかりずらいかも、データパスだけ書いてます)
hwspx_001.png

シリアルから受信した16進キャラクタをデコードして数値に直して、次々にレジスタにシフトして格納する感じです。読み込みコマンド実行時には、パソコンへ送信する必要がありますが、その送信バッファも受信時のレジスタと兼用している感じになっています。で、これを実装したところ85LEとなりました。トラ技MAXIIで37%程度です。合成結果を見てみると、レジスタの使用は少ないのですが組み合わせ回路の使用が結構多いことに気づきました。送受信の部分にデコーダがいることや、送信バッファを受信時のレジスタと兼用したりしていてMUXを使用していることがその原因だと考えられます。
そこで、送信バッファは完全に別に実装しました。しかし、結果的には確かに組み合わせ回路の使用率は下がりましたが、85LE。余り、変わりません。でも、後者のほうが実装がすっきりするので、そちらを使うことにしました。

まだ、パラレルIO部分は作っていませんが、疲れたので休憩。土日辺りに、72ビットくらいのI/Oを持ったSPXを作ってみます。このSPXインターフェースを作ったメリット(自分がそう思うだけかも?)ですが。。。この、SPXインターフェースはバスマスタみたいに動作するので、バスインターフェースを持ったモジュールを色々作っておいて、このSPXインターフェースに接続すると、シリアル側からデバッグすることができます。最終的には色々作ったモジュールを他のマイコンなんかにつなげて動作させることもできるでしょう。
  1. 2006/06/29(木) 22:19:38|
  2. ハードウェア開発
  3. | トラックバック:0
  4. | コメント:0
<<ロボコンの事とか。。。 | ホーム | [MAXII]再び>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://tm86eublog.blog42.fc2.com/tb.php/102-cb949054
この記事にトラックバックする(FC2ブログユーザー)

来客数

プロフィール

Euphorie

Author:Euphorie
"おいふぉりー"って呼んでくださいな☆
ハードウェアとかソフトウェアとかの開発に興味があったり。。。
連絡先は上の画像。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。