亚洲电影av-亚洲第一综合网站-亚洲第一在线-亚洲第一影院-成年人视频在线免费-成年人视频在线观看免费

電子方案開發(fā)供應(yīng)鏈平臺
一鍵發(fā)布任務(wù)
獲取驗(yàn)證碼
返回

發(fā)布成功


贊賞作者

贊賞金額:

  • ¥2
  • ¥5
  • ¥10
  • ¥50
  • ¥100
  • ¥200

支付金額:5

支付方式:

微信支付

贊賞成功!
你的贊賞是對作者最大的肯定~?

當(dāng)前位置 : 首頁 > 方案訊 > 方案訊詳情
系統(tǒng) RAM 用于微碼存儲和數(shù)據(jù)
發(fā)布時間:2022-06-10 閱讀量:1137 來源:我愛方案網(wǎng)整理 作者:我愛方案網(wǎng)

DMA 功能,用于將數(shù)據(jù)直接從通信接口傳輸?shù)较到y(tǒng) RAM


直接訪問所有外設(shè)和寄存器


通過 PMU 在中斷觸發(fā)和域上電(例如定時器、GPIO)后立即執(zhí)行


SNC 到主處理器通知,以及反向通知


SNC 與所有通信接口(SPI、I2C 和 UART)位于相同的電源域,SNC 還可以控制其他電源域。它執(zhí)行駐留在系統(tǒng) RAM 中的微碼,其中 SNC 具有直接內(nèi)存連接;以系統(tǒng)時鐘速度運(yùn)行;并且可以生成中斷以通知 PMU 所有操作都已完成,從而可以關(guān)閉整個系統(tǒng)的電源。


傳感器節(jié)點(diǎn)控制器框圖


圖 3. 傳感器節(jié)點(diǎn)控制器框圖


使用此類專用硬件執(zhí)行傳感器和外設(shè)數(shù)據(jù)操作的架構(gòu)的主要優(yōu)點(diǎn)是: 


主 CPU 睡眠時間更長,從而可以節(jié)省功耗


節(jié)省 MIPS,因?yàn)?CPU 不必訪問慢速外設(shè)或執(zhí)行簡單的數(shù)據(jù)操作 


不過它有一些缺點(diǎn)。SNC 編程模型的非常簡單的指令集僅允許基本操作。另外,編程 SNC 需要使用匯編語言。最后,由于 SNC 是一個非常簡單的模塊,調(diào)試會變得復(fù)雜。


節(jié)省功耗和 MIPS


我們已經(jīng)進(jìn)行了一系列測量,證明了使用 SNC 可以實(shí)現(xiàn)的功耗和 MIPS 節(jié)省。這些測量是在 Dialog 的基于 ARM Cortex-M33 的 DA1469x SoC 上進(jìn)行的,并比較了只使用主 CPU 和在 SNC 支持下執(zhí)行的相同任務(wù)。 第一組測量集中在訪問通常用于傳感器讀數(shù)的慢速外設(shè)(如 I2C 和 SPI)時節(jié)省的功耗 /MIPS。第二組測量著眼于使用 DA1469x 中包含的藍(lán)牙低功耗(BLE)通信模塊的實(shí)際應(yīng)用案例。 


與 CPU(CM33)相比,SNC 執(zhí)行事務(wù)所需的時間要短很多,如表 2 所示。由于 CPU 可能需要執(zhí)行忙等待,因此節(jié)省了時間相當(dāng)于節(jié)省了 MIPS。

 

SNC寫/讀8bit數(shù)據(jù)所需的時間以及CPU相應(yīng)所需的時間


表2:SNC寫/讀8bit數(shù)據(jù)所需的時間以及CPU相應(yīng)所需的時間


對現(xiàn)實(shí)生活中的使用案例,我們比較了每隔 1500 毫秒(表 3)和 500 毫秒(表 4)進(jìn)行廣播時所消耗的功率,同時使用 SPI 每 100 毫秒讀取加速計(jì)傳感器一次。


每 1500 毫秒進(jìn)行廣播時的能耗,使用 SPI 每 100 毫秒進(jìn)行一次傳感器讀取


表 3:每 1500 毫秒進(jìn)行廣播時的能耗,使用 SPI 每 100 毫秒進(jìn)行一次傳感器讀取

 

每 500 毫秒進(jìn)行廣播時的能耗,使用 SPI 每 100 毫秒進(jìn)行一次傳感器讀取


表 4:每 500 毫秒進(jìn)行廣播時的能耗,使用 SPI 每 100 毫秒進(jìn)行一次傳感器讀取

 

在復(fù)雜的應(yīng)用中,如果需要訪問多個傳感器,考慮到緩存未命中和任務(wù)切換等問題,對 MCU 的占用會更大。


降低編程復(fù)雜度


上面提到過,使用集成的傳感器節(jié)點(diǎn)控制器時面臨的最大挑戰(zhàn)之一,是確?;A(chǔ)系統(tǒng)功能的編程、調(diào)試和充分利用與采用通用 MCU 的方案一樣簡單。挑戰(zhàn)的主要方面有:


提供對開發(fā)人員友好的抽象編程,以有效控制驅(qū)動與連接的傳感器 / 外設(shè)的通信接口,以及與主 CPU 通信相對應(yīng)的基本功能。


利用 10 指令匯編式編程,并提供更高級別的編程結(jié)構(gòu),以簡化和加速軟件開發(fā)。


支持完整的系統(tǒng)整體調(diào)試 - 而不是單獨(dú)調(diào)試每個 CPU 內(nèi)核,因?yàn)榭赡軣o法檢測到當(dāng)內(nèi)核并行運(yùn)行時的系統(tǒng)行為錯誤。


為了解決這些挑戰(zhàn),我們需要一個完整、易于使用的編程框架。它必須包括抽象和程序,將并發(fā)操作系統(tǒng)任務(wù)的范例擴(kuò)展到在 SNC 上執(zhí)行的相應(yīng)(并行)處理。我們已經(jīng)為 Dialog DA1469x 解決方案開發(fā)了這樣的編程框架(圖 4)。它具有以下特點(diǎn):


簡化的 SNC 微碼開發(fā)


o 通過定義基于 SeNIS 的類 C 編程語言,可以同時支持匯編和類 C 編程。


用于編程的“混合”編碼模型


o 在相同的源和頭文件中同時包含針對 SNC 和主處理器情境(context)的代碼開發(fā) - 使用了一個 C 預(yù)處理器來定義基于 SeNIS 的語言結(jié)構(gòu),方便開發(fā)人員。


與驅(qū)動主處理器通信接口、交換 SNC 通知、和操作系統(tǒng)資源相關(guān)的基礎(chǔ)機(jī)制和功能的抽象,作為一組完整且易于使用的 API 程序 / 類 C 函數(shù)。


SNC 編程框架


圖 4. SNC 編程框架


SNC 編程模型的特征可歸納如下:


DA1469x 應(yīng)用包括由 OS 任務(wù)和 SNC 微碼并行執(zhí)行的進(jìn)程。


SNC 適配器向 DA1469x 系統(tǒng)注冊或注銷 SNC 微碼,從而創(chuàng)建一列 SNC 微碼,每個微碼由特定 PMU 事件觸發(fā)。


SNC 適配器采用特殊的 SNC 微碼,根據(jù)相應(yīng)的微碼列表實(shí)現(xiàn)注冊的 SNC 微碼執(zhí)行的調(diào)度,并通過其低級驅(qū)動器控制 SNC 硬件模塊。


定義了一組基于 SeNIS 的結(jié)構(gòu)預(yù)處理器宏,從而生成一組匯編和類 C 語言結(jié)構(gòu)用于 SNC 微碼開發(fā)。


提供一組低級驅(qū)動器 SNC 微碼,可用于驅(qū)動 SPI、I2C 等通信外設(shè)。 


為操作系統(tǒng)任務(wù)和 SNC 微碼提供了一種機(jī)制,進(jìn)行交換:


o 通知


o 數(shù)據(jù)(即:SNC 隊(duì)列)


除了上述實(shí)現(xiàn)輕松編程 SNC 函數(shù)的結(jié)構(gòu)之外,還提供以下內(nèi)容以支持調(diào)試:


使用 SNC 斷點(diǎn)和逐步調(diào)試區(qū)域來調(diào)試 SNC 微碼的機(jī)制。


SNC 仿真器,而不是 SNC 硬件模塊,用于改進(jìn)和簡化 SNC 微碼調(diào)試過程。


本文介紹了一種新的架構(gòu),可最大限度地降低集成了多個傳感器和外設(shè)的便攜式系統(tǒng)的功耗。該架構(gòu)使用復(fù)雜的硬件狀態(tài)機(jī)來卸載主處理器上的一些重復(fù)性任務(wù),例如傳感器 / 外設(shè)輪詢和讀取。與其他架構(gòu)相比,這種新架構(gòu)在功耗和 MIPS 優(yōu)化方面具有很大的優(yōu)勢,不過會使編程模型變的更復(fù)雜。因此,我們還介紹了一種對開發(fā)人員友好的編程框架來克服該問題。

 

 


文章評論

您需要登錄才可以對文章進(jìn)行評論。

沒有賬號?立即注冊

最新活動
意見反饋
取消