當前位置:首頁 > MPU
  • 什麼是Cortex-M內核的MPU(內存保護單元)?

    關注、星標公眾號,不錯過精彩內容 作者:strongerHuang 微信公眾號:strongerHuang 估計大家經常看見MCU、MPU、MMU等這類縮寫詞,但你們瞭解什麼是MPU嗎? 1寫在前面 不知道大家有沒有關注過Cortex-M內核的一些內容,在STM32大部分型號中都有MPU。 MPU是Cortex-M的選配件,拿STM32F1來説,STM32F10X_XL系列的芯片才具有這個MPU存儲保護單元,而其他STM32F1芯片沒有。 可能很多人都處於簡單知道,或認識MPU的階段,今天就寫點關於MPU的內容,讓大家進一步認識和了解MPU。 2認識MPU,及作用 MPU:Memory Protection Unit ,內存保護單元。 MPU存儲器保護單元,它可以實施對存儲器(主要是內存和外設寄存器)的保護,以使軟件更加健壯和可靠。在使用前,必須根據需要對其編程。如果沒有啓用MPU,則等同於系統中沒有配MPU。 MPU有如下的能力可以提高系統的可靠性: 阻止用户應用程序破壞操作系統使用的數據。 阻止一個任務訪問其它任務的數據區,從而把任務隔開。 可以把關鍵數據區設置為只讀,從根本上消除了被破壞的可能。 檢測意外的存儲訪問,如,堆棧溢出,數組越界。 此外,還可以通過MPU設置存儲器regions的其它訪問屬性,比如,是否緩區,是否緩衝等。 3瞭解野指針 上面簡單認識了一下MPU的功能,其實它有個重要的功能就是對指針訪問的內存具有保護作用。所以,這裏讓大家認識一下指針和野指針。 回顧一下, 什麼是指針?指針在內存中實際上是一個無符號整數(unsigned int),但是它的值被賦予特殊的解釋:表示變量或函數的地址。所以才被形象地稱為“指針”,就好像指向誰家似的。在使用指針前, 都必須先讓它指向有意義的, 並且允許由程序使用的實體——數據和代碼。而所謂“野指針”, 就是指某個指針變量的值因故超出合法的範圍, 使其“槍口” 亂指。程序邏輯錯誤、 數組越界、 堆棧溢出、 指針未經初始化、 對緩存與緩衝的處理不當、 多任務環境中的紊亂條件, 甚至是惡意地破壞等, 都可以製造出野指針。如果使用野指針去讀取或修改內存, 則被讀取或修改的位置是不可預料的。前者導致讀回來的都是亂掉的數據, 後者則會破壞未知用途的數據。這常常導致系統發生莫名其妙的功能紊亂, 嚴重時會使系統毫無徵兆,沒有理由地失控、死機。 野指針就像“肉裏的刺, 醬裏的蛆” 一般:一個野指針就足以毀掉整個系統, 而且極其隱蔽, 很難通過症狀來找出是哪裏存在野指針, 甚至都不能判定症狀是否因野指針造成(程序大了其它 bug 也很多,並且也能導致相同的症狀)。對於通常的單片機系統,是沒有任何辦法來防止野指針的破壞的, 完全靠程序員的素質和自律。但智者千慮, 必有一失。尤其是當程序規模變得很大時,複雜度會呈指數上升,千頭萬緒糾纏不清, 就算是謹慎如諸葛亮,聰明如比爾·蓋茨的天才,也不敢保證沒有漏網之魚。 ---來自CM3內核翻譯作者 4進一步瞭解MPU MPU在執行其功能時,是以所謂的“region區域”為單位的。 一個region其實就是一段連續的地址,只是它們的位置和範圍都要滿足一些限制(對齊方式,最小容量等) 。 CM3的MPU共支持8個regions,還允許把每個region進一步劃分成更小的“子region”。此外,還允許啓用一個“背景region”(即沒有MPU時的全部地址空間),不過它是隻能由特權級享用。在啓用MPU後,就不得再訪問定義之外的地址區間,也不得訪問未經授權的region。否則,將以“訪問違例”處理,觸發MemManage fault。 MPU定義的regions可以相互交迭。如果某塊內存落在多個region中,則訪問屬性和權限將由編號最大的region來決定。比如,若1號region與4號region交迭,則交迭的部分受4號region控制。 MPU可用於保護多達16個內存區域。如果區域至少為256字節,那麼這些區域可以有8個子區域。子區域的大小總是相等的,可以通過子區域號啓用或禁用。因為最小區域大小是由緩存行長度(32字節)驅動的,所以8個32字節的子區域對應256字節大小。 5MPU學習資料 上面只是進一步讓大家瞭解了MPU內存保護單元,對於想要深入理解的朋友就需要參看更多相關資料。 對學習MPU編程,就需要對MPU相關寄存器進行掌握,MPU的寄存器其實相對來説也不多,這裏再Cotex-M內核技術參考手冊,以及STM32應用筆記Managing memory protection unit (MPU) in STM32 MCUs、編程手冊中都有講述關於MPU的知識。 為方便大家理解,這裏也簡單説幾點。 1.STM32內存映射 2.MPU 的寄存器組 操作MPU是就如操作普通STM32外設一樣,通過訪問它的若干寄存器來實現的,MPU寄存器如下表所示。 MPU寄存器看起來比較複雜,那是自然了,畢竟已經上升到存儲器管理的高度。但如果我們胸有成竹——已經想好了對存儲器如何劃分,這就只是一些繁瑣和考驗細心的體力活。典型情況下,在啓用MPU的系統中,都會有下列的regions。 特權級的程序代碼(如OS內核和異常服務例程) „用户級的程序代碼 „特權級程序的數據存儲器,位於代碼區中(data_stack) „用户級程序的數據存儲器,位於代碼區中(data_stack) „通用的數據存儲器,位於其它存儲器區域中(如, SRAM) „系統設備區,只允許特權級訪問,如NVIC和MPU的寄存器所有的地址區間 „常規外設區,如UART, ADC等 3.Cube HAL配置MPU例子 void MPU_RegionConfig(void){ MPU_Region_InitTypeDef MPU_InitStruct; /* Disable MPU */ HAL_MPU_Disable(); /* Configure RAM region as Region N°0, 8kB of size and R/W region */ MPU_InitStruct.Enable = MPU_REGION_ENABLE; MPU_InitStruct.BaseAddress = 0x20000000; MPU_InitStruct.Size = MPU_REGION_SIZE_8KB; MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; MPU_InitStruct.Number = MPU_REGION_NUMBER0; MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; MPU_InitStruct.SubRegionDisable = 0x00; MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; HAL_MPU_ConfigRegion(&MPU_InitStruct); /* Configure FLASH region as REGION N°1, 1MB of size and R/W region */ MPU_InitStruct.BaseAddress = 0x08000000; MPU_InitStruct.Size = MPU_REGION_SIZE_1MB; MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; MPU_InitStruct.Number = MPU_REGION_NUMBER1; HAL_MPU_ConfigRegion(&MPU_InitStruct); /* Configure FMC region as REGION N°2, 0.5GB of size, R/W region */ MPU_InitStruct.BaseAddress = 0x60000000; MPU_InitStruct.Size = MPU_REGION_SIZE_512MB; MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; MPU_InitStruct.Number = MPU_REGION_NUMBER2; HAL_MPU_ConfigRegion(&MPU_InitStruct); /* Enable MPU */ HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);} 想要了解更多MPU的內容,可參考CM3技術手冊,以及STM32應用手冊和編程手冊。 推薦閲讀: C++中字符編碼的轉換 手把手教你用STM32Trust生成加密固件 ELF相比Hex、Bin文件格式有哪些與眾不同? 關注 微信公眾號『strongerHuang』,後台回覆“1024”查看更多內容,回覆“加羣”按規則加入技術交流羣。 長按前往圖中包含的公眾號關注 免責聲明:本文內容由21ic獲得授權後發佈,版權歸原作者所有,本平台僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平台立場,如有問題,請聯繫我們,謝謝!

    時間:2020-10-22 關鍵詞: mpu 嵌入式

  • FreeRTOS V10.4.0更新了哪些功能?

    素材來源:FreeRTOS 編輯整理:strongerHuang 前幾天,FreeRTOS 從V10.3.1 升級到了 V10.4.0,其中更新並增強了不少內容。 FreeRTOS源碼Github地址: //github.com/freertos/freertos (公號不支持外鏈接,請複製鏈接到瀏覽器打開) 一、版本管理 到目前為止,FreeRTOS zip文件發行版都帶有其所包含的內核發行版的版本號。例如,FreeRTOSv10.4.0.zip包含FreeRTOS內核的版本10.4.0。但是,內核不是zip文件中包含的唯一單獨版本化的庫,並且在將來的發行版中,zip文件中的庫數將增加。因此,為了更好地反映zip文件實際上包含集成在一起的庫的集合,將來的發行版將使用日期戳版本而不是內核版本。 二、向後兼容 FreeRTOS升級做了很多改變,但為了向後兼容,除了註釋版本之外,在升級改版的代碼中做了一定管理,比如:trcConfig.h文件中將TRC_CFG_FREERTOS_VERSION設置為TRC_FREERTOS_VERSION_10_4_0。 三、代碼格式化 現在FreeRTOS代碼格式化現已“自動化”,以促進 Git中的協作開發。自動格式化的代碼不相同,保留原始格式約定。最明顯的是現在使用空格代替TAB。 四、主要增強功能 這裏有幾點內容: 1.任務通知 在FreeRTOS V10.4.0之前版本,每個創建的任務都有一個單向任務通知。從FreeRTOS V10.4.0開始,每個任務都有一系列通知。直接到任務通知API已擴展了帶有後綴為“ Indexed”的API函數,以使API能夠在任何數組索引處對任務通知進行操作。 在FreeRTOS V10.4.0之前的版本中,任務只有一個通知值,而不是值數組,因此為了向後兼容,如果未定義configTASK_NOTIFICATION_ARRAY_ENTRIES,則默認為1。 可以參看下面鏈接瞭解更多詳情: //www.freertos.org/RTOS-task-notifications.html (公號不支持外鏈接,請複製鏈接到瀏覽器打開) 2.支持內存保護單元(MPU)的內核端口 ARMv7-M和ARMv8-M MPU端口現在支持僅特權訪問堆。ARMv7-M MPU端口現在支持具有16個MPU區域的設備覆蓋特權代碼和數據的默認內存屬性區域,並能夠將FreeRTOS內核代碼置於Flash。現在,ARMv8-M MPU端口支持無滴答空閒模式。 可以參看下面鏈接瞭解更多詳情: //www.freertos.org/FreeRTOS-MPU-memory-protection-unit.html 五、其他更新 1.回調函數的原型(以“ Application”開頭的原型,如vApplicationStackOverflowHook())現在位於FreeRTOS頭文件,從而無需應用程序編寫者將原型添加到它們定義功能的C文件。 2.添加了新的POSIX端口層,允許FreeRTOS在Linux操作系統的主機上運行Windows端口層,使FreeRTOS在Windows上運行的方式相同主機。 3.新版本修復了長期存在的調度程序錯誤:在上下文切換期間可以同時執行兩個任務。 更多內容,請參看: //www.freertos.org/FreeRTOS-V10.4.x.html //github.com/FreeRTOS/FreeRTOS-Kernel/blob/master/History.txt (公號不支持外鏈接,請複製鏈接到瀏覽器打開) 關注 免責聲明:本文內容由21ic獲得授權後發佈,版權歸原作者所有,本平台僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平台立場,如有問題,請聯繫我們,謝謝!

    時間:2020-09-22 關鍵詞: mpu 嵌入式

  • 煽動MCU/MPU市場,STM32的生態圖

    煽動MCU/MPU市場,STM32的生態圖

    導言: 蝴蝶扇動翅膀,便可引發彼岸的暴風雨。 STM32這隻“蝴蝶”不僅掀起了MCU的風暴,還走進了工程師和千家萬户。 2020年STM32一年一度的全國巡迴研討會(STM32 Roadshow)火爆開場,一如既往,9月13日-9月25日STM32飛躍14個城市,為這個9月留下最美的“碟影”。 本次巡迴研討會以“安全連接,智創未來”為主題,聚焦於STM32的最新技術創新,探討在物聯網安全、智能工業、無線連接、邊緣端人工智能、圖形用户界面等領域的產品解決方案及多樣化應用實例。 具體包括STM32從通用到安全、STM32為智能工業而生、STM32Wx助力物聯世界、與STM32MP1一起盡享無限可能、STM32GUI連接你的智能世界、ST MEMS感知你的世界幾大主題。 通過本次巡迴研討會,可以看出STM32的佈局廣遍整個生態。接下來,便跟隨筆者的腳步,來看STM32的遠望。 STM32的產品生態 目前來説,STM32MCU產品提供16大產線、5類產品、超過1000個型號,基於ARM®Cortex®M0、M0+、M3、M4、M33、M7、A7內核: MPU:MP1 高性能MCU:F2、F4、F7、H7 主流MCU:F0、G0、F1、F3、G4 超低功耗MCU:L0、L1、L4、L4+ 無線MCU:WB、WL MCU方面,為用户提供了不同應用的各種選擇,包括高性能、主流、超低功耗三種選擇,可以滿足各種場景的功耗、性能、成本等。事實上,STM32MCU一直遍佈我們的生活場景,就比如眾所周知的共享單車幾乎都採用的都是STM32系列MCU。 值得一提的是,2018年,第一顆無線MCU系列STMWB問世,意味着STM32邁入了無線進擊之路。在今年4月,全球首顆內置LoRa收發器的SoC問世,這便是STM32WL;另外,今年7月發佈的STM32WB系列的最新產品STM32WB55已可支持Zigbee3.0。 LoRa是有能力解決泛在物聯網設備組網難題的技術之一,而Zigbee3.0統一了面向消費者和工業應用的Zigbee規範的功能。無線MCU可提供最新的無線適配,幫助設計人員滿足各種IoT和可穿戴設備中嚴格的功率和尺寸限制。 不止如此,STM32Wx系列產品全面支持Bluetooth5.0、LTE-M、NB-IoT、M-Bus、Sigfox、omlox、THREAD、Zigbee3.0、LoRa…… 需要特別注意的是,去年10月STM重磅發佈MPU——STM32MP1,這是STM32的首款MPU,以其創新的異構系統架構,將MPU與MCU合二為一,兼顧運算處理能力和實時控制性能,令產品更實用。很多譬如LinuxRT拓展和uCLinux這種系統存在,但很多應用中仍必要一個完整的MPU,正因ST既擁有MCU也擁有MPU,因此用户可以輕鬆地將其產品設計進行上下遷移,最大限度利用軟件和代碼,在長時間內獲取最佳的投資回報。 這款MPU更加適合需要更好的顯示交換的場景,當然STM32也擁有自己的交互系統,下文將細細講解。另外,MPU不僅可以加載Linux,還擁有千兆網口、高速USB口可以處理更多的數據。 與MCU不同,MCU使用片上嵌入式閃存來存儲和執行程序,這種方式啓動時間非常短可以快速執行代碼,但內存空間有限;MPU則沒有相同的內存約束,使用外部存儲器來提供程序和數據存儲,程序通常存儲在NAND或串行閃存之類的非易失性存儲器中,並且在啓動時被加載到外部DRAM中,然後開始執行。雖然MPU不會像MCU那樣快速啓動和運行,但可以連接到處理器的DRAM可以高達幾千M。 STM32MP1方面,擁有非常強悍的功耗和性能,STM32MP1只需1秒回到Linux界面,只需要3秒回到3D圖形應用界面。STM32MP1提供了全功率模式、分批功耗優化模式、待機模式這三種不同的模式來幫助用户優化整體的設計功耗,平衡其設計的性能和功耗。 另一方面,為用户提供了靈活高效的架構。在目前推出的三個型號中,主流的兩個型號提供了雙核A7+M4的架構,而最低成本的型號則提供單核A7+M4的架構。據稱,三個核心採用了安全的互相通信的方式,大部分外設都掛載在同一條主線上,因此三個核心可以根據各自的需求來調用外設。 依託於STM32成熟的生態系統,STM32MP1、STM32WB、STM32WL擁有完整的軟件和開發配件生態,也與MCU產品相互匹配,具有非常方便的遷移優勢。此外,STM32 MCU也依託了這兩款產品完善了整個生態,佈局MPU、無線連接等。 STM32領先的GUI 一項產品經歷了重重代碼的考驗,最終給用户最直觀的體驗還是GUI,可以説GUI是程序的門面,如若招牌都不能令人滿意,談何用户體驗? STM32的提供了StemWin、TouchGFX、EmbeddedWizard三種圖形庫軟件。 STemWin是針對動畫受限、簡單GUI設計,是基於Segger公司的emWinGUI庫,編程語言為C語言,支持1/8/16和32bpp。 TouchGFX可以實現手機GUI性能,這款軟件是ST力推的GUI應用軟件,可實現從簡單到可與智能手機媲美的GUI設計,具備針對STM32優化的GUI庫,採用C++語言編程,支持1/2/4/16和24bpp。而這一切也都已集成在CubeMX中。 STM32的圖形產品線非常豐富,擁有190多個型號,涵蓋不同的顯示接口和封裝。內核方面更是從M0+到M7一應俱全。 另一方面,在第三方圖形生態系統方面的合作伙伴包括edt、EKTOS、EMBEDDEDPARTNERS、EMGSOFT、itk、iWave、Mjolner、PsiControl、SDATAWAY、泰輯科技等,可協助開發者在STM32上創建基於TouchGFX的UI。 STM32安全有保障 物聯網正在極速擴張,數據顯示目前全球物聯網設備已接近80億,有關部門預計3年之後物聯網設備會從到80億躍至240億,對於芯片、軟件及產品設備來説,未來6年內都是非常大的商機。 但在高速發展之外,物聯網的安全性從來都是眾矢之的,有關人士指出對物聯網缺乏自信是阻礙物聯網被廣泛採用的主要原因之一。另外,種種數據也充分顯示出物聯網數據泄露或被攻擊是既存的事實,你相信你的物聯網設備嗎? 提到安全,就不得不提到STM32Trust,STM32Trust的生態系統集成了所有可用資源,包括stm32系列信息安全相關的芯片技術、免費參考估計,免費工具和服務等,並通過強大的多級策略來增強安全性。 STM32Trust生態系統將理論知識、工具和ST原廠開箱可用軟件包相結合,以便利用最佳行業實踐,為新的物聯網設備構建強大的信息安全保護。這有助於設計人員利用STM32單片機的內置功能來確保設備之間的可信、防止未授權訪問,以避免數據被盜和代碼被修改。 STM32Trust.CodeProtection一套解決方案,以確保燒寫真實stm32時,客户代碼的機密性和完整性。 對於安全性,一直是STM32的重點,在層層的代碼保護下,你還會怕信息泄露嗎? ST MEMS傳感器感知世界 其實ST不光擁有MCU/MPU,這一部分只佔總營收的28%,ST作為一家IDM公司,還擁有模擬器件、MEMS傳感器,而這一部分佔到總營收的36%。 上文提及了GUI是門面,那麼MEMS和傳感器就是MCU/MPU的五官,感受着一切,並將參數傳輸給系統。 根據SEMI發佈的報告預測顯示,預計從2019年至2023年,全球MEMS傳感器的產能將會增加25%,月產能預計增至470萬片。 加速度計、汽車傳感器、陀螺儀、電子羅盤、濕度傳感器、工業傳感器、iNEMO慣性模塊、MEMS麥克風、壓力傳感器、接近傳感器、温度傳感器、T-Plus MEMS傳感器……ST推出的傳感器可用於IoT和電池應用的低功耗設備,廣泛用於振動、温度、壓力、聲音和聲學分析。 ST在此方面有何優勢?首先,ST作為一家IDM公司,有能力開發技術和整體制程,對於整體有很強的把控能力,並擁有經驗使得器件發揮最高的安全、智能效果;另一方面,ST擁有消費、汽車、工業的多重經驗。 據瞭解,ST MEMS傳感器部門擁有將近400名員工,2座雙產能晶圓廠供貨,產能達到600萬片/天,傳感器出貨量高達150億。 目前來説,ST的傳感器主要聚焦於個人電子產品、電腦及外設、汽車和工業四大市場。最近,ST在新推出了LSM6DSOX和ISM330DHCX等X系列產品中,通過在傳感器中集成了有限狀態機(FSM)和機器學習內核(MLC),將邊緣計算引入到感知節點端,可在感知節點端對數據進行預處理、預判斷,對何種數據需要進行本地處理,哪些場景又需要對數據進行採集並上傳進行區分。 總結 提及STM32,第一反應便是其標誌性的“蝴蝶”Logo,作為工程師特別是嵌入式行業幾乎人手幾塊,只要使用過MCU做開發的人基本都知道STM32。 遠在十多年前,意法半導體在中國通用MCU市場佔有率僅為2%左右,排名10以外。數十年的努力,如今STM32MCU斬獲全球五分之一市場份額,中國市場連續10年CAGR高達27%。AIoT發展之下,MCU出貨量持續上升,全球MCU銷售年複合增速高達7.2%。 而對於中國市場,ST的重視程度一直非常高。此前,ST已多次表示,中國市場對於ST是尤其重要的。目前,在中國和整個亞太地區ST擁有三個應用中心,並且大部分工程師都在中國和大中華區,助力中國市場的發展。 另一方面,作為意法半導體增長最快的地區市場,意法半導體在中國地區建立起強大的渠道基礎設施,其廣泛的產品組合特別適合渠道分銷模式。另外,通過與國內知名學府、汽車製造商和其他合作伙伴建立各種類型的聯合研發實驗室,為中國培養下一代工程師。 話題回到 “2020 STM32全國研討會”,大會仍在繼續,乾貨繼續不斷!目前大會已在深圳、杭州、鄭州、長沙、站圓滿完成,南京、珠海、重慶、廈門、廣州、北京、西安、青島、瀋陽、上海站重磅開啓。特別是9月25日,上海站將進行線上直播,不能到現場的小夥伴可以馬上預約,從線上領略“蝴蝶”帶來的魅力。

    時間:2020-09-17 關鍵詞: st MCU mpu

  • 高性能嵌入式ARM MPU在醫療電子系統中的應用

    意法半導體(ST)與Alango科技有限公司宣佈雙方達成一項技術授權協議:意法半導體將在其先進的汽車信息娛樂如免提電話配件用藍牙芯片內整合Alango的尖端軟件技術。汽車電子行業分析者目前預測,截至2012年,全世界將有約45%的新車安裝免提電話裝備。 汽車OEM四方a集運倉電話對完整的汽車信息娛樂平台的需求越來越大,他們需要一個整合硬件、藍牙軟件和音質強化算法的整體解決方案。在先進的汽車電子芯片內集成Alango的語音通信套件(VCP)後,意法半導體將能夠為汽車配套四方a集運倉電話提供單片雙功能平台,有助於客户降低材料成本和縮小外購供應鏈。Alango VCP套件包括回聲抑制、單路和雙路麥克風降噪、自動增益控制和更多提升音質的增值技術。 從即日起Alango VCP技術將集成到意法半導體的汽車信息娛樂產品組合,包括STA2500D藍牙芯片和公司最先進的Cartesio導航應用處理器。 意法半導體汽車產品部汽車信息娛樂分部總經理 Fabio Marchio表示:“Alango擁有一套市場公認最好的高效語音強化技術,這些技術將會進一步提升意法半導體汽車芯片的性能,客户將從一站式解決方案與統一客户支持的整合行動中受益。” Alango科技公司首席執行官Alexander Goldin表示:“我們很榮幸意法半導體選擇集成Alango的語音通信套件,同時非常高興能夠為意法半導體及其客户提供完整的支持服務,大幅提升汽車信息娛樂設備聲音的清晰度。”

    時間:2020-09-09 關鍵詞: ARM 醫療電子 mpu

  • 知名四方a集運倉電話大啖可穿戴商機 新一輪芯片熱戰即將引爆

    知名四方a集運倉電話大啖可穿戴商機 新一輪芯片熱戰即將引爆

      可穿戴設備囿於體積及重量限制,對芯片尺寸與功耗要求較移動裝置更加嚴苛,因此微控制器(MCU)、微處理器(MPU)與微機電系統(MEMS)傳感器等元件開發商,紛紛推出更低功耗或高整合度的新一代解決方案,期能大啖穿戴式電子商機。   可穿戴設備將引爆新一輪的芯片熱戰。可穿戴設備受限於體積及重量限制,所需元件規格與一般移動裝置不盡相同,為搶食此商機,可穿戴設備中的關鍵元件開發商,無不戮力針對可穿戴設備發佈新一代低功耗或高整合的解決方案,再次翻新移動裝置元件規格。      圖1 芯科實驗室美國區域市場行銷總監Raman Sharma表示,穿戴式產品設計的首要考量,是元件是否能達到超低功耗的水準。   芯科實驗室(Silicon Labs)美國區域市場行銷總監Raman Sharma(圖1)表示,從來自Misfit或Magellan等可穿戴設備開發商給予該公司的回饋可知,穿戴式產品設計時,首先最注重的就是元件夠不夠省電,他們強調,夠長的電池壽命才是穿戴式產品能否為消費者所接受並在市場獲得成功的關鍵;也因此,可穿戴設備開發商通常會選擇低功耗的微控制器 (MCU)做為裝置處理核心,以延長電池壽命。   為了符合大多數可穿戴設備對於低功耗的需求,MCU四方a集運倉電話除戮力將系統待機及操作電流降至最低外,亦致力優化MCU處於睡眠狀態的耗電情形,此將成為MCU廠能否成功搶進穿戴式市場的重要指標。   滿足穿戴式應用 MCU廠力拼低功耗設計      圖2 新唐科技微控制器產品中心協理林任烈指出,MCU四方a集運倉電話除將系統待機及操作電流降至最低外,亦致力優化MCU處於睡眠狀態的耗電情形。   新唐科技微控制器產品中心協理林任烈(圖2)表示,為了達到超低功耗的表現,四方a集運倉電話在開發MCU時通常會導入睡眠模式(Sleep Mode)設計,讓MCU在非系統運作高峯期的大部分時間,能夠處於低功耗的睡眠狀態,進一步降低裝置整體功耗。   林任烈進一步指出,符合可穿戴設備需求的低功耗MCU其操作電流須達到180微安培(μA)以下的水準,在睡眠模式下的待機電流也須低於1微安培;不過,當 MCU處於睡眠模式時,系統並非完全靜止不動,因此如何優化MCU處於睡眠模式下的系統設計,讓裝置更省電,便成了MCU四方a集運倉電話戮力改善的一大重點。   其中,快速喚醒時間更是首要關鍵。據瞭解,MCU四方a集運倉電話為了達到節能目的,常在MCU中加入各種運行模式,光是睡眠模式可能就有好幾種;以愛特梅爾 (Atmel)的SAM4L系列為例,便可支援睡眠、待機、保存和備用等四種睡眠模式。在多種複雜的運行模式下,如果MCU總是要花上長時間才能從睡眠模式中啓動,將難以真正降低系統功耗。因此,林任烈提到,MCU四方a集運倉電話除了導入睡眠模式設計外,亦極為注重如何加速喚醒時間。據瞭解,目前市面上MCU在喚醒時間的平均表現水準約為5?8毫秒(ms)。   另一方面,MCU與周邊傳感器、無線射頻(RF)元件的傳輸界面亦攸關MCU是否能達到有效睡眠模式。林任烈解釋,由於睡眠模式中MCU與周邊元件的運行方式系隨着資料傳輸速度而變動,也就是資料傳輸速度愈快,MCU與周邊元件喚醒/工作模式切換的時間就愈短;因此,串列周邊界面(SPI)、I2C、輸入/輸出(I/O)接腳等傳輸界面的設計重點就是「搶快」,愈高速的傳輸界面才能愈快喚醒 MCU,並且縮短MCU處理資料的時間,從而讓裝置更省電。   林任烈補充,現在愈來愈多訴求低功耗與高效能的MCU,也開始導入可加快記憶體存取速度的多通道直接記憶體存取(Direct Memory Access, DMA)控制器,藉此在不喚醒MCU的狀態下執行及分配資料存取。也就是説,DMA控制器能將多筆資料分配儲存至靜態隨機存取記憶體(SRAM)及快閃記憶體(Flash)中,待記憶體儲存至一定容量後再喚醒MCU,使其能一次處理多筆資料,讓進入睡眠模式的MCU不會被輕易打擾。   另外,也有MCU開發商透過低功耗傳感器界面(Low Energy Sensor Interface, LESENSE)和周邊反射系統(PRS)的設計以改善MCU處於睡眠模式下的系統運作表現;如芯科實驗室藉由不斷優化這兩項設計開發出超低功耗 MCU--EFM32 Gecko;讓MCU即使進入睡眠模式,MCU的周邊元件,如類比數位轉換器(ADC)等,亦能自行配對、自主性擷取與傳遞資料。   值得一提的是,除了以安謀國際(ARM)Cortex-M系列核心打造的低功耗MCU正在可穿戴設備市場大行其道外,亦開始有四方a集運倉電話將採用以Cortex-A系列打造的微處理器(MPU)導入可穿戴設備,讓可穿戴設備得以實現更高階的應用功能。   鎖定中高階穿戴式產品 MPU方案露頭角   飛思卡爾(Freescale)微控制器事業部亞太區市場行銷和業務拓展經理王維認為,可穿戴設備的設計重點除集中在整個產品的重量、功耗、易用性之外,產品的功能面是否能滿足消費者需求亦為重要考量。   王維表示,目前MCU方案鎖定的主要是中低階的可穿戴設備,而MPU產品主要鎖定的是高解析度彩色螢幕等功能更為複雜的中高階應用;如飛思卡爾的i.MX6系列MPU即系針對此需求所推出。   不過,目前MPU方案還在接受其是否能真正符合市場需求的考驗。Sharma認為,處理器四方a集運倉電話推出MPU方案的宣示性作用大於實際效用,主要系由於MPU方案相對地會帶來更高的耗電量,導致可穿戴設備須頻繁充電,若無良好的配套方案將難以為消費者所接受;因此芯科實驗室短期內並不會考慮跟進開發 Cortex-A系列的處理器,仍將聚焦於超低功耗的MCU。   儘管如此,可實現更高效能運作模式的應用處理器(ApplicaTIon Processor, AP)仍快步在市場上嶄露頭角,特別是在智能型眼鏡應用領域,可望與MCU方案一較高下。

    時間:2020-09-02 關鍵詞: MCU 可穿戴設備 mems傳感器 mpu

  • RTU故障有哪些辦法可以進行處理

    RTU故障有哪些辦法可以進行處理

      RTU被廣泛的應用在水利、交通、油田等各種環境惡劣的行業中。它主要起到的作用是採集現場的信號進行遠程測控。這個為自動化技術提供了很大的幫助。   上世紀90年代以來,在中平能化礦區電網系統中,各35KV以上變電站均配有該類裝置,用以採集各種電網信息,為調度員提供科學的調度依據。由於RTU是電子產品,隨着時間推移,會出現各種故障,造成設備停運。然而礦井自然條件越來越差,調度水平受到嚴峻考驗,因此,如何快速解決RTU運行中出現的故障成為一項重要工作,這裏對幾種故障處理方法進行了分析。   1.使用工具測量法   這種方法比較簡單、直接,針對故障的現象,一般能判斷出故障所在,藉助一些測量工具,能進一步確定故障的原因,幫助分析和解決故障。   例如,主站端的前置機上顯示謝莊變電站報故障,顯示通道中斷。打電話到謝莊變電站,得知當地功能正常,於是我們懷疑主站端的調制解調器有問題。在遠動機房謝莊變電站信號的調制解調器端子輸入上用示波器測量模擬信號輸入波形完好,用攜帶機聽聲音正常,再用調試用筆計本計算機能接收到正常信息,而在調制解調器的輸出端測不到時鐘方波,表明調制解調器無時鐘輸出,前置計算機接收不到謝莊變電站數據,所以報故障,顯示通道中斷。經過分析,斷定是主站端解調器出錯,經更換主站端解調器,故障消除。   再如,RTU裝置終端接上後通信不正常,而當地顯示正常。故障一般在:MPU(主板)板上MC1488(完成TTL電平到EIA電平的轉換)、MC1489(MCl489完成EIA電平到ITL電平的轉換)損壞,負責收發驅動,;8251芯片損壞,串行接口,負責通信;終端接口電路損壞。   可能用示波器或數字萬用表觀察下列幾處波形或電壓:   (1)加在8251芯片的發送、接收的時鐘波形或電壓;   (2)8251芯片的TXD(19引腳,發送數據)、RXD(25引腳,接收數據)引腳波形或電壓;(邏輯1=-3V~-15V,邏輯0=+3~+15V);   (3)MC1488、MC1489(與RS232中的2發、3收腳一樣,正負±15V)有關引腳波形或電壓;   (4)主站解調器TXD、RXD波形。   通過上述幾點波形及電壓的測量,一般就可以確定故障所在地方,加以排除。   2.使用逐項排除法   在很多情況下,不能有效地判斷出故障的原因在哪一方面,可能採用排除法,以確定出故障所在的部分,然後具體進行檢查並排除。   例如,在最近的尚莊站RTU裝置不能正常工作,自恢復電路不斷啓動,顯示提示符為不規則的符號,通過換電源和重新接線沒有解決問題。就用排除法逐次拔除TS、TM、TD、MPU功能板,拔出哪一塊板系統正常,則該板存在問題。如最後剩下MPU板時,則故障出在MPU板上。確定出是那個板故障後,再根據單板調試檢修的方法,具體找出故障原因。   再如,九礦電廠接收不到主站的轉發信息,經分析可能出現下行通道故障、裝置通道板故障、主機板MPU接口電路故障、主機板8251芯片損壞。   採用以下方法可逐個排除和確定故障所在:   (1)用示波器測量下行通道的波形:若無波形,則説明下行通道故障。   (2)測量通道板輸出的數字波形:若無波形,則説明通道板故障。   (3)測量MPU板接口電路的MC1489輸出端波形:若無波形,則説明MC1489芯片損壞。   (4)測量8251芯片有關引腳的波形,確定故障所在。   經上述步驟檢查,最後排除到8251芯片。發現8251的接收時鐘引腳無波形,懷疑是時鐘驅動芯片MC1488損壞,測量MC1488輸入端有波形,即確定MC1488損壞,更換後,九礦電廠能接收到信息。  3.使用替換法 有些情況,沒有辦法確定故障的原因,可以使用替換的方法,更換某些可疑的芯片幫助查找故障。   再如,有一次在香山站,RTU開機後,顯示正常,TS狀態與實際相符,但是TM多數為滿碼值或負值,而切主站也能收到變化的TS。針以這種現象,可以説明TS、TD都沒有問題,TM也可能沒有問題,因為TM有兩塊板子,不可能同時壞掉,原因就可能是出在可改寫存貯器上,經換主板上的2864芯片,故障消除。   4.使用綜合法   綜合法是指把以上幾種方法綜合考慮起來處理故障。這樣對處理一些比較複雜的故障時能起到很好的效果。   例如,二站水廠1遙信本該在合位,而調度端報警窗顯示時合時分。到達現場發現當地RTU遙信顯示也是這個現象。首先用萬用表測量該遙信輸入端子,發現有穩定的+24V電壓輸入,説明與外部迴路無關。排除外部的干擾,那麼就可能是主機本向故障,就會想到該TS板輸入迴路中的光耦損壞,替換掉該光耦,現象不變。排除光耦後,懷疑是8255芯片有問題,更換後現象還是一樣。再更換其前級輸入的74125芯片,問題仍然沒有解決。用示波器觀察該光耦的輸出點波形,發現波形時不時地在變化,問題終於找到了,排除外部輸入和光耦本身,故障一定在光耦之前的TS輸入電路上。用示波器逐個檢查元器件的波形,最終發現限流電阻兩端電壓變化比較大,使光耦的輸入電壓上下波動,該電壓值正好在光耦導通的臨界附近,造成光耦時通時斷。就此確定出限流電阻損壞,更換後,此遙信恢復正常。   總之,RTU判定故障不但需要豐富的處理經驗、靈活運用各種處理方法,而且要有良好的技術知識作為基礎,尤其是不能性子急,這樣才能準確、及時地發現問題和解決問題。此外,查找故障時,要開拓視野、冷靜思考,把主站、RTU、各輸入端等各方面能造成故障的因素都想到,仔細地分析和進行排除。

    時間:2020-08-06 關鍵詞: rtu 時鐘驅動器 mpu

  • 瑞薩電子MPU芯片RZ/N1問世 瑞薩電子在工業領域的佈局

    瑞薩電子MPU芯片RZ/N1問世 瑞薩電子在工業領域的佈局

    近日,瑞薩電子中國產業解決方案中心工業和家電部戴其宏經理介紹了瑞薩電子最新的MPU芯片RZ/N1,該產品主要圍繞工業自動化解決方案,通過該產品的介紹,我們也能看出瑞薩電子在工業領域是如何佈局的。 目前,工業領域在瑞薩電子中佔有重要位置,產值佔瑞薩電子總產值近30%,位於汽車之後是瑞薩電子第二大重要面向市場。 “數字化工業市場有一些關鍵需求,對於技術來説需要包括提高機器效率,增強實時性分析和過程優化,以實現生產流程的智能化敏捷化。”戴其宏説道:“對於我們來説,不光是提供滿足數字化工業市場的技術要求,還需要滿足IT和OT兩方面的需求,兼顧安全性和連接性,以及提供更多的解決方案。” 瑞薩電子中國產業解決方案中心工業和家電部戴其宏經理 瑞薩電子目前提供的技術和方案 戴其宏介紹道,面對工業IoT和工業4.0市場,瑞薩電子目前能提供的方案包括工業網絡解決方案,BLDC電機與伺服運動控制,硬件的實時OS,DRP處理器,先進以太網交換機和加密解決方案,安全軟件包,低功耗傳感解決方案以及AI人工智能解決方案等,涵蓋了各種工業方案。 而在產品方面,無論是控制級還是現場級產品,瑞薩電子均有涉及。   如圖所示,瑞薩電子在工業市場的佈局,可支持各個層面的應用。 工業級控制器RZ/N1 RZ/N1是2017年11月瑞薩電子推出的產品,主要適用於可編程控制器(PLC)和網關,遠程I/O等應用。 戴其宏表示,RZ/N1具有四大特點。 第一是支持多協議工業網絡,包括EtherCAT, PROFINET,OPC UA, Canopen和EtherNet/IP 等。 第二是智能控制,芯片中Cortex-A7與Cortex-M3異構內核架構,可實現更高性能的智能控制,支持包括DDR2/3、NAND、QSPI Flash等多種存儲器,支持複雜應用。 第三點是它在工業IoT網關上,支持最多5個端口的千兆以太網,滿足IT和OT之間的網絡連接,同時也支持TSN時間敏感網絡。 第四點則是關注於安全,可防範網絡攻擊。搭載的存儲器帶片上ECC校驗。支持唯一ID防止程序被盜取。支持工業交換機需要的冗餘協議,如HSR/PRP/MRP等。 RZ家族系列的定位,是基於arm的MPU,性能從300MHz到1.5GHz,主要應用於工業市場中控制和IT技術的融合。 目前RZ家族包含四大塊,分別為顯示、工業互聯網、馬達控制及人機界面,RZ/N1是瑞薩電子首款問世的工業互聯網產品。 戴其宏表示,RZ/N1是基於R-IN引擎平台開發的第三代產品,第一代產品為R-IN32,第二代是RZ/T1。 R-IN引擎平台主要負責加速協議處理,內部包含了32位CPU和硬件RTOS,此外還有以太網加速器,實現更高性能的實時網絡通信,戴其宏表示,相對普通水平,R-IN的中斷響應時間可以減少六倍,多任務切換速度提高三倍,同時具有極微弱的抖動。 如圖所示,實測結果顯示,普通MCU在50MHz 50Mbps的網絡傳輸負擔下就已經滿負荷運轉。而採用R-IN引擎的產品不單主頻更高,同時可輕鬆實現接近百兆水平,CPU負載只有20%~30%。 RZ/N1在芯片架構上,將應用部分與實時部分分離,在通用操作系統抽象層層面上集成協議棧,通過共享內存和中斷請求實現片內CPU的無縫通信,以滿足對最新的IT/OT工業應用對於實時性和高性能的雙重需求。 瑞薩電子的RZ/N1採用的平台化策略,本身提供了硬件及部分軟件,部分工業以太網協議則是通過第三方合作伙伴來提供。由於協議通過了操作系統抽象層簡化,客户如果要調用實時性通信協議,可直接調用R-IN引擎即可,不需要進行二次開發,客户只需要關注應用層即可。 RZ/N1具體性能指標與開發 目前基於RZ/N1,瑞薩電子一共提供3大系列,5種封裝,分別對應不同的具體應用。 為了更好的推廣該產品,瑞薩電子提供瞭解決方案套件,包含開發板、驅動程序和示例支持包及代碼,客户可直接進行評估。而針對開發環境,RZ/N1也支持不同第三方的開發工具和OS。 “RZ/N1通過多協議安全且高性能的特點,滿足了IT與OT連接的種種需求,可助力客户實現下一代PLC和遠程I/O市場,同時在基礎設施、樓宇自動化等方面也會有較強的競爭力。”戴其宏總結道。

    時間:2020-07-20 關鍵詞: 瑞薩電子 mpu

  • 嵌入式系統開發的技巧,你知道多少?

    嵌入式系統開發的技巧,你知道多少?

    你知道嵌入式系統開發的技巧有哪些嗎?成為一個正式的嵌入式主板開發工程師,是一個艱辛的過程,需要開發人員維護和管理系統的每個比特和字節。從規範完善的開發週期到嚴格執行和系統檢查,開發高可靠性嵌入式系統的技術有許多種。今天給大家介紹 7 個易操作且可以長久使用的技巧,它們對於確保系統更加可靠地運行並捕獲異常行為大有幫助。 技巧 1——用已知值填充 ROM 軟件開發人員往往都是非常樂觀的一羣人,只要讓他們的代碼忠實地長時間地運行就可以了,僅此而已。微控制器跳出應用程序空間並在非預想的代碼空間中執行這種情況似乎是相當少有的。然而,這種情況發生的機會並不比緩存溢出或錯誤指針失去引用少。它確實會發生!發生這種情況後的系統行為將是不確定的,因為默認情況下內存空間都是 0xFF,或者由於內存區通常沒有寫過,其中的值可能只有上帝才知道。 不過有相當完備的 linker 或 IDE 技巧可以用來幫助識別這樣的事件並從中恢復系統。技巧就是使用 FILL 命令對未用 ROM 填充已知的位模式。要填充未使用的內存,有很多不同的可能組合可以使用,但如果是想建立更加可靠的系統,最明顯的選擇是在這些位置放置 ISR fault handler。如果系統出了某些差錯,處理器開始執行程序空間以外的代碼,就會觸發 ISR,並在決定校正行動之前提供儲存處理器、寄存器和系統狀態的機會 技巧 2——檢查應用程序的 CRC 對嵌入式工程師來説一個很大的好處是,我們的 IDE 和工具鏈可以自動產生應用程序或內存空間校驗和(Checksum),從而根據這個校驗和驗證應用程序是否完好。有趣的是,在許多這些案例中,只有在將程序代碼加載到設備時,才會用到校驗和。 然而,如果 CRC 或校驗和保持在內存中,那麼驗證應用程序在啓動時(或甚至對長時間運行的系統定期驗證)是否仍然完好是確保意外之事不會發生的極好途徑。現在一個編程過的應用程序發生改變的概率是很小的,但考慮每年交付的數十億個微控制器以及可能惡劣的工作環境,醫療儀器應用程序崩潰的機會並不是零。更有可能的是,系統中的一個缺陷可能導致某一扇區發生閃存寫入或閃存擦除,從而破壞應用程序的完整性。 技巧 3——在啓動時執行 RAM 檢查 為了建立一個更加可靠和紮實的系統,確保系統硬件正常工作非常重要。畢竟硬件會發生故障。(幸運的是軟件永遠不會發生故障,軟件只會做代碼要它做的事,不管是正確的還是錯誤的)。在啓動時驗證 RAM 的內部或外部沒有問題,是確保硬件可以如預期般運作的一個好方法。 有許多不同的方法可用於執行 RAM 檢查,但常用的方法是寫入一個已知的模式,然後等上一小段時間再回讀。結果應該是所讀就是所寫。真相是,在大多數情況下 RAM 檢查是通過的,這也是我們想要的結果。但也有極小的可能性檢查不通過,這時就為系統標示出硬件問題提供了極好的機會。 技巧 4——使用堆棧監視器 對許多的嵌入式開發者而言,堆棧似乎是一股相當神祕的力量。當奇怪的事情開始發生,工程師終於被難倒了,他們開始思考,也許堆棧中發生了什麼事。結果是盲目地調整堆棧的大小和位置等等。但該錯誤往往是與堆棧無關的,但怎能如此確定?畢竟,有多少工程師真的實際執行過最壞情況下的堆棧大小分析? 堆棧大小是在編譯時就靜態分配好的,但堆棧是以動態的方式使用的。隨着代碼的執行,應用程序需要的變量、返回的地址和其它信息被不斷存儲在堆棧中。這種機制導致堆棧在其分配的內存中不斷增長。然而,這種增長有時會超出編譯時確定的容量極限,導致堆棧破壞相鄰內存區域的數據。 絕對確保堆棧正常工作的一種方法是實現堆棧監視器,將它作為系統“保健”代碼的一部分(有多少工程師會這樣做?)。堆棧監視器會在堆棧和“其它”內存區域之間創建一個緩衝區域,並填充已知的位模式。然後監視器會不斷的監視圖案是否有任何變化。如果該位模式發生了改變,那就意味着堆棧增長得太大了,即將要把系統推向黑暗地獄!此時監視器可以記錄事件的發生、系統狀態以及任何其它有用的數據,供日後用於問題的診斷。 大多數實時操作系統(RTOS)或實現了內存保護單元(MPU)的微控制器系統中都提供有堆棧監視器。可怕的是,這些功能默認都是關閉狀態,或者經常被開發人員有意關閉。在網絡上快速搜尋一下可以發現,很多人建議關閉實時操作系統中的堆棧監視器以節省 56 字節的閃存空間等等,這可是得不償失的做法! 技巧 5——使用 MPU 在過去,是很難在一個小而廉價的微控制器中找到內存保護單元(MPU)的,但這種情況已經開始改變。現在從高端到低端的微控制器都已經有 MPU,而這些 MPU 為嵌入式軟件開發人員提供了一個可以大幅提高其固件(firmware)魯棒性(robustness)的機會。 MPU 已逐漸與操作系統耦合,以便建立內存空間,其中的處理都分開,或任務可執行其代碼,而不用擔心被 stomped on。倘若真有事情發生,不受控制的處理會被取消,也會執行其他的保護措施。請留意帶有這種組件的微控制器,如果有,請多加利用它的這種特性。 技巧 6——建立一個強大的看門狗系統 你經常會發現的一種總是最受喜愛的看門狗(watchdog)實現是,在看門狗被啓用之處(這是一個很好的開始),但也是可以用週期性定時器將該看門狗清零之處;定時器的啓用是完全與程序中出現的任何情況隔離的。使用看門狗的目的是協助確保如果出現錯誤,看門狗不會被清零,即當工作暫停,系統會被迫去執行硬件重設定(hardware reset),以便恢復。使用與系統活動獨立的定時器可以讓看門狗保持清零,即使系統已失效。 對應用任務如何整合到看門狗系統中,嵌入式主板開發人員需要仔細考慮和設計。例如,有種技術可能可以讓每個在一定時期內運行的任務標示它們可以成功地完成其任 務。在此事件中,看門狗不被清零,強制被複位。還有一些比較先進的技術,像是使用外部看門狗處理器,它可用來監視主處理器如何表現,反之亦然。對一個可靠的系統而言,建立一個強大的看門狗系統是很重要的。 技巧 7——避免易失存儲器分配 不習慣在資源有限環境下工作的工程師,可能會試圖使用其編程語言的特性,這種語言讓他們可以使用易失存儲器分配。畢竟,這是一種常在計算器系統中使用的技術,在計算器系統中,只有在有必要時,內存才會被分配。例如,以 C 開發時,工程師可能傾向於使用 malloc 來分配在堆(heap)上的空間。有一個操 作會執行,一旦完成,可以使用 free 將被分配的內存返回,以便堆的使用。 在資源受限的系統,這可 能是一場災難!使用易失存儲器分配的其中一個問題是,錯誤或不當的技術可能會導致內存泄漏或內存碎片。更多資料企鵝愛吧物久零要奇傘武奇,如果出現這些問題時,大多數的嵌入式系統並沒有 資源或知識來監視堆或妥善地處理它。而當它們發生時,如果應用程序提出對空間的要求,但卻沒有所請求的空間可以使用,會發生什麼事呢? 使用易失存儲器分配所產生的問題是很複雜的,要妥善處理這些問題,可以説是一個噩夢!一種替代的方法是,直接以靜態的方式,簡化內存的分配。更多資料請掃頭像例如,只要在 程序中簡單地建立一個大小為 256 字節長的緩衝區,而不是經由 malloc 請求這樣大小的內存緩衝區。此一分配的內存可在整個應用程序的生命週期期 間保持,且不會有堆或內存碎片問題方面的顧慮。 以上嵌入式開發的教程可以讓開發技術的人員獲取更好嵌入式系統的辦法。所有這些技術都是讓設計者可以開發出可靠性更高嵌入式系統的祕訣。以上就是嵌入式系統開發的技巧,希望能給大家幫助。

    時間:2020-05-10 關鍵詞: RAM mpu 嵌入式

  • Microchip推出一系列用於快速原型設計的嵌入式物聯網解決方案,為所有MCU和MPU提供雲連接功能

    Microchip推出一系列用於快速原型設計的嵌入式物聯網解決方案,為所有MCU和MPU提供雲連接功能

    開發人員在設計物聯網解決方案時,可以使用Wi-Fi®、藍牙和窄帶5G技術快速、輕鬆、安全地連接到任意雲 由於物聯網(IoT)市場的分散性,增加了項目的複雜性和成本,今天的開發人員在設計決策上面臨着前所未有的嚴峻挑戰,導致開發週期延長、安全威脅增加以及解決方案失效。為繼續執行智能、互聯和安全系統的核心戰略,Microchip Technology Inc.(美國微芯科技公司)今天宣佈推出雲診斷、交鑰匙全棧嵌入式開發解決方案。從用於傳感器和執行器設備的最小PIC®和AVR®單片機(MCU),到用於邊緣計算的最複雜的32位單片機(MCU)和微處理器(MPU)網關解決方案,Microchip新推出的解決方案可以讓開發人員利用Wi-Fi、藍牙或窄帶5G技術,連接到任何主要核心網絡和主要雲平台,同時在Microchip為CryptoAuthenticaTIon™ 系列推出的Trust平台的支持下,提供堅實的安全基礎。 Microchip日益豐富的物聯網(IoT)解決方案陣容現又增添6個新成員。其更容易獲取的核心、連接性、安全性、開發環境和調試功能將有助於降低項目成本和開發複雜性: ·PIC-IoT WA和AVR-IoT WA開發板:兩款全新的PIC和AVR單片機開發板和一個配套的定製快速原型工具,是與AWS(Amazon Web Services)合作開發的,通過Wi-Fi連接到AWS IoT Core(AWS物聯網核心平台)IoT傳感器節點。 ·AWS IoT Greengrass網關解決方案:基於最新的無線系統模塊(SOM),ATSAMA5D27-WLSOM1集成了SAMA5D2 MPU、WILC3000 Wi-Fi和藍牙組合模塊,模塊完全由MCP16502高性能電源管理IC(PMIC)供電。 ·SAM-IoT WG:連接谷歌雲物聯網核心平台(Google Cloud IoT Core)與廣受客户青睞的Microchip 32位SAM-D21 ARM® Cortex® M0+系列單片機。 ·基於Azure IoT SAM MCU的物聯網開發平台:集成了Azure IoT設備SDK、Azure IoT服務與Microchip的MPLAB® X開發工具生態系統。 ·PIC-BLE和AVR-BLE開發板:兩款全新的PIC和AVR 單片機開發板,用於傳感器節點設備,可通過具有低能耗藍牙(BLE)特性的網關連接到雲以及工業、消費和安全應用的移動設備。 ·LTE-M/NB-IoT 開發工具包:採用Sequans公司基於Monarch芯片的模塊,利用最新低功耗5G蜂窩技術,實現物聯網節點覆蓋。 Microchip 8位單片機事業部助理營銷副總裁Greg Robinson表示:“在現有豐富的工具和解決方案基礎上,Microchip公司正在幫助整個嵌入式控制設備和架構行業快速、輕鬆地開發安全的物聯網應用。 我們與Sequans達成最新合作伙伴關係,利用其5G技術。同時,我們與微軟Azure的合作,加強了我們開發創新解決方案的能力。” 微軟Azure IoT公司副總裁Sam George表示:“我們很高興Microchip將基於Azure IoT SAM MCU的物聯網開發平台列入其物聯網解決方案陣容。藉助Azure物聯網服務和Microchip的MPLAB X開發工具生態系統,客户可以輕鬆構建安全的物聯網設備和解決方案,無縫連接到Microsoft Azure雲平台。” 每個解決方案在保證嵌入式系統安全性的基礎上,着眼於智能工業、醫療、消費、農業和零售應用的方便使用和快速開發。豐富多樣的連接技術,加上單片機和微處理器的廣泛性能和外設功能,使得這些解決方案適用於多種市場。 開發工具 Microchip新推出的物聯網解決方案,建立在公司旗下以MPLAB X集成開發環境(IDE)為中心的龐大開發工具生態系統之上。MPLAB X 代碼配置器(MCC)等代碼生成器可為最小的PIC和AVR單片機快速地自動創建和定製應用代碼,Harmony軟件庫支持所有32位單片機和微處理器解決方案。 PKOB Nano提供板載和在線編程及調試功能,僅需一根USB線即可實現供電、調試和通信。較大的解決方案則由通用編程器和調試器提供支持,如MPLAB PICkit™ 4和MPLAB ICD 4。 ATSAMA5D27-WLSOM1自帶一套免費Linux發行版,通過將Microchip補丁打入Linux內核,客户可以得到開源社區的全面支持,有利於開發高質量的解決方案。 供貨與定價 Microchip新推出的系列小型傳感器節點開發工具包、物聯網工具和解決方案每套起售價為29美元。訂購部件編號包括: ·PIC-IoT WA開發板,用於Wi-Fi連接AWS IoT Core(AWS物聯網核心平台): EV54Y39A ·AVR-IoT WA開發板,用於Wi-Fi連接AWS IoT Core(AWS物聯網核心平台):EV15R70A ·基於SAMA5D27和WILC3000 的無線SOM,支持AWS IoT Greengrass: ATSAMA5D27-WLSOM1 ·SAM-IoT WG:將於2020年第二季度上市 ·Azure IoT SAM 單片機(MCU):將於2020年第二季度上市 ·PIC-BLE開發板,用於低能耗藍牙(BLE)連接:DT100112 ·AVR-BLE開發板,用於低能耗藍牙(BLE)連接:DT100111 ·LTE-M/NB-IoT開發工具包:將於2020年第三季度上市

    時間:2020-05-01 關鍵詞: 物聯網 Microchip MCU mpu 嵌入式

  • STMicroelectronics STM32L5超低功耗MCU在貿澤開售 提升安全防禦能力

    STMicroelectronics STM32L5超低功耗MCU在貿澤開售 提升安全防禦能力

    2020年3月24日 – 專注於引入新品並提供海量庫存的電子元器件分銷商貿澤電子 (Mouser Electronics) 即日起開始備貨STMicroelectronics (ST) 的STM32L5超低功耗微控制器。STM32L5系列採用集成Arm TrustZone® 硬件安全技術的Arm® Cortex®-M33內核,並具有一組保護功能和嵌入式高速存儲器,性能高,功耗低。 貿澤電子備貨的STM32L5微控制器採用以Arm TrustZone為基礎並支持ARMv8-M主要擴展選項的安全架構。此32位Cortex-M33內核具有浮點運算單元、一組DSP(數字信號處理)指令,以及用於提高應用安全性的存儲器保護單元 (MPU)。此外,STM32L5系列還通過了Arm的PSA 1級和2級認證。 STM32L5器件內置高速存儲器(高達512KB閃存和256KB SRAM),以及用於靜態存儲的靈活外部存儲控制器(對於引腳數為100及以上的器件)。其他外設還包括八通道SPI閃存接口,以及一系列可連接兩根APB總線、兩根AHB總線和一個32位多AHB總線矩陣的增強型I/O和外設。此器件集成了ST的ART 加速器™,能夠讓64位程序閃存在以高達110 MHz的時鐘速度和165 DMIPS運行時,進行零等待訪問。 STM32L5微控制器採用ST的低功耗技術,讓設計人員能夠靈活優化功耗。根據處理需求均衡功耗的電壓調節等技術以及完整的節能模式組合(包括低至62 µA/MHz的運行模式和108 nA的待機模式),有助於工程師設計出各種低功耗應用。

    時間:2020-03-24 關鍵詞: MCU stm32l5 mpu

  • Microchip推出一系列用於快速原型設計的嵌入式物聯網解決方案,為所有MCU和MPU提供雲連接功能

    Microchip推出一系列用於快速原型設計的嵌入式物聯網解決方案,為所有MCU和MPU提供雲連接功能

    由於物聯網(IoT)市場的分散性,增加了項目的複雜性和成本,今天的開發人員在設計決策上面臨着前所未有的嚴峻挑戰,導致開發週期延長、安全威脅增加以及解決方案失效。為繼續執行智能、互聯和安全系統的核心戰略,Microchip Technology Inc.(美國微芯科技公司)今天宣佈推出雲診斷、交鑰匙全棧嵌入式開發解決方案。從用於傳感器和執行器設備的最小PIC®和AVR®單片機(MCU),到用於邊緣計算的最複雜的32位單片機(MCU)和微處理器(MPU)網關解決方案,Microchip新推出的解決方案可以讓開發人員利用Wi-Fi、藍牙或窄帶5G技術,連接到任何主要核心網絡和主要雲平台,同時在Microchip 為CryptoAuthentication™ 系列推出的Trust平台的支持下,提供堅實的安全基礎。 Microchip日益豐富的物聯網(IoT)解決方案陣容現又增添6個新成員。其更容易獲取的核心、連接性、安全性、開發環境和調試功能將有助於降低項目成本和開發複雜性: · PIC-IoT WA和AVR-IoT WA開發板:兩款全新的PIC和AVR單片機開發板和一個配套的定製快速原型工具,是與AWS(Amazon Web Services)合作開發的,通過Wi-Fi連接到AWS IoT Core(AWS物聯網核心平台)IoT傳感器節點。 · AWS IoT Greengrass網關解決方案:基於最新的無線系統模塊(SOM),ATSAMA5D27-WLSOM1集成了SAMA5D2 MPU、WILC3000 Wi-Fi和藍牙組合模塊,模塊完全由MCP16502高性能電源管理IC(PMIC)供電。 · SAM-IoT WG:連接谷歌雲物聯網核心平台(Google Cloud IoT Core)與廣受客户青睞的Microchip 32位SAM-D21 ARM® Cortex® M0+系列單片機。 · 基於Azure IoT SAM MCU的物聯網開發平台:集成了Azure IoT設備SDK、Azure IoT服務與Microchip的MPLAB® X開發工具生態系統。 · PIC-BLE和AVR-BLE開發板:兩款全新的PIC和AVR 單片機開發板,用於傳感器節點設備,可通過具有低能耗藍牙(BLE)特性的網關連接到雲以及工業、消費和安全應用的移動設備。 · LTE-M/NB-IoT 開發工具包:採用Sequans公司基於Monarch芯片的模塊,利用最新低功耗5G蜂窩技術,實現物聯網節點覆蓋。 Microchip 8位單片機事業部助理營銷副總裁Greg Robinson表示:“在現有豐富的工具和解決方案基礎上,Microchip公司正在幫助整個嵌入式控制設備和架構行業快速、輕鬆地開發安全的物聯網應用。 我們與Sequans達成最新合作伙伴關係,利用其5G技術。同時,我們與微軟Azure的合作,加強了我們開發創新解決方案的能力。” 微軟Azure IoT公司副總裁Sam George表示:“我們很高興Microchip將基於Azure IoT SAM MCU的物聯網開發平台列入其物聯網解決方案陣容。藉助Azure物聯網服務和Microchip的MPLAB X開發工具生態系統,客户可以輕鬆構建安全的物聯網設備和解決方案,無縫連接到Microsoft Azure雲平台。” 每個解決方案在保證嵌入式系統安全性的基礎上,着眼於智能工業、醫療、消費、農業和零售應用的方便使用和快速開發。豐富多樣的連接技術,加上單片機和微處理器的廣泛性能和外設功能,使得這些解決方案適用於多種市場。 開發工具 Microchip新推出的物聯網解決方案,建立在公司旗下以MPLAB X集成開發環境(IDE)為中心的龐大開發工具生態系統之上。MPLAB X 代碼配置器(MCC)等代碼生成器可為最小的PIC和AVR單片機快速地自動創建和定製應用代碼,Harmony軟件庫支持所有32位單片機和微處理器解決方案。 PKOB Nano提供板載和在線編程及調試功能,僅需一根USB線即可實現供電、調試和通信。較大的解決方案則由通用編程器和調試器提供支持,如MPLAB PICkit™ 4和MPLAB ICD 4。 ATSAMA5D27-WLSOM1自帶一套免費Linux發行版,通過將Microchip補丁打入Linux內核,客户可以得到開源社區的全面支持,有利於開發高質量的解決方案。 供貨與定價 Microchip新推出的系列小型傳感器節點開發工具包、物聯網工具和解決方案每套起售價為29美元。訂購部件編號包括: ·PIC-IoT WA開發板,用於Wi-Fi連接AWS IoT Core(AWS物聯網核心平台): EV54Y39A ·AVR-IoT WA開發板,用於Wi-Fi連接AWS IoT Core(AWS物聯網核心平台):EV15R70A ·基於SAMA5D27和WILC3000 的無線SOM,支持AWS IoT Greengrass: ATSAMA5D27-WLSOM1 ·SAM-IoT WG:將於2020年第二季度上市 ·Azure IoT SAM 單片機(MCU):將於2020年第二季度上市 ·PIC-BLE開發板,用於低能耗藍牙(BLE)連接:DT100112 ·AVR-BLE開發板,用於低能耗藍牙(BLE)連接:DT100111 ·LTE-M/NB-IoT開發工具包:將於2020年第三季度上市

    時間:2020-03-12 關鍵詞: MCU 雲連接 mpu

  • 意法半導體提升STM32微處理器性能,加固產品生態系統

    意法半導體提升STM32微處理器性能,加固產品生態系統

    中國,2020年2月28日 – 橫跨多重電子應用領域的全球領先的半導體供應商意法半導體為STM32MP1系統微處理器(MPU)產品增加了新的授權合作伙伴和軟件功能,並顯著提升了處理性能,將時鐘速度提高到800MHz,軟件引腳與650MHz產品兼容。 新STM32MP1 MPUs現在搭載800MHz Arm®Cortex®-A7雙核應用處理器和209MHz Cortex-M4處理器,具有優異的語音和音頻處理性能,解碼質量達到高清視頻級別,在神經網絡和機器學習應用中,能夠實現更強大的AI(人工智能)功能,還為Android系統帶來更好的用户體驗。新產品集成運算及3D圖形加速器,兼備高能效實時控制和高集成度。 Qt公司高級副總裁Petteri Holländer表示:“我們的高人氣的Qt HMI工具包及其基於QML的GUI應用軟件都可以部署在STM32 MCU和STM32MP1平台上,在大幅降低開發成本的同時加快客户產品交付週期。ST和Qt的可擴展工具套件可以輕鬆利用STM32MP1的硬件資源,尤其是3D 硬件GPU加速器,為工業 / 物聯網應用帶來一個流暢的人機界面渲染解決方案。” 利用STM32MP1的靈活架構,新產品增強了客户代碼安全保護功能,例如,身份驗證安全啓動、客户可用一次性可編程熔絲,以及安全操作系統(OP-TEE:可信執行環境)。密鑰生成器簽名工具、STM32CubeProgrammer和硬件安全模塊(STM32HSM)等整套安全工具可將客户的加密數據安全地輸入微處理器。 作為一個主線開源Linux操作系統,OpenSTLinux Distribution 具有在應用處理器內核上運行軟件所需的全部基本組件,幫助客户加快開發週期,現在又新增了Android開發者軟件包和雲計算支持。意法半導體繼續積極參與Linux社區開發,堅持主線內核戰略。 Bootlin首席執行官Michael Opdenacker表示:“ ST積極參與Linux內核社區活動,這給我們留下深刻的印象。Linux和STM32MP1同步發佈將使此次發佈會得到更高的關注度。我們認為,ST知道客户的興趣在哪裏,主線版本支持開源項目,新版本免費升級,零成本安全更新,開發社區支持,以及保護長期投資。享有相同的開源DNA,Bootlin很榮幸能成為ST授權合作伙伴,在這個平台上向全球客户提供工程和培訓服務。” 除了STM32CubeMX和STM32CubeProgrammer等強大軟件工具外,現在STM32CubeIDE調試器也可以在Cortex M-4內核上使用。 授權合作伙伴數量的快速增長極大地擴大了客户的研發能力範圍,並加快了STM32MP1系列MPU應用開發週期。除了嵌入式軟件 和軟件開發工具外,合作伙伴還在培訓 和 工程服務方面貢獻專業知識。意法半導體與Phytec等多家模塊系統四方a集運倉電話合作,滿足客户對本地技術支持和系統靈活性的需求。 Phytec產品經理Yves Astein表示:“持續豐富擴大的STM32MP1產品系列,以及大量的圖形處理功能和豐富的通信接口,為Phytec的phyCORE-STM32MP1系統模塊提供了工業級外設,使得該模塊成為人機接口以及各種實時交互應用的最佳選擇。這款PhyCore 系統級模塊及長期維護服務可降低任何嵌入式設計的複雜性,同時與ST團隊的良好關係使我們能夠按時交付系統模塊,保證客户設計安全。” 意法半導體還與系統級封裝製造商Octavo Systems合作,滿足空間受限應用的設計需求。 Octavo Systems戰略副總裁Greg Sheridan表示:我們很快意識到,Octavo必須開發一個基於STM32MP1的系統級封裝,利用ST的Cortex-M產品悠久的成功歷史來簡化微處理器的開發使用。我們的OSD32MP1 SiP在一個18mm x 18mm的微型封裝內集成STM32MP1、STPMIC1、DDR3、振盪器和無源器件,使微處理器像微控制器一樣容易上手,讓設計人員沒有任何生疏感。結合ST授權合作伙伴計劃的支持,OSD32MP1 SiP讓客户能夠在一款功能強大的微處理器上快速開發產品。” STM32MP1 MPU已通過工業標準認證,結温範圍-40°C至125°C,10年成本歸集期作業率為100%。800MHz Cortex-A7版STM32MP1現已投產。

    時間:2020-02-28 關鍵詞: 微處理器 STM32 mpu

  • 為什麼ST也要做MPU?為什麼入場這麼晚但我們仍絕對看好?

    為什麼ST也要做MPU?為什麼入場這麼晚但我們仍絕對看好?

    STM32系列MCU在通用型微控制器領域處於領先的地位,為何還要推出MPU系列的產品STM32MP1呢?一方面,是由不同應用場景決定的。即使存在譬如Linux RT拓展和uCLinux這種系統存在,但很多應用中仍必要一個完整的MPU。另一方面,如果可以提供高度兼容的MCU和MPU產品,那麼用户可以輕鬆地將其產品設計進行上下遷移,最大限度利用軟件和代碼,在長時間內獲取最佳的投資回報。 上述的第一點是所有的MPU四方a集運倉電話都明確的,並且很多產品在功耗性能價格方面也都做的非常優秀了。第二點則不是那麼容易實現的,因為這涉及到整個四方a集運倉電話的產品戰略,很多市場上已有的MPU產品最初就是單獨作為一個產品家族/品牌來進行規劃的,所以很難做到高度的MPU與MPU產品的兼容性。但ST似乎是唯一在這方面可以做到更好的四方a集運倉電話,而且ST也深諳這一道理,所以你可以看到MP1仍然是屬於STM32家族中的,從軟件環境到硬件內核,都提供了高度的兼容性。這也就是為何即使較晚進入一個成熟的MPU市場,但ST仍然信心十足的原因。 MCU與MPU區別是什麼? MCU與MPU的區別非常明顯,MCU使用片上嵌入式閃存來存儲和執行程序,以這種方式存儲程序意味着MCU的啓動時間非常短,並且可以非常快速地執行代碼,但這種可用內存空間是有限的。 MPU沒有相同的內存約束,使用外部存儲器來提供程序和數據存儲。程序通常存儲在諸如NAND或串行閃存之類的非易失性存儲器中,並且在啓動時被加載到外部DRAM中,然後開始執行。這意味着MPU的啓動和運行速度不會像MCU那樣快,但是可以連接到處理器的DRAM可以高達幾千M。另一個區別是功耗。通過嵌入自己的電源,MCU只需要一個單電壓電源軌。相比之下,MPU的內核,DDR等需要幾個不同的電壓軌。開發人員需要通過板上附加的PMIC來滿足這一要求。 圖片來源:Cliff Brake 選擇的決定因素是什麼? 在給自己的嵌入式應用進行計算平台選擇時,有多種需要考慮的因素來決定到底要選擇MCU還是MPU。第一點可以考慮是否需要一些圖形界面的交互,UI的複雜程度是怎麼樣的。MPU通常會配置TFT LCD控制器,所以更適合進行顯示的交互的處理。雖然近年來的趨勢是很多TFT LCD控制器也會在MCU中進行配置,但受限於內存大小,所以這些顯示的應用一般都是確定好的,所以不能夠給終端用户預留出一些拓展的可操作的空間,這些配置TFT LCD控制器的MCU並不是想要取代MPU的市場,而是為了提升傳統段式和點陣式LCD顯示的體驗,主流的彩TFT顯示應用上還需要MPU來做。 第二個因素是考慮到一些高速的連接需求,MPU上很容易找到千兆網口、高速USB口等高速通信外圍,可以提供足夠的信道和帶寬來處理數據流量。雖然現在MCU也可以進行很多高速通信的工作,但仍需要注意檢查使用第三方堆棧時候對於代碼空間的影響,某些需要基於OS的堆棧的高速應用需要基於MPU的系統來做。 第三個因素是要考慮應用的確定性/實時性。因為MCU採用內部嵌入式閃存,所以在實時性方面可以提供保證。而MPU需要從外部進行加載需要一定的時間,另外Linux基礎的系統在重啓的時候耗時也比較多,不適合應用在一些有確定性需求的場景中。總的來講,雖然現在MCU和MPU都在相互靠近,但兩者仍有着各自明確的應用場景。 雙核A7+M4實現高效靈活架構 在近日北京召開的發佈會中,意法半導體微控制器事業部STM32微處理器產品市場經理Sylvain RAYNAUD表示,STM32MP1為用户提供了靈活高效的架構。在目前推出的三個型號中,主流的兩個型號提供了雙核A7+M4的架構,而最低成本的型號則提供單核A7+M4的架構。據稱,三個核心採用了安全的互相通信的方式,大部分外設都掛載在同一條主線上,因此三個核心可以根據各自的需求來調用外設。 STM32MP1內部的Cortex-A核心可以支持3D圖形處理,最高系統時鐘可以達到533MHz,同時支持OpenGL ES 2.0。Cortex-M4有一個獨立的448kB的專用RAM,就像普通的MCU一樣Cortex-M4程序在RAM裏執行可以確保代碼執行的實時性和可靠性。STM32MP1可以同時做兩部分應用,一部分是高速處理接口,可以用A7+Linux完成,顯示屏支持兩種:一個是24位RGB,最高達到 60fps;一種是MIPI DSI 2Lane串口屏, 在Linux中可以達到720P高清顯示。 DDR 存儲上支持DDR3/DDR3L、LPDDR2/LPDDR3,系統主頻 可達到533MHz。外部高速接口一般配到A7上,支持GMAC高速以太網。三個USB2.0,其中兩個內置HS PHY。實時處理由Cortex-M4完成,可以做實時處理、馬達驅動、sense感測和低功耗數據採集,整個系統非常靈活,這是因為三個內核可以根據應用靈活切換各種模式,實現系統最佳優化。 功耗與性能並重 STM32MP1全速運行模式時Cortex-A7跑分可以達到2470DMIPS,同時雙核Cortex-A7 +3D GPU是打開的。Cortex-M4最高跑到209,MIPS部分可以達到260個MIPS;在這種情況下是整體能效最大的情況。而在Cortex-A7核待機,只有Cortex-M4在跑的時候,功耗是正常模式的四分之一。而當STM32MP1進入待機模式時,功耗僅僅是前一個模式的1/2500。ST為STM32MP1提供了全功率模式、分批功耗優化模式、待機模式這三種不同的模式來幫助用户優化整體的設計功耗,平衡其設計的性能和功耗。另外從待機模式回到全速運行有一個很重要的關鍵因素,就是喚醒時間。 STM32MP1只需1秒回到Linux界面,只需要3秒回到3D圖形應用界面。從1秒回到Linux界面屬於業界領先的水平,幾乎難以找到比這個更短的;而根據圖形的大小,3秒回到3D圖形界面的時間還可以變得更短。 完備的開發生態 依託於STM32成熟的生態系統,在STM32MP1上,ST也提供了完備的軟件、硬件和客户支持。 STM32提供了OpenSTLinux開發包用於A7部分的開發,保證系統軟件的穩定性。目前STM32MP1 SoC驅動程序已被Linux社區採用和認可,ST的STM32MP1支持Linux4.19LTS。此外,ST全面兼容包括Linux的Foundation和Yocto Project在內的開源軟件的標準。ST在Yocto建立了一個Project,確保用户可以穩定簡易使用這個開發包。同時ST也支持Linaro社區,提供了參考軟件和培訓資料。指的一提的是,ST還提供了預集成安全操作系統OP-TEE,免除了用户去自己尋找安全軟件的煩惱,並且完全免費也降低了用户的成本。在M4部分,不用多説了,用户可以重複使用其之前的STM32Cube應用。 軟件開發工具方面, 目前可以使用CubeMX、ac6、KEIL和IAR等工具進行調試和開發。未來可能會通過CubeIDE來取代ac6實現A7部分的編程調試工作。最後在硬件方面,同樣MP1也會有eval板和discovery板,此外還有不少第三方的開發版和SoM。可能MP1並不會再提供nucleo版本的板子出來。 為什麼晚入場的MP1仍然被我們看好? 正如文章開頭所提及到的,ST因為在STM32MCU方面有着深厚的根基,然後在此基礎上推出的MP1可以很好地幫助用户在整個平台上進行設計的上下遷移,節省很多的再開發的時間。同時長遠來看可以為大客户提供更優異的投入回報比。以風頭最勁的專門做MPU的i.MX系列來看,近年來正在做一些下探的工作,將成本降低到MCU的水平,提供MPU一般的高性能的跨界處理器。不可否認的是其性能價格極具優勢,以iMXRT系列舉例,其老用户都是MPU用户,在遷移到RT的M7+M4的平台上時必然會有很多的重開發的工作。 ST將其用户劃分為三個來源:純MPU用户,對於他們而言,吸引力在於其可以在實時控制的M4核這邊獲得很多成熟的資源的支持。對於MPU和MCU的混合用户,可以在ST提供的整體的開發環境內提高工作效率,在做交互設計時更為得心應手。對於純MCU用户,想要向上提升設計到MPU平台的這部分人來説,選擇MP1應該是非常好的選擇。 一直堅持內升的ST在STM32家族的更新方面一直穩紮穩打,第三季度的營收也取得了高預期的增長,反觀很多半導體四方a集運倉電話則受到了大環境的影響,營收大幅下跌。所以選擇一個持續穩定的平台對於客户而言也是非常重要的一點。 ST還為MP1提供了配套的MPIC——STPMIC1,得益於此目前已經有很多的第三方的SoM和開發板快速麪世。 圖:OCTAVO推出的MP15X

    時間:2019-11-07 關鍵詞: MCU STM32 技術專訪 mp1 mpu

  • 四種嵌入式處理器概況

    四種嵌入式處理器概況

    世界上具有嵌入式功能特點的處理器已經超過1000種,流行體系結構包括MCU,MPU等30多個系列。鑑於嵌入式系統廣闊的發展前景,很多半導體制造商都大規模生產嵌入式處理器,並且公司自主設計處理器也已經成為了未來嵌入式領域的一大趨勢,其中從單片機、DSP到FPGA有着各式各樣的品種,速度越來越快,性能越來越強,價格也越來越低。嵌入式處理器的尋址空間可以從64kB到16MB,處理速度最快可以達到2000 MIPS,封裝從8個引腳到144個引腳不等。 嵌入式處理器是嵌入式系統的核心,是控制、輔助系統運行的硬件單元。範圍極其廣闊,從最初的4位處理器,目前仍在大規模應用的8位單片機,到最新的受到廣泛青睞的32位,64位嵌入式CPU。 自微處理器的問世以來,嵌入式系統得到了飛速的發展,嵌入式處理器毫無疑問是嵌入式系統的核心部分,嵌入式處理器直接關係到整個嵌入式系統的性能。通常情況下嵌入式處理器被認為是對嵌入式系統中運算和控制核心器件總的稱謂。 一、嵌入式微處理器(MPU) 嵌入式微處理器是由通用計算機中的MCU演變而來,是目前嵌入式系統工業的主流,仍然有着極其廣泛的應用。嵌入式微控制器的典型特徵是具有32位以上的處理器,除了內部集成ROM/EPROM、RAM、總線、總線邏輯等各種必要功能和外設之外,嵌入式微處理器值保留和嵌入式應用緊密相關的功能硬件,確保以功耗實現嵌入式應用的特殊要求。 特點:需要外圍擴展電路、與微控制器相比其處理能力較高,尋址能力強、型號多、通用性強。 代表產品:ARM、Intel、National。 二、嵌入式微控制器(MCU) 俗稱單片機,顧名思義,就是微型版的計算機系統。嵌入式微控制器一般以某種微處理器內核為核心,芯片內部集成串行口、I/O、脈寬調製輸出、總線邏輯等必要功能和外設。為了適應不同的應用需求,一般情況下一個系列的單片機具有多種衍生產品,而每種衍生產品的處理器內核都是一樣的。由於微控制器的片上外設資源比較豐富,適合於簡單控制系統,故稱作嵌入式微控制器。 特點:功能全、單片化、體積小、功耗低。 代表產品:Intel的MCS-51/96系列、Motorola的68HCxx系列、Microchip的PIC系列。 三、嵌入式DSP處理器(DSP) 嵌入式DSP處理器是專門用於信號處理方面的處理器,其針對系統結構和指令進行了特殊設計,使其更加適合於執行DSP算法,編譯效率以及指令執行速度也得到大大提升。在數字濾波、FFT等各種數字信號儀器上DSP獲得了大規模的應用。 特點:編譯效率高、執行速度快、高實時性。 代表產品:TI的TMS320C2000/C5000系列、TexasInstruments的TMS320系列、Motorola的DSP5600系列。 四、嵌入式片上系統(SOC) 嵌入式片上系統是半導體工藝的發展,EDI的推廣以及VLSI設計的普及化的產物。其最大的特點是,在一個硅片上實現一個更為複雜的系統。與其他嵌入式系統外設一樣,嵌入式片上系統成為VLSI設計中一種標準的器件,對於減小產品的體積和功耗、提高可靠性非常有利。 特點:極高的綜合性、高可靠性、簡潔的系統。 代表產品:Philips的SmartXA系列、Motorola的M-Core系列。 世界上具有嵌入式功能特點的處理器已經超過1000種,流行體系結構包括MCU,MPU等30多個系列。鑑於嵌入式系統廣闊的發展前景,很多半導體制造商都大規模生產嵌入式處理器,並且公司自主設計處理器也已經成為了未來嵌入式領域的一大趨勢,其中從單片機、DSP到FPGA有着各式各樣的品種,速度越來越快,性能越來越強,價格也越來越低。嵌入式處理器的尋址空間可以從64kB到16MB,處理速度最快可以達到2000MIPS,封裝從8個引腳到144個引腳不等。

    時間:2019-07-27 關鍵詞: DSP SoC MCU 嵌入式處理器 mpu

  • TI的omap系列MPU 什麼是OFF_MODE ?

          什麼是OFF MODE ,顧名思義,應該是休眠待機模式,也就是TI自帶的pin mux軟件裏面生成的引腳配置註釋説明,也叫做standby mode,TI的 datasheet(TRM)裏面有詳細説明(打開那個最大的pdf手冊,應該有30M以上的,這個是詳細的datasheet也叫做technical reference),裏面 有一個部分叫做 PRCM(Power ,Reset,Clock,and Manager)部分有詳細的OFF MODE説明,以及OFF MODE和Acitive MODE之間的關係,兩種MPU狀態的切換等等。      值得一提的是,TI的MPU都有引腳的內部上拉和下拉,以及高阻狀態,也就是PULL_INACTIVE,就是不上拉也不下拉,在Active MODE有上拉下拉,在OFF MODE也有上拉下拉,這樣依據硬件的連接正確的配置,可以大大降低系統的運行以及休眠時的功耗。      TI官方網頁有一篇是介紹如何降低IO功耗的文章://processors.wiki.ti.com/index.php/Optimizing_OMAP35x_OFF_mode_PAD_configuration

    時間:2019-06-13 關鍵詞: mpu

  • 利用FPGA解決手持設備MPU功耗問題

    利用FPGA解決手持設備MPU功耗問題

      消費類手持設備市場正呈跳躍式發展。便攜式產品處理能力不斷增加,所支持的應用越來越多;產品更新換代速度加快,新產品必須滿足上市時間要求,以便獲得最大的市場機會;產品生命週期的縮短要求縮短開發週期,同時更加強調可複用性和可重複編程能力。新興手持設備市場還有一個有趣的趨勢,即一個系列中的每種設備的出貨量越來越少,但系列設備間的定製功能卻越來越多,進而有效提升了產品的總出貨量。這樣,關鍵挑戰就變成了如何開發一個可廣泛複用同時又可定製的系統。  為應對上述挑戰,越來越多的設計人員開始使用FPGA進行手持產品的開發。FPGA的功能日益強大和豐富,而門數、面積和頻率也在不斷增加。FPGA的開發和週轉時間要比定製ASIC短得多,可重複編程的額外優勢使得FPGA成為手持嵌入式系統領域中頗具吸引力的解決方案。在基於ASIC或FPGA的設計中,設計人員必須認真考慮某些性能標準,他們面臨的挑戰主要體現在面積、速度和功耗方面。  與ASIC一樣,供應商在FPGA設計中也需要應對面積和速度的挑戰。隨着門數不斷增加,FPGA需要更大的面積和尺寸來適應更多的應用,設計工具需要採用更好的算法以便更有效地利用面積。不斷演進的FPGA技術也給設計人員帶來一系列新的挑戰,電源利用率就是其中之一,這對於為手持或便攜式設備設計基於FPGA的嵌入式系統來説是急需解決的問題。  嵌入式系統中的FPGA  典型的嵌入式系統由處理器、存儲器、包括USB、SPI、I2C在內的標準接口以及液晶顯示器、音頻輸出等外設組成。設備的核心仍是處理器和處理器接口,它們通過板載連線連接到各個外設。系統性能主要取決於處理器性能,而處理器通常具有非常標準的架構,因而不容易定製。  有時處理器可能忙於處理來自低速外設的信息,雖然在這種情況下處理器使用率可能達到100%,但並不是在做以微處理器為中心的事務,而是工作在特別低的性能水平。不管其內核頻率是多少,微處理器必須等待來自低速時鐘的數據。這也會導致較高的功耗,因為處理器的利用率是100%。其結果將縮短電池壽命,並且需要更大的散熱器或風扇進行冷卻,最終影響整個系統的可靠性。  於是,FPGA在這方面開始發揮重要作用,因為它們能從處理器卸載許多外設交互任務。如圖1所示,利用標準千兆TCP/IP網絡實現的未壓縮音視頻數據流的嵌入式分佈系統。它有一個專用DSP處理器,這個處理器通過一個標準總線接口與賽靈思的FPGA相接,FPGA再連接到各個低速外設。    圖1:用於音頻/視頻分佈系統的FPGA架構。  作為啓動開發套件,這個FPGA通過I2S接口連接12位的PCM音頻輸入和12位的PCM音頻輸出;它還連接視頻編碼器和解碼器,並與I2C從器件和RS232器件進行通信;連接到FPGA的通用I/O很少。與處理器相連的標準總線工作在高速的66MHz,而音頻外設工作在低速的1.182MHz;UART和I2C串行接口分別工作在56.6kHz和100kHz。由於數據傳輸發生在多個時鐘域,因而只有處理器能配置數據流。  在這種情況下,處理器不再與低速外設交互,而由FPGA從低速的PCM ADC音頻器件讀取數據,並將數據存放在FPGA的內部緩存中。處理器可以週期性地從這個緩存讀取數據,或者當緩存中有足夠數據時,由FPGA向處理器發送一箇中斷。這樣,處理器就有更多的時間執行以處理器為中心的必要工作,在空閒時則進入睡眠模式。  功耗問題  在電池供電的嵌入式系統中,節能是最重要的考慮因素。功耗可以被分成三大類:啓動功耗、靜態功耗和動態功耗。設計人員無法控制啓動功耗,而啓動功耗在決定電源選型中扮演着重要的角色。大多數最大電流值指的就是這個階段所達到的值。但靜態功耗和動態功耗是兩個不同的領域,通過合理的規劃和以下正確的指導原則,使用FPGA的嵌入式設計人員可以在功耗優化方面作出顯着改進。  靜態功耗是指系統不工作時仍有電流流過元件時產生的功耗,一般由器件偏置電流和漏電流引起。靜態功耗也取決於工作電壓,降低工作電壓可以降低靜態功耗,但這個策略並不總是掌握在設計人員手中。設計人員能做的是定義合理的架構,在這種架構下需要使用的資源最少,同時儘可能使用資源共享,並以最高效的方式使用FPGA模塊。  減少靜態功耗的另外一種技術是在設計週期早期進行功耗預估,改變拓撲或使用不同的IP模塊。例如,賽靈思的xPower Estimator工具這時就非常有用,它能很早知道設計是否滿足功耗預算。早期階段的功耗預估也許不完全準確,但作為指導工具確實很有幫助。  動態功耗是由於FPGA門的一些行為(比如信號開關)引起的,當兩個門暫時導通時,將產生電流流動和電容。信號開關的速度決定了功耗的大小。影響動態功耗的另外一個因素是電路內部結構中形成的固有電容。動態功耗是時鐘頻率、正在開關的門數量和這些門開關速率的函數。門扇出和走線上的電容負載會增加動態功耗,並且功耗值正比於電容、電壓和頻率平方的乘積。  設計人員對這種功耗具有最大的控制能力,他們可以利用許多技術實現動態功耗的最大改善。降低信號開關頻率可以使功耗呈指數式下降。正如圖1所示,用於UART的控制邏輯、奇偶校驗或幀超限錯誤都發生在速度較低的時鐘域。即使門數沒有減少,功耗也會下降。設計人員還可以通過降低整體工作頻率(如果可行的話)來減小動態功耗。例如,在完成可行性和性能分析後,設計人員決定上述設計不僅能工作在133MHz,也能工作在66MHz。DSP支持這兩種速率,而減小電壓也有助於降低功耗。  另外一種技術是減少處於工作模式的有效門數。有時某部分邏輯雖然在開機時被打開和配置,但實際上不要求做任何事情。例如,模擬音頻捕獲單元處於工作狀態,設備卻不在執行任何數字SPDIF音頻捕獲。在這種情況下,一般的數字SPDIF音頻捕獲電路仍將執行數據採樣、雙相解碼等工作,因而無謂地浪費功率。如果禁用整個數字SPDIF音頻捕獲電路,使電路中不發生任何信號開關動作,那麼動態功耗將會顯着降低。  設計人員可以禁用傳送到這部分電路的時鐘來達到這個目的。一種簡單的做法是將時鐘信號與使能信號相“與(AND)”,如圖2所示。如果使能信號是低電平,那麼與門的輸出將保持低電平。如果使能信號為高電平,與門將輸出時鐘信號。    圖2:一種簡單的時鐘選通機制。  還可以使用其它方法。如果可能並且拓撲又支持的話,可以通過復接地址和數據線來減少信號線數量。在我們這個例子中,到視頻編碼器的輸出是16位數據,我們可以把它復接成8位,然後分別在時鐘的兩個沿(上升沿和下降沿)發送出去。這樣做也能節省動態功耗。此外,選擇串行接口代替並行接口也能降低功耗。使用帶較低電容負載的LVTTL或LVCMOS I/O也很有用。  嵌入式處理器  將處理器嵌入到FPGA中是手持設備設計人員可以採用的又一種策略,它可以帶來很多好處。首先,減少了定製處理器帶來的上述挑戰。其次,外設和處理器之間的交互發生在FPGA內部,因而可以減少I/O數量。由於I/O會消耗相當多的功率,此舉也能達到一定程度的節能效果。賽靈思的Virtex-5版本支持PowerPC 440處理器、硬處理器和MicroBlaze軟處理器,所有這些處理器都可以被設計人員用來創建高端或低端應用系統。  隨着90m和65nm半導體技術的發明,門的尺寸在不斷縮小,導致靜態功耗問題越來越突出,在對功耗指標越來越敏感的今天,這是一個極具挑戰性的現象。由於功耗問題獲得了眾多FPGA供應商的重視,在這個領域中已出現許多令人興奮的新技術。低功耗設計將決定一個系統的集成能力有多強,業界也迫切需要將注重功耗的設計技術標準化。

    時間:2019-03-25 關鍵詞: FPGA 手持設備 電源技術解析 mpu

  • 瑞薩電子推出四款RZ/G2系列64位MPU,可超長期支持Linux

    四款RZ/G2系列MPU均可通過ECC在所有存儲器實現安全可靠的操作以及超過10年的Linux內核支持 瑞薩電子株式會社近日宣佈,推出RZ/G系列微處理器(MPU)的第二代產品——基於64位Arm® Cortex®-A57和Cortex®-A53核的RZG2系列MPU,面向工業與建築自動化應用。這四款新的RZ/G2系列MPU由瑞薩電子RZ/G Linux Platform提供支持,助力其在工業領域的應用,為任務關鍵型應用以及具有高質量要求的標準應用帶來更高的性能、可靠性、安全性和長期的軟件支持。 瑞薩電子工業解決方案業務部企業基礎設施業務部副總裁加藤茂樹表示,“RZ/G2系列MPU為滿足嵌入式控制器開發人員在工業自動化和建築自動化應用中的需求而設計。這些應用需要更高的性能、全面的集成接口、更高的可靠性和長期的軟件支持,這正是RZ/G2系列MPU具備的。” RZ/G2系列MPU集成了高性能的64位MPU、一套完整的集成接口、內部及外部存儲器錯誤檢查與糾正(ECC)保護機制,以及一個經過完全驗證的Linux軟件包(VLP)。該軟件包包含民用基礎設施平台(CIP)超長期支持(SLTS)Linux內核,其與軟件開發環境捆綁,將軟件和硬件之間的內外部安全性以及可靠性結合起來。RZ/G2系列MPU是市場上首款為64位Linux內核提供超過10年支持的嵌入式MPU。 CIP理事會主席、西門子公司(Siemens AG)智能嵌入式系統負責人Urs Gleim表示,“瑞薩電子是首家支持最新64位Arm CIP內核的成員企業,我們很高興最新發布的RZ/G2系列MPU將成為64位Arm首個用於CIP Linux軟件包認證和發佈的參考硬件。這將幫助我們更進一步實現我們的使命,即對關鍵系統的超長期支持,而這些關鍵系統是構建我們全球開發社區的支柱。” 早期的技術先行者,如DJ/俱樂部和專業音響設備市場的領導者——先鋒 DJ集團(Pioneer DJ Corporation)等已經開始採用RZ/G2M產品,這是對瑞薩電子MPU產品高性能和出色的圖形處理能力的高度肯定。 RZ/G2 系列 MPU 的主要特點 提升工業應用的性能: ·RZ/G2 系列 MPU 基於 64位 Arm Cortex A57 及 Cortex-A53 64位內核構建,與之前發佈的 RZ/G1 產品組相比可提供更強大的處理能力—— CPU 性能提升最高可達 2.7 倍 ·RZ/G2 系列 MPU 的性能比市場上任何其它嵌入式 64位 MPU 高27% ·支持最新的外部存儲器高速協議,包括 LPDDR4 或 DDR3L,最高可達 3200 MT/s ·支持 USB 3.0、SATA 和 PCI-e 高速接口,以及 QSPI 和 eMMC 千兆位接口的高速通信 ·片上 3D 圖形引擎,支持 4K 分辨率 H.264 和 H.265 編解碼器、HDMI、LVDS和 MIPI-CSI2 攝像機輸入接口;圖形與視頻功能可實現高端人機界面(HMI)應用 高可靠性及安全性: ·ECC 功能可作為解決軟失效敏感性的應對措施(注1),實現存儲器錯誤的檢測與糾正;此類軟失效的出現概率常隨更小尺寸的半導體制程工藝而增加 ·RZ/G2 系列 MPU 是唯一在產品組內全部器件的所有內外部儲存接口上提供 ECC糾錯機制的嵌入式 MPU ·ECC 可與片上 L1/L2 高速緩存存儲器及外部 DDR3L 或 LPDDR4 存儲器配合使用 ·ECC 有助於消除因內存中數據損壞而導致故障的風險,進而提高工業設備的可靠性 超長期支持: ·SLTS Linux 內核通過提供超過 10 年的支持與安全防護,來維護基於 Linux 的嵌入式系統,使用户能夠降低 Linux 維護成本,並輕鬆採用可靠的工業級 Linux ·完整的 VLP 和驗證測試軟件包含圖形用户界面(GUI)框架,支持 HTML5 和 Qt、3D圖形、H.264/H.265 視頻,以及安全功能 ·VLP 和測試軟件讓用户可以輕鬆開發人機界面(HMI)及網絡功能,同時使製造商能夠將工業設備快速推向市場,並使其擁有類似移動設備上所實現的豐富圖形顯示功能

    時間:2019-02-25 關鍵詞: 瑞薩電子 嵌入式控制器 mpu

  • 德州儀器推出最新 AM389x Sitara ARM MPU

    日前,德州儀器 (TI) 宣佈推出可顯著提升性能與集成度的最新 AM389x Sitara ARM MPU,進一步壯大了其業界領先的 Sitara™ ARM® 微處理器 (MPU) 的產品陣營。AM389x Sitara ARM MPU 採用性能可達 1.5 GHz 的業界最高性能單內核 ARM ™-A8,並集成多種外設,是單板計算機、網關、路由器、服務器、工業自動化、人機接口 (HMI) 以及服務點數據終端等應用的理想選擇。上述最新高性能 AM389x Sitara ARM MPU 可實現更快的終端產品,不但具有網絡連接、圖形用户界面與顯示功能,而且還可同時運行多個應用,支持 、Microsoft® Windows® Embedded 7 以及 Android 等多種操作系統。 實現高集成度連接與高成本效率 AM389x Sitara ARM MPU 系列的兩款最新器件 AM3892 與 AM3894 都集成數個高帶寬外設,包括 Gen2、SATA 2.0、雙千兆以太網以及雙 /DDR3 接口。該豐富而獨特的外設組合針對各種應用進行了優化,可在片內及片外實現快速數據傳輸,能夠充分發揮每個處理器中 ARM -A8 內核的性能優勢。由於所有這些外設均為片上集成,因此不僅可節省印製電路板 () 空間,而且還可降低材料清單 (BOM) 成本,並幫助客户在更小型的終端設備上集成更多的特性。 高級顯示功能與 3D 圖形 AM3892 與 AM3894 Sitara ARM MPU 可提供片上顯示引擎,能夠為 2 個同時工作的高清輸出兩個不同的內容流。該顯示功能非常適合需要無縫圖形雙屏體驗的應用。例如,HMI 應用可將一個用作鍵盤,將另一個用來顯示機器性能輸出。此外,AM3894 Sitara ARM MPU 還具有 3D 圖形加速器,可實現更豐富的圖形用户界面以及增強的用户體驗。 高度可擴展的平台可保護軟件投資,擴大市場商機 TI 可為客户提供從低功耗到高性能選項的各種器件,包括 Sitara™ ARM MPU、™ DSP + ARM 處理器(此次同時發佈)以及達芬奇 (DaVinci™) 數字媒體處理器等。使用這些 TI 提供的兼容型產品,客户不但可快速開發多種特性豐富的產品,滿足廣泛的市場需求,同時還可通過軟件在所有產品中重複利用其投資。兼容型 Sitara ARM MPU 與 DSP + ARM 處理器使用相同的外設存儲器映射、總線架構與 ARM -A8 內核,不但可提高功能性與產品穩健性,同時還可保護投資,加速產品的上市進程。此外,憑藉現已開始供貨的 70 多種產品選擇的豐富產品組合,客户還可在從早期軟件兼容型AM35x Sitara ARM MPU 到最新高性能 AM389x Sitara ARM MPU 直至未來器件的 Sitara ARM MPU 產品線中進行擴展。 數分鐘內完成評估,不足 1 小時內啓動開發工作 最新 Sitara ARM MPU 與 DSP + ARM 處理器得到了統一硬件評估板 (EVM) 與統一 TI EZ™ 軟件開發套件 (EZ SDK) 的支持,可幫助客户在數分鐘內完成產品評估,在不足 1 小時內啓動開發工作。此外,Sitara ARM MPU 與 Integra DSP + ARM 處理器還可共用一個公用開發環境,從而可加速產品的上市進程,降低開發成本。

    時間:2019-01-18 關鍵詞: 德州儀器 最新 嵌入式處理器 am389x mpu

  • 如何利用FPGA解決手持設備MPU的功耗問題

    如何利用FPGA解決手持設備MPU的功耗問題

    消費類手持設備市場正呈跳躍式發展。便攜式產品處理能力不斷增加,所支持的應用越來越多;產品更新換代速度加快,新產品必須滿足上市時間要求,以便獲得最大的市場機會;產品生命週期的縮短要求縮短開發週期,同時更加強調可複用性和可重複編程能力。新興手持設備市場還有一個有趣的趨勢,即一個系列中的每種設備的出貨量越來越少,但系列設備間的定製功能卻越來越多,進而有效提升了產品的總出貨量。這樣,關鍵挑戰就變成了如何開發一個可廣泛複用同時又可定製的系統。為應對上述挑戰,越來越多的設計人員開始使用FPGA進行手持產品的開發。FPGA的功能日益強大和豐富,而門數、面積和頻率也在不斷增加。 FPGA的開發和週轉時間要比定製ASIC短得多,可重複編程的額外優勢使得FPGA成為手持嵌入式系統領域中頗具吸引力的解決方案。在基於ASIC或 FPGA的設計中,設計人員必須認真考慮某些性能標準,他們面臨的挑戰主要體現在面積、速度和功耗方面。與ASIC一樣,供應商在FPGA設計中也需要應對面積和速度的挑戰。隨着門數不斷增加,FPGA需要更大的面積和尺寸來適應更多的應用,設計工具需要採用更好的算法以便更有效地利用面積。不斷演進的FPGA技術也給設計人員帶來一系列新的挑戰,電源利用率就是其中之一,這對於為手持或便攜式設備設計基於FPGA的嵌入式系統來説是急需解決的問題。嵌入式系統中的FPGA典型的嵌入式系統由處理器、存儲器、包括USB、SPI、I2C在內的標準接口以及液晶顯示器、音頻輸出等外設組成。設備的核心仍是處理器和處理器接口,它們通過板載連線連接到各個外設。系統性能主要取決於處理器性能,而處理器通常具有非常標準的架構,因而不容易定製。有時處理器可能忙於處理來自低速外設的信息,雖然在這種情況下處理器使用率可能達到100%,但並不是在做以微處理器為中心的事務,而是工作在特別低的性能水平。不管其內核頻率是多少,微處理器必須等待來自低速時鐘的數據。這也會導致較高的功耗,因為處理器的利用率是100%。其結果將縮短電池壽命,並且需要更大的散熱器或風扇進行冷卻,最終影響整個系統的可靠性。於是,FPGA在這方面開始發揮重要作用,因為它們能從處理器卸載許多外設交互任務。如圖1所示,利用標準千兆TCP/IP網絡實現的未壓縮音視頻數據流的嵌入式分佈系統。它有一個專用DSP處理器,這個處理器通過一個標準總線接口與賽靈思的FPGA相接,FPGA再連接到各個低速外設。圖1:用於音頻/視頻分佈系統的FPGA架構。作為啓動開發套件,這個FPGA通過I2S接口連接12位的PCM音頻輸入和12位的PCM音頻輸出;它還連接視頻編碼器和解碼器,並與I2C從器件和RS232器件進行通信;連接到FPGA的通用I/O很少。與處理器相連的標準總線工作在高速的66MHz,而音頻外設工作在低速的 1.182MHz;UART和I2C串行接口分別工作在56.6kHz和100kHz。由於數據傳輸發生在多個時鐘域,因而只有處理器能配置數據流。在這種情況下,處理器不再與低速外設交互,而由FPGA從低速的PCM ADC音頻器件讀取數據,並將數據存放在FPGA的內部緩存中。處理器可以週期性地從這個緩存讀取數據,或者當緩存中有足夠數據時,由FPGA向處理器發送一箇中斷。這樣,處理器就有更多的時間執行以處理器為中心的必要工作,在空閒時則進入睡眠模式。功耗問題在電池供電的嵌入式系統中,節能是最重要的考慮因素。功耗可以被分成三大類:啓動功耗、靜態功耗和動態功耗。設計人員無法控制啓動功耗,而啓動功耗在決定電源選型中扮演着重要的角色。大多數最大電流值指的就是這個階段所達到的值。但靜態功耗和動態功耗是兩個不同的領域,通過合理的規劃和以下正確的指導原則,使用FPGA的嵌入式設計人員可以在功耗優化方面作出顯著改進。靜態功耗是指系統不工作時仍有電流流過元件時產生的功耗,一般由器件偏置電流和漏電流引起。靜態功耗也取決於工作電壓,降低工作電壓可以降低靜態功耗,但這個策略並不總是掌握在設計人員手中。設計人員能做的是定義合理的架構,在這種架構下需要使用的資源最少,同時儘可能使用資源共享,並以最高效的方式使用FPGA模塊。減少靜態功耗的另外一種技術是在設計週期早期進行功耗預估,改變拓撲或使用不同的IP模塊。例如,賽靈思的xPower Estimator工具這時就非常有用,它能很早知道設計是否滿足功耗預算。早期階段的功耗預估也許不完全準確,但作為指導工具確實很有幫助。動態功耗是由於FPGA門的一些行為(比如信號開關)引起的,當兩個門暫時導通時,將產生電流流動和電容。信號開關的速度決定了功耗的大小。影響動態功耗的另外一個因素是電路內部結構中形成的固有電容。動態功耗是時鐘頻率、正在開關的門數量和這些門開關速率的函數。門扇出和走線上的電容負載會增加動態功耗,並且功耗值正比於電容、電壓和頻率平方的乘積。設計人員對這種功耗具有最大的控制能力,他們可以利用許多技術實現動態功耗的最大改善。降低信號開關頻率可以使功耗呈指數式下降。正如圖1所示,用於UART的控制邏輯、奇偶校驗或幀超限錯誤都發生在速度較低的時鐘域。即使門數沒有減少,功耗也會下降。設計人員還可以通過降低整體工作頻率(如果可行的話)來減小動態功耗。例如,在完成可行性和性能分析後,設計人員決定上述設計不僅能工作在133MHz,也能工作在66MHz。DSP支持這兩種速率,而減小電壓也有助於降低功耗。另外一種技術是減少處於工作模式的有效門數。有時某部分邏輯雖然在開機時被打開和配置,但實際上不要求做任何事情。例如,模擬音頻捕獲單元處於工作狀態,設備卻不在執行任何數字SPDIF音頻捕獲。在這種情況下,一般的數字SPDIF音頻捕獲電路仍將執行數據採樣、雙相解碼等工作,因而無謂地浪費功率。如果禁用整個數字SPDIF音頻捕獲電路,使電路中不發生任何信號開關動作,那麼動態功耗將會顯著降低。設計人員可以禁用傳送到這部分電路的時鐘來達到這個目的。一種簡單的做法是將時鐘信號與使能信號相“與(AND)”,如圖2所示。如果使能信號是低電平,那麼與門的輸出將保持低電平。如果使能信號為高電平,與門將輸出時鐘信號。圖2:一種簡單的時鐘選通機制。還可以使用其它方法。如果可能並且拓撲又支持的話,可以通過復接地址和數據線來減少信號線數量。在我們這個例子中,到視頻編碼器的輸出是16位數據,我們可以把它復接成8位,然後分別在時鐘的兩個沿(上升沿和下降沿)發送出去。這樣做也能節省動態功耗。此外,選擇串行接口代替並行接口也能降低功耗。使用帶較低電容負載的LVTTL或LVCMOS I/O也很有用。嵌入式處理器將處理器嵌入到FPGA中是手持設備設計人員可以採用的又一種策略,它可以帶來很多好處。首先,減少了定製處理器帶來的上述挑戰。其次,外設和處理器之間的交互發生在FPGA內部,因而可以減少I/O數量。由於I/O會消耗相當多的功率,此舉也能達到一定程度的節能效果。賽靈思的Virtex- 5版本支持PowerPC 440處理器、硬處理器和MicroBlaze軟處理器,所有這些處理器都可以被設計人員用來創建高端或低端應用系統。隨着90m和65nm半導體技術的發明,門的尺寸在不斷縮小,導致靜態功耗問題越來越突出,在對功耗指標越來越敏感的今天,這是一個極具挑戰性的現象。由於功耗問題獲得了眾多FPGA供應商的重視,在這個領域中已出現許多令人興奮的新技術。低功耗設計將決定一個系統的集成能力有多強,業界也迫切需要將注重功耗的設計技術標準化。

    時間:2018-10-25 關鍵詞: FPGA 手持設備 電源技術解析 mpu

  • ARM存儲器之:存儲保護單元MPU

    ARM存儲器之:存儲保護單元MPU

    15.4存儲保護單元MPU一些嵌入式系統使用多任務的操作和控制。這些系統必須提供一種機制來保證正在運行的任務不破壞其他任務的操作。即要防止系統資源和其他一些任務不受非法訪問。要達到這一目的通常有軟件保護和硬件保護兩種途徑。這裏軟件保護是指僅靠軟件來保護系統資源。系統中無保護硬件或硬件沒啓動。在多任務的系統中,通常要運行操作系統來達到任務間同步與通信。所以,這種軟件的資源保護通常由操作系統來完成。但這種通過軟件來協調任務運行,保護系統資源的做法有時會出現一些不可避免的問題。如當對一個通信用串口寄存器進行操作時,如果一個任務正在使用串口,則它沒有辦法來防止其他任務使用同一個串口。因此,若要成功使用該串口,則必須通過一個訪問該串口的系統調用來協調。使用這些調用任務的非授權訪問,很容易破壞經過該串口的通信。因此資源的不合理使用也許是不可避免的。相反,受保護系統有專門的硬件來檢測和限制系統資源的訪問。它能保證資源的所有權,任務需要遵守一組由操作環境定義的、由硬件維護的規則,在硬件級上授予監視和控制資源程序的特殊權限。受保護系統主動防止一個任務使用其他任務的資源。因此使用硬件主動監視系統比協調加強的軟件歷程,提供了更好的保護。ARM中配備的有效保護系統資源的硬件,有兩種:·MPU(MemoryProtectionUnit);·MMU(MemoryManagementUnit)。MMU是比MPU提供了功能更強大的內存保護機制,MPU只提供了內存區域保護,而MMU是在此基礎上提供了虛擬地址映射技術,而且在操作上,MMU要比MPU負責。本節主要討論帶MPU的處理器內核,MMU將在下一節詳細介紹。15.4.1保護域(ProtectionRegions)ARM處理器中的MPU使用“域(regions)”來對內存單元進行管理。域是與存儲空間相關聯的屬性,處理器核將這些數據保存在協處理器CP15的一些寄存器中。通常域的個數為8個,編號為從0~7。域的大小和起始地址保存在CP15的寄存器c6中。大小可以是4KB~4GB的任何2的乘冪。域的起始地址必須是其大小的倍數。比如,一個定義為4KB的域其起始地址可以是0x12345000,而一個大小定義為8KB的域起始地址只能是0x2000的倍數。另外,操作系統可以為這些域分配更多的屬性:訪問權限、cache和寫緩存。存儲器基於當時的處理器模式(管理模式或用户模式)可以設定這些區域的訪問權限為讀/寫、只讀和不可訪問。當處理器訪問主存的一個域時,MPU比較該域的訪問權限屬性和當時的處理器模式。如果請求符合域的訪問標準,則MPU允許內核讀/寫主存;如果存儲器請求不符號域的訪問標準,將產生一個異常信號。異常信號被送到處理器核。處理器核執行一個異常向量,然後跳轉到異常處理程序,異常處理程序判斷異常類型為預取指或數據中止,然後根據異常類型,跳轉到相應的服務例程。對於ARM處理器,存儲空間的某一部分可以被分配給一個以上的區域。也就是説域可以重疊。在重疊的域內,可以設置域的優先級。在分配訪問權限時重疊域比非重疊域有更大的靈活性。後面一節將會詳細介紹域的重疊。15.4.2內存訪問順序當ARM處理器產生一個內存訪問信號時,內存保護單位MPU將負責檢查要訪問的地址是否在被定義的域中。①如果地址不在任何域中,存儲器產生異常。如果內核預取指令則MPU產生預取中止異常;如果是存儲器數據請求,則產生數據中止異常。②如果地址在多個域內,由MPU判斷域的有效級來決定存儲區域的訪問屬性。訪問屬性可以在CP15的寄存器中設定,可設定的位為C(Cache)、B(Buffer)、AP(AccessPermission)。這些屬性的具體定義為:·C和B可以控制Cache和寫緩存屬性的Cache策略。例如,可以設置一個域使用回寫(write-back)策略訪問存儲器,而另一個域則以無Cache和無寫緩存方式訪問;·AP(accesspermission)決定域是否可以被訪問。如果在當前處理器模式下,該域不能被訪問,MPU將產生一個存儲器訪問異常。圖15.16顯示了一個存儲器訪問過程。圖15.16存儲器訪問過程15.4.3使能MPU通過對協處理器CP15的寄存器c1中的bit[0]置1,可以使能存儲器保護單元MPU。在系統上電時,默認狀態是該位清零,所有保護域無效。在使能MPU之前,至少一個域要被設定,而且該域的屬性和訪問權限要預先設定好。注意在數據和指令域分離的系統中,如ARM940T,在指令和數據域中都要有一個有效域被預先設定好。另外,使能MPU的指令要設在有效的域中。如果在使能MPU之前,域的屬性和訪問權限沒有設定,那麼系統的運行結果將不可預知。當MPU無效(將協處理器CP15寄存器r1的bit[0]置0)時,整個內存區域都被處理器視為無Cache、無寫緩存、無存儲保護狀態。15.4.4重疊域域的定義在MPU的作用下可以重疊。當重疊的域被訪問時,MPU會判斷域的優先權,決定使用那個域的屬性來操作重疊域。域屬性優先級的排列順序為:域7的有效級最高,其次為域6,域0的優先級最低。【四方a集運倉電話】假設將一個從0x3000起始的4KB地址空間定義為域2,其訪問屬性AP定義為0b10(AP=0b10,特權模式讀/寫訪問,用户模式只讀)。將起始地址為0x0的16KB地址空間定義為域1,其訪問屬性AP定義為0b01(AP=0b01,特權模式只讀)。系統域劃分如圖15.17所示。圖15.17重疊域的訪問當處理器在用户模式下執行Load指令,從0x3010地址取數據時,0x3010地址既在域1中也在域2中,因為域2的屬性優先級高於域1,所有MPU執行域2的訪問屬性從0x3010地址取數據。域2是用户模式可讀,所以不會發生數據異常。在分配訪問權限時重疊區域比非重疊區域有更大的靈活性,它可以使內存的某個特定聯繫內存單位在程序中擔任背景的作用,用來給一塊大存儲空間分配相同的屬性的低優先級域。其他具有較高優先級域的區域與該背景域某些部分重疊,用來改變已定義的背景域的較小子集的屬性。這樣,具有較高優先級的域可以改變背景域屬性的子集。背景域可以用來保護一些睡眠狀態的存儲空間,使其不受非法訪問,而此時由另一個不同域控制下的背景域的其他部分可以處於活躍狀態。15.4.5與MPU相關的CP15寄存器與MPU相關的協處理器寄存器主要是c2,c3,c5及c6。另外還有寄存器c1中的1到2位。(1)c1中的MPU相關位c1的編碼格式如圖15.18所示。圖15.18協處理器寄存器c1編碼格式M(bit[0])控制控制MPU的使能。·M=0:禁止MPU·M=1:使能MPUA(bit[1])選擇是否支持內存訪問地址對齊檢查。·B=0:禁止地址對齊檢查·B=1:使能地址對齊檢查(2)c2中的MPU相關位c2的編碼格式如圖15.19所示。圖15.19協處理器寄存器c2編碼格式寄存器位0~7分別對應域0~7的Cache屬性。位8~31應該設置成0。注意在數據和指令分離的系統中,通過MRC和MCR指令的第二個操作數<opcode2>來決定讀寫D-Cache和I-Cache屬性。(3)c3中的MPU相關位c3的編碼格式如圖15.20所示。圖15.20協處理器寄存器c3編碼格式寄存器位0~7分別對應域0~7的寫緩存屬性。位8~31應該設置成0。當用指令MCR/MRC對c3進行讀寫時,第二個操作數<opcode2>將被忽略,在指令要設置成0。當配置數據域時,域的Cache位和寫緩存區位一起決定域的訪問策略。寫緩存位有兩個用途:使能/禁止域的寫緩存和設置域的Cache寫策略。域的Cache位控制寫緩存位的作用。具體位分配見表15.16。表15.16 Cache位和寫緩存位的分配策略Cache位寫緩存區位域屬性C=0B=0禁止Cache、禁止寫緩存C=0B=1禁止Cache、使能寫緩存C=1B=0使能Cache,域使用回寫策略C=10B=1使能Cache,域使用直寫策略(4)訪問權限寄存器c5協處理器CP15的寄存器c5設置內存域的訪問權限。寄存器c5的編碼格式如圖15.21所示。圖15.21寄存器c5的編碼格式讀寄存器c3的bits[15:0]存放域的AP(accesspermission,訪問權限),其中bits[2n+1:2n]對於域n的訪問權限。AP編碼與訪問權限的對應關係如表15.17所示。表15.17 AP編碼與訪問權限的對應關係AP編碼管理者用户00不可訪問不可訪問01讀/寫不可訪問10讀/寫只讀11讀/寫讀/寫對於Arm940T、Arm940T兩個內核版本來説,使用MRC和MCR指令對其進行讀寫時,第二個協處理器寄存器<CRm>將被忽略,指令中以c0的形式出現。對於指令數據統一的域,第二操作數<opcode2>要設成0,而對於數據和指令分離的系統,如果opcode2=0,説明操作對數據域有效,如果opcode=1,説明操作對指令域有效。注意對於Arm946E-S和Arm1026EJ-S兩個內核版本,它們的訪問權限機制更復雜,採用的是擴展AP,擴展組AP位域編碼支持兩個增強的權限域,對其進行操作的MRC和MCR指令形式更復雜,有關更詳細的內容,請參加Arm公司的用户手冊。(5)域大小控制寄存器c6Arm系統中通過寫協處理器c6來定義域的大小,通過MCR指令中第二個操作寄存器賦不同的值來指示是對哪個具體域進行操作。第二個操作寄存器取值為c0~c7,分別對應域0~域7。每個域的起始地址必須對齊到其大小的整數倍。比如,一個域的大小位64KB,其起始地址可以是0x10000的整數倍的任何數。域的大小可以是4KB~4GB的2的任意乘冪。寄存器c6的編碼格式如圖15.22所示。圖15.22域大小控制寄存器c6編碼格式編碼含義如表15.18所示表15.18 寄存器c6編碼含義位名稱對應位註釋起始地址[31:12]保護域的第一個字節起始地址,具體見表2.18SBZ[11:6]必須設為0Size[5:1]設Size=N,則域尺寸為2N+1,其中11≤N≤31E[0]域使能,E=1使能,E=0禁止關於c6中bits[31:12],因為域的起始要是域大小的整倍數,域最小為4KB,所有域起始地址的bits[11:0]通常為0,不用設置。具體c6中起始地址的設置和c6中Size(bits[5:1])的對應關係如表15.19所示。表15.19 域尺寸編碼Size(bits[5:1])域尺寸起始地址(bits[31:12])0b00000~0b01010未定義-0b010114KB無0b011008KBbit[12]必須為00b0110116KBbits[13:12]必須為00b0111032KBbits[14:12]必須為00b0111164KBbits[15:12]必須為00b10000126KBbits[16:12]必須為00b10001256KBbits[17:12]必須為00b10010512KBbits[18:12]必須為00b100111MBbits[19:12]必須為00b101002MBbits[20:12]必須為00b101014MBbits[21:12]必須為00b101108MBbits[22:12]必須為00b1011116MBbits[23:12]必須為00b1100032MBbits[24:12]必須為00b1100164MBbits[25:12]必須為00b11010128MBbits[26:12]必須為00b11011256MBbits[27:12]必須為00b11100512MBbits[28:12]必須為00b111011GBbits[29:12]必須為0續表Size(bits[5:1])域尺寸起始地址(bits[31:12])0b111102GBbits[30:12]必須為00b111114GBbits[31:12]必須為0

    時間:2018-06-13 關鍵詞: ARM 基礎教程 存儲保護單元 保護域 使能mpu mpu

首頁  上一頁  1 2 3 4 下一頁 尾頁
發佈文章

技術子站

更多

項目外包