CN112181879A - 用于dma控制器的apb接口模块、dma控制器和芯片 - Google Patents
用于dma控制器的apb接口模块、dma控制器和芯片 Download PDFInfo
- Publication number
- CN112181879A CN112181879A CN202010883091.3A CN202010883091A CN112181879A CN 112181879 A CN112181879 A CN 112181879A CN 202010883091 A CN202010883091 A CN 202010883091A CN 112181879 A CN112181879 A CN 112181879A
- Authority
- CN
- China
- Prior art keywords
- apb
- dma controller
- interface
- module
- dma
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
Abstract
本发明公开一种用于DMA控制器的APB接口模块、DMA控制器和芯片,其中APB接口模块包括非安全APB从接口,用于对非安全状态的APB总线读写信号进行选通;安全APB从接口,用于对安全状态的APB总线读写信号进行选通;地址译码器,用于对APB总线上的地址信号进行译码,读写APB内存映射寄存器模块;以及所述APB内存映射寄存器模块,用于存储与DMA控制器相关的各种寄存器。本发明实施例可区分安全APB访问及非安全APB访问,对APB总线地址进行译码,并完成对APB内存映射寄存器模块的读写访问,达到配置、控制、调试DMA控制器的目的。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种用于DMA控制器的APB接口模块、DMA控制器和芯片。
背景技术
DMA(Direct Memory Access)是直接内存存取的简称,DMA传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存取。像是这样的操作并没有让处理器工作拖延,反而可以被安排去处理其他的工作。DMA传输对于高效能运算处理是很重要的。
发明内容
本发明旨在提供一种用于DMA控制器的APB接口模块,可区分安全APB访问及非安全APB访问,对APB总线地址进行译码,并完成对APB内存映射寄存器模块的读写访问,达到配置、控制、调试DMA控制器的目的。
本发明还提供一种包括上述用于DMA控制器的APB接口模块的DMA控制器。
本发明还提供一种包括上述DMA控制器的芯片。
根据本发明的第一方面实施例的用于DMA控制器的APB接口模块,包括:非安全APB从接口,用于对非安全状态的APB总线读写信号进行选通;安全APB从接口,用于对安全状态的APB总线读写信号进行选通;地址译码器,用于对APB总线上的地址信号进行译码,读写APB内存映射寄存器模块;以及所述APB内存映射寄存器模块,用于存储与DMA控制器相关的各种寄存器。
根据本发明实施例的用于DMA控制器的APB接口模块,至少具有如下有益效果:
本发明实施例通过设置安全APB从接口和非安全APB从接口能够区分安全APB访问及非安全APB访问,提高DMA传输的安全性。
根据本发明的一些实施例,所述APB内存映射寄存器模块包括DMA控制寄存器、DMA通道线程状态寄存器、AXI状态及循环计数器寄存器、调试寄存器和DMA配置寄存器。
根据本发明的一些实施例,所述非安全状态的APB总线读写信号和安全状态的APB总线读写信号由APB总线时钟打一拍进行同步。
根据本发明的第二方面实施例的DMA控制器,包括:用于DMA数据传输的AXI主接口;用于中断的中断接口;DMA指令执行引擎,所述DMA指令执行引擎包括指令缓存;用于接收Tie-offs信号组的复位及初始化模块;包括多个外设请求接口模块的请求接口;以及如权利要求1至3中任一项所述的用于DMA控制器的APB接口模块。
根据本发明实施例的DMA控制器,至少具有如下有益效果:
本发明实施例通过设置安全APB从接口和非安全APB从接口能够区分安全APB访问及非安全APB访问,提高DMA传输的安全性。
根据本发明的一些实施例,包括:所述Tie-offs信号组包括用于在所述DMA控制器退出复位状态时设置DMA管理器安全状态的信号。
根据本发明的一些实施例,当DMA管理线程安全状态的控制信号设置为非安全时,所述APB接口模块的非安全APB从接口访问所述APB接口模块的安全APB从接口访问的寄存器。
根据本发明的一些实施例,所述DMA控制器在安全状态下忽略从所述APB接口模块的非安全APB从接口发送来的指令。
根据本发明的第三方面实施例的芯片,包括:如权利要求4至7中任一项所述的DMA控制器;与所述DMA控制器的AXI主接口连接的AXI互联矩阵;与所述DMA控制器的外设请求接口模块连接的传输模块;与所述DMA控制器的APB接口模块和所述AXI互联矩阵连接的AXI-APB桥模块;与所述DMA控制器的APB接口模块和所述AXI-APB桥模块连接的定时器;与所述DMA控制器的中断接口和所述AXI互联矩阵连接的ARM处理器模块;以及与所述AXI互联矩阵连接的存储模块。
根据本发明实施例的芯片,至少具有如下有益效果:
本发明实施例通过设置安全APB从接口和非安全APB从接口能够区分安全APB访问及非安全APB访问,提高DMA传输的安全性。
根据本发明的一些实施例,所述存储模块包括:DRAM、DRAM控制器、FLASH存储器以及静态存储控制器。
根据本发明的一些实施例,所述传输模块包括:UART通用异步收发传输器和GPIO通用输入/输出端口。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为本发明实施例的芯片内部结构框图。
图2为本发明实施例的DMA控制器结构框图。
图3为本发明实施例的APB总线信号连接图。
图4为本发明实施例的用于DMA控制器的APB接口模块的内部结构框图。
图5为本发明实施例的APB内存映射寄存器模块的寄存器映射图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。本文所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
参照图1,本实施例的芯片包括DMA控制器,DMA控制器内部包括有APB接口模块,外设请求接口、中断输出接口和AXI主接口。其中APB接口模块包括有安全APB从接口和非安全APB从接口。本实施例的芯片还包括两个AXI-APB桥,第一AXI-APB桥与安全APB从接口连接,第二AXI-APB桥与非安全APB从接口连接。芯片还包括与外设请求接口连接的UART通用异步收发传输器和GPIO通用输入/输出端口。UART通用异步收发传输器、GPIO通用输入/输出端口和定时器与第二AXI-APB桥连接。芯片还包括AXI互联矩阵,AXI互联矩阵与第一AXI-APB桥和第二AXI-APB桥连接,还与DMA控制器的AXI主接口连接。芯片还包括有ARM处理器,ARM处理器与DMA控制器的中断输出接口和AXI互联矩阵连接。芯片还包括有与AXI互联矩阵连接的存储器模块,存储器模块中包括有DRAM和DRAM控制器,以及FLASH存储器和静态存储控制器。
参照图2,本实施例的DMA控制器包括APB接口模块、用于接收Tie-offs信号组的复位及初始化模块、n个外设请求接口模块(n>1)、DMA指令执行引擎。DMA指令执行引擎中包括有指令CACHE,其中指令CACHE存储有MFIFO数据缓存、读指令队列和写指令队列。DMA控制器还包括用于DMA数据传输的AXI主接口和中断输出接口。
在一些实施例中,Tie-offs信号组中包含当DMA控制器退出复位状态时,设置DMA管理器安全状态的信号boot_manager_ns;当设置DMA管理线程安全状态的控制信号为非安全时,非安全APB从接口也能访问安全APB从接口能访问的寄存器,否则不可。例如:当DMA管理器线程(boot_manager_ns=1)时,则非安全APB端口可以访问DMA状态寄存器(DSR)。
参照图3,图3为本发明实施例的APB总线信号连接图。非安全APB从接口接通的APB总线信号包括APB总线地址信号、APB总线使能信号、APB总线选择信号、APB总线写数据信号和APB总线写信号。非安全APB从接口输出APB总线读数据信号和APB ready信号。安全APB从接口接通的APB信号包括APB总线地址信号、APB总线使能信号、APB总线选择信号、APB总线写数据信号和APB总线写信号。安全APB从接口输出APB总线读数据信号和APB ready信号。安全APB从接口和非安全APB从接口共用一个总线时钟。
参照图4,本实施例的APB接口模块包括非安全APB从接口、安全APB从接口、与非安全APB从接口和安全APB从接口连接的地址译码器以及与地址译码器连接的APB内存映射寄存器。其中,非安全APB从接口,用于收发非安全状态的APB总线读写信号;安全APB从接口,用以收发安全状态的APB总线读写信号,并由APB总线时钟打一拍进行同步。安全模式的APB总线读写优先于非安全状态APB访问,并由APB总线时钟打一拍进行同步。地址译码器接收非安全APB接口或安全APB接口输出的读写信号,并根据其地址信号来进行寄存器读写使能及数据读出或写入APB内存映射寄存器模块。
通过访问APB内存映射寄存器模块内部设计的寄存器,CPU可以:
(1)访问DMA管理器线程的状态。
(2)访问DMA通道线程的状态。
(3)启用或清除中断。
(4)启用事件。
通过编程以下调试寄存器,对DMA控制器进行调试操作:
(1)DBGCMD寄存器。
(2)DBGINST0寄存器。
(3)DBGINST1寄存器。
CPU可以使用APB接口向DMA控制器发出指令
(1)DMAGO指令,使用指定的DMA通道启动DMA事务。
(2)DMASEV指令,使用指定的事件号来表示事件或中断的发生。
(3)DMAKILL,终止线程。
必须确保使用适当的APB接口,具体取决于boot_manager_ns初始化DMA以进行操作的安全状态。例如,如果DMA控制器在安全状态下,必须使用安全APB从接口发出指令,否则DMA控制器将忽略该指令。当DMA控制器处于非安全状态时,可以使用安全APB从接口或非安全APB从接口启动或重新启动DMA通道。
在使用调试指令寄存器或DBGCMD寄存器发出指令之前,必须先读取DBGSTATUS寄存器以确保调试处于空闲状态,否则DMA控制器将忽略这些指令。
当DMA控制器从APB从接口接收指令时,它可能需要几个时钟周期才能处理该指令,例如,如果正忙于处理另一条指令。
在发出DMAGO之前,必须确保系统内存包含一个适合DMAC执行的程序,从DMAGO指定的地址开始。
参照图5,本实施例的寄存器映射包括外设及设备IP寄存器、DMAC配置寄存器、调试寄存器、AXI及循环计数器状态寄存器、DMA通道状态寄存器以及DMA控制寄存器。
APB内存映射寄存器模块内部设计的寄存器如下表所示。
表1 DMA控制寄存器
表2 DMA通道线程状态寄存器
表3 AXI状态及循环计数器寄存器
表4调试寄存器
表5 DMAC配置寄存器
表6外设及设备IP寄存器
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (10)
1.一种用于DMA控制器的APB接口模块,其特征在于,包括:
非安全APB从接口,用于对非安全状态的APB总线读写信号进行选通;
安全APB从接口,用于对安全状态的APB总线读写信号进行选通;
地址译码器,用于对APB总线上的地址信号进行译码,读写APB内存映射寄存器模块;以及
所述APB内存映射寄存器模块,用于存储与DMA控制器相关的各种寄存器。
2.根据权利要求1所述的用于DMA控制器的APB接口模块,其特征在于,所述APB内存映射寄存器模块包括DMA控制寄存器、DMA通道线程状态寄存器、AXI状态及循环计数器寄存器、调试寄存器和DMA配置寄存器。
3.根据权利要求1所述的用于DMA控制器的APB接口模块,其特征在于,所述非安全状态的APB总线读写信号和安全状态的APB总线读写信号由APB总线时钟打一拍进行同步。
4.一种DMA控制器,其特征在于,包括:
用于DMA数据传输的AXI主接口;
用于中断的中断接口;
DMA指令执行引擎,所述DMA指令执行引擎包括指令缓存;
用于接收Tie-offs信号组的复位及初始化模块;
包括多个外设请求接口模块的请求接口;以及
如权利要求1至3中任一项所述的用于DMA控制器的APB接口模块。
5.根据权利要求4所述的DMA控制器,其特征在于,包括:
所述Tie-offs信号组包括用于在所述DMA控制器退出复位状态时设置DMA管理器安全状态的信号。
6.根据权利要求5所述的DMA控制器,其特征在于,当DMA管理线程安全状态的控制信号设置为非安全时,所述APB接口模块的非安全APB从接口访问所述APB接口模块的安全APB从接口访问的寄存器。
7.根据权利要求4所述的DMA控制器,其特征在于,所述DMA控制器在安全状态下忽略从所述APB接口模块的非安全APB从接口发送来的指令。
8.一种芯片,其特征在于,包括:
如权利要求4至7中任一项所述的DMA控制器;
与所述DMA控制器的AXI主接口连接的AXI互联矩阵;
与所述DMA控制器的外设请求接口模块连接的传输模块;
与所述DMA控制器的APB接口模块和所述AXI互联矩阵连接的AXI-APB桥模块;
与所述DMA控制器的APB接口模块和所述AXI-APB桥模块连接的定时器;
与所述DMA控制器的中断接口和所述AXI互联矩阵连接的ARM处理器模块;以及
与所述AXI互联矩阵连接的存储模块。
9.根据权利要求8所述的芯片,其特征在于,所述存储模块包括:
DRAM、DRAM控制器、FLASH存储器以及静态存储控制器。
10.根据权利要求8所述的芯片,其特征在于,所述传输模块包括:
UART通用异步收发传输器和GPIO通用输入/输出端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883091.3A CN112181879B (zh) | 2020-08-28 | 2020-08-28 | 用于dma控制器的apb接口模块、dma控制器和芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883091.3A CN112181879B (zh) | 2020-08-28 | 2020-08-28 | 用于dma控制器的apb接口模块、dma控制器和芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181879A true CN112181879A (zh) | 2021-01-05 |
CN112181879B CN112181879B (zh) | 2022-04-08 |
Family
ID=73925545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010883091.3A Active CN112181879B (zh) | 2020-08-28 | 2020-08-28 | 用于dma控制器的apb接口模块、dma控制器和芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181879B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905520A (zh) * | 2021-02-05 | 2021-06-04 | 中国电子科技集团公司第五十八研究所 | 用于互联裸芯的数据传输事件 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763734A (zh) * | 2005-11-10 | 2006-04-26 | 苏州国芯科技有限公司 | 一种基于amba总线的8051系列微处理器应用系统 |
CN102207916A (zh) * | 2011-05-30 | 2011-10-05 | 西安电子科技大学 | 一种基于指令预取的多核共享存储器控制设备 |
CN102521166A (zh) * | 2011-12-05 | 2012-06-27 | 苏州希图视鼎微电子有限公司 | 信息安全协处理器及其内部存储空间的管理方法 |
CN104714907A (zh) * | 2013-12-11 | 2015-06-17 | 中国航空工业第六一八研究所 | 一种pci总线转换为isa和apb总线设计方法 |
CN105790927A (zh) * | 2016-02-26 | 2016-07-20 | 华为技术有限公司 | 一种总线分级加密系统 |
CN107707491A (zh) * | 2017-09-28 | 2018-02-16 | 中国人民解放军国防科技大学 | 一种实现多级片上互连的装置及方法 |
GB201810653D0 (en) * | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure peripheral interconnect |
CN110609799A (zh) * | 2019-09-11 | 2019-12-24 | 天津飞腾信息技术有限公司 | 一种面向片外非易失性存储的安全防护方法 |
-
2020
- 2020-08-28 CN CN202010883091.3A patent/CN112181879B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763734A (zh) * | 2005-11-10 | 2006-04-26 | 苏州国芯科技有限公司 | 一种基于amba总线的8051系列微处理器应用系统 |
CN102207916A (zh) * | 2011-05-30 | 2011-10-05 | 西安电子科技大学 | 一种基于指令预取的多核共享存储器控制设备 |
CN102521166A (zh) * | 2011-12-05 | 2012-06-27 | 苏州希图视鼎微电子有限公司 | 信息安全协处理器及其内部存储空间的管理方法 |
CN104714907A (zh) * | 2013-12-11 | 2015-06-17 | 中国航空工业第六一八研究所 | 一种pci总线转换为isa和apb总线设计方法 |
CN105790927A (zh) * | 2016-02-26 | 2016-07-20 | 华为技术有限公司 | 一种总线分级加密系统 |
CN107707491A (zh) * | 2017-09-28 | 2018-02-16 | 中国人民解放军国防科技大学 | 一种实现多级片上互连的装置及方法 |
GB201810653D0 (en) * | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure peripheral interconnect |
CN112602086A (zh) * | 2018-06-28 | 2021-04-02 | 北欧半导体公司 | 安全外设互连件 |
CN110609799A (zh) * | 2019-09-11 | 2019-12-24 | 天津飞腾信息技术有限公司 | 一种面向片外非易失性存储的安全防护方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905520A (zh) * | 2021-02-05 | 2021-06-04 | 中国电子科技集团公司第五十八研究所 | 用于互联裸芯的数据传输事件 |
CN112905520B (zh) * | 2021-02-05 | 2022-08-12 | 中国电子科技集团公司第五十八研究所 | 用于互联裸芯的数据传输事件 |
Also Published As
Publication number | Publication date |
---|---|
CN112181879B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6085278A (en) | Communications interface adapter for a computer system including posting of system interrupt status | |
JP3105223B2 (ja) | マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置 | |
US5437042A (en) | Arrangement of DMA, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system | |
US4547849A (en) | Interface between a microprocessor and a coprocessor | |
US6378064B1 (en) | Microcomputer | |
US10102050B2 (en) | System and method for generating cross-core breakpoints in a multi-core microcontroller | |
US7089339B2 (en) | Sharing of functions between an embedded controller and a host processor | |
WO2000019292A2 (en) | Upgrade card for a computer system | |
JPH10187642A (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
US6678838B1 (en) | Method to track master contribution information in a write buffer | |
US9910801B2 (en) | Processor model using a single large linear registers, with new interfacing signals supporting FIFO-base I/O ports, and interrupt-driven burst transfers eliminating DMA, bridges, and external I/O bus | |
JP2000207247A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
CN112181879B (zh) | 用于dma控制器的apb接口模块、dma控制器和芯片 | |
US6490638B1 (en) | General purpose bus with programmable timing | |
US8370556B2 (en) | Multi-core data processor | |
EP1987430B1 (en) | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture | |
EP0840223B1 (en) | Microcomputer capable of accessing an external memory | |
JP2000020488A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
US20020166004A1 (en) | Method for implementing soft-DMA (software based direct memory access engine) for multiple processor systems | |
EP0840221A1 (en) | Microcomputer with packet bus | |
JP3323341B2 (ja) | エミュレーション用プロセッサおよびそれを搭載したエミュレータ | |
Liu et al. | Inter-Core Communication Mechanisms for Microkernel Operating System based on Signal Transmission and Shared Memory | |
JPH07334373A (ja) | エミュレートシステム及びエミュレート方法 | |
KR20210113574A (ko) | Dma, 브리지, 외부 i/o 버스를 배제하는 인터럽트-구동 버스트전송을 이루고, 새로운 인터페이스 신호들이 fifo 기반 i/o 포트들을 지원하며, 단일 대형 선형 레지스터를 이용하는 프로세서 모델 | |
EP0840224A1 (en) | Microcomputer with booting system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |