<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 基于A(yíng)RM Cortex-M3的SoC系統設計

基于A(yíng)RM Cortex-M3的SoC系統設計

作者:楊斌 韓瑞欣 董蘇惠 時(shí)間:2019-01-29 來(lái)源:電子產(chǎn)品世界 收藏

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

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

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

  關(guān)鍵詞;;;

  0 緒論

  項目背景與意義

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

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

  內容及章節安排

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

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

  1 系統整體框架

  1.1系統設計流程分析

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

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

  1.2 模塊選擇

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

  2 系統硬件設計

  2.1 存儲器設計

  存儲器映射

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

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

  該子系統是基于A(yíng)PB總線(xiàn),內部涵蓋系統用到的大部分外設,內部外設的地址劃分見(jiàn)下表1。

  nEO_IMG_b1.jpg

  2.2 Cortex-M3的結構

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

nEO_IMG_3.jpg

  2.2.1 處理器核

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

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

  2.2.2 嵌套向量中斷控制器

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

  2.2.3 總線(xiàn)系統

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

  2.2.4 調試子系統

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

 ?、俟芾碚{試控制、程序斷點(diǎn)、以及數據監控點(diǎn)。

 ?、诋敭a(chǎn)生調試事件時(shí),它將處理器核設置為停止狀態(tài)。此時(shí),可以在該點(diǎn)分析處理器的狀態(tài),如寄存器值和標志。

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

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

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

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

  本系統基于A(yíng)HB-Lite所構建的Cortex-M3 SoC系統設計包含了地址譯碼器和多路復用器。

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

  2.5 APB子系統

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

  nEO_IMG_b2.jpg

  2.6 時(shí)鐘和復位電路設計

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

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

  3 軟件系統設計

  3.1 CMSIS原理及設計

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

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

  一是使用標準化函數訪(fǎng)問(wèn)NVIC、系統控制塊(SCB),以及系統滴答定時(shí)器SysTick。

  二是使用標準化函數訪(fǎng)問(wèn)特殊寄存器。

  三是使用標準化函數訪(fǎng)問(wèn)特殊指令。

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

  3.2 SoC外設驅動(dòng)設計

  如圖4所示,設計AHB外設驅動(dòng)的要求包括以下幾點(diǎn):①為每個(gè)外設編寫(xiě)軟件驅動(dòng)程序;②不需要操作系統支持;③軟件驅動(dòng)程序應該提供基本的功能,用于簡(jiǎn)化外設的訪(fǎng)問(wèn)。

nEO_IMG_4.jpg

  3.3 SoC中斷寄存器管理

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

  void NVIC_Configuration(void)

  {

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

  }

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

  3.4.1 溫度模塊

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

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

  3.4.2 顯示器模塊

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

  3.4.3 網(wǎng)絡(luò )模塊

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

  4 結論

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

  此外,為了更好地實(shí)現智能化,我們會(huì )將居家生活中的各種用電器接入系統中來(lái),通過(guò)繼電器開(kāi)關(guān)來(lái)實(shí)現開(kāi)關(guān)中斷,這樣可以實(shí)現遠程操控用電器的功能。

  參考文獻

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

  [2]CM3技術(shù)參考手冊,2017.

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

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

  [5]STM32開(kāi)發(fā)指南——庫函數版本手冊,2016.

  作者簡(jiǎn)介:

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

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

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

本文來(lái)源于科技期刊《電子產(chǎn)品世界》2019年第2期第55頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處



關(guān)鍵詞: FPGA IP核 Cortex-M3 SoC 201902

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>