色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

定時(shí)器管理模塊的實(shí)現(xiàn)及在無(wú)線傳感器網(wǎng)絡(luò)中的應(yīng)用

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:陳曉煒,石江宏 ? 2021-05-05 09:31 ? 次閱讀

引言

定時(shí)器通信協(xié)議正常運(yùn)行的基本要素之一,主要用于各種定時(shí)和幀重傳的任務(wù)。通信協(xié)議在單片機(jī)系統(tǒng)上實(shí)現(xiàn)所使用的定時(shí)器,定時(shí)精度要求不高,但數(shù)量要求比較大。由于硬件資源有限,不可能為每一個(gè)單獨(dú)任務(wù)分配一個(gè)硬件定時(shí)器,只能通過(guò)單個(gè)硬件定時(shí)器模擬多個(gè)軟件定時(shí)器的方法,來(lái)滿足協(xié)議中的定時(shí)應(yīng)用需要。

用一定的數(shù)據(jù)結(jié)構(gòu)將這些軟件定時(shí)器組織起來(lái),并提供統(tǒng)一的調(diào)用接口,稱為“定時(shí)器管理”。目前定時(shí)器管理主要有2種實(shí)現(xiàn)方法:

①靜態(tài)數(shù)組法。將定時(shí)器節(jié)點(diǎn)存儲(chǔ)在數(shù)組中。優(yōu)點(diǎn)是邏輯簡(jiǎn)單,占用ROM較少。但這種方案有明顯的缺點(diǎn):當(dāng)硬件定時(shí)器中斷發(fā)生時(shí),要對(duì)所有定時(shí)器節(jié)點(diǎn)進(jìn)行減法操作,時(shí)間開(kāi)銷(xiāo)很大,且時(shí)延不確定(與定時(shí)器數(shù)目相關(guān))。

②delta鏈表法。按照定時(shí)器的定時(shí)值升序排列,形成鏈表。后一個(gè)定時(shí)器的定時(shí)值是前面所有定時(shí)器的值加上本節(jié)點(diǎn)的值。這樣,在每次的時(shí)鐘中斷處理中,只需對(duì)第1個(gè)定時(shí)器節(jié)點(diǎn)進(jìn)行減法操作,大大減少了時(shí)間開(kāi)銷(xiāo)。但是,該方案邏輯復(fù)雜,ROM用量大,需要頻繁分配回收內(nèi)存,容易形成內(nèi)存碎片。

1 定時(shí)器管理模塊的設(shè)計(jì)

定時(shí)器管理模塊的設(shè)計(jì)基于靜態(tài)數(shù)組法。使用一個(gè)定時(shí)器節(jié)點(diǎn)數(shù)組來(lái)保存所有的定時(shí)請(qǐng)求,數(shù)組的每一項(xiàng)代表一個(gè)可用的定時(shí)器節(jié)點(diǎn)。每一個(gè)定時(shí)器節(jié)點(diǎn)都有一個(gè)狀態(tài)項(xiàng),表示該定時(shí)器正處于空閑、使用或溢出狀態(tài)。定時(shí)器的定時(shí)值和定時(shí)器超時(shí)后要發(fā)送的消息也存儲(chǔ)在定時(shí)器節(jié)點(diǎn)中,從而實(shí)現(xiàn)用一個(gè)硬件定時(shí)器為用戶提供多個(gè)軟件定時(shí)器。

為了解決中斷處理時(shí)間開(kāi)銷(xiāo)大的問(wèn)題,在模塊中引入一個(gè)輔助定時(shí)器,輔助定時(shí)器的值總是等于所有定時(shí)器節(jié)點(diǎn)中的最小定時(shí)值。在硬件定時(shí)器中斷處理中,僅對(duì)輔助定時(shí)器進(jìn)行減法操作,從而大大縮短了中斷處理的時(shí)間。設(shè)計(jì)原理如圖1所示。

pIYBAGCKDciAavS4AAAxJ6LrKAg978.png

2 定時(shí)器管理模塊的實(shí)現(xiàn)

2.1 數(shù)據(jù)結(jié)構(gòu)和函數(shù)接口

定時(shí)器管理模塊使用的相關(guān)數(shù)據(jù)結(jié)構(gòu)定義如下:

o4YBAGCKDfiAbcgBAAAjhggqwGM175.png

字段state保存了定時(shí)器節(jié)點(diǎn)的狀態(tài),可能取值為空閑(T_FREE)、使用 (T_INUSE)或溢出(T_OVERFLOW)。

字段count保存了定時(shí)器節(jié)點(diǎn)的定時(shí)值,最大取值為65 535。如果設(shè)置硬件定時(shí)器中斷為10 ms,則軟件定時(shí)器最大定時(shí)約為655 s,可以滿足大多數(shù)應(yīng)用需要。

字段msg指向定時(shí)器的用戶消息。在啟動(dòng)定時(shí)器時(shí),指向消息的指針被保存在此字段。當(dāng)定時(shí)時(shí)間結(jié)束后,中斷處理函數(shù)會(huì)自動(dòng)發(fā)出這個(gè)消息以通知用戶任務(wù)。

由于數(shù)組的下標(biāo)是唯一的,可作為識(shí)別節(jié)點(diǎn)的唯一ID號(hào)。下文中提到的節(jié)點(diǎn)ID號(hào)均表示節(jié)點(diǎn)在數(shù)組中的下標(biāo)。

MAX_TIMER_NUM表示系統(tǒng)允許的最大定時(shí)器數(shù),其值取決于具體應(yīng)用需要。

本模塊提供的關(guān)鍵接口函數(shù)如下:

pIYBAGCKDfKAfch1AAAdIdw1IWc011.png

2.2定時(shí)器的初始化

使用定時(shí)器管理模塊前,需要進(jìn)行定時(shí)器的初始化。主要是初始化定時(shí)器節(jié)點(diǎn)數(shù)組,將每一個(gè)定時(shí)器節(jié)點(diǎn)設(shè)置為空閑狀態(tài),同時(shí)將輔助定時(shí)器置零,輔助ID指向0xFF(表示空)。

2.3定時(shí)器的啟動(dòng)

啟動(dòng)一個(gè)定時(shí)器,主要是將節(jié)點(diǎn)數(shù)組中一個(gè)空閑狀態(tài)的節(jié)點(diǎn)置為使用狀態(tài)。如果這個(gè)新啟用的定時(shí)器,是所有定時(shí)器中定時(shí)值最小的,還要更新輔助定時(shí)器。函數(shù)以指向定時(shí)器消息的指針和定時(shí)值為參數(shù),啟動(dòng)定時(shí)器流程如圖2所示。成功啟動(dòng)定時(shí)器后,返回該定時(shí)器節(jié)點(diǎn)的ID號(hào)。

o4YBAGCKDcGAHucaAABRAugQUYQ158.png

2.4定時(shí)器的刪除

在目標(biāo)定時(shí)器到期之前,由于某種原因用戶可能會(huì)要求取消定時(shí)器。如重發(fā)定時(shí)器,用戶在發(fā)送數(shù)據(jù)幀后啟動(dòng)該定時(shí)器,并等待對(duì)方返回響應(yīng)幀。如果在定時(shí)時(shí)間結(jié)束時(shí)沒(méi)有收到響應(yīng)幀,用戶就需要重發(fā)原數(shù)據(jù)幀;如果在定時(shí)時(shí)間結(jié)束之前收到響應(yīng)幀,用戶就需要馬上取消該定時(shí)器,然后進(jìn)行下一次通信過(guò)程。

刪除定時(shí)器函數(shù)以定時(shí)器節(jié)點(diǎn)ID號(hào)作為輸入?yún)?shù),將定時(shí)器節(jié)點(diǎn)設(shè)為空閑狀態(tài),并根據(jù)需要更新輔助定時(shí)器,流程如圖3所示。

o4YBAGCKDbuAQSSxAACgSSrd0Pc038.png

2.5定時(shí)器的驅(qū)動(dòng)

軟件定時(shí)器的驅(qū)動(dòng)由硬件定時(shí)器提供。在硬件定時(shí)器中斷中,首先將輔助定時(shí)器的值減1。如果輔助定時(shí)器值為0,則表示定時(shí)值最小的定時(shí)器已經(jīng)超時(shí),應(yīng)將對(duì)應(yīng)的消息發(fā)送給用戶任務(wù),將節(jié)點(diǎn)置為空閑狀態(tài),并重新計(jì)算其他節(jié)點(diǎn)的定時(shí)值,同時(shí)查找定時(shí)值最小的節(jié)點(diǎn),更新輔助定時(shí)器。驅(qū)動(dòng)流程如圖4所示。

關(guān)鍵代碼如下:

o4YBAGCKDeuAcIHWAABOnYTeBh0951.png

結(jié)語(yǔ)

本文設(shè)計(jì)的定時(shí)器管理器模塊,具有邏輯簡(jiǎn)單、效率高的特點(diǎn),在實(shí)驗(yàn)室自主研發(fā)的無(wú)線傳感器網(wǎng)絡(luò)中得到應(yīng)用。在共包含30個(gè)節(jié)點(diǎn)的溫、濕、光信息采集系統(tǒng)中,使用該定時(shí)器管理模塊的無(wú)線傳感器網(wǎng)絡(luò)協(xié)議運(yùn)行高效、穩(wěn)定。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8577

    瀏覽量

    151023
  • 無(wú)線傳感器
    +關(guān)注

    關(guān)注

    15

    文章

    770

    瀏覽量

    98350
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3246

    瀏覽量

    114725
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于嵌入式網(wǎng)絡(luò)無(wú)線傳感器網(wǎng)絡(luò)平臺(tái)軟硬件實(shí)現(xiàn)

    傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù)。系統(tǒng)的軟件結(jié)構(gòu)  我們的無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng),軟件部分主要是在
    發(fā)表于 09-15 08:15

    無(wú)線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)研究

    ,例如目錄服務(wù),資源管理、能量管理、生命周期管理。  安全中間件:為無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用業(yè)務(wù)
    發(fā)表于 03-23 14:57

    無(wú)線傳感器網(wǎng)絡(luò)的路由協(xié)議

    主要是圍繞著減少能量消耗延長(zhǎng)網(wǎng)絡(luò)生命周期而進(jìn)行設(shè)計(jì)的。無(wú)線傳感器網(wǎng)絡(luò),路由協(xié)議不僅關(guān)心單個(gè)節(jié)
    發(fā)表于 08-07 10:26

    無(wú)線傳感器網(wǎng)絡(luò)交通領(lǐng)域的具體應(yīng)用

    提供精確的輸入信息。通過(guò)給終端節(jié)點(diǎn)安裝溫濕度、光照度、氣體檢測(cè)等多種傳感器,還可以進(jìn)行路面狀況、能見(jiàn)度、車(chē)輛尾氣污染等檢測(cè)。無(wú)線傳感器網(wǎng)絡(luò)
    發(fā)表于 11-21 17:44

    基于無(wú)線傳感器節(jié)點(diǎn)實(shí)現(xiàn)超長(zhǎng)電池使用壽命

    傳感器測(cè)量和無(wú)線數(shù)據(jù)傳送只需大約30ms的時(shí)間即可完成,每分鐘測(cè)量一次時(shí),據(jù)估算,整個(gè)系統(tǒng)電池的使用壽命為10.5年。 隨著IoT網(wǎng)絡(luò)越來(lái)越普及,這個(gè)使用納米級(jí)功耗系統(tǒng)
    發(fā)表于 09-10 11:47

    在線檢測(cè)系統(tǒng)無(wú)線傳感器網(wǎng)絡(luò)開(kāi)發(fā)

    者的設(shè)置,以手機(jī)短信和電子郵件的方式提供報(bào)警信息。  主要問(wèn)題和解決方法  1.通訊問(wèn)題  無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用到該項(xiàng)目的過(guò)程,最大問(wèn)題
    發(fā)表于 10-31 16:50

    基于Atmel的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的研究與實(shí)現(xiàn)

    的設(shè)計(jì)和管理提出了許多挑戰(zhàn)。  無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)  無(wú)線傳感器
    發(fā)表于 11-15 14:55

    基于LabVIEW的無(wú)線傳感器網(wǎng)絡(luò)監(jiān)測(cè)平臺(tái)設(shè)計(jì)

    監(jiān)測(cè)平臺(tái)的后面板程序設(shè)計(jì)流程如圖4所示。  圖4 無(wú)線傳感器網(wǎng)絡(luò)監(jiān)測(cè)平臺(tái)流程圖  由于此監(jiān)測(cè)平臺(tái)通過(guò)串口實(shí)現(xiàn)PC機(jī)與無(wú)線
    發(fā)表于 11-16 15:46

    無(wú)線傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)與應(yīng)用

    網(wǎng)絡(luò)的通訊體系結(jié)構(gòu)  無(wú)線傳感器網(wǎng)絡(luò)實(shí)現(xiàn)需要自組織網(wǎng)絡(luò)技術(shù),相對(duì)于一般意義上的自組織
    發(fā)表于 12-05 15:17

    自主設(shè)計(jì)的無(wú)線傳感器網(wǎng)絡(luò)監(jiān)測(cè)平臺(tái)

    無(wú)線傳感器網(wǎng)絡(luò)監(jiān)測(cè)平臺(tái)流程圖  由于此監(jiān)測(cè)平臺(tái)通過(guò)串口實(shí)現(xiàn)PC機(jī)與無(wú)線傳感器
    發(fā)表于 04-24 06:07

    無(wú)線傳感器網(wǎng)絡(luò)簡(jiǎn)單介紹

    無(wú)線傳感網(wǎng)絡(luò)技術(shù)是典型的具有交叉學(xué)科性質(zhì)的軍民兩用戰(zhàn)略高技術(shù),可以廣泛應(yīng)用于GF軍事、國(guó)家安全、環(huán)境科學(xué)、交通管理、災(zāi)害預(yù)測(cè)、醫(yī)療衛(wèi)生、制造業(yè)、城市信息化建設(shè)等領(lǐng)域。
    發(fā)表于 07-01 06:25

    XBee傳感器創(chuàng)建無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用

    網(wǎng)絡(luò)得以與自配置和自修復(fù)的無(wú)線 Mesh 網(wǎng)絡(luò)相連接。基于 XBee 傳感器,客戶可以 ZigBee
    發(fā)表于 07-26 07:04

    無(wú)線傳感器網(wǎng)絡(luò)底層平臺(tái)由什么組成?

    提高系統(tǒng)的兼容性、穩(wěn)定性、可移植性和開(kāi)發(fā)效率。本文主要研究了無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng)的底層平臺(tái),對(duì)無(wú)線模塊、USART、SPI、中斷和
    發(fā)表于 04-16 06:41

    怎么實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)

    IEEE 802.15.4標(biāo)準(zhǔn)是什么?怎么實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)無(wú)線傳感器
    發(fā)表于 05-13 06:38

    如何采用各類(lèi)技術(shù)實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)?

    無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)是無(wú)線傳感器網(wǎng)絡(luò)的重要組成部分,它由傳感器
    的頭像 發(fā)表于 10-10 09:36 ?745次閱讀
    如何采用各類(lèi)技術(shù)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>無(wú)線</b><b class='flag-5'>傳感器</b><b class='flag-5'>網(wǎng)絡(luò)</b>節(jié)點(diǎn)的設(shè)計(jì)?
    主站蜘蛛池模板: 糙汉顶弄抽插HHHH| 全黄H全肉禁乱公| 2017欧美狠狠色| 快穿之H啪肉| 最近中文字幕完整版免费高清| 久久高清免费视频| 一本道色播| 久久偷拍免费2017| 亚洲一级电影| 久久综合中文字幕佐佐木希| 最近日本免费观看MV免费| 内射少妇三洞齐开| www.精品久久| 无码国产成人777爽死在线观看| 国产精品线路一线路二| 亚洲国产女人aaa毛片在线| 极品少妇高潮啪啪AV无码吴梦梦| 影音先锋av色咪影院| 免费毛片观看| 东日韩二三区| 亚洲AV无码乱码A片无码蜜桃 | 国产精品99AV在线观看| 香蕉动漫库| 久久国产精品高清一区二区三区| 97超级碰久久久久香蕉人人| 三级黄色小视频| 娇妻中日久久持久久| 孕妇泬出白浆18P| 日本高清色片| 久久yy99re66| 被吊起玩弄的女性奴| 亚洲精品在线影院| 暖暖日本 在线 高清| 国产无遮挡无码视频在线观看不卡| 伊人久久免费| 色欲久久99精品久久久久久AV| 狠狠色狠狠色综合| A级超碰视频在线观看| 亚洲国产在线精品国自产拍五月 | 国产精品熟女人妻| 91国在线产|