www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制技術(shù)文庫
[導(dǎo)讀] 引言 隨著頻率資源的日趨緊張,短距離無線通信按窄帶化趨勢發(fā)展。無線數(shù)傳模塊一般由微處理器和收發(fā)芯片組成,本文所設(shè)計的窄帶數(shù)傳模塊的微處理器采用了STM32F103ZE芯片,收發(fā)芯片選用了

引言

隨著頻率資源的日趨緊張,短距離無線通信按窄帶化趨勢發(fā)展。無線數(shù)傳模塊一般由微處理器和收發(fā)芯片組成,本文所設(shè)計的窄帶數(shù)傳模塊的微處理器采用了STM32F103ZE芯片,收發(fā)芯片選用了TI公司新推出的CC1120,CC1120通過SPI串行總線協(xié)議與MCU相連接。同時,采用了可移植、可植入ROM、可裁剪、搶占式的實時多任務(wù)操作系統(tǒng)μC/OS—III作為軟件平臺。

1 系統(tǒng)硬件電路

1.1 CC1120的內(nèi)部結(jié)構(gòu)

CC1120是TI公司專為經(jīng)濟(jì)高效的無線系統(tǒng)在低功耗和低電壓操作下,實現(xiàn)數(shù)據(jù)傳輸而設(shè)計的一款完全集成的單芯片無線收發(fā)器。該芯片主要應(yīng)用于ISM(工業(yè)、科學(xué)和醫(yī)療)以及SRD(短程設(shè)備)頻帶。CC1120的主要特性有:體積小,超低功耗,可配置數(shù)據(jù)速率(1.2~200kbps),可編程控制輸出功率(步長為0.5 dB,最高功率16 dBm),接收機(jī)靈敏度高(1.2 kbps數(shù)據(jù)速率下為123 dBm),還支持2FSK、2GFSK、4FSK、4GFSK、MSK、ASK、OOK及模擬FM多種調(diào)制方式等。

CC1120的內(nèi)部結(jié)構(gòu)框圖如圖1所示。CC1120具有一個低功耗IF接收機(jī),低噪聲放大器(LNA)將接收到的RF、信號放大,并在求積分(I和Q)過程中被降壓轉(zhuǎn)換至中頻(IF)。在IF下,I/Q信號被ADC數(shù)字化。自動增益控制(AGC)、精確信道濾波和調(diào)制解調(diào)位/數(shù)據(jù)包同步均以數(shù)字方式完成。CC1120的發(fā)射器部分基于RF頻率直接合成,頻率合成器包括一個完全片上LC VCO和一個90°相位轉(zhuǎn)換器,用來在接收模式下向降壓轉(zhuǎn)換混頻器生成I和Q本振信號。一個4線SPI串行接口用于配置數(shù)據(jù)和緩沖區(qū)存取。數(shù)字基帶包括了對信道配置、數(shù)據(jù)包處理以及數(shù)據(jù)緩沖的支持。

1.2 CC1120的配置特性

配置寄存器的讀、寫操作時序如圖2所示。通過一個4線串行SPI兼容接口(SI、SO、SCLK和CSn)可對CC1120進(jìn)行配置,該接口還可用于讀取和寫入緩沖數(shù)據(jù)。SPI接口上的所有數(shù)據(jù)傳輸均以最高位開始。

SPI接口上的所有事務(wù)均以一個報頭字節(jié)作為開始,該字節(jié)包含一個R/W位、一個突發(fā)存取位(B)以及一個6位地址(A5~A0),報頭字節(jié)幀格式如圖3所示。在SPI總線上傳輸數(shù)據(jù)期間,CSn引腳必須保持低電平,否則傳輸就會被取消。拉低CSn電平時,在開始傳輸該報頭字節(jié)以前,MCU必須等待,直到SO引腳變?yōu)榈碗娖綖橹埂_@表明,芯片正在運行。除非芯片處在SLEEP或XOFF狀態(tài),否則SO引腳總會在CSn變?yōu)榈碗娖揭院罅⒓醋優(yōu)榈碗娖健?/p>

CC1120的寄存器空間主要作為CC1120的頻率、數(shù)據(jù)速率、中頻等大部分參數(shù)的配置。而擴(kuò)展寄存器大部分為芯片配置輔助測試寄存器(只讀),少部分為配置寄存器(可讀寫)。指令選通用于芯片狀態(tài)切換和沖刷RX/TXFIFO。128字節(jié)TX FIFO和128字節(jié)RX FIFO均通過0x3F地址進(jìn)行存取。當(dāng)R/W位為0時,則TX FIFO被存?。划?dāng)R/W位為1時,則RX FIFO被存取。其中,TXFIFO為只寫,而RX FIFO為只讀。寄存器地址映射如圖4所示。

1.3 硬件連接關(guān)系

窄帶無線數(shù)據(jù)傳輸系統(tǒng)的STM32F103ZE與無線收發(fā)芯片的硬件連接關(guān)系如圖5所示。左側(cè)為STM32F103ZE,它是一個32位、基于ARM Cort ex—M3內(nèi)核的無線收發(fā)芯片。除了正常工作模式外,還支持睡眠、待機(jī)、停機(jī)工作模式,當(dāng)所有外設(shè)都處于工作模式時消耗36 mA,待機(jī)時下降到2μA。CC1120內(nèi)部集成的SPI接口的傳輸速率最高可達(dá)到18 Mbps。

右側(cè)為無線收發(fā)芯片CC1120。CC1120的外部控制引腳主要有復(fù)位接口、SPI串行接口以及4個通用輸出引腳GPIO0~GPIO3。其中,4個通用輸出引腳在實際應(yīng)用中,可以通過配置寄存器使它們?yōu)樯蠈訉崟r提供同步字或數(shù)據(jù)包收發(fā)狀態(tài)等應(yīng)用。在硬件平臺上,CC1120的SPI串行接口(CSn、SCLK、SI、SO)分別連接到STM32F103ZE相應(yīng)的4個SPI串行通信弓I腳(即SPI2_NSS、SPI2_SCLK、SPI2_MOSI、SPI2_ISO上)。通過這4根線,TM32F103ZE可以對CC1120進(jìn)行參數(shù)配置、芯片狀態(tài)切換以及RX/TX FIFO的讀寫。由于CC1120只有SPI從模式,因此TM32F103ZE采用SPI主模式。另外,本方案還采用了1個通用數(shù)字輸出引腳GPIO0,用來實現(xiàn)數(shù)據(jù)包分組發(fā)送指示。同時,TM32F103ZE可以通過控制RESET引腳,復(fù)位無線收發(fā)芯片。

通信方式為SPI串行通信時,時鐘源由STM32F103ZE提供,通過配置處理器寄存器,SPI的SCLK時鐘頻率為4.5 MHz。通過TM32F103ZE內(nèi)部的8位移位寄存器,實現(xiàn)CC1120與STM32F103ZE的串行數(shù)據(jù)交換。CSn引腳主要用來控制數(shù)據(jù)通信的同步性,通信期間要始終保證CSn引腳的電平為低。但是,需要注意的是CC1120的CSn引腳的時序并未完全遵照SPI時序規(guī)范,因此,STM32F103ZE的SPI2_NSS引腳需要設(shè)置成普通GPIO接口模式,并采用軟件控制方式。

2 軟件平臺

μC/OS—III實現(xiàn)了一個基于優(yōu)先級調(diào)度的搶占式內(nèi)核,并在這個內(nèi)核之上提供了最基本的系統(tǒng)服務(wù),例如信號量、郵箱、消息隊列、內(nèi)存管理、中斷管理等,但它并不提供設(shè)備管理和文件系統(tǒng)管理。

信號量用于控制共享資源的訪問,可用于中斷服務(wù)子程序與任務(wù)間、任務(wù)與任務(wù)間的同步。本設(shè)計中采用信號量機(jī)制來管理兩個共享資源,發(fā)送緩沖區(qū)和接收緩沖區(qū)。讀任務(wù)、中斷服務(wù)子程序和接收環(huán)形緩沖區(qū)之間的關(guān)系如圖6所示。圖中的共享資源為接收環(huán)形緩沖區(qū),IN和OUT分別為入隊和出隊指針。當(dāng)IN等于OUT時,則接收環(huán)形緩沖區(qū)為空,調(diào)用OSSemPend()阻塞讀任務(wù);當(dāng)IN不等于OUT時,如果讀任務(wù)被阻塞,則在中斷服務(wù)子程序中調(diào)用OSSemPost()喚醒讀任務(wù)。

3 CC1120驅(qū)動實現(xiàn)

本文參考了國內(nèi)研究者提出的μC/OS下通用驅(qū)動框架模型,將CC1120驅(qū)動架構(gòu)模型劃分成上層訪問抽象接口層、硬件設(shè)備驅(qū)動模塊層和硬件設(shè)備接口操作層。其中,上層訪問抽象接口層通過對硬件平臺的抽象,可以在系統(tǒng)開發(fā)中向上層應(yīng)用屏蔽硬件特征,從而實現(xiàn)軟/硬件的分離;硬件設(shè)備驅(qū)動模塊層是整個驅(qū)動框架的中間封裝層,通過該層的封裝,對上一層屏蔽了SPI硬件接口;而硬件設(shè)備接口操作層是實現(xiàn)對底層硬件SPI串行接口的功能操作,通過調(diào)用該層接口,可以實現(xiàn)CC1120提供的全部功能。

3.1 驅(qū)動體系結(jié)構(gòu)

CC1120的驅(qū)動體系結(jié)構(gòu)如圖7所示。上層訪問抽象接口層是驅(qū)動體系中的最高層,該模塊主要實現(xiàn)了數(shù)據(jù)包發(fā)送與接收功能,并對無線收發(fā)芯片的狀態(tài)進(jìn)行控制和獲取RSSI值。其中,perCC1120Init()接口主要完成CC1120的初始化、啟動并配置芯片等功能;perCC1120Read()實現(xiàn)數(shù)據(jù)包的接收,以及對讀緩沖區(qū)的管理;perCC1120Wrire()實現(xiàn)數(shù)據(jù)包的發(fā)送,以及對寫緩沖區(qū)的管理;perCC1120Ioctl()實現(xiàn)了CC11 20的各個工作狀態(tài)的切換(包括休眠和喚醒)和獲取RSSI值。

硬件設(shè)備驅(qū)動模塊層實現(xiàn)對上層訪問抽象接口層操作,屏蔽了硬件SPI接口,提供了對CC1120的寄存器和FIFO的讀寫操作。其中,CC1120 SpiWriteReg()和CC1120SpiReadReg()分別提供了寄存器的寫和讀操作功能,屏蔽了8位和16位寄存器的區(qū)別;CC1120SpiWriteTxFifo()和CC1 120SpiReadRxFifo()提供了FIFO的連續(xù)寫和讀操作功能。

硬件設(shè)備接口操作層是對CC1120的硬件SPI接口的直接操作和軟件表達(dá),該層為整個驅(qū)動模塊提供了SPI同步串行通信機(jī)制。其中,trx8 BitRegAccess()實現(xiàn)了8位寄存器的存取功能;trx16BitRegAccess()實現(xiàn)了16位寄存器的存取功能;trxSpiCmdStrobe()實現(xiàn)了芯片的指令選通功能,用于芯片工作狀態(tài)切換。

本文結(jié)合CC1120驅(qū)動體系結(jié)構(gòu),簡要介紹其主要功能,即數(shù)據(jù)包的收發(fā)。

應(yīng)用層發(fā)送數(shù)據(jù)包之前,先調(diào)用perCC1120Ioctl()獲取信道的RSSI值,當(dāng)RSSI值低于信道忙碌的門限值時,則調(diào)用perCC1120Write()將需要發(fā)送的數(shù)據(jù)發(fā)送出去。perCC1120Write()的工作流程圖如圖8所示。本文使用了CC1120的通用GPIO0引腳,通過適當(dāng)配置,該引腳電平會在發(fā)送或者接收完一個數(shù)據(jù)包時產(chǎn)生一個下降沿跳變。當(dāng)上一包數(shù)據(jù)包發(fā)送完畢之后,GPIO0觸發(fā)中斷,STM32F103ZE進(jìn)入中斷處理程序,將會發(fā)送寫緩沖區(qū)中的下一包數(shù)據(jù)包,直至發(fā)送緩沖區(qū)為空,再把CC1120置于空閑或休眠狀態(tài)。

當(dāng)上層不處于發(fā)送狀態(tài)時,CC1120都將置于接收狀態(tài)或增強(qiáng)型無線電喚醒狀態(tài),當(dāng)接收到一個數(shù)據(jù)包時,GPIO0引腳產(chǎn)生一個下降沿中斷,STM32F103ZE進(jìn)入中斷處理程序,調(diào)用CC1120SpiReadRxFifo(),從接收緩沖RXFIFO中讀取數(shù)據(jù)包,并將其放入接收環(huán)形緩沖區(qū)中。如果接收環(huán)形緩沖區(qū)滿時,將放棄當(dāng)前接收到的數(shù)據(jù)包。上層通過調(diào)用perCC1120Read()接口讀取接收到的數(shù)據(jù)包,當(dāng)接收緩沖區(qū)為空時,將阻塞上層的讀取進(jìn)程。perCC1120Read()的工作流程圖如圖9所示。

3.2 CC1120的配置要點

(1)寄存器配置軟件

針對CC1120的寄存器配置,TI公司提供了SmartRFStudio 7軟件。通過這個軟件可以對CC1120進(jìn)行配置,以獲得最佳寄存器設(shè)置以及性能和功能評估。配置軟件根據(jù)用戶輸入的發(fā)射頻率、晶振頻率、符號速率等參數(shù),生成相應(yīng)的寄存器配置信息。

(2)數(shù)據(jù)包處理的硬件支持

CC1120內(nèi)部支持的數(shù)據(jù)包處理方式有前導(dǎo)碼、同步字、地址過濾、CRC、數(shù)據(jù)白化、狀態(tài)字節(jié)、字節(jié)倒置等,同時,數(shù)據(jù)包長度類型支持固定長、可變長、無限長3種模式,可以通過手動配置PKT_CFG0~PKT_CFG2來實現(xiàn)。

(3)增強(qiáng)型無線電喚醒

在程序的實現(xiàn)過程中,當(dāng)CC1120長時間沒有接收到數(shù)據(jù)時,則開啟增強(qiáng)型無線電喚醒功能(寄存器WOR_CFG0.RC_PD=0),并發(fā)送SWOR指令選通命令,將芯片工作狀態(tài)切換到睡眠狀態(tài)。CC1120將在MCU不干涉的前提下,周期性地從睡眠狀態(tài)中喚醒并監(jiān)聽數(shù)據(jù)包的到來,從而降低系統(tǒng)的整體功耗。

(4)接收的信號強(qiáng)度指示

CC1120在接收狀態(tài)下,能連續(xù)地從RSSI狀態(tài)寄存器(RSSI0、RSSI1)中讀取到RSSI值,直到檢測到一個有效的同步字,其后RSSI讀取值將被凍結(jié)。通過設(shè)置寄存器AGC_CFG1.AGC_SYNC_BEHAVIOR,可以解除RSSI值被凍結(jié)的狀態(tài)。

(5)通用數(shù)字輸出引腳(GPIO0~GPIO3)

在實際應(yīng)用中,可以通過寄存器(IOCFG0~I(xiàn)OCFG3)配置,為上層實時提供信道或數(shù)據(jù)包狀態(tài)等信息。本設(shè)計將寄存器IOCFG0的值設(shè)置為0x06,即利用了GPIO0引腳的電平跳變特點。當(dāng)CC1120發(fā)送完或接收到一包數(shù)據(jù)包,觸發(fā)MCU端口產(chǎn)生中斷,并在中斷服務(wù)程序中進(jìn)行寫入或讀取緩沖區(qū)TX/RX FIFO等操作,使STM32F103ZE有更多時間處理其他事務(wù)或處于休眠狀態(tài),達(dá)到降低整個系統(tǒng)功耗的目的。

結(jié)語

基于μC/OS—III和CC1120的短距離窄帶無線數(shù)傳系統(tǒng)方案,可以實現(xiàn)低功耗、近距離、可靠的無線數(shù)據(jù)傳輸,具有成本低、可擴(kuò)展性強(qiáng)、操作靈活簡單的特點。通過對CC1120和STM32F103ZE進(jìn)行適當(dāng)?shù)呐渲?,硬件能在無數(shù)據(jù)收發(fā)的狀態(tài)下,自動進(jìn)入低功耗的睡眠或待機(jī)狀態(tài),可以大大降低硬件系統(tǒng)的整體功耗。大量測試結(jié)果表明,該窄帶無線數(shù)據(jù)傳輸系統(tǒng)數(shù)據(jù)收發(fā)正常,整個系統(tǒng)運行穩(wěn)定,具備RSSI檢測、休眠喚醒等相關(guān)功能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉