編集履歴一覧に戻る
AoiSayaのアイコン画像

AoiSaya が 2021年02月28日22時45分35秒 に編集

初版

タイトルの変更

+

SPI to パラレル変換モジュールを自作する

タグの変更

+

SPI

+

8bitBUS

+

GreenPAK

+

SLG46826

+

秋葉原2021

メイン画像の変更

メイン画像が設定されました

本文の変更

+

SPI to 8080-system bus bridge using GreenPAK. (緑豆壱拾漆號) # はじめに SPIをパラレル変換したいなぁ。でもそんなIC手元にないし、探してもちょうどいいのはなさそう。 運良く見つかっても、機能が多すぎて使いこなせないかも。 それに買うのは時間もお金もかかる。 はんだづけだってめんどうだし、モジュールなんて売ってない。 そうだ!DIP版GreenPAKでつくってみよう。 これからはハードウェアも欲しいときに自作する時代かもしれません。 ## 動作 SPI信号を8080-systen 8bitバス形式に変換します。 リード及びライトが可能です。 # 部品一覧 部品名 | 型番等 |数量| 備考 --- | --- | --- | --- GreenPAK|SLG46826V-DIP|1|Dialog直販で購入 # 設計方針の検討 まず、SPIフォーマットと8bit BUSフォーマットの間の基本的なタイミングチャートを検討しました。 8bit BUSフォーマットではライトとリードが可能です。また、LEDパネルにアクセスしたかったので、アドレスをライトしてすぐリードする使い方も想定されます。そこでタイミングチャートを3種類作成しました。 ![キャプションを入力できます](https://camo.elchika.com/d4e61d87a8beb00d1208231303ef9cbcf409539c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f30383562623466332d343530612d343164632d393963622d6164373366646533326230382f62363836643131622d623065352d343731352d626663652d326439386531346435376235/) ![キャプションを入力できます](https://camo.elchika.com/9d2ea815f72e416d7055826711304c61bbb7d8db/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f30383562623466332d343530612d343164632d393963622d6164373366646533326230382f36326435373163642d323261632d343035662d393934352d333764353438383633396262/) ![キャプションを入力できます](https://camo.elchika.com/bae49d4b40674d78479743c446036a4150f34c57/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f30383562623466332d343530612d343164632d393963622d6164373366646533326230382f62333333366135302d623639312d346530312d613865642d323435623834636236363238/) # GreenPAKの設計 GreenPAKはCPLDのようなプログラマブルデバイスです。汎用ロジックIC数個で組めるような回路の置き換えに適しており、簡単な回路がこれ一個で実現できます。今回はDIP版であるSLG46826V-DIPを使いました。 回路図とピン配を示します。 ![回路図](https://camo.elchika.com/cf807465c49b5ce652f400d54bb624030afaee8f/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f30383562623466332d343530612d343164632d393963622d6164373366646533326230382f63613563626435332d626536342d343230642d623733352d316439363664363935336531/) ![ピン配](https://camo.elchika.com/31f1f6f686135e7cdd02cb347e90a3d1566e32d3/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f30383562623466332d343530612d343164632d393963622d6164373366646533326230382f39383039636462662d353664322d346235332d393862392d346238393938326530636133/) ## 回路の説明 回路図の上に並んでいるのが、ライト用のシリパラ変換回路です。 Dフリップフロックが直列につながっており、最後は3個分のフリップフロップをPipeDelayで代用しています。 また、SS入力がHighの時にリセットされるようになっています。 中段がリード用のパラシリ変換回路です。2入力マルチプレクサをツリー状につないで、カウンタを使った選択信号によりMSBから順にMISO端子に出力するように構成しています。 下段の回路が8ビットバスのRXWやRDXを生成する回路で、PGENを使ったタイミング回路とゲートにより信号を生成しています。また、リード時以外はMISO端子をHi-Zにする信号も生成しています。 ## モジュール化 DIP版のSLG46826V-DIPは購入時に最初から足がついています。 設計をI2Cで書き込むだけで、基板設計もはんだ付けも一切省略してオレオレモジュールが作れてしまいます。 ブレッドボードにさして書き込んだら、すぐにマイコン用インタフェースとして使えます。 ![キャプションを入力できます](https://camo.elchika.com/62a8accdd59055a5da99920ae88a7a4f54124e09/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f30383562623466332d343530612d343164632d393963622d6164373366646533326230382f62623637633435322d363034322d343561372d386666632d643337323562333766386537/) # おわりに 誰でもお試しいただけるように設計データをGitHubに公開しています。 https://github.com/AoiSaya/GreenPAK_SPI2BUS オレオレモジュール作成のご参考になれば幸いです。 今回は既存のICをマイコンでたたいて動かすような記事ではなく、このまま販売できそうなハードウェア作品としてのオレオレモジュールの作成についてご紹介しました。 この設計を書き込んだDIP基板を本当に販売して欲しい方がもしかするといらっしゃるかもしれません。 # 免責事項 本記事の正確性については努力しておりますが、当方は利用者が当記事の情報を用いて行う一切の行為について何ら責任を負うものではありません。本記事の情報の利用、内容によって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ご自身の責任においてご利用いただきますようお願いいたします。 # Author [GitHub/AoiSaya](https://github.com/AoiSaya) [Twitter ID @La_zlo](https://twitter.com/La_zlo)