音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe

LPCARM波特率自適應同步字符"?"之完美

作者:hotpower 欄目:ARM技術
LPCARM波特率自適應同步字符"?"之完美
以前PHILIPS的51RD2的波特率自適應同步字符是大寫字母U(0x55),即產生一組方波信號.
前些日子玩LPCARM時,發(fā)現(xiàn)PHILIPS的波特率自適應同步字符變成了問號?(0x3f)
一直沒注意其奧妙也沒仔細研究.
最近玩DSP5402,由于用慣了PC串口,而其無標準的異步串行接口,且IO很少.
故只能用IO模擬.
雖說遺憾,但也慶幸可以再次研究一下波特率自適應問題.

所謂波特率自適應就是接收方可以根據(jù)發(fā)送方任意不同的發(fā)送速率皆能正確地接收到真正的有效數(shù)據(jù).
由于和同步協(xié)議的不同,雙方?jīng)]有硬件的同步時鐘信號,只能靠雙方事先約定好的通訊速率進行數(shù)據(jù)的傳送.

在實際應用中,由于通訊線長和通訊速率及干擾等種種原因,通訊速率可能需要變頻或雙方未曾事先約定,也就需要波特率自適應技術的應用了.

在異步串行協(xié)議中,串行數(shù)據(jù)由起始位S,8位數(shù)據(jù)DX和停止位P組成.先從最低位D0開始發(fā)送.

通訊速率即起始位S的脈沖寬度.當數(shù)據(jù)位D0為高電平時,則為起始位的下降沿到上升沿的時間.

為了提高測量精度,需要N倍于通訊速率(時間)的脈沖寬度,這就需要再測試高電平的脈沖寬度.
由于停止位P為高電平,故數(shù)據(jù)位應該有1位為低電平來分割.

最理想的數(shù)據(jù)是0x7f.即串行數(shù)據(jù)位為S11111110P.(其中S=0,P=1)
它的高低電平的脈沖寬度之比為1:7:1.精度最高.

由于0x7f不是可打印字符,故一般在HEX碼和UU碼通訊協(xié)議中不會采用之.
這樣就應該采用0x3f.即串行數(shù)據(jù)位為S11111100P.(其中S=0,P=1)
它的高低電平的脈沖寬度之比為1:6:2.精度次之.

再可以采用0x1f.即串行數(shù)據(jù)位為S11111000P.(其中S=0,P=1)
它的高低電平的脈沖寬度之比為1:5:3.精度不好.
且0x1f也是非打印字符.

故采用0x3f即字符"?"算是最佳的選擇了.

雖然可以采用其他數(shù)據(jù)作為同步字符,如:
0x00.即串行數(shù)據(jù)位為S00000000P.(其中S=0,P=1)
但只有低電平的脈沖寬度,且0x00是C語言的字符串結尾符和非打印字符,肯定不可取.

0x40.即串行數(shù)據(jù)位為S00000010P.(其中S=0,P=1)
雖說高低電平的脈沖寬度之比為7:1:1.精度最高.與0x1f相同,同時又是字符"@"
所以,在某種角度上來看,用"@"來做波特率自適應的同步字符也是一個相當不錯的選擇.
不過,用"?"的意思好象在"問"對方是否上線(在線).

0x60.即串行數(shù)據(jù)位為S00000110P.(其中S=0,P=1)
雖說高低電平的脈沖寬度之比為6:2:1.精度次之.與0x3f相同,同時又是字符"'"
這個肯定不如"?"有創(chuàng)意.

總之,從以上分析可知,LPCARM波特率自適應同步字符"?"確實很完美.

哈哈~~~球也要看完了.意大利人真走運~~~老黃喊"意大利萬歲"倒也有些道理~~~
3:0.夠暈菜~~~

HotPower@126.com

      2006.7.1 4:47   于西安大雁塔村隊部

波特率自適應技術在dsp5402上的應用之c++測試程序

2樓: >>參與討論
hotpower
完美的同步達到完美的ISP
所以LPCARM的ISP的波特率可以任意設定~~~

雖說理論上不如"@",但"?"的"物理意義"較為明顯~~~

這在非二進制串行通訊中,作為波特率自適應同步字符都很完美.

3樓: >>參與討論
cqkj
re
在51的MONITOR仿真器中,,用到自適應波特率是用:0x11來進行波特率識別。。。

高4位和低4位的最低位都為1。


4樓: >>參與討論
computer00
哈哈~~~~~  '@' 也很有它的意義呀,
@ 念做 at,意思就表示它在那里的意思~~~~~~


例如,hotpower@163.com,就表示hotpower在163.com~~~~~~~~

5樓: >>參與討論
hotpower
@好象也有圈圈的含義---這個都忘了~~~夠暈菜~~~
 
6樓: >>參與討論
hotpower
0x11做為波特率識別碼與@,?差遠了~~~
0x11.即串行數(shù)據(jù)位為S10001000P.(其中S=0,P=1)
它的高低電平的脈沖寬度之比為1:1:3:1:3.

與@的7:1:1和?的1:6:2精度還是差1倍的,而且0x11不是1個可打印字符.

所以0x11是沒資格和@,?叫板的~~~

7樓: >>參與討論
hotpower
問號的精華在于三個不同的脈寬互成比例
菜農 發(fā)表于 2006-7-1 13:20:00 http://bbs.21ic.com/club/bbs/showannounce.asp?v=&id=2147081

再高的bps也必須滿足這三者的比例關系,所以"時間?"不是問題~~~

三者的比例關系實際隱含了一種密碼校對關系~~`,三者的比例不對就休想聯(lián)機~~`
所謂"寧愿錯殺一千,也不放過一個"~~~

而且在系統(tǒng)各自的通訊協(xié)議中還需采用校驗機制,所以你的擔心是有些多余~~`

由于本程序采用軟件模擬,在進出中斷都會產生時間偏移,何況我未將另一定時器TINT0關閉(為了不影響系統(tǒng)的實時和LCD的顯示及其他等程序的運行).

本程序最高BPS可達到57600,這就滿足了一般的工控通訊要求~~~~

實際上工控一般采用9600~19200



哈哈~~~一直沒空自己編寫LPCARMISP軟件,實在暈菜~~~郁悶之極呀~~~我暈倒!!!只研究了UU碼~~~

* - 本貼最后修改時間:2006-7-1 13:26:28 修改者:hotpower

8樓: >>參與討論
何以解憂
哈哈分析得夠透徹,看球不忘灌“水”,這個水的價值很高,佩服
 
9樓: >>參與討論
hotpower
哈哈,比起周公的工程師們可差太遠了~~~
 
10樓: >>參與討論
hotpower
今又研究了DSP2812的同步字符
DSP2812的同步字符為'A'或'a'.及0x41或0x61.

0x41.即串行數(shù)據(jù)位為S10000010P.(其中S=0,P=1)
它的高低電平的脈沖寬度之比為1:1:5:1:1.

0x61.即串行數(shù)據(jù)位為S10000110P.(其中S=0,P=1)
它的高低電平的脈沖寬度之比為1:1:4:2:1.

故比'?'的1:6:2測試復雜的多~~~

但是比0x11的1:1:3:1:3要好些~~~




* - 本貼最后修改時間:2006-7-2 12:52:24 修改者:hotpower

11樓: >>參與討論
computer00
我倒~~~測試這么多呀,挑一個最好的測試就行了嘛~~~~~
要是我,我就選發(fā)一個0x00,一個0xFF這樣交替來~~~~~

12樓: >>參與討論
cqkj
re
暈...0X11是差了點...
但是可以保證100%識別不出錯....

用上產品上賣到錢就行...



13樓: >>參與討論
hotpower
我更暈~~~0x55也沒錯呀~~~只是理論分析
 
參與討論
昵稱:
討論內容:
 
 
相關帖子
我用2142的usb通訊時,p0.31不變高?
那位朋友用過這塊液晶驅動板啊??
哪位指點一下,我安裝的keil怎么沒有keil\\arm這個目錄呢?
請教網(wǎng)絡問題
誰用ZLG的東西做過彩信應用的?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號