Re: 請教BAUD RATE 誤差率的問題
|
||||
---|---|---|---|---|
初級會員
|
果真臥虎藏龍. 承教! 承教! Thanks.
發表於: 2006/2/6 11:16
|
|||
|
Re: 請教BAUD RATE 誤差率的問題
|
||||
---|---|---|---|---|
初級會員
|
果真臥虎藏龍. 承教! 承教! Thanks.
發表於: 2006/2/6 11:16
|
|||
|
訪客
|
Re: 請教BAUD RATE 誤差率的問題
|
|||
---|---|---|---|---|
哇~不少高手哦
不過通常 UART 不是在1個 Bit 的 50% 取樣而已哦. 可能會以 8/16 倍頻取樣中間三點, 兩點為High才是1 所以誤差可能要往下修正. PS. 如果只取一點會不會太危險了. |
||||
|
Re: 請教BAUD RATE 誤差率的問題
|
||||
---|---|---|---|---|
初級會員
|
這是一個很好的問題, 掛了幾天了. 我也想提供一些不成熟的意見供大家參考.
1. 接收端的取樣時機: 一般 UART 硬體設計的取樣時機是每個 bit 的 50% 之處. 也就是說 start bit 的取樣時機是 start bit 下降緣後 50% bit period 處. 2. 如果接收端的時序比發送端慢 1%: Start bit 會在 51% 取樣, bit 0 會在 52% 取樣, ... bit 7 會在 59% 取樣, bit 8 (如果有) 會在 60% 取樣, Stop bit 會在 61% 取樣. 4. 如果短距離, 現代收發設備 (RS-232 剛有的時候的硬體速度可沒有像現在這麼快) . 在 60% 處取樣, 應該是沒有問題的. 5. 依此類推, 對誤差很小的 device 通訊時, 一個誤差率達 +-5% 的 device 會達到容錯的極限. 6. 當然對 data length 是 7 bits, +-6% 或許是可能的. 7. 如果發送端與接收端各 share 同樣的 tolerance, 那麼 +-2.5% 是可考慮的最大值. 8. 但是對於較長距離的傳送時, 尤其對高速傳送時 Slew Rate 就不可不考慮了. 所以對於公用設備的 tolerance 最好不要超過 +- 1~1.5% 較好. 對中低速傳輸, 如 9600 或 19200 bps 以下, 這是很容易的事. 9. 然而兩個誤差是同一邊時 (同時大或同時小) 再大的誤差也能接受. (意思是說: 若是有雙方協議時, 誤差又是另一回事), 由於高速傳輸多屬專用機 (例如 1M bps), 因此, 是否遵循常用 baud rate 那是另一個問題. 10. 也就是說, Microchip 在列舉 BRG 誤差時常將 5-10% 的誤差列出 (甚至有 30~50% 的數值), 這多是發生在低速 MPU 的 高 baud rate 時才會有此誤差. 列出的目的是供設計者選用 '時基' 的比較參考用, 是告訴設計者, 如果考慮整數 '時基' 時, 內部 timer 可能較便利, 但是通訊可用的 baud rate 就會有所限制. 但若以通訊為主要考量時 又會如何? 這自需設計者自行折衷的意思了.
發表於: 2006/2/5 18:39
|
|||
|
Re: 請教BAUD RATE 誤差率的問題
|
||||
---|---|---|---|---|
高級會員
|
我想…
1.跟傳輸的距離 2.每次傳送的資料長度 所以資料的收發成功與否,沒有絕對的BAUD RATE 誤差率,個人看法參考就好。
發表於: 2006/1/26 0:24
|
|||
|
Re: 請教BAUD RATE 誤差率的問題
|
||||
---|---|---|---|---|
中級會員
|
參照:
您誤會我的意思了 假如使用dsPIC30F,20MHz,無倍頻,目標baud rate=9600bps BRG=(20MHz/4)/(9600*16)-1=31 實際baud rate=(20MHz/4)/(16*(31+1))=9765 BAUD RATE 誤差率=(9765-9600)/9600=1.7% 1.由算式看BAUD RATE 誤差率,只是表示目標與實際baud rate的差而已 2.只要BAUD RATE 誤差率不是太大,資料收發都不會有問題。(BRG=29~33收發應該都不會有錯誤) 我想知道的是,BAUD RATE 誤差率在大於多少時資料收發才會有問題,應該也可說是UART每一次SAMPLE的時間是間隔多久。由於BAUD RATE 誤差而導致SAMPLE該讀到1卻讀到0,該讀到0卻讀到1的錯誤
發表於: 2006/1/21 2:59
|
|||
|
Re: 請教BAUD RATE 誤差率的問題
|
||||
---|---|---|---|---|
資深會員
|
有些資料寫低於10%有些資料低於6%,基本上當然越少越好。
與其care鮑率正確性,不如挑選一個適當的系統頻率來的好。先 從datasheet挑選要用的鮑率,看看有沒有適當的系統頻率可用。
發表於: 2006/1/20 19:04
|
|||
不要問我哪裡來,我只是個流浪天涯的工程師
|
||||
|
請教BAUD RATE 誤差率的問題
|
||||
---|---|---|---|---|
中級會員
|
BAUD RATE 誤差率的大小對於傳輸資料的正確性有何差異?
誤差率到多少時,傳輸一BYTE就會接收錯誤?
發表於: 2006/1/20 18:58
|
|||
|