久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1469|回復(fù): 0
收起左側(cè)

SI24R1與NRF24L01P的測試參考資料

[復(fù)制鏈接]
ID:351643 發(fā)表于 2020-6-4 15:07 | 顯示全部樓層 |閱讀模式


新一代nRF24L01P與上一代nRF24L01相比寄存器沒有太大的變化,但是有幾個關(guān)于通信管道和ACK的寄存器的配置還是與上一代不同的。另外,個人理解shockburst和enhanced shockburst的區(qū)別就在于enhanced shockburst可以在接收機回復(fù)ACK時掛上1到32字節(jié)的數(shù)據(jù)包,這樣就實現(xiàn)了所謂的“全雙工”通信。然而實際探查這項功能發(fā)現(xiàn)它的作用其實有限,因為是ACK附加數(shù)據(jù)包,因此它的傳輸可靠性無法由射頻芯片的校驗重發(fā)機制保證,只能在接收機軟件上做改進,而這有時還不如讓接收發(fā)送機依照發(fā)送次序輪流進入發(fā)送/接收狀態(tài)來的方便。只適合回傳一些實時性要求高,對傳輸可靠性要求不嚴(yán)格的數(shù)據(jù)。




所謂知易行難,在著手做最基礎(chǔ)的SPI通信時就接連遇到了問題。首先是AVR的硬SPI無輸出。經(jīng)過查找,最終問題是SPI設(shè)定為主機時,SS口要么設(shè)置為輸出,要么設(shè)置為輸入時接上拉,否則當(dāng)SS為輸入又懸空或者低電平就會進入從機模式,自然沒有輸出。這個問題解決了,接下來遇到了一個更基本的問題,SPI的通信機制。一般說來另外兩種常見的通信方式中,UART是有收、發(fā)兩個數(shù)據(jù)寄存器,I2C則是通過數(shù)據(jù)包頭來區(qū)分接收和發(fā)送的數(shù)據(jù)。而SPI只有一個SPDR寄存器,而且只有寫入的時候啟動SPI產(chǎn)生SCK信號,怎么去讀MISO的數(shù)據(jù)?要自己做外部中斷讀取嗎?后來才明白,SPI的主機和從機各自的一個SPDR通過MOSI和MISO串聯(lián)成一個類似環(huán)形的大移位寄存器。主機的SPDR中的數(shù)據(jù)從MOSI每移除一位,從機就在相同的SCK上升沿或下降沿通過MISO將一位數(shù)據(jù)發(fā)送給主機。這樣,當(dāng)SCK八個周期后,主機中的SPDR的數(shù)據(jù)全部移出了而被從機發(fā)送來的數(shù)據(jù)填充,從機則反之,這樣,在一字節(jié)的通信結(jié)束后再讀取SPDR,所返回的數(shù)據(jù)也就是從機發(fā)送來的數(shù)據(jù)。




解決了這個問題后與nRF24L01P的通信也就變得簡單了,先將SS拉低,告知nRF24L01P即將啟動SPI通信,當(dāng)通過MOSI第一次向射頻芯片寫入任何字節(jié)時,MISO上都會有一個字節(jié)傳送給主機,這個就是芯片默認(rèn)的0X07狀態(tài)寄存器里的數(shù)據(jù),如果我們在第一次寫入讀取0X01寄存器的數(shù)據(jù),那么0X01寄存器的數(shù)據(jù)只有在下一字節(jié)的通信中才會通過MISO回傳給主機,而發(fā)起下一輪字節(jié)通信就需要主機繼續(xù)發(fā)送數(shù)據(jù),那么問題來了,讀命令已經(jīng)發(fā)送了,那么接下來我該發(fā)送什么。在nRF24L01P的數(shù)據(jù)手冊中給出的建議是發(fā)送0XFF,這個命令對射頻芯片沒有任何意義,其實也可以再隨便發(fā)送其他任意一個數(shù),只是為了避免產(chǎn)生不必要的麻煩而發(fā)送0XFF.發(fā)送0X00也可以,而且網(wǎng)上的絕大多數(shù)例程都是這樣用的,但是這實際上是讀0X00寄存器指令。讀取完畢后,將SS拉高,本輪通信結(jié)束。當(dāng)下一次SS再次拉低時,一切又重新開始。也就是如果上一輪通信的最后MOSI上發(fā)送的是0X00,在這一輪第一次發(fā)送指令時MISO上移入的并不是0X00寄存器的狀態(tài),而依舊是默認(rèn)的0X07狀態(tài)寄存器的狀態(tài)。




有些繞,但是仔細看手冊就會發(fā)現(xiàn)原來規(guī)則很簡單。學(xué)習(xí)就是一個先將書本學(xué)厚,再將書本學(xué)薄的過程。




此外,MISO和IRQ信號雖然理論上和實際試驗都可以達到AVR的0.7VDD的高電平檢測電壓,但是在實際應(yīng)用時必須要做3.3V到5V的電平轉(zhuǎn)換,否則極容易被干擾。而且對芯片的初始化也要等到開機后500毫秒在進行,以免因為芯片上電后還未穩(wěn)定工作而配置不正常,事實也的確證明,芯片從上電到穩(wěn)定的確存在一個比較長的時間。
但近年來國產(chǎn)芯片的替代品出來后,有理由項目國產(chǎn)芯片在支持產(chǎn)品本身需求的前提下,的卻能降低成本。nRF24L01P的國產(chǎn)替代SI24R1也是有一同測試,確實是還可以

名片.png

Si24R1Datasheet.pdf

2.48 MB, 下載次數(shù): 9, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美国产日韩成人 | 国产精品91久久久久久 | 亚洲日本免费 | 91免费电影| 国产丝袜人妖cd露出 | 久久久久中文字幕 | 亚洲精品一区二区三区蜜桃久 | 精品国产欧美一区二区三区成人 | 日韩中文字幕在线 | 亚洲一区二区在线播放 | 精产国产伦理一二三区 | 四虎永久在线精品免费一区二 | 国产传媒在线播放 | 成人久久18免费网站图片 | 一区二区三区欧美大片 | 久久99久久久久 | 天天拍天天操 | 在线观看你懂的网站 | 黄色成人av| 国产黄色大片在线免费观看 | 狠狠av| 在线观看亚洲专区 | 欧美一级片在线观看 | tube国产| a久久| 99爱在线视频 | 亚洲精品中文字幕中文字幕 | 国产第一页在线观看 | 人妖一区 | 国产高清在线观看 | 日本一区二区不卡视频 | 日韩av黄色 | 亚洲午夜精品视频 | 亚洲一区精品在线 | 精品国产99 | 日韩一区二区三区视频 | 中文字幕在线一区 | 久久久久www| 久久三区 | 亚洲精品一区二区三区在线 | 亚洲激情视频在线 |