基於verilog的曼徹斯特編譯碼

2021-06-23 06:11:25 字數 887 閱讀 9684

曼徹斯特編碼是非常常見的編碼,網線就是採用這種編碼。課本上說的「含有豐富的時鐘資訊」。

編碼的步驟,是用01表示0,用10表示1。正是因為用跳變沿表示電平,使得它的頻率是訊號的兩倍。

以下是編碼的程式:

**的波形:

從波形可以看出,曼碼可以避免連0或者連1。

這裡有問題,我預設了時鐘訊號的頻率是曼碼頻率的兩倍,因為我必須利用時鐘沿編碼。不太清楚實際情況是什麼樣的,因為網上都是時鐘訊號頻率等於編碼頻率,很奇怪。

下面介紹解碼。解碼的難度不是01以為0,10譯為1,而是確定是嗎時候開始解碼。參考了一些書,他們是從檢測到00或11後開始解碼,因為00後一定是1,11後一定是0,所以就可以確認開始,然後兩個為一彙編碼。

**如下:

**結果:

由圖中可以看出,解碼從檢測到11開始,因為11後面跟著0,所以譯01,按順序來是10,所以輸出1,後面每隔兩個碼譯一次,因為不能和前乙個碼混在一起。這樣如果傳輸過程沒有誤碼,後面再也不會出現翻譯00或11的情況。在這裡我故意弄出了個11,讓fail錯誤訊號置了1。

基於Delphi的WebService編寫

service端的寫法 2.在intf裡面寫介面函式 3.在impl裡面寫實現但是要同樣需要在public中定義 ctrl shift c可以快速生成實現 3.1 的result 4.和資料庫有互動的函式需要新增乙個datamodule 4.1datamodule中定義函式 全域性函式 5.如上,q...

基於Verilog的防抖動程式

第乙個防抖動程式 key2.v module key2 input clk,rst,key,output led 分頻器 開始 reg 17 0 cout always posedge clk if rst cout 0 else cout cout 1 b1 wire clk 5ms cout 相...

基於verilog的交通燈

狀態說明 1,初始化 東西南北的燈全亮 2,東西綠燈亮,南北紅燈亮 20秒 3,東西黃燈亮,南北紅燈亮 5秒 4,東西紅燈亮,南北綠燈亮 20秒 5,東西紅燈亮,南北黃燈亮 5秒 6,迴圈 2,3,4,5,如下 timescale 1ns 1ps company author gong create...