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

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

問一個(gè)nrf905收數(shù)據(jù)偶爾出錯(cuò)(大概千分之一的出錯(cuò)概率)問題

作者:wuheelht 欄目:通信技術(shù)
問一個(gè)NRF905收數(shù)據(jù)偶爾出錯(cuò)(大概千分之一的出錯(cuò)概率)問題
  我用905進(jìn)行通信,有近端A和遠(yuǎn)端B,近端A向遠(yuǎn)端B發(fā)送查詢命令,遠(yuǎn)端B收到查詢命令后返回?cái)?shù)據(jù)給近端A。經(jīng)過一段時(shí)間的調(diào)試,近端A可以查詢到遠(yuǎn)端B的數(shù)據(jù),但近端A收到的遠(yuǎn)端B返回的數(shù)據(jù)會(huì)偶爾出錯(cuò),出錯(cuò)時(shí)收到的一包數(shù)據(jù)全是亂的(收到的一包數(shù)據(jù)長度為32字節(jié)),且無規(guī)律(大概一千包錯(cuò)一包)。近端A發(fā)出查詢命令只有一包,發(fā)出后就轉(zhuǎn)成接收方式,遠(yuǎn)端B平時(shí)總是接收方式,收到數(shù)據(jù)后轉(zhuǎn)成發(fā)送方式,連續(xù)發(fā)送4包數(shù)據(jù)給近端A。近端A發(fā)送查詢命令為2包/秒。
  905發(fā)送時(shí)是采用連續(xù)發(fā)送的方式,即如果發(fā)送的數(shù)據(jù)很長,我就分N(N<=4)包,這N包順序發(fā)出,發(fā)出一包后延時(shí)10ms發(fā)送下一包。
  905接收時(shí)是采用中斷方式,即將DR作為單片機(jī)的外部中斷源。在中斷處理函數(shù)中讀出收到的數(shù)據(jù)。
  我還作過試驗(yàn),近段A向遠(yuǎn)端B發(fā)送數(shù)據(jù),而遠(yuǎn)端B不回應(yīng),只接收數(shù)據(jù),即A發(fā),B收。我發(fā)現(xiàn)B接收到的A的查詢包出錯(cuò)概率大概7萬包數(shù)據(jù)才錯(cuò)一條(可以接受的出錯(cuò)概率),A發(fā)送的速率是40包/秒。我想會(huì)不會(huì)是由于經(jīng)常在發(fā)送和接收方式之間轉(zhuǎn)換,導(dǎo)致905出錯(cuò)的概率會(huì)升高呢,但千分之一的概率太高了點(diǎn),我也采用延時(shí)等方法,但無效果。請教壇上高人,有沒有碰到這種情況的?


2樓: >>參與討論
chunyang
切換后要待器件穩(wěn)定后才能發(fā)送數(shù)據(jù),注意延時(shí)的位置
合理的協(xié)議也很重要。

3樓: >>參與討論
wuheelht
謝謝
切換的延時(shí)時(shí)間長度遠(yuǎn)大于905的PDF文件上說的時(shí)間長度。而且今天下午還作了個(gè)試驗(yàn),A向B連續(xù)發(fā)送200包數(shù)據(jù)(1.5秒),每包32字節(jié),B接收正確。明天用2個(gè)A來作實(shí)驗(yàn)看看,1個(gè)A發(fā),1個(gè)A不發(fā),是不是同時(shí)收到錯(cuò)誤數(shù)據(jù)。

4樓: >>參與討論
chunyang
如果你妥善處理了芯片的工作時(shí)序和步驟
那剩下就是晶體離散性、天線匹配等問題了。

5樓: >>參與討論
wuheelht
發(fā)現(xiàn)原因了!但不知為什么。
發(fā)現(xiàn)原因了!但不知為什么。我做了個(gè)試驗(yàn),只有A發(fā),B斷電,A發(fā)送成功一包數(shù)據(jù)后馬上轉(zhuǎn)為接收狀態(tài),我發(fā)現(xiàn):A偶爾(千分之一概率)會(huì)進(jìn)接收中斷,接受中斷是由DR產(chǎn)生的,我在發(fā)送時(shí)將中斷使能關(guān)閉了,通過示波器可以看到發(fā)送成功6mS(此時(shí)已經(jīng)通過控制TX_EN將DR置低,再開中斷)后,DR又變高了,收到的是亂碼。按理說我發(fā)送成功后且將DR置低后到下次發(fā)送之間DR應(yīng)該為低才對呀。請問chunyang碰到過這種情況沒?

6樓: >>參與討論
chunyang
那就是你設(shè)置的問題了
需要加深對器件手冊的閱讀和理解。

7樓: >>參與討論
wuheelht
905的PDF我仔細(xì)讀了
對這種現(xiàn)象,從PDF中找不到理論解釋,而且我試了很多種方法,關(guān)鍵就是從發(fā)送狀態(tài)轉(zhuǎn)為接收狀態(tài)時(shí)會(huì)出問題。請問chunyang大俠對你的905作過誤碼率測試沒有?我想知道到底是905的特性還是我程序的問題。

8樓: >>參與討論
ar3000a
dr只能讀取,"把dr置低"肯定不對。
 
9樓: >>參與討論
dianzihan
確保已經(jīng)通過控制TX_EN將DR置低了嗎?
確保已經(jīng)通過控制TX_EN將DR置低了嗎?

10樓: >>參與討論
chunyang
不要懷疑器件
芯片的正確配置很重要。

11樓: >>參與討論
wuheelht
可以確定
我是通過TX_EN將DR置0的。A的流程是 trx_en=0 + tx_en=1 + 延時(shí)(進(jìn)入standby狀態(tài))---> 寫發(fā)送地址和發(fā)送數(shù)據(jù)---> trx_en=1(啟動(dòng)發(fā)送) + 延時(shí)(等待發(fā)送完成) + tx_en=0(轉(zhuǎn)為接收狀態(tài))。

12樓: >>參與討論
wuheelht
今天下午發(fā)現(xiàn)跟本機(jī)地址有關(guān)!。
今天又仔細(xì)閱讀了PDF,發(fā)現(xiàn)我的近端A地址為4字節(jié)長,為0000,將地址更改為非全0就不會(huì)收到討厭的DR上跳沿了,看來全0的地址容易受到自己發(fā)出的數(shù)據(jù)的干擾啊?磥磉是要仔細(xì)鉆研幫助文件啊,不過905的幫助文件敘述比較含糊。CC1000的幫助文件就很嚴(yán)謹(jǐn),不過CC1000使用起來太復(fù)雜了,寄存器太多。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
max232和max202兼容嗎?
在線請教來電顯示電路解碼問題
救急!救急啊各位大俠們!~
請問CX20106A的價(jià)格大概是多少啊~~~
載波通訊
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)