關於通訊的一點常識

2022-06-24 13:48:10 字數 1108 閱讀 4646

在計算機裝置之間經常會需要進行資料傳輸,我們會接觸到很多的通訊方式,本文大概介紹下關於通訊的一點點概念。

序列通訊按單個資料位進行資料傳輸,而並行通訊可以同時傳輸多個位的資料。打個比方,序列通訊更像是單車道的公路,一次只能允許一輛車通過,而並行通訊則是多車道公路,可以實現多輛車同時行駛。很明顯了,在傳輸速率相同時,單位時間內並行通訊可傳輸的資料量要大於序列通訊。

那麼如此看來,序列通訊和並行通訊到底有何優劣勢,我們應該如何取捨?

雖然並行通訊傳輸速率要高於序列通訊,但在實際專案中還需要考慮其他諸如傳輸距離、干擾、成本等因素,所以現在其實也越來越多地使用高速的序列差分傳輸。

先來看看這三者的定義。

全雙工相當於雙向車道,兩個方向的車流可以同時出入;半雙工類似於鄉間小道,只能同時由一輛車通過;單工則是單行道,禁止另一方向的車輛通行。

兩者的區別在於同步通訊過程中的收發雙方會使用時鐘訊號進行協調,以同步資料,而非同步通訊則不用時鐘訊號。

同步通訊中的收發雙方會統一在時鐘訊號的上公升沿或下降沿對資料進行取樣,以實現同步。如圖8-1所示。

圖8-1

非同步通訊不使用時鐘訊號進行資料同步,而是直接在資料訊號中穿插一些用於同步的訊號位,或者把主體資料打包,以資料幀的格式傳輸資料,如圖8-2。在某些通訊中還需雙發約定資料的傳輸速率,以便更好地同步。

圖8-2

如上圖所示,非同步通訊除了主體資料,還包含了通訊起始位、停止位和資料校驗位,並非全部是有效資料。

同步通訊對資料同步要求嚴格,其允許的誤差要小於非同步通訊。

如,ascii碼表裡有128個字元,即128種離散狀態,用128進製碼元表示每個字元,其每個字元由

= 7

個二進位制位元位表示,即7個二進位制碼元。如字母a由7個二進位制碼元表示的ascii碼為0100 0001,那麼一次傳輸的位元位數為碼元數的7倍。所以此時單位時間內位元率為波特率的7倍。

其實在很多常見的通訊中,乙個碼元都表示兩種狀態,即

= 1

個二進位制位元位,此時的波特率和位元率是相等的。

關於壓縮檔案的一點小常識

ps 今天解壓了乙個10m的源 資料夾,解出來之後東西之多實在不像10m大小能包含 的東西,看了下大小,1g多一點,我了個驚 呆,於是自己試著把解出來的重新壓上,卻只有200m的壓縮檔案,今天正好沒事,就研究研究。其實一直對壓縮和解壓有些興趣,但沒靜下來研究下,畢竟我這個人,第一原則就是先會用就行,...

css裡一點很簡單的常識

日後若有新的感悟,也會不定期更新此貼 雖說是常識,但本人愚鈍,學了快兩周了才恍惚間明白了一點。information dt,點號代表類,而點號在前標籤在後,代表這個大類裡面的dt標籤。如果在這個 information dt 裡面定義了padding top 1em 那麼如果你只是想對列表裡的第乙個...

關於iBatis selectKey的一點筆記

技術前提 我們使用ibatis作為持久層方案 技術場景 假設我們有兩張表,一張主表main,一張子表sub,並且主表的主鍵是由資料庫維護的自增長的主鍵,子表中有乙個字段引用這個主鍵,那麼當我們插入主表資料後,就需要馬上返回這個自增長的主鍵。解決方案 可以在insert時通過ibatis的select...