NXP JN5168/JN5169簡(jiǎn)單說(shuō)明及貨源提供

發(fā)布時(shí)間:2020-11-20 10:31    發(fā)布者:qq2355573217
NXP JN5168/JN5169

JN5168/9是NXP推出的zigbee芯片,

EEPROM

片內EEPROM有4KB,并按64字節分段,共64段。擦除中按段擦除。每個(gè)bit擦除后數據為全零,可編程由0改寫(xiě)為1。EEPROM的API函數使用(參考JN-UG-3087 17.EEPROM):

  • 初始化:u16AHI_InitialiseEEP() 初始化時(shí)調用,必須在讀寫(xiě)之前調用
  • 寫(xiě)操作:iAHI_WriteDataIntoEEPROMsegment(),可對隨機地址進(jìn)行寫(xiě)操作,但只能從0改寫(xiě)為1
  • 讀操作:iAHI_ReadDataFromEEPROMsegment(),可隨機讀取,但是智能在段內讀取,起始地址+長(cháng)度超過(guò)段的總長(cháng)時(shí)將會(huì )抱錯。
  • 擦除段:iAHI_EraseEEPROMsegment()

除EEPROM直接讀寫(xiě)外,NXP還提供了PDM支持,可像訪(fǎng)問(wèn)文件系統一樣訪(fǎng)問(wèn)EEPROM,對存儲空間的管理有PDM進(jìn)行管理。用戶(hù)層可只接進(jìn)行簡(jiǎn)單的讀、寫(xiě)、刪除操作。

PDM(Persistent Data Manager)

NXP提供的PDM功能支持片外SPI Flash和片上EEPROM,此處說(shuō)明的是片上的EEPROM。參考JN-UG-3075 第四章,第三章介紹片外Flash。
主要的API接口函數:

  • PDM_eInitialise():初始化函數,一般使用PDM_eInitialise(63);
初始化
  • CFLAGS += -DPDM_NO_RTOS:使用IEEE802.15.4 SDK(如JN-SW-4163)時(shí),需要在Makefile中增加此宏定義。此模式下不支持互斥。
  • 使用JenNet-IP SDK(如JN-SW-41645)時(shí),不需要修改Makefile,PDM默認的是此模式,此模式下支持互斥。初始化函數PDM_eInitialise需要增加互斥參數
數據管理

數據在EEPROM中的存儲是按段為單位的,即最小的存儲單元是64字節,即便只存儲了1個(gè)字節,數據存儲超出當前段,將使用另一個(gè)段。每個(gè)段中的64字節中有效存儲空間為56字節,另外的8個(gè)字節由PDM使用。并且PDM中對每條記錄的訪(fǎng)問(wèn)是按ID進(jìn)行的,類(lèi)似于文件名。

  • 按ID進(jìn)行存儲操作
  • 每條存儲占用的空間為56字節的整數倍(實(shí)際上是64字節,有效字節數是56)
  • 參考DEMO中的ID定義在PDM_IDs.h中
    協(xié)議棧通PDM進(jìn)行的數據存儲由協(xié)議棧自動(dòng)完成存儲、更新。
    可存儲內容包含,但不限于:
    • Application layer data:
       AIB members, such as the EPID and ZDO state
       Group Address table
       Binding table
       Application key-pair descriptor
       Trust Centre device table
    • Network layer data:
       NIB members, such as PAN ID and radio channel
       Neighbour table
       Network keys
       Address Map table

存儲

API: PDM_eSaveRecordData()
數據的存儲過(guò)程是把待存儲的數據先存儲到空閑的空間中,然后再回收原來(lái)的存儲空間,因此寫(xiě)數據之前最好檢查當前空閑段是否夠用。API函數為PDM_u8GetSegmentCapacity()

讀取

API: PDM_eReadDataFromRecord()
讀之前可判斷數據是存在,API函數PDM_bDoesDataExist(),返回數據長(cháng)度

刪除

API: PDM_eDeleteData()

計數器

一個(gè)計數器占用1個(gè)段,即64字節。包含起始值(Start Value)和增量值(Incremental Value)。當前值=起始值+增量值。為了均衡EEPROM的擦除次數,段內的每個(gè)空余字節的每個(gè)位代表1,即每增加一次段中將會(huì )把下一個(gè)空閑位寫(xiě)1,當寫(xiě)到字段末尾時(shí),將自動(dòng)切換到下一個(gè)段重新開(kāi)始,即起始值=上一段的起始值+增量值的和,增量值被重新賦值為0。舊的段內的數據會(huì )由PDM進(jìn)行回收
API:

  • 創(chuàng )建:PDM_eCreateBitmap(),同樣創(chuàng )建時(shí)需要一個(gè)16位的ID
  • 增加:PDM_eIncrementBitmap(),超出當前段時(shí)會(huì )自動(dòng)切換到新的段中
  • 讀值:PDM_eGetBitmap(),返回當前段的起始值與增量值的和
  • 刪除:PDM_eDeleteBitmap(),會(huì )擦除當前段和歷史段

關(guān)于PDM的自動(dòng)回收問(wèn)題并沒(méi)有找到確切的說(shuō)明,算是猜測。不過(guò)如果不回收,豈不是會(huì )很快就填滿(mǎn)PDM,這樣的bug就好呵呵了。

擦寫(xiě)均衡

每個(gè)段有個(gè)擦除次數記錄,PDM使用時(shí)會(huì )優(yōu)先找值低的段,以均衡各段的擦寫(xiě)次數。

現貨供應 馬工 13823683914 qq 2355573217


本文地址:http://selenalain.com/thread-748175-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页