溜息日和

プログラミングとか機械学習とか統計力学とかいろいろ

DE0と外部デバイスの接続 11-13回目

PS/2からの信号受信

信号クロック:10Hz〜16.6Hz
受信データ:全11bit(スタートビット_DataBit[0:7]_パリティビット_ストップビット)

  • スタートビット:必ず0
  • DataBit:8bit
  • パリティビット:DataBitの1の個数が偶1奇0
  • ストップビット:必ず1

RS232C受信(Rx)

とは?:よく使われるUART(Universal Asynchronous Receiver Transmitter)の1種
UART:シリアルポートに外部機器を接続して行う通信

仕様

通信方式

1ビット毎逐次データ転送

  • グランド(GND)
  • 送信(TX)
  • 受信(RX)
同期をとるために予め決める項目
  • ボーレート(転送bit数/sec)
  • データ長
  • パリティの有無(有りならば奇数か偶数か設定)
  • ストップビット長
調歩同期式(非同期式: Asynchronous Communication)
  • データそのものに同期用信号を持ち,送受信双方で同期をとる通信方法

汎用非同期送受信回路:調歩同期式でシリアルデータとパラレルデータを相互に変換する回路

DE0にRS232Cコネクタ取り付け

秋葉原とアマゾンを駆使すれば2000円ぐらい

RS232C信号受信

今回送られてくる信号は9600bps
10bit(StartBit_[8:0]DataBit_StopBit)
DE0では4倍のクロックでスタートビットを検出(3回連続で0を検出したらスタートビット)

  • 等速:データビットとスタートビットの区別がつかない
  • 過速:検出クロックが8倍だとデータビットとスタートビットの区別がつかなくなる



50MHzから9600bpsの4倍のクロックを生成する

課題1-1: 115200bpsの信号を受信する


課題1-2: 14400bpsの信号を受信する


課題2-1: 受信回路にパリティ計算回路を付加する


課題3-1: スイッチの切り替えで受信回路を切り替える

RS232C送信(Tx)

送信信号は9600bpsとし,そのまま送信してもホストPCがどうにかしてくれる

仕様

8個のスライドスイッチで8bitの送信データ(スタートビット0,ストップビット1,パリティなし)を表現
BUTTON[2]を押すとデータ送信



コンテンツ一覧に戻る

広告を非表示にする