淺談 串行信號 轉換成 並行信號 原理


注 :  文中講述的原理是推理和探討 , 和現實中的實現不一定完全相同 。

 

開始之前, 可以先參考看看我之前寫的兩篇文章 :

《設計一個 硬件 實現的 Dictionary(字典)》  https://www.cnblogs.com/KSongKing/p/10193128.html

《漫談 計算機硬件 的 設計 和 實現》  https://www.cnblogs.com/KSongKing/p/9866334.html

 

串行信號 是 脈沖信號 ,

我們要 引入一個 “雙穩態開關”, 或者說 “雙穩態門”  來 處理 串行信號 。

 

雙穩態開關, 技術上 是一個 雙穩態電路, 不過 我們 先不關心 具體的技術實現, 我們先從 邏輯層面 來看待 。

所以, 我們提出一個 “雙穩態開關”, 又稱 “雙穩態門” 的 概念 。

 

雙穩態門 如下圖 :

 

雙穩態門 有一個 輸入端 和 一個 輸出端, 為了容易區分, 我們用 箭頭 來表示 輸入端  輸出端  。

輸入端 輸入 1 時, 輸出端 輸出 1, 輸入端 的 輸入 是一個 脈沖信號, 即 脈沖 結束后, 無輸入的狀態下, 輸出端 可以 保持 輸出 1 的 狀態 。

輸入端 輸入 0 時, 輸出端 輸出 0, 輸入端 的 輸入 是一個 脈沖信號, 即 脈沖 結束后, 無輸入的狀態下, 輸出端 可以 保持 輸出 1 的 狀態 。

 

為了 區別 0 和 “無輸入” 的 狀態, 技術上, 采用 高電平(高電壓) 表示 1, 低電平(低電壓) 表示 0,  無電壓 表示 無輸入 。

 

我們 可以 看一下 脈沖信號 的 波形圖 :

 

如果要發送 一個內容是  “1001”  的 串行信號, 則 波形圖 如下 : 

  

 

好的, 接下來, 我們就可以看看將 串行信號 轉為 並行信號   的   邏輯電路圖 :

 

如圖, 為了便於講解,我們在 圖上 一些位置 標上了 序號 。

簡單起見, 我們 只 設計 了  2 位 的 並行信號 輸出 。 有就是說, 串行信號 會 轉換成 2 位(bit) 的 並行信號 。

 

1 2 是 入口雙穩態門, 控制着 串行信號 可以 寫入 哪一位(bit) 。 初始狀態 時, 第 1 位(bit) 的 入口穩態門 處於 “1” 狀態, 輸出端 輸出 1 , 輸出端 連接 的 開關 接通, 可以向 第 1 位(bit) 寫入數據 。 而 其它位,比如 第 2 位(bit) 的 入口雙穩態門 處於 “0” 狀態, 輸出端 輸出 0 , 輸出端 連接 的 開關 斷開, 不能向 第 2 位(bit) 寫入數據 。

也就是說, 同一時間, 只能 有一個 位 的 入口雙穩態門 處於 “1” 狀態, 其它位 的 入口雙穩態門 都應該是 “0” 狀態, 這樣 同一時間 只有 一個 位 可以 寫入數據 。

這就是 串行信號 轉為 並行信號 的 基礎 。

 

在 初始狀態 下,  當 串行信號 的 第一個 脈沖 達到時,  第 1 位 的 入口穩態門 處於 “1” 狀態,  開關接通, 所以 第一個 脈沖 就 通過開關 寫入了 第 1 位 的 存儲位(圖中 下方 7 處) 。 存儲位 也是一個 雙穩態門, 利用 穩態開關 的  “穩態” 特性, 可以起到 “記憶”(存儲器) 的 功能 。 比如, 脈沖 是 1, 則 雙穩態門 就會 保持在 “1” 狀態, 脈沖 是 “0”, 則 雙穩態門 會 保持在 “0” 狀態 。

與此同時, 脈沖 還會 通過 圖中 3 處 的 電路, 轉換為 “1” , 輸出到 圖中 5 處 的 延時開關 。 圖中 3 處 電路 的 意義 是 不管 脈沖 是 “1” 還是 “0”, 都 轉為 “1” 。 也就是說, 只要有 串行信號 輸入, 不管是 1 還是 0 , 都會 觸發 這個 延時開關 。

延時開關 的 意思 就是 , 當 輸入端 有 1 輸入時, 延遲一段時間, 才在 輸出端 輸出 1 。

延時開關 輸出的 1 會 觸發 圖中 2 處 的 雙穩態門, 也就是 第 2 位 的 入口雙穩態門, 這可以讓 第 2 位 的 開關 接通, 使 第 2 位 進入 可以 寫入數據 的 狀態 。

同時, 延時開關 輸出的 1 還會 通過另一條線路 經過 圖中 9 處 的 “非”門, 再 到達 圖中 1 處 的 雙穩態門, 也就是 第 1 位 的 入口雙穩態門 。

延時開關 輸出的 1 經過 非門 后, 會變成 0, 這個 0 會 觸發 第 1 位 的 入口雙穩態門 變成 “0” 狀態, 即 輸出 0, 對應的 開關 會 斷開, 第 1 位 會變成 不能 寫入數據 的 狀態 。

這樣 就 完成了 寫入 第 1 個 脈沖 的 過程 。

接下來 就可以 寫入 第 2 個 脈沖 。 第 2 個 脈沖 將會寫入 第 2 位(bit)存儲位。

 

有一個 問題 是,  這里 為什么 要使用 “延時開關” 呢 ?

因為, 如果 不經過 延時, 圖中 3 處 產生的 “1” 直接 輸出到 圖中 2 處 的 入口雙穩態門 的 話, 會 立即 接通 第 2 位 的 開關, 使 第 2 位 立即 進入 可寫入數據 的 狀態 。 此時很有可能 第一個 脈沖 還沒有結束, 也是 第一個脈沖 會 寫入到 第 2 位, 這就產生了 錯誤 。

甚至, 如果 這個電路 有 多位(bit), 比如 3 位(bit)、 4 位(bit)  …… ,  則 有可能 會 觸發 第 3 位 、 第 4 位 ……  也 進入 可寫入 的 狀態, 這樣連續觸發下去 。

這樣 就 不對 了 。

可以 連續 觸發 幾位(幾級),  視 電路 的 傳輸速度 而 定 。    ^^

 

同時, 如果 不經過 延時, 圖中 3 處 產生的 “1” 還會 經過 圖中 9 處 的 非門 變成 “0” 觸發 第 1 位 的 入口雙穩態門 變為 “0”, 使得 第 1 位 的 開關 斷開, 第 1 位 變成 不可寫入 的 狀態 。 但這時 第 1 位 的 寫入 操作 還可能 沒有完成 。會導致 寫入 第 1 位 的 操作 也 發生錯誤 。

 

我們可以通過 串行信號(脈沖信號) 的 波形圖 來 形象 的 說明 上面 這個過程 :

 

 

上述過程 依次 向 下一位 遞推, 直到 最后一位 。 如:  第 1 位 寫入, 觸發 第 2 位 接通, 第 1 位 斷開;  第 2 位 寫入, 觸發 第 3 位 接通, 第 2 位 斷開; 第 3 位 寫入, 觸發 第 4 位 接通, 第 3 位 斷開;  ……   。

當 到 最后一位 時, 會 反過來 觸發 第 1 位 接通, 自己 斷開, 同時 把 所有位 的 數據 寫入 緩沖區 。 這樣就完成了 一輪 接收 。 可以開始 下一輪 接收 。

當然, 最后一位 的 這個 執行過程 我們 略去了,  沒有畫出來 。

 

有關 延時開關, 可以參考 《RC 延時電路簡要分析》  https://wenku.baidu.com/view/0f4d8024960590c69ec376fc.html

當然 延時開關 的 實現技術 是 多樣的, 也有一些 新技術 。

延時開關 技術 可能 是 硬件技術 的 一個 關鍵技術 之一 。

因為 延時開關 的 反應速度 和 精度 關系到 串行轉並行 電路 的 穩定性 和 傳輸速度 。

延時開關 反應速度 越快, 精度 越高, 就能支持 更高頻率 的 串行信號, 串行信號 的 頻率 越高, 傳輸速度 也 越快 。

 

大量數據 的 串行轉並行 傳輸 需要 發送方 和 接收方 之間 發信號 通信協作,  也可以說是 發指令 。

可以把 發送方 稱為 “串行設備”, 把 接收方 稱為 “並行接口” 。

串行設備 會 發信號 通知 並行接口 准備發送數據, 並行接口 設置好 初始狀態 后 發信號 通知 串行設備 可以發送數據,

感覺 好像 三次握手 ……

串行設備 發送數據, 雙方 可以 約定 一次 發送多少 數據(Byte), 比如 1 KB ,  則 接收完 1KB 后 並行接口 通知 操作系統,

操作系統 從 並行接口 的 緩沖區 中 讀取 這 1KB 數據 到 內存,  完成后 通知 並行接口,

並行接口 發信號 通知 串行設備 繼續 發送數據 。

 

如果 發送信號(指令) 的 線路 也是 串行線路(串行信號),  那么 上文討論的 串行轉並行 的 原理 也適用於 發送接收 信號(指令)。

 

理論上,  本文原理 也 適用於 Modem(調制解調器) 和 USB 的 基礎電路 和 基本原理 。

 

我們可能會碰到這樣的情況, Modem 或者 路由器 使用的時間長了,  可能會出現 上不了網 的 情況 。 這時, 就 關掉一下,  放一下電,  等一會兒再打開  就可以上網了 。

這可能跟 上文 中 延時開關 的 原理 有關 。

延時開關 通常 會 用 電容 和 三極管 組成,  利用 電容 充電放電 的 特性 延時,  所以 電容 的 質量 和 延時開關 的 穩定性 和 精度 有 直接關系 。

這也是 關掉 Modem 或者 路由器 , 放一下電,  等一會兒再開 就 又可以上網了 的 原因 吧 !    ^^ ^^ ^^

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM