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

當前位置:首頁 > 嵌入式 > 嵌入式硬件


無線通信在機動性要求較強的設備中或人們不方便隨時到達現(xiàn)場的條件下得到了越來越廣泛的應用,如無線數(shù)據(jù)采集、無線設備管理和監(jiān)控、汽車儀表數(shù)據(jù)的無線讀取等都是其典型應用。

微功率短距離無線通信技術(shù)作為無線通信實用技術(shù),一般使用單片射頻收發(fā)芯片,加上微控制器和少量外圍器件構(gòu)成專用或通用無線通信模塊,通常射頻芯片采用GFSK(高斯頻移鍵控)調(diào)制方式,工作于ISM(工業(yè)、科學、醫(yī)療)頻段,通信模塊包含簡單透明的數(shù)據(jù)傳輸協(xié)議或使用簡單的加密協(xié)議,用戶不必對無線通信原理和工作機制有較深的了解,只要依據(jù)命令字進行操作即可實現(xiàn)基本的數(shù)據(jù)無線傳輸功能,因其功率小、開發(fā)簡單快速而在工業(yè)、民用等領域應用廣泛。本文介紹利用ATmega16單片機和無線數(shù)據(jù)收發(fā)芯片nRF905構(gòu)成的短距離無線數(shù)據(jù)傳輸設備,給出了硬件和軟件設計方案。

1 系統(tǒng)硬件設計

1.1 系統(tǒng)結(jié)構(gòu)

無線數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)如圖1所示。該系統(tǒng)由外部數(shù)據(jù)設備和無線數(shù)據(jù)傳輸模塊組成,外部數(shù)據(jù)設備為PC機或數(shù)據(jù)采集等設備,我們設計的主要是無線數(shù)據(jù)傳輸模塊。無線數(shù)據(jù)傳輸模塊基于微功耗單片射頻收發(fā)器nRF905設計,采用Atmel公司的高性能、低功耗8位處理器ATmega16為主處理芯片,完成數(shù)據(jù)的處理和控制。

1.2 ATmega16和nRF905

Atmel公司的ATmega16單片機具有先進的RISC(精簡指令集計算機)結(jié)構(gòu)、非易失性程序和數(shù)據(jù)存儲器,16 kB可編程Flash存儲器、512 B的EEPROM和1 kB片內(nèi)SRAM,具有豐富的外設接口,其USART(通用同步和異步接收器和轉(zhuǎn)發(fā)器)是一個高度靈活的串行通信設備,SPI(串行外設接口)允許ATmega16與外設或其他AVR器件進行高速的同步數(shù)據(jù)傳輸。

nRF905是挪威Nordic VLSI公司推出的單片射頻收發(fā)器,工作電壓為1.9 V~3.6 V,工作于433/868/915 MHz這3個ISM頻段,頻道轉(zhuǎn)換時間小于650μs,最大數(shù)據(jù)速率為100 kbit/s。nRF905由頻率合成器、接收解調(diào)器、功率放大器、晶體振蕩器和GFSK調(diào)制器組成,不需外加聲表面濾波器,ShockBurstTM工作模式,自動處理字頭和CRC(循環(huán)冗余檢驗),使用SPI接口與微控制器通信,配置非常方便。此外,其功耗很低,以-10 dBm輸出功率發(fā)射時電流只有11 mA,工作于接收模式時的電流為12.5 mA,具有窄閑模式與關(guān)機模式,易于實現(xiàn)功率管理。

1.3 硬件電路

硬件電路主要由電源與復位電路、外部數(shù)據(jù)設備接口電路、單片機系統(tǒng)和nRF905應用電路等幾部分組成。硬件電路如圖2所示。

1.3.1 電源與復位電路

nRF905和單片機的典型工作電壓為+3.3 V,而系統(tǒng)供電電源為+5V,所以采用低壓差線性穩(wěn)壓器TPS7333實現(xiàn)+5 V~+3.3 V的線性穩(wěn)壓。為了實現(xiàn)穩(wěn)定、可靠的復位,使用低電壓工作的復位芯片TPS70733產(chǎn)生復位信號。

1.3.2 外部數(shù)據(jù)設備接口

無線數(shù)據(jù)傳輸模塊與外部數(shù)據(jù)設備之間采用RS-232接口,ATmega16的PD0-PD1用于連接RS-232串口。通常,PC機與單片機用兩根線方式進行全雙工異步通信。由于AVR單片機輸人輸出為TTL電平,PC機配置的是RS-232標準串行接口,二者電氣規(guī)范不一致,因此,使用ICL3221收發(fā)芯片實現(xiàn)串口電平轉(zhuǎn)換。

數(shù)據(jù)傳輸速率在板可設置或通過外部數(shù)據(jù)設備設置。在板波特率利用ATmega16的PA7、PA6兩位設置,可設置為9.6kbit/s、19.2 kbit/s、38.4kbit/s、115.2 kbit/s。利用外部數(shù)據(jù)設備設置波特率時,單片機的初始數(shù)據(jù)傳輸速率為9.6 kbit/s,PA7、PA6置為00狀態(tài),當單片機收到波特率沒置命令后,數(shù)據(jù)傳輸速率調(diào)整為設定值。

1.3.3 單片機與nRF905接口電路

單片機與nRF905的接口電路很最要。nRF905內(nèi)部有5個寄存器:狀態(tài)寄存器、配置寄存器、發(fā)射地址寄存器、發(fā)射數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器。除了對寄存器讀寫外,還需對nRF905工作模式的切換進行控制。單片機與nRF905的信號連接見圖3。

ATmega16與nRF905之間的雙向數(shù)據(jù)傳輸使用SPI接口,單片機的PB7-PB4連接nRF905的SPI接口,PD2-PD7連接nRF905的控制信號和檢測信號,用于nRF905的模式切換以及通信過程中必須的信號指示接口。

2 系統(tǒng)軟件設計

2.1 數(shù)據(jù)傳輸過程

PC機(或其他外部設備)有數(shù)據(jù)傳輸或需設置設備參數(shù)時,通過串口將數(shù)據(jù)發(fā)送給單片機,單片機接收數(shù)據(jù)后,將需發(fā)送的數(shù)據(jù)(這里包括目標設備地址和所要發(fā)送的數(shù)據(jù))通過SPI接口發(fā)送給nRF905,nRF905將數(shù)據(jù)加前導碼和CRC碼,將數(shù)據(jù)包發(fā)送。

當nRF905接收到有效數(shù)據(jù)后,DR置高,單片機檢測到DR為高電平后,復位TRX_CE引腳,使nRF905進入空閑模式,通過SPI接口從nRF905中讀出接收數(shù)據(jù),然后通過USART傳送給PC機或其他外部沒備。

軟件功能模塊由CPU寄存器初始化、串行口初始化、串口收發(fā)送程序、SPI初始化、SPI收發(fā)送程序、I/O口初始化、nRF905配置寄存器操作、nRF905接收程序、發(fā)送程序、主程序模塊組成。下面簡要介紹主要的軟件功能模塊。

2.2 USART串口軟件設計

AVR USART與AVR UART在寄存器位定義、波特率發(fā)生器、發(fā)送器操作、發(fā)送緩沖器的功能以及接收器操作等方面完全兼容,此外,接收緩沖器進行了兩方面改進:增加了一個緩沖器;接收移位寄存器可以作為第3級緩沖。

2.2.1 串口數(shù)據(jù)幀格式

外部數(shù)據(jù)設備與無線數(shù)據(jù)傳輸設備間的雙向數(shù)據(jù)傳輸使用相同的幀格式,幀格式由幀頭、幀長、幀標志和數(shù)據(jù)組成。幀頭為數(shù)據(jù)幀開始標志,固定為0FF81H,長度2字節(jié)。幀長指從幀標志開始至本幀結(jié)束的所有數(shù)據(jù)的字節(jié)數(shù),不包括幀頭、幀長本身,單位為字節(jié),幀長占1字節(jié)。幀標志用以指示本幀數(shù)據(jù)的內(nèi)容屬性,長度為1字節(jié)。不同類型幀的數(shù)據(jù)長度和幀標志具體定義如表1所示。

數(shù)據(jù)指所傳輸?shù)臉I(yè)務等內(nèi)容,數(shù)據(jù)長度見表1,數(shù)據(jù)內(nèi)容定義如下:

a) 波特率設置:01H~0AH對應波特率(單位為kbit/s)為2.4、4.8、9.6、14.4、19.2、28.8、38.4、57.6、76.8、115.2。

b) 設備地址設置:設備地址為00000000H~FFFFFFFFH。

c) 發(fā)射功率:00H為低功率;01H為高功率。

d) 工作頻率:433 MHz頻段,信道間隔100 kHz。

e) 發(fā)送數(shù)據(jù):發(fā)送數(shù)據(jù)長度不定,最長不超過254字節(jié)。

2.2.2 USART初始化

初始化USART操作包括波特率設置、數(shù)據(jù)格式和UCSRB寄存器設置。USART的波特率寄存器UBRR和降序計數(shù)器相連接,一起構(gòu)成可編程的預分頻器或波特率發(fā)生器。UBRR值的計算由該公式完成:UBRR=fosc/(16baud)-1,其中Baud為波特率,fosc為系統(tǒng)時鐘頻率。通過設置UCSRC寄存器,設置數(shù)據(jù)格式為8位數(shù)據(jù)位和1位停止位。通過設置UCSRB寄存器,使能串口發(fā)送和接收,并響應接收完成中斷。

2.2.3 數(shù)據(jù)發(fā)送和接收

數(shù)據(jù)發(fā)送采用查詢方式。置位UCSRB寄存器的發(fā)送允許位TXEN將使能USART的數(shù)據(jù)發(fā)送,將需要發(fā)送的數(shù)據(jù)加載到發(fā)送緩沖區(qū)將啟動數(shù)據(jù)發(fā)送,加載過程為CPU對UDR寄存器的寫操作。發(fā)送數(shù)據(jù)時,按照幀格式在所需發(fā)送的數(shù)據(jù)前加上幀頭、幀長、幀標志組幀發(fā)送。

數(shù)據(jù)接收采用中斷方式。置位UCSRB寄存器的接收允許位RXEN將啟動USART的數(shù)據(jù)接收器,通過讀取UDR寄存器就可以獲得接收緩沖器的內(nèi)容。接收數(shù)據(jù)時,幀標志有效才能開始接收一幀數(shù)據(jù),并根據(jù)讀出的幀長信息完成接收規(guī)定長度的數(shù)據(jù)。

2.3 SPI接口軟件設汁

本設計中SPI配置為主機模式,nRF905為從設備。SPI波特率最高可設置為1/2系統(tǒng)時鐘,系統(tǒng)時鐘為8 MHz,因此SPI速率可達4 MHz。此外,正確選擇SPI的工作模式對SPI數(shù)據(jù)傳輸非常重要,AT-mega16的SCK的相位和極性有4種組合,SPI工作模式由CPOL、CPHA設置,根據(jù)nRF905的SPI讀寫時序,ATmega16的SPI工作模式應設置為模式0。

ATmega16與nRF905同時進行雙向數(shù)據(jù)傳輸。ATmega16配置為SPI主機時,SPI接口不自動控制SS引腳,由用戶軟件來控制。ATmega16通過將從機的CSN引腳置低實現(xiàn)與從機的同步。SPI時鐘由寫入到SPI發(fā)送緩沖寄存器的數(shù)據(jù)啟動,SPI MOSI引腳上的數(shù)據(jù)發(fā)送次序由寄存器SPCR的DORD位控制,置位時數(shù)據(jù)的LSB(最低位)首先發(fā)送,否則數(shù)據(jù)的MSB(最高位)首先發(fā)送。我們選擇先發(fā)送MSB,同時接收到的數(shù)據(jù)傳送到接收緩沖寄存器,CPU進行右對齊從接收緩沖器中讀取接收到的數(shù)據(jù)。

應該注意,當需要從nRF905中讀取多個數(shù)據(jù)時,即使nRF905并不需要ATmega16串行輸出的數(shù)據(jù),每讀取一個數(shù)據(jù)前都要向SPI發(fā)送緩沖器寫一個數(shù)據(jù)以啟動SPI接口時鐘。由于SPI系統(tǒng)的發(fā)送方向只有1個緩沖器,而在接收方向有2個緩沖器,所以在發(fā)送時一定要等到移位過程全部結(jié)束后,才能對SPI數(shù)據(jù)寄存器執(zhí)行寫操作;而在接收數(shù)據(jù)時,需要在下一個字節(jié)移位過程結(jié)束之前通過訪問SPI數(shù)據(jù)寄存器讀取當前接收到的數(shù)據(jù),否則第1個數(shù)據(jù)丟失。

2.4 nRF905配置及收發(fā)流程

對nRF905寄存器的操作是一個很關(guān)鍵的問題,nRF905的所有配置都是通過SPI接口進行的。nRF905的SPI接口只有在掉電模式和standby模式是激活的。當CSN為低時,SPI接口開始等待一條指令,任何一條新指令均由CSN由高到低的轉(zhuǎn)換開始。

nRF905發(fā)送模式工作過程如下:

a) 當ATmega16發(fā)送數(shù)據(jù)時,將接收設備地址和所要發(fā)送的數(shù)據(jù)通過SPI接口寫入nRF905,SPI傳輸速率由初始化設置。

b) 置位TRX_CE、TX_EN,激活nRF905發(fā)送模式。

c) nRF905自動完成數(shù)據(jù)打包(加入前導碼和CRC),包經(jīng)過GFSK調(diào)制以100 kbit/s發(fā)送,當傳輸完畢DR置位。

d) 如果將AUTO_RETRAN位置高,nRF905將連續(xù)發(fā)送數(shù)據(jù)包,直至將TRX_CE引腳復位。

e) 當TRX_CE引腳被設置為低時,nRF905結(jié)束發(fā)送模式,并進入standby模式。

nRF905接收模式工作過程如下:

a) 將TRX_CE置位,TX_EN復位后650μs,nRF005進入接收模式等待數(shù)據(jù)到來。

b) 當nRF905在接收信號檢測到載波,則CD(carrier detect)引腳置位;然后,如果接收到有效地址則AM(address match)置位,最后將接收到的有效數(shù)據(jù)包去掉前導碼、地址,CRC正確后,將DR(data ready)引腳置位。

c) CPU復位TRX_CE引腳,使nRF905進入空閑模式,然后通過SPI接口讀取數(shù)據(jù)。

d) 數(shù)據(jù)接收完畢后,nRF905 DR和AM引腳復位并準備進入下一個工作模式。

應該注意的是,在數(shù)據(jù)發(fā)送過程中無論將TRX_CE、TX_EN怎樣設置,nRF905都會完成此次發(fā)送而不受影響,此后,進八所設置的工作模式。而在接收數(shù)據(jù)包的過程中TRX_CE或TX_EN狀態(tài)改變,則nRF905會立即改變工作模式,丟失數(shù)據(jù)。

2.5 主程序流程

主程序流程圖如圖4所示。

3 結(jié)束語

我們采用 nRF905射頻收發(fā)芯片和ATmega16微控制器設計了短距離無線數(shù)據(jù)傳輸設備,完成硬件電路和系統(tǒng)軟件調(diào)試后,進行了無線數(shù)據(jù)收發(fā)實驗。實驗結(jié)果表明,在300 m通信距離,該無線傳輸設備工作穩(wěn)定,能實現(xiàn)數(shù)據(jù)的高速有效傳輸,具有低功耗、抗干擾能力強等優(yōu)點。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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