freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

多路無(wú)線遙控開(kāi)關(guān)設(shè)計(jì)論文-資料下載頁(yè)

2024-12-03 15:16本頁(yè)面

【導(dǎo)讀】具有精度高、適應(yīng)環(huán)境能力強(qiáng)、抗干擾強(qiáng)、操作快捷等許多優(yōu)點(diǎn)。對(duì)擁有多種家用電器的現(xiàn)代化家庭,設(shè)計(jì)了一套能夠控制多路用電器的無(wú)線遙控開(kāi)關(guān)?,F(xiàn)數(shù)據(jù)的無(wú)線收發(fā)及狀態(tài)的顯示。該無(wú)線遙控開(kāi)關(guān)電路可控制八路開(kāi)關(guān),可在中短距離。經(jīng)過(guò)試驗(yàn)驗(yàn)證,該無(wú)線遙控開(kāi)關(guān)操作方便,工作可靠,符合設(shè)計(jì)要求。促進(jìn)家居電器的智能化具有重要意義。

  

【正文】 62,即 FREQ2=0x10,FREQ1=OxA7,FREQ0=0x62。 ( 2)通信速率的設(shè)置 根據(jù) CC1101 數(shù)據(jù)手冊(cè)可知, MDMCFG4 寄存器中的 DRATE_E 位和 MDMCFG3 寄存器負(fù)責(zé)無(wú)線數(shù)據(jù)傳輸率。無(wú)線數(shù)據(jù)傳輸速率越高,傳輸時(shí)間越短,本文選擇無(wú)線數(shù)據(jù)傳輸速率為 250kbps,根據(jù) ()式,可計(jì)算出 MDMCFG4 寄存器中的 DRATE_E[3:0]位和寄存器 MDMCFG3 的值。 )(2 2_M )256( 38 _E        x os cD A T A fD R A T ER D R A T E ???? 第 22 頁(yè) 共 41 頁(yè) 22 由公式( )推到 DRATE_E 和 DRATE_M,得到 )5.(2562D R A T E _)4.(2Rl og D R A T E _ED R A T E _ ED A T A2204         2RM=428DATA                           ???? ?x o s cx o s cff 將所選無(wú)線數(shù)據(jù)通信速率和晶振頻率這兩個(gè)值代入 ()式中,得到 DRATE_E=13,即 DRATE_E[3:0]=0x0D,再通過(guò) ()計(jì)算得到 DRATE_M=59,即 MDMCFG3=0x3B。 ( 3)數(shù)據(jù)包格式的設(shè)置 CC1101 支持多種數(shù)據(jù)包格式用戶可以根據(jù)需要進(jìn)行選擇。本文通過(guò)設(shè)置[2:0]=010 , 開(kāi) 啟 4 個(gè) 字 節(jié) 的 前 導(dǎo) 位 ; _MODE[2:0]=011,開(kāi)啟 32 位的同步字節(jié),接收時(shí) 32 位中需要有 30 位匹配;[1:0]=01,可變長(zhǎng)數(shù)據(jù)包同步字節(jié)后的第一個(gè)字節(jié)設(shè)置數(shù)據(jù)包長(zhǎng)度; PKTLEN=0xFF,允許數(shù)據(jù)包最長(zhǎng)為 255; [1:0]=10,開(kāi)啟地址檢查, 0x00 為廣播地址; =1,開(kāi)啟 CRC 校驗(yàn);經(jīng)過(guò)以上設(shè)置后數(shù)據(jù)包格式如圖 所示。無(wú)線遙控開(kāi)關(guān)的地 址通過(guò) DEVICE_ADDR[7:0]寄存器來(lái)設(shè)置,最大地址為 255。 圖 CC1101 數(shù)據(jù)包格式 單片機(jī)與 CC1101 的 SPI 接口 SPI( Serial Peripheral Interface)是一種串行同步通訊協(xié)議,由一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備組成,主設(shè)備啟動(dòng)一個(gè)與從設(shè)備的同步通訊,從而完成數(shù)據(jù)的交換。SPI 接口由 SDI(串行數(shù)據(jù)輸入), SDO(串行數(shù)據(jù)輸出), SCK(串行移位時(shí)鐘), CS(從使能信號(hào))四種信號(hào)構(gòu)成, CS 決定了唯一的與主設(shè)備通信的從設(shè)備,如沒(méi)有 CS 信號(hào),則只能存在一個(gè)從設(shè)備,主設(shè)備通過(guò)產(chǎn)生移位時(shí)鐘來(lái)發(fā)起通訊。通訊時(shí),數(shù)據(jù)由 SDO 輸出, SDI 輸入,數(shù)據(jù)在時(shí)鐘的上升或下降沿由 SDO 輸出,在緊接著的下降或上升沿由SDI 讀入,這樣經(jīng)過(guò) 8/16 次時(shí)鐘的改變,完成 8/16 位數(shù)據(jù)的傳輸。在 SPI 傳輸中,數(shù)據(jù)是同步進(jìn)行發(fā)送和接收的。數(shù)據(jù)傳輸?shù)臅r(shí)鐘基于來(lái)自主處理器的時(shí)鐘脈沖 。 SPI 模塊為了和外設(shè)進(jìn)行數(shù)據(jù)交換,根據(jù)外設(shè)工作要求,其輸出串行同步時(shí)鐘極性和相位可以進(jìn)行配置,時(shí)鐘極性( CPOL)對(duì)傳輸協(xié)議沒(méi)有重大的影響。如果 CPOL=0, 第 23 頁(yè) 共 41 頁(yè) 23 串行同步時(shí)鐘的空閑狀態(tài)為低電 平;如果 CPOL=1,串行同步時(shí)鐘的空閑狀態(tài)為高電平。時(shí)鐘相位( CPHA)能夠配置用于選擇兩種不同的傳 輸協(xié)議之一進(jìn)行數(shù)據(jù)傳輸。如果CPHA=0,在串行同步時(shí)鐘的第一個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣;如果 CPHA=1,在串行同步時(shí)鐘的第二個(gè)跳變沿 (上升或下降)數(shù)據(jù)被采樣。 SPI主模塊和與之通信的外設(shè)音時(shí)鐘相位和極性應(yīng)該一致。 SPI 總線是 Motorola 公司推出的三線同步接口,同步串行 3線方式進(jìn)行通信 :一條時(shí)鐘線 SCK,一條數(shù)據(jù)輸入線 MOSI,一條數(shù)據(jù)輸出線 MISO。用于 CPU 與各種外圍器件進(jìn)行全雙工 、同步串行通訊。 SPI 主要特點(diǎn)有 :可以同時(shí)發(fā)出和接收串行數(shù)據(jù) 。可以當(dāng)作主機(jī)或從機(jī)工作 。提供頻率可編程時(shí)鐘 。發(fā)送結(jié)束 中斷標(biāo)志 。寫(xiě)沖突保護(hù) ??偩€競(jìng)爭(zhēng)保護(hù)等。 CC1101 通過(guò) 4線 SPI兼容接口( SI,SO,SCLK 和 CSn)配置。這個(gè)接口同時(shí)用作寫(xiě)和讀緩存數(shù)據(jù)。本論文單片機(jī)用 P2 口與 CC1101。在地址和數(shù)據(jù)轉(zhuǎn)換期間, CSn 腳(芯片選擇,低電平有效)必須保持為低電平。如果在過(guò)程中 CSn 變?yōu)楦唠娖?,則轉(zhuǎn)換取消。當(dāng) CSn變低,在開(kāi)始轉(zhuǎn)換頭字節(jié)之前, MCU 必須等待,直到 SO 腳變低。這表明電壓調(diào)制器已經(jīng)穩(wěn)定,晶體正在 運(yùn)作中。除非芯片處在 SLEEP 或 XOFF 狀態(tài), SO腳在 CSn 變低之后總會(huì)立即變低。讀寫(xiě)時(shí)序圖如圖 , SPI 接口定時(shí)要求如表 43 所示。 表 43 SPI 接口定時(shí)要求 參數(shù) 描述 最小值 最大值 FSCLK SCLK 頻率 100 納秒延遲之間插入地址字節(jié)和數(shù)據(jù)字節(jié)(單一存取) 或地址和數(shù)據(jù)之間,數(shù)據(jù)字節(jié)之間(突發(fā)存?。?。 單一接入,地址和數(shù)據(jù)字節(jié)地之間不延遲 突發(fā)存取,地址和數(shù)據(jù)之間,數(shù)據(jù)字節(jié)之間不延遲 — — — 10MHz 9 MHz MHz tsp,pd CSn 低到 SCLK 的正邊緣,功率降低模式下 150us — Tsp CSn 低到 SCLK 的正邊緣,活動(dòng)模式下 20ns — Tch 時(shí)鐘高 50ns — Tcl 時(shí)鐘低 50ns — trise 時(shí)鐘上升時(shí)間 — 5ns tfall 時(shí)鐘上升時(shí)間 — 5ns Tsd 向 SCLK 的正邊緣建立數(shù)據(jù) 單一存取 突發(fā)存取 55ns 76 ns — — Thd 在 SCLK 的正邊緣之后保持?jǐn)?shù)據(jù) 20ns — Tns SCLK 到 CSn 高時(shí)的負(fù)邊緣 20ns — 第 24 頁(yè) 共 41 頁(yè) 24 圖 配置寄存器讀寫(xiě)時(shí)序圖 SPI接口上所有的處 理都包含一個(gè)讀 /寫(xiě)位,一個(gè)突發(fā)訪問(wèn)位和一個(gè) 6 位地址的頭字節(jié)一起作用。 ( 1) CC1101 配置寄存器位于 SPI 地址從 0x00 到 0x2F之間。讀 /寫(xiě)位控制寄存器是讀或者寫(xiě)。當(dāng)對(duì)寄存器寫(xiě)時(shí),每當(dāng)一個(gè)待寫(xiě)入的數(shù)據(jù)字節(jié)傳輸?shù)?SI 腳時(shí),狀態(tài)字節(jié)將被送至 SO 腳。通過(guò)在地址頭設(shè)置突發(fā)位,連續(xù)地址的寄存器能高效地被訪問(wèn)。這個(gè)地址在內(nèi)部計(jì)數(shù)器內(nèi)設(shè)置起始地址。每增加一個(gè)新的字節(jié)(每 8 個(gè)時(shí)鐘脈沖),計(jì)數(shù)器值增加 1。突發(fā)訪問(wèn),不管是讀訪問(wèn)還是寫(xiě)訪問(wèn),必須通過(guò)設(shè)置 CSn 為高來(lái)終止。 ( 2)對(duì) 0x300x3D 間的地址來(lái)說(shuō),突發(fā)位用以在 狀態(tài)寄存器和命令濾波之間選擇。狀態(tài)寄存器只讀。突發(fā)讀取對(duì)狀態(tài)寄存器是不可取的,故它們每次只能被讀一個(gè)。命令濾波可被視為 CC1101 的單字節(jié)指令。通過(guò)命令濾波寄存器的選址,內(nèi)部序列被啟動(dòng)。這些命令用來(lái)關(guān)閉晶體振蕩器,開(kāi)啟傳輸模式和電磁波激活等。共有 14 個(gè)命令濾波。命令濾波寄存器的訪問(wèn)和一個(gè)寄存器的寫(xiě)操作一樣,但沒(méi)有數(shù)據(jù)被傳輸。就是說(shuō),只有R/W 位(置為 0),突發(fā)訪問(wèn)(置為 0)和六個(gè)地址位( 0x30 和 0x3D 之間)被寫(xiě)。一個(gè)命令濾波可能在任何其他 SPI 訪問(wèn)之后,而不需要將 CSn 拉至高電平。命令濾波立即被執(zhí)行,當(dāng) CSn高時(shí) SPWD 和 SXOFF 濾波是例外。 ( 3) 64字節(jié) TX FIFO和 64字節(jié) RX FIFO通過(guò) 0x3F被訪問(wèn)。當(dāng)讀 /寫(xiě)位為 0時(shí), TXFIFO被訪問(wèn),當(dāng)讀 /寫(xiě)位為 1時(shí), RX FIFO 被訪問(wèn)。 TX FIFO 是只寫(xiě)的,而 RX FIFO 是只讀的。突發(fā)位用來(lái)決定 FIFO 訪問(wèn)是單字節(jié)還是突發(fā)訪問(wèn)。單字節(jié)訪問(wèn)方式期望地址的突發(fā)位為 0及 1 數(shù)據(jù)字節(jié)。在數(shù)據(jù)字節(jié)之后等待一個(gè)新的地址,因此, CSn 繼續(xù)保持低。突發(fā)訪問(wèn)方式允許一地址字節(jié),然后是連續(xù)的數(shù)據(jù)字節(jié),直到通過(guò)設(shè)置 CSn 為高來(lái)關(guān)斷訪問(wèn)。 5 軟件設(shè)計(jì) 軟件 設(shè)計(jì)相關(guān)技術(shù) 在單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)中,軟件的設(shè)計(jì)是最復(fù)雜和困難的,大部分情況下工作量 第 25 頁(yè) 共 41 頁(yè) 25 都較大,特別是對(duì)那些控制系統(tǒng)比較復(fù)雜的情況。 對(duì)于 機(jī)電一體化的設(shè)計(jì)人員,往往需要同時(shí)考慮單片機(jī)的軟硬件資源分配。在考慮一個(gè)應(yīng)用工程項(xiàng)目時(shí)就需先分析該系統(tǒng)完成的任務(wù),明確軟硬件個(gè)承擔(dān)哪些工作,有時(shí),實(shí)際上這種情況很多,就是一些任務(wù)可用軟件完成,也可以用硬件構(gòu)成,還需考慮采用軟件或硬件它們優(yōu)勢(shì),一般均以最優(yōu)的方案為首選。象虛定義各輸入 /輸出( I/O)的功能、數(shù)據(jù)的傳輸交換形式、與外部設(shè)備接口及它們的地址分配、程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ) 器的使用區(qū)域、主程序子程序使用的空間、顯示(如有的話)等數(shù)據(jù)暫存區(qū)的選擇、堆棧區(qū)的開(kāi)辟等等因素。 對(duì)于復(fù)雜的多任務(wù)實(shí)時(shí)控制系統(tǒng),要處理的數(shù)據(jù)就非常龐大,同時(shí)又要求對(duì)多個(gè)控制對(duì)象進(jìn)行實(shí)時(shí)控制,要求對(duì)各控制對(duì)象的實(shí)時(shí)數(shù)據(jù)進(jìn)行快速的處理和響應(yīng),這對(duì)系統(tǒng)的實(shí)時(shí)性、 “ 并行性 ” 提出了更高的要求。這種情況下一般要求采用實(shí)在時(shí)地任務(wù)操作系統(tǒng),并要求這個(gè)系統(tǒng)具備優(yōu)良的實(shí)時(shí)控制能力。 在單片機(jī)的軟件設(shè)計(jì)中,任務(wù)很多,程序量很大,一般都需把程序分成若干個(gè)功能獨(dú)立的模塊,這也是軟件設(shè)計(jì)中常用的方法,這也即俗稱的 “ 化整為零 ” 的方法。 理論和實(shí)踐都證明,這種方法是行之有效的。這樣可以分階段地對(duì)單個(gè)模塊進(jìn)行設(shè)計(jì)和調(diào)試,一般情況下單個(gè)模塊利用仿真工具即可將它們調(diào)試好,最后再將它們有機(jī)的聯(lián)系起來(lái),構(gòu)成一個(gè)完整的控制程序,并對(duì)它們進(jìn)行聯(lián)合調(diào)試即可。程序編寫(xiě)時(shí),首先需對(duì)用到的參數(shù)進(jìn)行定義,和標(biāo)號(hào)的定義一樣,使用的字符必須易于理解,可以使用英文單詞和漢語(yǔ)拼音的縮寫(xiě)形式,這對(duì)今后自己的辨讀和排錯(cuò)都是有好處的。然后初始化各特殊功能寄存器的狀態(tài),中斷口的地址區(qū)定義,數(shù)據(jù)存儲(chǔ)區(qū)的安排,根據(jù)系統(tǒng)的具體情況,估算中斷、子程序的使用情況,預(yù)留出堆棧區(qū),和需要的數(shù)據(jù) 緩存區(qū),接下來(lái)就開(kāi)始編寫(xiě)程序了。 CC1101 無(wú)線收發(fā)程序設(shè)計(jì) 通過(guò)對(duì) CC1101 進(jìn)行正確的參數(shù)配置,就能夠?qū)崿F(xiàn)數(shù)據(jù)的無(wú)線傳輸。無(wú)線通信模塊接收到無(wú)線反饋控制器的命令,然后根據(jù)這些命令無(wú)線遙控開(kāi)關(guān)進(jìn)行復(fù)位、打包和數(shù)據(jù)包傳輸?shù)炔僮?,其無(wú)線收發(fā)程序流程如圖 所示。當(dāng) CC1101 狀態(tài)不正常時(shí)可以通過(guò)程序控制來(lái)復(fù)位芯片,復(fù)位的時(shí)序如圖 所示。 程序復(fù)位的操作順序如下: ( 1)設(shè)置 SCLK=1 和 SI=0,以避免引腳控制模式造成潛在的問(wèn)題; ( 2)設(shè)置 CSn 為低,然后再拉高; ( 3)保持 CSn 為高至少 40μ s; ( 4)將 CSn 拉低,等待 SO 變低( CHIP_RDYn); ( 5)在 SI 上發(fā)送 SRES 命令; ( 6)當(dāng) SO 再次變低后,復(fù)位工作完成, CC1101 處于 IDLE 狀態(tài)。 第 26 頁(yè) 共 41 頁(yè) 26 開(kāi) 始C C 1 1 0 1 初 始 化是 否 有 數(shù)據(jù) 接 收 ?C C 1 1 0 1 設(shè) 置為 接 收 模 式是 否 是 配對(duì) 地 址 ?是 否 是 本機(jī) 地 址 ?是 否 是 復(fù)位 命 令 ?將 數(shù) 據(jù) 打 包C C 1 1 0 1 設(shè) 置為 發(fā) 送 模 式發(fā) 送 數(shù) 據(jù) 包M C U 復(fù) 位Y NYYYNN N返 回 待 機(jī) 狀 態(tài) 圖 無(wú)線數(shù)據(jù)收發(fā)流程圖 無(wú)線通信模塊的發(fā)射部分程序如下 // CC1101 發(fā)送一組數(shù)據(jù) //***************************************************************************** void halRfSendPacket(unsigned char *txBuffer,unsigned char size) { halSpiWriteReg(CCxxx0_TXFIFO, size)。 halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size)。 //寫(xiě)入要發(fā)送的數(shù)據(jù) halSpiStrobe(CCxxx0_STX)。 //進(jìn)入發(fā)送模式發(fā)送數(shù)據(jù) } //***************************************************************************** 第 27 頁(yè) 共 41 頁(yè) 27 圖 程序復(fù)位時(shí)序圖 SPI程序編寫(xiě)的 的注意事項(xiàng) 進(jìn)行 SPI 寄存器初始 化, 按照你要進(jìn)行的方式進(jìn)行設(shè)置(DMA ,中斷 ,查詢 ), 然后就可以進(jìn)行讀寫(xiě)數(shù)據(jù)了 ,但是 要注意 ,讀數(shù)據(jù)的時(shí)候寄存器SPSTA1 最低位是 0的時(shí)候讀完 , SPI 是主機(jī)的時(shí)候 ,狀態(tài)積存器是 1,SPI 是從機(jī)的時(shí)候 ,狀態(tài)寄存器是 0, 而且 SPI寄存器 一次只能傳送 8位數(shù)據(jù) 。 以下是通信模塊
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1