CN110399317A - 一种嵌入式***的软件自适应的多功能控制器 - Google Patents
一种嵌入式***的软件自适应的多功能控制器 Download PDFInfo
- Publication number
- CN110399317A CN110399317A CN201910636303.5A CN201910636303A CN110399317A CN 110399317 A CN110399317 A CN 110399317A CN 201910636303 A CN201910636303 A CN 201910636303A CN 110399317 A CN110399317 A CN 110399317A
- Authority
- CN
- China
- Prior art keywords
- bus interface
- register
- function
- unit
- functional
- 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
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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种嵌入式***的软件自适应的多功能控制器,包括总线接口模块、全局多路总线接口转换模块、全局寄存器控制模块以及功能模块;总线接口模块包括若干类型的总线接口单元,功能模块包括若干类型的功能单元,所有总线接口单元、全局寄存器控制模块和所有功能单元均与全局多路总线接口转换模块双向连接;总线接口模块、全局多路总线接口转换模块、功能模块以及全局寄存器控制模块中均设置全局宏定义配置模块和全局参数配置模块。总线接口单元和功能单元不需要重新设计;同时,驱动软件在获取该控制器中相关参数的情况下可以实现软件自适应功能,软件功能不需要重新设计,大大降低了嵌入式计算机的设计周期短和设计成本。
Description
技术领域
本发明属于嵌入式***领域,涉及一种嵌入式***的软件自适应的多功能控制器。
背景技术
在现有的嵌入式***计算机通信和信号采集领域中,计算机功能的实现首先是根据嵌入式处理器的总线接口类型,实现总线接口设计,然后根据需要的功能进行相应功能的逻辑设计,最后根据需要的功能配备需要的驱动软件。
现有的嵌入式***,都有以下特点:(1)不同的嵌入式处理器,会有不同的总线接口,因此,总线接口设计需要重新进行设计;(2)不同功能的嵌入式计算机,逻辑功能需要重新设计;(3)不同功能的嵌入式计算机,配套的驱动软件需要重新设计,软件不具备自适应功能。
但是,总线接口重新设计、逻辑功能重新设计以及驱动软件重新设计会带来嵌入式***硬件和软件设计周期长和设计成本高的问题。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种嵌入式***的软件自适应的多功能控制器。
为达到上述目的,本发明采用以下技术方案予以实现:
一种嵌入式***的软件自适应的多功能控制器,包括总线接口模块、全局多路总线接口转换模块、全局寄存器控制模块以及功能模块;总线接口模块包括若干类型的总线接口单元,功能模块包括若干类型的功能单元,所有总线接口单元、全局寄存器控制模块和所有功能单元均与全局多路总线接口转换模块双向连接;总线接口模块、全局多路总线接口转换模块、功能模块以及全局寄存器控制模块中均设置全局宏定义配置模块和全局参数配置模块;总线接口单元用于将自身类型对应的总线接口转换为第一Wishbone总线接口;全局多路总线接口转换模块用于将第一Wishbone总线接口转换为预设数量的第二Wishbone总线接口,其中,一路第二Wishbone总线接口与全局寄存器控制模块连接,其余路第二Wishbone总线接口分别与不同的功能单元连接;全局寄存器控制模块用于寄存多功能控制器的总线接口信息、功能单元信息、以及中断状态信息;功能单元用于实现自身类型对应的嵌入式***功能且每种功能单元均分配不同的固定物理地址空间;全局宏定义配置模块用于选取预设类型的总线接口单元以及预设的功能单元;选取的总线接口单元为打开状态,其余总线接口单元为关闭状态;选取的功能单元为打开状态,其余功能单元为关闭状态;全局参数配置模块用于控制打开状态的功能单元的数量、时钟频率、软复位时间、功能版本以及存储容量。
本发明进一步的改进在于:
全局寄存器控制模块包括总线接口信息寄存器、功能类型寄存器和中断状态寄存器;第一总线接口信息寄存器、功能类型寄存器和中断状态寄存器均与第二Wishbone总线接口连接;第一总线接口信息寄存器用于寄存多功能控制器的总线接口类型、中断类型和中断引脚;功能类型寄存器用于寄存每个功能单元的类型和数量;中断状态寄存器与所有功能单元均连接,用于确定多功能控制器当前产生中断的中断源对应的功能单元。
若干类型的功能单元中的每一个功能单元均包括局部多路总线选通控制模块、局部寄存器控制模块和若干功能控制器模块;局部多路总线选通控制模块、局部寄存器控制模块和若干功能控制器模块均与第二Wishbone总线接口连接;局部多路总线选通控制模块用于将第二Wishbone总线接口转换为预设数量的第三Wishbone总线接口,第三Wishbone总线接口分别与局部寄存器控制模块和若干功能控制器模块连接;局部寄存器控制模块用于寄存该功能单元的基本信息和软件开发需求,以及复位控制、中断控制和计时控制功能;功能控制器模块用于实现该功能单元对应类型的功能。
每一个功能单元至多包括32个功能控制器模块。
局部寄存器控制模块包括第二总线接口信息寄存器、功能信息寄存器、时钟频率寄存器、软复位寄存器、软复位时间设置寄存器、中断控制寄存器和计时器寄存器;其中,第二总线接口信息寄存器、功能信息寄存器、时钟频率寄存器、软复位寄存器、软复位时间设置寄存器、中断控制寄存器和计时器寄存器均与第三Wishbone总线接口连接,中断控制寄存器与若干功能控制器模块均连接;第二总线接口信息寄存器用于寄存多功能控制器总线接口类型、中断类型和中断引脚信息;功能信息寄存器用于寄存该功能单元的控制器类型、版本、通路数量、多功能标志以及功能使能标志;时钟频率寄存器用于寄存该功能单元的时钟频率;软复位寄存器用于该功能单元的软复位;软复位时间设置寄存器用于设置该功能单元的软复位的时间;中断控制寄存器寄存每路第三Wishbone总线接口的中断使能和中断状态,用于控制中断使能和禁止以及查询中断状态;当中断使能时,功能控制器模块达到预设中断条件时,产生中断信号并发送;当中断禁止时,功能控制器模块达到预设中断条件时,产生中断状态;计时器寄存器用于寄存每一个事件的发生时刻以及两个事件发生的时间间隔;功能信息寄存器用于寄存该功能单元的基本信息和软件开发需求。
当功能单元为I2C通信功能单元时,功能信息寄存器还寄存主/从核功能标志;当功能单元为开关量开入开出功能单元时,功能信息寄存器还寄存滤波功能标志、沿计数功能标志、测频功能标志和测宽功能标志;当功能单元为DA输出功能单元时,功能信息寄存器还寄存模式功能标志和FIFO功能标志;当功能单元为AD采集功能单元时,功能信息寄存器还寄存单采功能标志、循采功能标志、模拟开关类型标志和存储类型标志。
总线接口单元的类型包括PCI总线接口单元、LOCAL总线接口单元、AVALON总线接口单元、AXI总线接口单元、EMIF总线接口单元、PLB总线接口单元以及LPB总线接口单元。
功能单元的类型包括UART通信功能单元、CAN通信功能单元、HDLC通信功能单元、H485通信功能单元、H422通信功能单元、I2C通信功能单元、开关量开入开出功能单元、AD采集功能单元、DA输出功能单元以及1553b通信功能单元。
与现有技术相比,本发明具有以下有益效果:
本发明中多种嵌入式总线接口单元已经设计完成,通过全局宏定义配置模块实现总线接口单元的选通和裁剪,总线接口设计不需要重新设计;多种嵌入式***的常用功能通过若干功能单元已经设计完成,通过配置全局宏定义配置模块和全局参数配置模块实现功能单元的选通和裁剪,逻辑功能不需要重新设计;同时,只要根据该多功能控制器的最多功能设计一个全功能的驱动软件,然后驱动软件可以通过读取全局寄存器控制模块和局部寄存器控制模块中的总线接口信息、功能信息以及时钟频率寄存器,获取该多功能控制器中相关参数的情况下,软件功能自动裁剪,可以实现软件自适应功能,软件功能不需要重新设计。本发明采用配置的方式替代逻辑设计,并为软件实现自适应功能提供平台,大大降低了嵌入式计算机的设计周期和设计成本;每种功能模块设计均采用标准Wishbone总线接口,在当前功能不够的情况下,扩展新增功能非常方便,扩展能力强。
附图说明
图1为本发明的结构框图;
图2为本发明的接口总线模块的结构框图;
图3为本发明的功能模块的结构框图;
图4为本发明的功能模块中功能单元的结构框图;
图5为本发明的全局宏定义文件配置图;
图6为本发明的总线接口信息寄存器配置参数图;
图7为本发明的功能类型信息图;
图8为本发明的UART功能信息参数图。
其中:101-总线接口模块;102-全局多路总线接口转换模块;103-全局寄存器控制模块;104-功能模块;105-全局宏定义配置模块;106-全局参数配置模块;201-PCI总线接口单元;202-LOCAL总线接口单元;203-AVALON总线接口单元;204-AXI总线接口单元;205-EMIF总线接口单元;206-PLB总线接口单元;207-LPB总线接口单元;301-UART通信功能单元;302-CAN通信功能单元;303-HDLC通信功能单元;304-H485通信功能单元;305-H422通信功能单元;306-I2C通信功能单元;307-开关量开入开出功能单元;308-AD采集功能单元;309-DA输出功能单元;310-1553b通信功能单元;401-局部多路总线选通控制模块;402-局部寄存器控制模块;403-1-第一功能控制器模块;403-2-第二功能控制器模块;403-n-第n功能控制器模块。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
参见图1-4,本发明嵌入式***的软件自适应的多功能控制器,包括总线接口模块101、全局多路总线接口转换模块102、全局寄存器控制模块103以及功能模块104;总线接口模块101包括若干类型的总线接口单元,功能模块104包括若干类型的功能单元,所有总线接口单元、全局寄存器控制模块103和所有功能单元均与全局多路总线接口转换模块102双向连接;总线接口模块101、功能模块104以及全局寄存器控制模块103中均设置全局宏定义配置模块105和全局参数配置模块106。总线接口单元的类型包括PCI总线接口单元201、LOCAL总线接口单元202、AVALON总线接口单元203、AXI总线接口单元204、EMIF总线接口单元205、PLB总线接口单元206以及LPB总线接口单元207。功能单元的类型包括UART通信功能单元301、CAN通信功能单元302、HDLC通信功能单元303、H485通信功能单元304、H422通信功能单元305、I2C通信功能单元306、开关量开入开出功能单元307、AD采集功能单元308、DA输出功能单元309以及1553b通信功能单元310。
总线接口单元用于将自身类型对应的总线接口转换为第一Wishbone总线接口;全局多路总线接口转换模块102用于将第一Wishbone总线接口转换为预设数量的第二Wishbone总线接口,其中,一路第二Wishbone总线接口与全局寄存器控制模块103连接,其余路第二Wishbone总线接口分别与不同的功能单元连接。
全局寄存器控制模块103用于寄存多功能控制器的总线接口信息、功能单元信息、以及中断状态信息;全局寄存器控制模块103包括总线接口信息寄存器、功能类型寄存器和中断状态寄存器;第一总线接口信息寄存器、功能类型寄存器和中断状态寄存器均与第二Wishbone总线接口连接;第一总线接口信息寄存器用于寄存多功能控制器的总线接口类型、中断类型和中断引脚;功能类型寄存器用于寄存每个功能单元的类型和数量;中断状态寄存器与所有功能单元均连接,用于确定多功能控制器当前产生中断的中断源对应的功能单元。
功能单元用于实现自身类型对应的嵌入式***功能且每种功能单元均分配不同的固定物理地址空间;每一个功能单元均包括局部多路总线选通控制模块401、局部寄存器控制模块402和若干功能控制器模块;局部多路总线选通控制模块401、局部寄存器控制模块402和若干功能控制器模块均与第二Wishbone总线接口连接;局部多路总线选通控制模块401用于将第二Wishbone总线接口转换为预设数量的第三Wishbone总线接口,第三Wishbone总线接口分别与局部寄存器控制模块402和若干功能控制器模块连接。其中,每一个功能单元至多包括32个功能控制器模块。局部寄存器控制模块402用于寄存该功能单元的所有基本信息和软件开发需求,以及复位控制、中断控制和计时控制功能;功能控制器模块用于实现该功能单元对应类型的功能。
局部寄存器控制模块402包括第二总线接口信息寄存器、功能信息寄存器、时钟频率寄存器、软复位寄存器、软复位时间设置寄存器、中断控制寄存器和计时器寄存器;其中,第二总线接口信息寄存器、功能信息寄存器、时钟频率寄存器、软复位寄存器、软复位时间设置寄存器、中断控制寄存器和计时器寄存器均与第三Wishbone总线接口连接,中断控制寄存器与若干功能控制器模块均连接;第二总线接口信息寄存器用于寄存多功能控制器总线接口类型、中断类型和中断引脚等信息;功能信息寄存器用于寄存该功能单元的控制器类型、版本、通路数量、多功能标志以及功能使能标志;时钟频率寄存器用于寄存该功能单元的时钟频率;软复位寄存器用于该功能单元的软复位;软复位时间设置寄存器用于设置该功能单元的软复位的时间;中断控制寄存器寄存每路第三Wishbone总线接口的中断使能和中断状态,用于控制中断使能和禁止以及查询中断状态;当中断使能时,功能控制器模块达到预设中断条件时,产生中断信号并发送;当中断禁止时,功能控制器模块达到预设中断条件时,产生中断状态;计时器寄存器用于寄存每一个事件的发生时刻以及两个事件发生的时间间隔;功能信息寄存器用于寄存该功能单元的所有基本信息和软件开发需求。
其中,当功能单元为I2C通信功能单元306时,功能信息寄存器还寄存主/从核功能标志;当功能单元为开关量开入开出功能单元307时,功能信息寄存器还寄存滤波功能标志、沿计数功能标志、测频功能标志和测宽功能标志;当功能单元为DA输出功能单元309时,功能信息寄存器还寄存模式功能标志和FIFO功能标志;当功能单元为AD采集功能单元308时,功能信息寄存器还寄存单采功能标志、循采功能标志、模拟开关类型标志和存储类型标志。
全局宏定义配置模块105用于选取预设类型的总线接口单元以及预设的功能单元;选取的总线接口单元为打开状态,其余总线接口单元为关闭状态;选取的功能单元为打开状态,其余功能单元为关闭状态;全局参数配置模块106用于控制打开状态的功能单元的数量、时钟频率、软复位时间、功能版本以及存储容量。
下面详细说明本发明的原理:
根据常用的嵌入式处理器类型和总线接口类型,设计多种总线接口,通过全局宏定义配置模块105选择需要的总线接口;根据嵌入式计算机中常用的通信功能、采集功能和其他功能,设计一种多功能控制器,每一种功能的设计都是根据嵌入式计算机功能相关要求设计,通过全局宏定义配置模块105和全局参数配置模块106选择需要的功能和每一种功能的数量;根据软件一次性设计的需求,在全局寄存器控制模块103和局部寄存器控制模块402中设置专用空间,用于配置总线接口类型、中断类型、功能类型、各功能的相关参数、时钟频率等软件设计需要的要素,软件通过获取这些要素后可以自动进行裁剪,实现软件自适应,软件无需重新设计。
参见图1,本发明嵌入式***的软件自适应的多功能控制器,主要由5个基本模块组成,具体包括:总线接口模块101;全局多路总线接口转换模块102;全局寄存器控制模块103;功能模块104;全局宏定义配置模块105;全局参数配置模块106;总线接口模块101、全局多路总线接口转换模块102、全局寄存器控制模块103和功能模块104内均设置全局宏定义配置模块105和全局参数配置模块106。
参见图2,总线接口模块101主要由7个基本模块组成,具体包括:PCI总线接口单元201,LOCAL总线接口单元202,AVALON总线接口单元203,AXI总线接口单元204,EMIF总线接口单元205,PLB总线接口单元206以及LPB总线接口单元207;其中,这七个模块可以任意裁剪,只保留一个总线接口单元。
PCI总线接口单元201,内部嵌入PCI总线控制器,实现PCI总线协议,完成PCI总线接口时序转换成Wishbone总线接口时序的功能。LOCAL总线接口单元202,完成LOCAL总线接口时序转换成Wishbone总线接口时序的功能。AVALON总线接口单元203,完成AVALON总线接口时序转换成Wishbone总线接口时序的功能。AXI总线接口单元204,完成AXI总线接口时序转换成Wishbone总线接口时序的功能。EMIF总线接口单元205,完成EMIF总线接口时序转换成Wishbone总线接口时序的功能。PLB总线接口单元206,完成PLB总线接口时序转换成Wishbone总线接口时序的功能。LPB总线接口单元207,完成LPB总线接口时序转换成Wishbone总线接口时序的功能。
全局多路总线接口转换模块102,将一路第一Wishbone总线接口转换成多路第二Wishbone总线接口的功能,其中,一路第二Wishbone总线接口与全局寄存器控制模块103连接,其余路第二Wishbone总线接口分别与不同的功能单元连接;
每一个功能单元都分配了不同的固定物理地址空间,软件通过处理器访问该地址空间,可以读写该功能单元中的寄存器,实现对该功能单元的控制。
全局寄存器控制模块103,内部集成总线接口信息寄存器、功能类型寄存器和中断状态类型寄存器等。其中,总线接口信息寄存器定义了处理器接口类型、中断类型和中断引脚,功能类型寄存器定义了该控制器中的功能数量和功能类型,中断状态类型寄存器用于确定多功能控制器当前产生中断的中断源对应的功能单元。软件可以通过总线接口读操作获取这些信息。
参见图3,功能模块104主要由10个功能单元组成,具体包括:UART通信功能单元301、CAN通信功能单元302、HDLC通信功能单元303、H485通信功能单元304、H422通信功能单元305、I2C通信功能单元306、开关量开入开出功能单元307、AD采集功能单元308、DA输出功能单元309以及1553b通信功能单元310;其中,这十个模块可以任意裁剪,可以保留一个或者多个功能单元。
UART通信功能单元301内部集成局部多路总线选通控制模块401、局部寄存器控制模块402和异步串口UART控制器模块,实现多路UART通信功能。CAN通信功能单元302,内部集成局部多路总线选通控制模块401401、局部寄存器控制模块402和CAN控制器模块,实现多路CAN通信功能。HDLC通信功能单元303303,内部集成局部多路总线选通控制模块401、局部寄存器控制模块402和同步串口HDLC控制器模块,实现多路HDLC通信功能。H485通信功能单元304,内部集成局部多路总线选通控制模块401401、局部寄存器控制模块402和自定义高速485控制器模块,实现多路H485通信功能。H422通信功能单元305,内部集成局部多路总线选通控制模块401、局部寄存器控制模块402和自定义高速控制器模块,实现多路H422通信功能。I2C通信功能单元306,内部集成局部多路总线选通控制模块401、局部寄存器控制模块402和I2C控制器模块,实现多路I2C通信功能。开关量开入开出功能单元307,内部集成局部多路总线选通控制模块401、局部寄存器控制模块402和异步开关量控制器模块,实现多路开关量开入开出功能。AD采集功能单元308,内部集成局部多路总线选通控制模块401、局部寄存器控制模块402和AD控制器模块,实现多片/多路AD采集功能。DA输出功能单元309,内部集成局部多路总线选通控制模块401、局部寄存器控制模块402和DA控制器模块,实现多片/多路DA输出功能。1553b通信功能单元310,内部集成局部多路总线选通控制模块401、局部寄存器控制模块402和1553b接口时序控制模块,实现多片1553b芯片接口转换功能。
参见图4,每个功能单元的内部结构包括局部多路总线选通控制模块401,局部寄存器控制模块402,和n个控制器模块403-1、403-2至403-n。
局部多路总线选通控制模块401,实现一路第二wishbone总线转换成多路第三wishbone总线功能,分别与局部寄存器控制模块402以及多个对应功能控制器模块相连。
局部寄存器控制模块402,内部集成总线接口信息寄存器、功能信息寄存器、时钟频率寄存器、软复位寄存器、软复位时间设置寄存器、中断控制寄存器和计时器寄存器等。其中,总线接口信息寄存器定义了处理器接口类型、中断类型和中断引脚,该寄存器与全局寄存器控制模块103中的总线接口信息寄存器一致;功能信息寄存器定义了该功能单元的控制器类型、版本、通路数量、多功能标志、功能使能标志,在I2C通信功能单元306中还定义了主/从核功能标志,在开入开出功能单元中还定义了滤波功能标志、沿计数功能标志、测频功能标志和测宽功能标志,在AD采集功能单元308中还定义了单采功能标志、循采功能标志、模拟开关类型标志和存储类型标志,在DA输出功能单元309中还定义了模式功能标志、FIFO功能标志;时钟频率寄存器定义了该功能模块104使用的时钟频率;软复位寄存器用于实现对各功能模块104的软复位功能;软复位时间设置寄存器用于设置软复位的时间;中断控制器包含各个通路的中断使能和中断状态,用于控制中断使能和禁止以及查询中断状态;计时器寄存器用于实现一个64位的计时器,可以实现1万年不清零计时功能。
第一功能控制器模块403-1、第二功能控制器模块403-2至第n功能控制器模块403-n,这n个模块是该功能单路/单片功能控制器模块,n的最大值是32,每个功能控制器模块的功能一致,分配到不同的物理地址空间。
图1、2、3和4中,实线模块是不可裁剪的模块,虚线模块是可以裁剪的模块。
本发明中设计了全局宏定义配置模块105和全局参数配置模块106;全局宏定义配置模块105是一个全局宏定义文件“global_define.v”,全局参数配置模块106是一个全局参数文件“global_param.v”。该控制器中每一种总线接口和功能设计都与全局宏定义文件中的命令和全局参数文件中的参数相关,所以,通过配置全局宏定义文件的方式实现接口、功能和资源可裁剪,通过配置全局参数文件中的相关参数,实现功能数量可裁剪。在全局参数文件中定义了软件自适应功能需要的相关参数,并为软件实现自适应功能提供平台。
控制器的接口、功能和资源可裁剪的过程如下:(1)在全局宏定义文件中,用“define”命令打开需要的总线接口类型;(2)在全局宏定义文件中,用“define”命令打开需要的功能类型;(3)在全局参数文件中,用“parameter”的命令配置各个功能的数量以及软件需要的相关参数,包括接口信息寄存器、功能信息寄存器、时钟频率寄存器;(4)在配置完全局宏定义文件和全局参数文件中的相关参数后,需要的总线接口和相关功能的代码会被保留下来,不需要的总线接口和相关功能的代码会被注释,被注释的接口总线和相关功能也不会占用资源。
假设需要一个EMIF总线接口,需要5路UART通信功能,3路CAN通信功能,2路I2C通信功能,1路1553b通信功能,参见图5,全局宏定义文件配置,其中“//”表示后面的代码为注释代码,不会被编译器识别。参见图6,总线接口信息寄存器配置参数;参见图7,功能类型信息;参见图8,UART功能信息参数定义如下,其他功能的参数定义方法类似。
提供软件实现自适应平台的方法如下:(1)首先是软件已经实现了该多功能控制器最大化逻辑功能的驱动软件功能;(2)通过处理器读取接口信息寄存器,获取总线接口类型、中断类型和中断引脚信息,准确定位属于该总线接口类型的软件代码;(3)通过处理器读取功能类型寄存器,获取该控制器所包含的功能种类,保留需要的功能驱动软件代码;(4)通过处理器读取功能信息寄存器,获取每一种功能的数量和其他参数,保留需要的功能;(5)通过处理器读取时钟频率寄存器,获取每一种功能所使用的时钟频率,用于配置和时间相关的其他参数;(6)根据每一种功能的使用说明,完成每一种功能的驱动软件。
用Verilog HDL语言对本发明进行描述,并完成逻辑综合与布局布线,将该控制器逻辑设计映射到可编程逻辑器件中实现,并对多功能控制器的功能进行测试。测试结果表明本发明具有很好的可实施性,且性能满足预期。
本发明针对不同的嵌入式处理器,提供不同的总线接口,通过全局宏定义配置模块105实现总线接口选择,总线接口设计不需要重新设计;不同功能的嵌入式计算机逻辑功能通过全局宏定义配置模块105和全局参数配置模块106实现,逻辑功能不需要重新设计;不同功能的嵌入式计算机配套的驱动软件不需要重新设计,软件具备自适应功能;用全局宏定义配置模块105和全局参数配置模块106进行配置文件的方式替代逻辑设计,并实现软件自适应功能,大大降低了嵌入式计算机的设计周期短和设计成本;每一种功能模块104设计采用标准Wishbone总线接口,在当前功能不够的情况下,扩展新增功能非常方便,扩展能力强。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (8)
1.一种嵌入式***的软件自适应的多功能控制器,其特征在于,包括总线接口模块(101)、全局多路总线接口转换模块(102)、全局寄存器控制模块(103)以及功能模块(104);
总线接口模块(101)包括若干类型的总线接口单元,功能模块(104)包括若干类型的功能单元,所有总线接口单元、全局寄存器控制模块(103)和所有功能单元均与全局多路总线接口转换模块(102)双向连接;总线接口模块(101)、全局多路总线接口转换模块(102)、功能模块(104)以及全局寄存器控制模块(103)中均设置全局宏定义配置模块(105)和全局参数配置模块(106);
总线接口单元用于将自身类型对应的总线接口转换为第一Wishbone总线接口;
全局多路总线接口转换模块(102)用于将第一Wishbone总线接口转换为预设数量的第二Wishbone总线接口,其中,一路第二Wishbone总线接口与全局寄存器控制模块(103)连接,其余路第二Wishbone总线接口分别与不同的功能单元连接;
全局寄存器控制模块(103)用于寄存多功能控制器的总线接口信息、功能单元信息、以及中断状态信息;
功能单元用于实现自身类型对应的嵌入式***功能且每种功能单元均分配不同的固定物理地址空间;
全局宏定义配置模块(105)用于选取预设类型的总线接口单元以及预设的功能单元;选取的总线接口单元为打开状态,其余总线接口单元为关闭状态;选取的功能单元为打开状态,其余功能单元为关闭状态;
全局参数配置模块(106)用于控制打开状态的功能单元的数量、时钟频率、软复位时间、功能版本以及存储容量。
2.根据权利要求1所述的嵌入式***的软件自适应的多功能控制器,其特征在于,所述全局寄存器控制模块(103)包括总线接口信息寄存器、功能类型寄存器和中断状态寄存器;第一总线接口信息寄存器、功能类型寄存器和中断状态寄存器均与第二Wishbone总线接口连接;
第一总线接口信息寄存器用于寄存多功能控制器的总线接口类型、中断类型和中断引脚;
功能类型寄存器用于寄存每个功能单元的类型和数量;
中断状态寄存器与所有功能单元均连接,用于确定多功能控制器当前产生中断的中断源对应的功能单元。
3.根据权利要求1所述的嵌入式***的软件自适应的多功能控制器,其特征在于,所述若干类型的功能单元中的每一个功能单元均包括局部多路总线选通控制模块(401)、局部寄存器控制模块(402)和若干功能控制器模块;局部多路总线选通控制模块(401)、局部寄存器控制模块(402)和若干功能控制器模块均与第二Wishbone总线接口连接;
局部多路总线选通控制模块(401)用于将第二Wishbone总线接口转换为预设数量的第三Wishbone总线接口,第三Wishbone总线接口分别与局部寄存器控制模块(402)和若干功能控制器模块连接;
局部寄存器控制模块(402)用于寄存该功能单元的基本信息和软件开发需求,以及复位控制、中断控制和计时控制功能;
功能控制器模块用于实现该功能单元对应类型的功能。
4.根据权利要求3所述的嵌入式***的软件自适应的多功能控制器,其特征在于,所述每一个功能单元至多包括32个功能控制器模块。
5.根据权利要求3所述的嵌入式***的软件自适应的多功能控制器,其特征在于,所述局部寄存器控制模块(402)包括第二总线接口信息寄存器、功能信息寄存器、时钟频率寄存器、软复位寄存器、软复位时间设置寄存器、中断控制寄存器和计时器寄存器;其中,第二总线接口信息寄存器、功能信息寄存器、时钟频率寄存器、软复位寄存器、软复位时间设置寄存器、中断控制寄存器和计时器寄存器均与第三Wishbone总线接口连接,中断控制寄存器与若干功能控制器模块均连接;
第二总线接口信息寄存器用于寄存多功能控制器总线接口类型、中断类型和中断引脚信息;
功能信息寄存器用于寄存该功能单元的控制器类型、版本、通路数量、多功能标志以及功能使能标志;
时钟频率寄存器用于寄存该功能单元的时钟频率;
软复位寄存器用于该功能单元的软复位;
软复位时间设置寄存器用于设置该功能单元的软复位的时间;
中断控制寄存器寄存每路第三Wishbone总线接口的中断使能和中断状态,用于控制中断使能和禁止以及查询中断状态;当中断使能时,功能控制器模块达到预设中断条件时,产生中断信号并发送;当中断禁止时,功能控制器模块达到预设中断条件时,产生中断状态;
计时器寄存器用于寄存每一个事件的发生时刻以及两个事件发生的时间间隔;
功能信息寄存器用于寄存该功能单元的基本信息和软件开发需求。
6.根据权利要求5所述的嵌入式***的软件自适应的多功能控制器,其特征在于,当所述功能单元为I2C通信功能单元(306)时,所述功能信息寄存器还寄存主/从核功能标志;
当所述功能单元为开关量开入开出功能单元(307)时,所述功能信息寄存器还寄存滤波功能标志、沿计数功能标志、测频功能标志和测宽功能标志;
当所述功能单元为DA输出功能单元(309)时,所述功能信息寄存器还寄存模式功能标志和FIFO功能标志;
当所述功能单元为AD采集功能单元(308)时,所述功能信息寄存器还寄存单采功能标志、循采功能标志、模拟开关类型标志和存储类型标志。
7.根据权利要求1所述的嵌入式***的软件自适应的多功能控制器,其特征在于,所述总线接口单元的类型包括PCI总线接口单元(201)、LOCAL总线接口单元(202)、AVALON总线接口单元(203)、AXI总线接口单元(204)、EMIF总线接口单元(205)、PLB总线接口单元(206)以及LPB总线接口单元(207)。
8.根据权利要求1所述的嵌入式***的软件自适应的多功能控制器,其特征在于,所述功能单元的类型包括UART通信功能单元(301)、CAN通信功能单元(302)、HDLC通信功能单元(303)、H485通信功能单元(304)、H422通信功能单元(305)、I2C通信功能单元(306)、开关量开入开出功能单元(307)、AD采集功能单元(308)、DA输出功能单元(309)以及1553b通信功能单元(310)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910636303.5A CN110399317B (zh) | 2019-07-15 | 2019-07-15 | 一种嵌入式***的软件自适应的多功能控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910636303.5A CN110399317B (zh) | 2019-07-15 | 2019-07-15 | 一种嵌入式***的软件自适应的多功能控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399317A true CN110399317A (zh) | 2019-11-01 |
CN110399317B CN110399317B (zh) | 2020-12-25 |
Family
ID=68325455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910636303.5A Active CN110399317B (zh) | 2019-07-15 | 2019-07-15 | 一种嵌入式***的软件自适应的多功能控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399317B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401586A (zh) * | 2019-07-26 | 2019-11-01 | 广东浪潮大数据研究有限公司 | 一种总线通信方法、装置、设备及可读存储介质 |
CN111414325A (zh) * | 2020-02-29 | 2020-07-14 | 苏州浪潮智能科技有限公司 | 一种Avalon总线转Axi4总线的方法 |
CN111611185A (zh) * | 2020-06-18 | 2020-09-01 | 中国人民解放军国防科技大学 | 一种多pcie端口的msi中断过滤装置 |
CN112328180A (zh) * | 2020-11-16 | 2021-02-05 | 深圳市永联科技股份有限公司 | 一种基于单片机的文件管理方法 |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
CN114116018A (zh) * | 2020-08-26 | 2022-03-01 | 比亚迪半导体股份有限公司 | 配置芯片及调用程序的方法、装置、存储介质及电子设备 |
CN115203107A (zh) * | 2022-09-15 | 2022-10-18 | 上海飞斯信息科技有限公司 | 一种总线接口配置方法、***以及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130409A1 (en) * | 2005-12-06 | 2007-06-07 | Shuhsaku Matsuse | System-On-a-Chip mixed bus architecture |
CN101593164A (zh) * | 2009-07-13 | 2009-12-02 | 中国船舶重工集团公司第七○九研究所 | 基于嵌入式Linux的从USB HID装置及固件实现方法 |
CN102681930A (zh) * | 2012-05-15 | 2012-09-19 | 浪潮电子信息产业股份有限公司 | 一种芯片级错误记录方法 |
CN108509363A (zh) * | 2018-03-21 | 2018-09-07 | 上海西莓电子科技有限责任公司 | 一种基于开放***总线扩展功能的芯片架构 |
CN109831434A (zh) * | 2019-01-31 | 2019-05-31 | 西安微电子技术研究所 | 一种基于自定义交换策略的多协议通信交换控制器 |
-
2019
- 2019-07-15 CN CN201910636303.5A patent/CN110399317B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130409A1 (en) * | 2005-12-06 | 2007-06-07 | Shuhsaku Matsuse | System-On-a-Chip mixed bus architecture |
CN101593164A (zh) * | 2009-07-13 | 2009-12-02 | 中国船舶重工集团公司第七○九研究所 | 基于嵌入式Linux的从USB HID装置及固件实现方法 |
CN102681930A (zh) * | 2012-05-15 | 2012-09-19 | 浪潮电子信息产业股份有限公司 | 一种芯片级错误记录方法 |
CN108509363A (zh) * | 2018-03-21 | 2018-09-07 | 上海西莓电子科技有限责任公司 | 一种基于开放***总线扩展功能的芯片架构 |
CN109831434A (zh) * | 2019-01-31 | 2019-05-31 | 西安微电子技术研究所 | 一种基于自定义交换策略的多协议通信交换控制器 |
Non-Patent Citations (2)
Title |
---|
W. REMAKLUS: "On-chip bus structure for custom core logic designs", 《WESCON/98. CONFERENCE PROCEEDINGS IN IEEE》 * |
赵海婷、贺占庄: "面向EEPROM应用的SPI主控制器设计与实现", 《计算机***应用》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401586A (zh) * | 2019-07-26 | 2019-11-01 | 广东浪潮大数据研究有限公司 | 一种总线通信方法、装置、设备及可读存储介质 |
CN111414325A (zh) * | 2020-02-29 | 2020-07-14 | 苏州浪潮智能科技有限公司 | 一种Avalon总线转Axi4总线的方法 |
US11657011B2 (en) | 2020-02-29 | 2023-05-23 | Inspur Suzhou Intelligent Technology Co., Ltd. | Avalon-to-Axi4 bus conversion method |
CN111414325B (zh) * | 2020-02-29 | 2021-09-17 | 苏州浪潮智能科技有限公司 | 一种Avalon总线转Axi4总线的方法 |
CN111611185A (zh) * | 2020-06-18 | 2020-09-01 | 中国人民解放军国防科技大学 | 一种多pcie端口的msi中断过滤装置 |
CN114116018A (zh) * | 2020-08-26 | 2022-03-01 | 比亚迪半导体股份有限公司 | 配置芯片及调用程序的方法、装置、存储介质及电子设备 |
CN114116018B (zh) * | 2020-08-26 | 2024-05-10 | 比亚迪半导体股份有限公司 | 配置芯片及调用程序的方法、装置、存储介质及电子设备 |
CN112328180A (zh) * | 2020-11-16 | 2021-02-05 | 深圳市永联科技股份有限公司 | 一种基于单片机的文件管理方法 |
CN112328180B (zh) * | 2020-11-16 | 2024-05-10 | 深圳市永联科技股份有限公司 | 一种基于单片机的文件管理方法 |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
CN115203107A (zh) * | 2022-09-15 | 2022-10-18 | 上海飞斯信息科技有限公司 | 一种总线接口配置方法、***以及电子设备 |
CN115203107B (zh) * | 2022-09-15 | 2023-01-17 | 上海飞斯信息科技有限公司 | 一种总线接口配置方法、***以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110399317B (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399317A (zh) | 一种嵌入式***的软件自适应的多功能控制器 | |
CN104915303B (zh) | 基于PXIe总线的高速数字I/O*** | |
US8724665B2 (en) | Pseudo-synchronous time division multiplexing | |
CN111444123B (zh) | 基于硬件加速的spi接口的自动读取控制***及方法 | |
US8675681B2 (en) | Communication within an integrated circuit including an array of interconnected programmable logic elements | |
CN103870421B (zh) | 一种基于fpga的串行接口和pwm组合应用ip核装置 | |
CN106294239A (zh) | 一种***总线apb总线桥 | |
CN107391422A (zh) | 多路异步串行通讯数据访问***及方法 | |
CN105404728B (zh) | 一种基于fpga芯片多控制信号的布局方法 | |
CN109656856A (zh) | 利用fpga实现非复用总线与复用总线互联装置及方法 | |
CN104657297B (zh) | 计算设备扩展***及扩展方法 | |
CN110018654A (zh) | 细粒度可编程时序控制逻辑模块 | |
CN105760558B (zh) | Fpga芯片中多输入查找表的布局方法 | |
CN201774507U (zh) | 多路数字脉冲发生器 | |
CN111212000B (zh) | 一种基于PXIe总线的交换背板 | |
CN1879096A (zh) | 从AMBAAHB总线协议到i960-like总线协议的总线接口转换装置 | |
CN105577052B (zh) | 一种基于fpga的步进电机无抖动驱动控制***及基于该***的控制方法 | |
CN112347733A (zh) | 集成电路布局初始化与优化方法、装置、存储介质及设备 | |
CN104750648B (zh) | 基于双线总线的单向通讯控制装置及方法 | |
Pannuto et al. | MBus: A system integration bus for the modular microscale computing class | |
CN110008162A (zh) | 一种缓冲接口电路及基于该电路传输数据的方法和应用 | |
CN106326172B (zh) | 一种APB总线slave接口扩展电路及其使用方法 | |
CN109144927A (zh) | 一种多fpga互联装置及方法 | |
CN205725785U (zh) | 一种并行数据同步采集装置 | |
CN101770344B (zh) | 一种高速多通道信号自动采集电路 |
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 |