《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于LPC1100的溫度檢測網絡節點設計
基于LPC1100的溫度檢測網絡節點設計
劉翠玲,付國江,李 寧
摘要: 基于NXP公司LPC1100系列處理器設計了一種溫度檢測網絡節點。介紹了網絡系統的整個設計方案和溫度檢測網絡節點的硬件設計,并給出功耗管理、溫度傳感器和ZigBee三個軟件模塊的具體軟件設計方法。
Abstract:
Key words :

摘要:基于NXP公司LPC1100系列處理器設計了一種溫度檢測網絡節點。介紹了網絡系統的整個設計方案和溫度檢測網絡節點的硬件設計,并給出功耗管理、溫度傳感器和ZigBee三個軟件模塊的具體軟件設計方法。
關鍵詞:LPC1100;功耗;溫度傳感器;LCD;CC2500;ZigBee

引言
    Cortex-MO是32位ARM處理器中一款低功耗、小體積的處理器。它完美地融合了超低功耗、較高效率和低門數等優勢,這些特性決定了它適合作為無線傳感器網絡節點的處理器。本文介紹一種基于LPC1114設計一個溫度檢測網絡節點的方案。

1 溫度檢測系統簡介
    一個溫度檢測無線網絡由若干個溫度檢測節點組成,各個溫度檢測節點之間使用無線傳感器通信。所有的溫度檢測節點使用ZigBee技術組成一個無線網絡。各個節點的功能包括采集溫度,并通過ZigBee網絡發送出去。本系統采用TI公司提供的精簡版本的ZigBee協議中的Simp-liciTI協議來組建一個星型網絡。網絡由一個訪問接入節點(AP)和若干個終端節點(ED)組成。其中,AP相當于全功能設備,負責建立整個網絡,并接收ED端采集的溫度信息。所有溫度檢測節點都使用電池設備供電。

2 溫度檢測節點的硬件設計
    溫度檢測節點主要由LPC1100系列處理器(這里使用的是LPC1114)、溫度傳感器、ZigBee模塊、LCD顯示屏等組成,如圖1所示。溫度傳感器使用National Semiconductor公司的I2C接口的LM75,ZigBee模塊使用TI公司的SPI接口的CC2500芯片,LCD顯示屏使用LCD1602字符顯示屏幕。整個節點使用電池設備供電,考慮到功耗的因素,LCD屏采用插槽設計,不需要顯示的部分節點可以不連接LCD。除以上各主要部分外,還有一些可選的單元,例如UART串口、通用I/0接口的LED、按鍵、蜂鳴器BEEP等。

14a.JPG

 

3 溫度檢測節點的軟件設計
    溫度檢測節點的功能如下:
    ◆通過設置定時器來定期地檢測溫度,并在LCD上顯示當前的溫度值;
    ◆將檢測到的溫度值通過ZigBee模塊發送出去;
    ◆當溫度過高時,蜂鳴器長鳴一定時間報警;
    ◆溫度檢測和發送之外時間,節點處于睡眠模式;
    ◆定時器每隔1 s將處理器喚醒一次,進行溫度檢測和傳送。
    根據這些功能,將整個溫度節點的軟件劃分為如下幾個模塊:功耗管理模塊、LCD模塊、溫度傳感器模塊、ZigBee模塊。
    本節將重點介紹功耗管理模塊、溫度傳感器模塊和ZigBee模塊。
3.1 功耗管理模塊
    LPC1100系列芯片的功耗管理有3種模式,即睡眠模式、深度睡眠模式、深度掉電模式。
3.1.1 3種模式的進入和退出
    3種模式的進入和退出方式如表1所列。

14b.JPG


3.1.2 三種模式的區別
    在睡眠模式下,如果軟件中提供外設時鐘,則外設功能在睡眠模式下仍然可以執行,而且可以產生中斷來引起處理器恢復運行。在深度睡眠模式下,用戶可以配置深度睡眠時的掉電模塊以及喚醒后的上電模塊。在這兩種睡眠模式下,處理器狀態、寄存器、外設寄存器、內部SRAM值被保持,引腳的邏輯電平也不變。深度睡眠使用13個喚醒中斷來喚醒,其優勢在于用戶可以關閉時鐘發生模塊,從而比睡眠模式降低更多的動態功耗。
    在深度掉電模式下,除了WAKEUP引腳外,整個芯片上的電源和時鐘都關閉,SRAM中的內容也不能保持,但是可以使用4個通用的寄存器保存數據。若想在深度掉電模式下把芯片喚醒,必須通過外部連接部件給WAKEUP引腳接上一個低電平。
3.1.3 選擇睡眠模式
    本系統中,溫度檢測節點的主要功能是每間隔一定時間檢測一次溫度,故在采集溫度的間隔期內使芯片進入睡眠模式。當需要采集溫度時,通過一個定時器中斷將其喚醒。例如,每間隔1 s采集一次溫度,采集溫度并發送后設置一個定時器中斷,然后調用WFI指令使芯片處于睡眠模式。為了便于觀察,設置一個LED燈閃爍以指示采集溫度的頻率。同時,如果檢測到溫度過高,則使用蜂鳴器報警。如果連接了液晶屏幕,也可在液晶屏幕上顯示溫度值。
    main函數中的主要代碼如下:

14b.JPG

    調用WFI指令后程序就停止運行,等到定時器中斷發生后就可以將處理器喚醒,程序接著運行WFI指令后的代碼。定時器中斷的代碼如下:

14d.JPG

3.2 溫度傳感器模塊
    溫度傳感器LM75使用標準的I2C接口。本節點中,LPC1114與LM75的硬件接口如圖2所示。

14e.JPG


    LM75的地址線A0~A2都接地,0S引腳懸空,故本節點僅僅使用其基本的溫度測量功能。LM75內部有5個寄存器:指針寄存器、配置寄存器、溫度寄存器、溫度設定寄存器和溫度滯后寄存器。通過指針寄存器來選擇其余4個寄存器進行操作。本節點主要是讀取溫度寄存器中的溫度值,溫度寄存器中高9位值為有效的溫度值。該寄存器讀出的值是以二進制補碼的格式給出的,其LSB(最低有效位)每一個單位表示0.5℃,例如+0.5℃對應001H。其可表示的范圍為-55~+125℃。
    在使用該溫度傳感器時,需要調用以下兩個API函數:

14g.JPG

3.3 ZigBee模塊
    本節點的ZigBee模塊使用T1公司的CC2500芯片,使用SimpliciTI協議來組建網絡。其硬件連接如圖3所示。

14f.JPG
    在使用CC2500時,首先需要配置LPC1114的SPI各個引腳。另外,還需要將引腳GD00與GDO1配置為MCU中斷,用來控制收發網絡數據包。再按照CC2500的初始化時序來初始化CC2500芯片,然后交給上層的組網函數去調用。CC2500的初始化步驟如下:
    ①與MCU相連的SPI接口初始化;
    ②SCLK=1,SI=O;
    ③CSn=0;
    ④CSn-1,延時40μs;
    ⑤CSn=0;
    ⑥等待S0引腳變低;
    ⑦在SI引腳上發命令SRES;
    ⑧等待SO引腳再次變低。
    此時如果能正常地讀寫相應寄存器,則表示CC2500初始化成功。
    CC2500初始化成功后,需要配置CC2500的寄存器,以及設置數據包的收發中斷。由于CC2500寄存器較多,請參考CC2500官方網站的參考代碼。數據包的收發中斷是根據配置寄存器的值來控制的。通過設置這些寄存器的值,可將GDO0、GDO1配置為收發數據。這里,配置IOCFG0寄存器的值為0x6,即在開始接收或者發送一個數據包時,在GDO0引腳產生一個高電平跳變;接收或者發送完后,再變回低電平。因此,將GDO0引腳即PIO2_5配置為輸入引腳,上升沿中斷。代碼如下所示:

14h.JPG
    此時,如果發送或者接收到數據,就可以產生中斷。如果是接收數據,則在中斷處理函數PIOINT2-IRQHan-dler中就必須調用一個接收函數。
    還有一些涉及到底層通信的地方需要修改,例如:

14i.JPG

    將底層與硬件相關的函數都修改好后,就可以使用上層的組網函數了。CC2500組網API函數主要包括如下幾個函數:

14j.JPG

    進行組網時需要先調用SMPL_Init進行初始化,然后根據節點的功能來調用SMPL_Link或者SMPL_LinkListen函數組成一個無線網絡。最后調用SMPL_Receive以及SMPL_Send函數就可以收發數據了。

結語
    本文介紹了一種基于LPC1114的溫度檢測網絡節點設計方法。LPC1114芯片具有低功耗和高性能的特色,加上標準的I2C、SSP等接口,為很多標準接口部件的移植提供了方便。I2C接口的溫度傳感器,也可以替換成I2C接口的濕度傳感器、氣敏傳感器等,以建立一個基于ZigBee的無線傳感器網絡。該設計方案對無線環境監控網絡、無線抄表網絡等無線傳感器網絡中的節點設計具有一定參考價值。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 麻豆一区二区三区在线观看 | 国产一级片视频 | 亚洲精品日韩专区在线观看 | free性vido另类重口 | 99成人在线观看 | 国产色a在线观看 | 国内午夜免费鲁丝片 | 精品国产免费观看久久久 | 天天噜日日噜夜夜噜 | 免费看黄网站在线看 | 欧美日韩久久中文字幕 | 一级做a免费视频观看网站 一男一女下面一进一出性视频 | 自拍偷拍国语对白 | 欧美色图 亚洲 | 欧美成亚洲| 国产成人久久一区二区三区 | 一个人看的在线www片高清 | 日韩国产欧美视频 | 国产黄大片在线观看 | 激情伊人 | 91国内精品久久久久免费影院 | 美女天天射 | 青青草国产成人久久91网 | 黄色片在线网站 | 色综合色综合 | h片网站在线观看 | 欧美成人精品 | tk挠脚心丝袜天堂网站免费控 | 国产成人欧美一区二区三区的 | 亚洲人一区 | 国产精品丝袜视频 | 欧美一级专区免费大片俄罗斯 | 麻豆精品在线观看 | 免费v片在线观看视频网站 免费不卡中文字幕在线 | 青草娱乐极品免费视频 | 成人深夜福利视频 | 天天摸天天草 | 日本xxxxx在线观看 | 国产亚洲一区二区三区 | 国产欧美专区在线观看 | 免费一级毛片在线视频观看 |