初めまして、現在私はLINUX PCで 開発環境QTを使用しプログラムを組んでいます。
今回シリアル通信の速度について疑問が生まれましたので質問させていただきました。
ボーレート値:230400bps
データ長:8bit
で通信を行っているのですが、
今回の仕様としまして10秒ごとに190011バイト送信するようなプログラムを組んでいます。
また190011バイトを受信するようなプログラムも作成しています
ノンパリティ設定で
そこで処理速度を見ていると、 送信側のプログラムで、最初のデータ送信開始から最後のデータ終了までの時間を見ると9300msでした
受信側は9400msでした。
次にパリティビット有の設定で、上記と同じ試験を行ったのですが、送信側の処理速度が9300ms
受信側は9400msでした。
質問ですが、パリティを付加すると今回の場合で行くと190011バイトを10秒ごと(一気に送信は到底無理なので分けて送信しています)に送信するので、パリティビットが付加されると、単純に190011ビット増えることになります。今回のボーレート値は230400bpsなので、パリティ有とパリティなしでは0.7秒も差があることが計算でわかりました。
しかし今回の値を見るとさほど時間が変化していないことがわかりました。
そのようなことがあるのかわかりません。理由があるのならばわかりたいと思い質問させていただきました。
どうかよろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
もの(信号波形)を見ていないので推測でしかないですが、
実際には、パリティ無しの場合、Start(1)/Data(8)/Parity(0)/Stop(1) = 10Bit なので、
1900110 Byte x 10 Bit / 230400bps = 8240ms が、Idle Time =0 usの時の速度かと思われます。
実際には、9300msかかったとするとこの差は、通信割込(送信バッファ空)から送信処理にかかるオーバーヘッド分ということかと思います。
(この辺りは、オシロスコープでTXD Lineをモニターすると、はっきりと分かります。)
使っているUARTの仕様によりますが、送信バッファエンプティの割込みだとすると、8Bitのデータを受け渡し、シフトレジスタが8回回ったところで割り込みが発生する(と思われる)ので、パリティビットの有無によらず、送信処理は一定のオーバーヘッドで回っているのではないかと推測いたします。
これを送信完了(Stop Bit送信完了時)の割込みとすると、パリティビットの有無で1Bit分の差が出てくるのではないかと思われます。
送信割り込みを使っていない場合でも、挿神事になんらか送信完了のステータスを見ているはずです。
参考:
http://www.softech.co.jp/mm_050907_firm.htm
先の通りオシロスコープで、各キャラクター間のIdle Timeの波形が、
(1)パリティ有り無しの違い、
(2)送信バッファーエンプティ/送信完了の割込みのどちらをモニターしているかの違い
でどの要に変わるか見てみると、はっきりとするかと思います。
(波形は全部見る必要はないです。送信キャラクターを全部同じ、もしくはパターンが顕著に違う二文字の繰り返しにして、典型的な2~3バイトの送信分だけで上記は分かると思います。)
自信はないですが、試してみる価値はあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 電車・路線・地下鉄 ITパスポート試験問題 7 2023/01/25 09:51
- 格安スマホ・SIMフリースマホ 楽天回線エリアなのかパートナーエリアなのか 2 2023/01/14 00:56
- ドライブ・ストレージ RS232C 通信でエラー(受信が正確でない)がでます。どなたか教えてくださいませ。 11 2022/09/03 11:53
- 運輸業・郵便業 請求書の郵送方法について教えてください 5 2023/03/27 10:43
- FTTH・光回線 AU光回線の速度が出ません 2 2022/07/30 16:05
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- 物理学 再会しない双子のパラドックス。 5 2023/01/16 11:21
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- その他(メールソフト・メールサービス) 複数のメールを送信した順と受信した順が違うのは何故? 4 2023/02/22 09:58
- ガラケー・PHS SMSメールの受信遅延原因はガラケー自体の欠陥では 8 2022/08/06 11:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームを再送信しますか?
-
Googleフォームを回答したか確...
-
Accessでメール一括送信ソフ...
-
VB.NET(2005)の"SerialPort" ...
-
サイト上のアンケートからメー...
-
VBA メール一斉送信で添付ファ...
-
アンケートフォーム送信後の送...
-
VBで添付ファイル付きのメール...
-
アンケート用紙での回答ができない
-
KENT-WEBのClipMailでのチェッ...
-
CGIでメールのReturn-Pathに値...
-
ホームページビルダーのメール...
-
VB6で、Bsmtp.dllを使って、メ...
-
ACCESSから、メール送信を行い...
-
cgiであいまい検索(~を含む)
-
採点結果を集計し、合否の判定...
-
VBでメール送信ソフトを作成
-
CGIの設置について
-
ビジネスメールの敬称
-
テキストボックスの番号を使っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お問い合わせフォームから送信...
-
フォームを再送信しますか?
-
Safariで「本当にこのフォーム...
-
Googleフォームを回答したか確...
-
ACCESSから、メール送信を行い...
-
BASP21のSendMailとSendMailEx...
-
Accessでメール一括送信ソフ...
-
メールアドレスが正しいかどう...
-
チャットを作る
-
VB.NETからGmail経由でメールを...
-
ホームページビルダーのメール...
-
VB6で、Bsmtp.dllを使って、メ...
-
WriteFileで送信できたかの確認...
-
メールフォームで送信すると「...
-
VBA メール一斉送信で添付ファ...
-
VB.NET(2005)の"SerialPort" ...
-
CGIでメールのReturn-Pathに値...
-
メールフォームの受信先にg-m...
-
VBで添付ファイル付きのメール...
-
VBA EasyCommでの送信
おすすめ情報