BlueNRG-LP BLE控制器是一種可編程的自動(dòng)化設(shè)備,它可以作為符合藍(lán)牙低功耗5.2標(biāo)準(zhǔn)的主節(jié)點(diǎn)或從節(jié)點(diǎn)。它是以前的體系結(jié)構(gòu)(BlueNRG-2)的演變,保留了相同的功能,并引入了更多的硬件和CPU之間的綁定的新特性。
BLE控制器是一種協(xié)處理器,目的是在沒(méi)有CPU直接控制的情況下,按照RAM中一些預(yù)定義鏈表中的指令執(zhí)行傳輸和接收操作。然后,專用鏈路層固件的任務(wù)是提前填充這些列表。這允許控制器在CPU仍在引導(dǎo)時(shí),在低功耗模式退出時(shí)直接啟動(dòng)事務(wù)。
通常,處理器中斷服務(wù)程序在每個(gè)發(fā)送或接收的數(shù)據(jù)包結(jié)束時(shí)運(yùn)行,以便準(zhǔn)備/修改RAM中的鏈表或通知主機(jī)有關(guān)更改。當(dāng)ISR執(zhí)行時(shí)間是一個(gè)關(guān)鍵點(diǎn)時(shí),控制器提供了檢查是否有足夠的時(shí)間來(lái)完成計(jì)劃的傳輸/接收以及檢查RAM列表的一致性以防止讀取未更新的數(shù)據(jù)的可能性。此外,控制器在三個(gè)不同的連續(xù)階段讀取其配置,給CPU最大的計(jì)算時(shí)間。
關(guān)于傳輸或接收的內(nèi)部自主動(dòng)作序列由計(jì)時(shí)器事件觸發(fā),該計(jì)時(shí)器事件可以將設(shè)備從深度睡眠中喚醒或不喚醒。
由內(nèi)部或外部慢時(shí)鐘驅(qū)動(dòng)的自由運(yùn)行計(jì)數(shù)器在睡眠模式期間始終處于活動(dòng)狀態(tài),并提供作為調(diào)度控制器活動(dòng)參考的絕對(duì)時(shí)間。它位于一個(gè)可編程喚醒塊中,該喚醒塊也負(fù)責(zé)執(zhí)行來(lái)自無(wú)線電的進(jìn)入睡眠的請(qǐng)求。CPU能夠通過(guò)控制器的APB接口對(duì)訪問(wèn)特定寄存器的喚醒塊進(jìn)行編程。