日常記錄(85)uart設計文件整理

2022-10-11 03:54:12 字數 1149 閱讀 2523

異或結果是偶檢驗,取反為奇校驗

常用的 ic 有 max232 等,當然還有其它公司生產的 ic,如 sp232 等,常以 232 作為標識。

在通訊速率低於 20kb/s 時,rs-232所直接連線的最大物理距離為 15m。

rs-485 在工業應用現場應用比較廣泛,,使用差分訊號傳輸資料,所以抗共模干擾能力比 rs-232 強,通訊距離可以超過 1km。

這個模組用於為 uart 的收/髮器提供時鐘,這個時鐘為 uart 的波特率的 16 倍頻,即如果波特率要求為 9600bps 時,該模組輸出的時鐘為 9600hz×16=153600hz。

接收器時刻監視 uart 匯流排的 rxd 線的電平,當檢測到起始位,接收器啟動接收狀態機,根據暫存器的設定,解析 rxd 線的電平,

當完成乙個位元組接收,輸出接收到的資料和線狀態。接收器的設計主要是圍繞「有限狀態機」而進行。

傳送器是監視匯流排,當檢測需要傳送乙個位元組時,傳送器啟動傳送狀態機,根據暫存器的設定,逐位往 uart 匯流排的 txd 線傳送資料。

當傳送完成乙個位元組,傳送器輸出傳送狀態。和接收器相似地,傳送器的設計也是圍繞「有限狀態機」而進行。

由於使用環境的干擾等,rxd 線可能出現毛刺,所示需要 rxd 的輸入需經濾波處理,處理方法是

在一位資料中間取三個點的電平值,少於 2 個點為電平「1」,則把該位判為電平「0」,否則判為電平「1」,這種方法稱為「多數表決法」。

對 rxd 線上的濾波適用於起始位的檢測、資料位接收、校驗位接收和停止位的判別。

由於 uart 的收/發兩個裝置的時鐘可以存在差異,如果接收器在接收時和傳送器的時鐘不同步,增加了傳輸錯誤的機率,

所以,接收器需要在檢測到起始位的起始邊沿時,同步自身的時鐘,這樣將減小因雙方時鐘上的差異而導致資料傳輸錯誤的機率。

該功能的實現是在接收器空閒時,當檢測到 rxd 線的電平從高到低的變化時,復位接收器的波特率計數器。

django日常記錄

1 使用反向工程 前置條件 django專案中setting檔案的資料庫已經配置好。沒有執行過遷移命令 第一步必須是python manage.py inspectdb 反向工程後的manytomany的字段,需手動自己建一張表,外來鍵也要自己提前想好,在模型中建立,然後手動在models中新增就行...

Oracle日常記錄

oracle 資料型別number m,n 中m表示的是所有有效數字的位數,n表示的是小數字的位數。m的範圍是1 38,即最大38位。我以為,m表示整數字數,n表示小數字數,在專案中,死活都儲存不了。切記!varchar2 100 表示可以儲存100個字元,50個漢字。nvarchar2 100 表...

Nvidia Driver 日常記錄

ubuntu 16.04 geforce gtx 1080 ti 日常遠端連線 因為實驗室的小動物 小動物 這鍋我不背 伺服器斷電了。插電後nvidia顯示卡驅動出現了問題,需要重灌,記錄一下。tips 開機後ctrl alt f1進入文字模式 nouveau是 ubuntu 中為 nvidia 開...