a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 設計應用 > 基于ARM Cortex-M3的SoC系統設計

基于ARM Cortex-M3的SoC系統設計

作者:楊斌 韓瑞欣 董蘇惠 時間:2019-01-29 來源:電子產品世界 收藏

作者 楊斌1,2,韓瑞欣3,董蘇惠4(1.中科院微電子研究所,北京 100029;2.中國科學院大學,北京 100049;3.中科院聲學所,北京 100190;4.中科院空間中心,北京 100190)

本文引用地址:http://www.j9360.com/article/201901/397273.htm

  摘要:本項目實現了一種基于CM3內核的,并且利用該實現網絡數據獲取、溫度傳感器數據獲取及數據顯示等功能。在Keil上進行軟件開發,通過ST-LINK/V2調試器進行調試,調試過程系統運行正常。在Quartus-II上進行Verilog HDL的硬件開發設計,并進行的集成,最后將生成的二進制文件下載到開發平臺。該系統使用AHB總線將CM3內核與片內存儲器和GPIO進行連接,使用APB總線連接UART、定時器、看門狗等外設。

  關鍵詞;;;

  0 緒論

  項目背景與意義

  現今,單片機的發展速度特別快,種類越來越多,而對于單片機的選擇主要是根據具體的應用情況來定,在性能、功耗、成本上做折中。

  目前,的集成度越來越高,價格也越來越便宜,所以可以以較低的成本來構建專用的片上系統。單片機作為片上系統的一種,可以很容易的在FPGA上實現,并且架構和片上外設都可以根據具體的應用情況隨時做出更改,這極大的降低了成本,也規避使用通用單片機所帶來的風險。綜上,在某些領域,以FPGA作為平臺構建專用片上系統是最合適的選擇,這也是以后單片機應用領域的發展趨勢。研究SoC的設計方法和工程應用對于未來單片機應用領域的革新具有深刻的意義。

  內容及章節安排

  本項目實現了一種基于CM3內核的SoC,并且利用該SoC實現網絡數據獲取、溫度傳感器數據獲取及數據顯示等功能。

  本文共分為五部分,第一部分緒論簡單介紹了本項目的背景及意義。第二部分說明了本項目的整體框架設計。第三部分介紹了SoC設計的總體思路。第四部分討論了軟件開發的大體流程。第五部分對未來項目的方向做出了展望。

  1 系統整體框架

  1.1系統設計流程分析

  本系統采用的FPGA板卡芯片由Intel PSG(英特爾可編程解決方案事業部,前身為Altera公司,Altera于2015年被Intel收購)生產,所以需要在Quartus-II專用開發平臺上進行SoC的硬件設計。Keil軟件開發平臺界面友好,功能強大,兼容ARM公司發布的所有內核庫,包括本系統使用的CM3內核庫,并且其支持多種硬件調試和下載器,所以在本項目中使用Keil進行軟件開發。軟件編譯成功后生成二進制可執行文件,并通過ST-LINK/V2調試器進行下載及調試,調試過程系統功能正常。CM3內核使用AHB總線與外設連接,所以該SoC的設計采用AHB總線將內核與片內存儲器和GPIO進行連接,使用APB總線連接UART、定時器、看門狗等外設,而APB總線上的外設通過AHB-APB總線橋接器與內核進行數據交互與應答。在 DesignStart Eval開發套件中提供了本系統用到的基本總線外設,使用Verilog HDL編寫了其他組件來實現整個系統的集成。片上系統設計框圖如圖1所示,功能框圖如圖2所示。

  本項目的功能框圖如圖2所示。

  1.2 模塊選擇

  根據系統的網絡數據獲取及室內溫度顯示等功能要求,本項目選擇特定模塊來實現相應功能。網絡模塊需要從廣域網絡中獲取數據,并將獲得的數據傳給SoC平臺,該網絡模塊的默認接口應該是串口,從網絡中獲取的數據主要是溫度數據,數據的傳輸速率要求不高,盡量選擇價格便宜、低功耗的網絡模塊。室內溫度的獲取依賴于溫度傳感器,本系統對于溫度的測量精度要求不高,所以溫度傳感器需具有接口簡單、價格便宜、性能穩定等特點。為了做到系統數據的可視化,在設計時候考慮添加OLED顯示模塊,OLED模塊選擇具有功耗低、屏幕小、價格便宜等特點的型號。

  2 系統硬件設計

  2.1 存儲器設計

  存儲器映射

  CM3的尋找空間大小是4 GB,代碼段和數據段在存儲空間上是分開的,外設相關的寄存器也有相應的地址段,內核操作相關的寄存器也占據部分地址空間。本系統采用把程序放到代碼區的設計,從而使取指和數據訪問操作使用自己的總線。

  CM3只有一個單一固定的存儲器映射。在預定義的存儲器地址映射中,Code區的地址從0x00000000到0x1FFFFFFF,本系統使用的地址空間從0x00000000開始,結束地址是0x0000FFFF,大小為64KB。內部SRAM區的地址空間從0x20000000到0x3FFFFFFF,本系統使用的地址從0x20000000開始,結束地址是0x20000FFFF,大小為64 KB。

  該子系統是基于APB總線,內部涵蓋系統用到的大部分外設,內部外設的地址劃分見下表1。

  nEO_IMG_b1.jpg

  2.2 Cortex-M3的結構

  Cortex-M3微處理器的內部結構如圖3所示。ARM Cortex-M3微處理器包括:處理器核、嵌套向量中斷控制器(NVIC)、調試子系統、AHB LITE總線接口以及連接這些單元的內部總線系統。

nEO_IMG_3.jpg

  2.2.1 處理器核

  處理器核是Cortex-M3最核心的功能部件,它負責對數據進行處理。

  本項目Cortex-M3處理器內核采用3級流水線操作。流水線的3級分別是:取指,解碼和執行。

  2.2.2 嵌套向量中斷控制器

  專用的 NVIC用于對中斷進行管理,并且向處理器核發出中斷請求信號,包含最多240個中斷請求,以及1個不可屏蔽中斷。NVIC是與CPU緊密耦合的,它還包含了若干個系統控制寄存器。

  2.2.3 總線系統

  總線系統用于將Cortex-M3內部的各個功能部件連接在一起。總線系統包括:①內部總線系統;②處理器核內部的數據通道;③AHB Lite接口單元。

  2.2.4 調試子系統

  作為Cortex-M3處理器重要的一部分,調試子系統提供下面的功能。

  ①管理調試控制、程序斷點、以及數據監控點。

  ②當產生調試事件時,它將處理器核設置為停止狀態。此時,可以在該點分析處理器的狀態,如寄存器值和標志。

  2.3 異常處理與中斷向量表設計

  Cortex-M3在內核水平上搭載了一個異常響應系統,支持為數眾多的系統異常和外部中斷。

  向量中斷控制器(NVIC)以存儲器映射的方式來訪問,除了包含控制寄存器和中斷處理的控制邏輯之外,NVIC還包含了MPU的控制寄存器、SysTick定時器以及調試控制。

  2.4 地址譯碼器和多路復用器設計

  本系統基于AHB-Lite所構建的Cortex-M3 SoC系統設計包含了地址譯碼器和多路復用器。

  在系統中,來自不同從設備的響應信號,包括:HRDATA、HREADY和HRESP連接到多路復用器的輸入,根據地址譯碼器所生成的選擇信號,多路復用器將選擇的從設備響應信號送給主設備。其中HRDATA[31:0]是來自多路復用器到主設備的讀數據,由多路復用器指向主設備;HREADY是來自多路復用器到主設備的準備信號,由多路復用器指向主設備和從設備,當該位為高時,該信號表示到主設備和先前完成傳輸的所用從設備。

  2.5 APB子系統

  該APB子系統的頂層是AHB-Lite總線接口,可以與內核的AHB總線進行連接。子系統內部包括的外設有定時器、UART、雙輸入定時器、看門狗電路、AHB到APB的橋接器、異步中斷信號等。表2為APB系統IRQ分配表。

  nEO_IMG_b2.jpg

  2.6 時鐘和復位電路設計

  本系統片上SoC系統主要包含HCLK、PCLK、PCLKG等三個時鐘,HCLK時鐘主要用于內核的工作時鐘以及驅動片內高性能總線上掛載的外設。PCLK時鐘主要用于驅動APB子系統內掛載在高性能外設總線上的大部分外設。PCLKG時鐘是當子系統內部的外設無任何活動的時候,通過子系統的APBACTIVE信號可以控制該信號的輸出,以實現降低功耗的目的。

  系統的復位信號有兩種,第一種是系統采用FPGA外部管腳控制系統復位,低電平復位的方式;第二種是系統異常請求復位,該復位發生在系統程序運行錯誤或者硬件錯誤的情況下。

  3 軟件系統設計

  3.1 CMSIS原理及設計

  CMSIS提供了標準的軟件接口,如庫函數。

  使用CMSIS后,一切都標準化了,主要體現在以下幾點:

  一是使用標準化函數訪問NVIC、系統控制塊(SCB),以及系統滴答定時器SysTick。

  二是使用標準化函數訪問特殊寄存器。

  三是使用標準化函數訪問特殊指令。

  四是標準化的系統初始化函數名字。

  3.2 SoC外設驅動設計

  如圖4所示,設計AHB外設驅動的要求包括以下幾點:①為每個外設編寫軟件驅動程序;②不需要操作系統支持;③軟件驅動程序應該提供基本的功能,用于簡化外設的訪問。

nEO_IMG_4.jpg

  3.3 SoC中斷寄存器管理

  中斷分組設置函數,void NVIC_ Configuration()中斷配置函數,在這個函數里面只調用了固件庫的中斷分組配置函數,整個系統的中斷分組組別為2。這個函數在系統初始化的時候調用即可,并且永遠只需要調用一次,示例如下所示。

  void NVIC_Configuration(void)

  {

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置NVIC中斷分組2:2位搶占優先級,2位響應優先級

  }

  3.4 系統模塊及程序設計原理

  3.4.1 溫度模塊

  DS18B20與傳統的熱敏電阻相比,其能夠直接讀出被測溫度并且可根據實際要求通過簡單的編程實現9~12位的數字值讀數方式。

  當DS18B20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節。單片機可通過單線接口讀到該數據,讀取時高位在后、低位在前,數據格式以0.0625 ℃/LSB形式表示。

  3.4.2 顯示器模塊

  OLED顯示器是一種由有機分子薄片組成的固態設備,施加電力之后就能發光。OLED能讓電子設備產生更明亮、更清晰的圖像,其耗電量小于傳統的LED顯示屏。

  3.4.3 網絡模塊

  網絡模塊采用CH9121,CH9121 是一款網絡串口透傳芯片。CH9121內部集成TCP/IP協議棧,可實現網絡數據包和串口數據的雙向透明傳輸,具有 TCP CLIENT、TCP SERVER、UDP CLIENT 、UDP SERVER 4 種工作模式,串口波特率最高可支持到 921600bps,可通過上位機軟件或者串口命令輕松配置,方便快捷。

  4 結論

  在后續的設計過程中,我們會在系統中添加指紋模塊,利用指紋識別技術可以實現現代智能家居的安防。通過指紋識別技術可以對用戶指紋進行精準識別,防止未注冊陌生人的入侵。同時也會添加攝像頭模塊,利用攝像頭模塊進行人臉識別,可以判斷當前采集的人臉頭像是否在原有的數據庫里,與數據庫信息進行比對,來判斷是否有非法闖入。

  此外,為了更好地實現智能化,我們會將居家生活中的各種用電器接入系統中來,通過繼電器開關來實現開關中斷,這樣可以實現遠程操控用電器的功能。

  參考文獻

  [1]Cortex-M3權威指南(中文)手冊,2017.

  [2]CM3技術參考手冊,2017.

  [3]DE10-Lite_User_Manual handbook,2017,1.

  [4]王永虹,徐煒,等.STM32系列ARM?Cortex-M3微控制器原理與實踐.北京航空航天大學出版社, 2008.

  [5]STM32開發指南——庫函數版本手冊,2016.

  作者簡介:

  楊斌 (1994-),男,研究生,主要從事嵌入式系統開發及信號處理的研究。

  韓瑞欣 (1994-),男,研究生,主要從事射頻RFID的研究。

  董蘇惠 (1994-),女,研究生,主要從事衛星組網通信的研究。

本文來源于科技期刊《電子產品世界》2019年第2期第55頁,歡迎您寫論文時引用,并注明出處



關鍵詞: FPGA IP核 Cortex-M3 SoC 201902

評論


相關推薦

技術專區

關閉