一種基于C8051F310的UART擴展實現(xiàn)
上行器件命令的發(fā)送
本文引用地址:http://www.ex-cimer.com/article/109142.htm主要采用協(xié)議地址的方式判明指令針對的設(shè)備,需要在單片機中對于指令按照預(yù)先編制的指令協(xié)議進行指令的解析,形成針對各自設(shè)備的指令碼向下轉(zhuǎn)發(fā)。具體的數(shù)據(jù)協(xié)議控制圖見圖3,多串口硬件見圖4。
實驗
(1)為了驗證單個軟件UART可用首先利用串口調(diào)試助手隨機發(fā)送數(shù)據(jù),選擇不同的自動發(fā)送周期,每個發(fā)送周期連續(xù)1000字節(jié)數(shù)據(jù)發(fā)送檢驗數(shù)據(jù)接收和發(fā)送錯誤率,實驗結(jié)果見表1。
通過以上數(shù)據(jù)我們可以看到軟件UART在發(fā)送和接收時間上存在延遲,因為利用中斷和單片機對于數(shù)據(jù)的轉(zhuǎn)發(fā)造成了數(shù)據(jù)傳輸?shù)难舆t,這是不可避免的,只要保證較高的單片機時鐘頻率,這種延時可以盡量的減小。其次當發(fā)送周期較短時,擴展串口的錯誤較高,但是延遲到50ms發(fā)送周期后這種錯誤基本解決。因此當傳輸周期越長,數(shù)據(jù)錯誤率越低。
評論