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