CN1763734A - 一种基于amba总线的8051系列微处理器应用*** - Google Patents

一种基于amba总线的8051系列微处理器应用*** Download PDF

Info

Publication number
CN1763734A
CN1763734A CN 200510095447 CN200510095447A CN1763734A CN 1763734 A CN1763734 A CN 1763734A CN 200510095447 CN200510095447 CN 200510095447 CN 200510095447 A CN200510095447 A CN 200510095447A CN 1763734 A CN1763734 A CN 1763734A
Authority
CN
China
Prior art keywords
bus
apb
ahb
module
address
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
Application number
CN 200510095447
Other languages
English (en)
Other versions
CN100357925C (zh
Inventor
肖佐楠
于麦口
林雄鑫
周焰超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Tianxin Technology Co.,Ltd.
Original Assignee
CCore Technology Suzhou Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CCore Technology Suzhou Co Ltd filed Critical CCore Technology Suzhou Co Ltd
Priority to CNB2005100954472A priority Critical patent/CN100357925C/zh
Publication of CN1763734A publication Critical patent/CN1763734A/zh
Application granted granted Critical
Publication of CN100357925C publication Critical patent/CN100357925C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

一种基于AMBA总线的8051系列微处理器应用***,特征是:基于AMBA总线结构,以8051系列微处理器作为总线控制单元,作如下改造:(1)在微处理器的总线到APB总线间设置第二桥接器进行转换;第二桥接器由寄存器组、模块选择逻辑、传输状态机和传输控制逻辑构成;(2)在APB总线到第一桥接器和第二桥接器之间设置一个对APB总线二选一访问的多路选择器;(3)给挂接在AHB总线上的模块添加APB总线接口;(4)微处理器的地址映射方案:a)将外部数据存储空间的一部分分配给APB***;b)外部数据存储空间到APB地址空间的扩展通过第二桥接器中的寄存器组来实现;C)AHB***和APB***有着独立的地址空间,并由可综合的参数化的逻辑实现。本发明将低速的8位微处理器应用于32位的高速AMBA总线结构中构成一个应用***,使芯片支持高速的大流量数据传输,达到较高的性价比。

Description

一种基于AMBA总线的8051系列微处理器应用***
技术领域
本发明涉及一种基于32位AMBA总线的8位微处理器应用***,具体涉及一种基于AMBA总线的8051系列微处理器应用***。
背景技术
通常***芯片SOC设计中利用总线的分层技术以使得各种不同特性的模块与总线更好的相连接,片上总线(on-chip bus)是SOC集成***的互连结构,一般分为***总线(system bus)与***总线(peripheral bus)两部分。***总线可认为是处理器核与***模块相连的中枢,负责主***初始化、主***之间以及与***其他模块的数据传输,需要总线仲裁来控制多个请求信号。从***只响应数据请求。***总线往往是为了满足功耗、便携性、重用性等方面的特别要求,提供低带宽的接口,挂接低速从设备。***总线与***总线之间通过桥接器(Bridge)相连。
在通常的片上总线结构中,由于***总线只有一个,数据传输至少有控制传输和数据传输两个部分,不可避免的要发生牺牲高速的数据传输来进行相应的控制传输;低速外设的访问也必须由***总线的介入才能完成,造成高速***总线要花费额外的时间来等待其信号到低速的***总线的转换,接下来的高速数据传输必须等待***总线结束传输。
8051系列微处理器,由于它的广泛使用、成熟的技术以及价格的优势,设计开发以其为内核的SOC,不仅提供了有效的解决方案,同时缩短设计周期,增加市场竞争力。但是其性能不够出色,采用通常的总线结构已不能满足现代高速大批量的数据传输。因此被许多高端的芯片摒弃,取而代之的是更高性能的微处理器,如ARM系列处理器。
发明内容
本发明的目的在于克服上述论述中的不足之处,应用低端的8051系列微处理器(8位微处理器)来实现高性能的芯片,提供一个基于AMBA总线(32位总线)的8051系列微处理器应用***。
为达到上述目的,本发明采用的技术方案是:一种基于AMBA总线的8051系列微处理器应用***,AMBA总线结构包含AHB总线和APB总线,AHB总线到APB总线设有第一桥接器;基于AMBA总线结构,以8051系列微处理器作为总线控制单元,进行如下改造:
(1)、将APB总线作为***总线,在8051系列微处理器的总线到APB总线间设置第二桥接器来完成8051系列微处理器信号到APB总线转换;所述第二桥接器包含:
a)寄存器组,该寄存器组包含三个基地址寄存器,用来进行8051系列微处理器地址到APB总线***的地址扩展;
b)模块选择逻辑,该逻辑根据应用***对每个模块地址空间大小和APB基地址的设置采用函数的方法对地址译码,而后给出APB总线模块的选择信号;
c)传输状态机,包括空闲、建立、使能、完成四个状态,根据8051系列微处理器外部数据存取和APB数据存取的时序特征,将8051系列微处理器外部12周期的数据存取转化为具有等待周期的APB数据存取,地址和其他转换过的控制信号将在传输状态机逻辑的控制下传输到APB总线;
d)传输控制逻辑,该逻辑根据8051系列微处理器总线和APB总线的控制信号和数据信号,对总线的访问进行控制;
(2)、在APB总线到第一桥接器和第二桥接器之间设置一个对APB总线访问的多路选择器,用于支持AHB总线桥接器和8051系列微处理器对APB总线的二选一访问,其中8051系列微处理器作为默认的APB总线主设备;
(3)、给挂接在AHB总线上的模块添加APB总线接口,使AHB总线上的模块在保持与AHB总线连接同时,通过APB总线接口连接在APB总线上,使8051系列微处理器能够通过APB总线配置和控制AHB总线上的模块,同时将8051系列微处理器到APB总线的访问与AHB总线上的高速数据传输相分离;
(4)、8051系列微处理器的地址映射方案如下:
a)8051系列微处理器的外部数据存储空间的一部分分配给APB***,用来和APB***以及AHB***交换数据;
b)外部数据存储空间到APB地址空间的扩展是通过第二桥接器中的三个基地址寄存器将8051系列微处理器分配给APB***的外部数据存储空间扩展到APB***的地址空间,
PADDR[31:0]={APBA2,APBA1,APBA0[7:8-N],RAMADDR[15-N:0]}
其中,PADDR[31:0]指APB总线的地址信号,APBA2,APBA1,APBA0三个寄存器分别代表第二桥接器中的三个8位的基地址寄存器的值,RAMADDR代表8051系列微处理器给出的外部数据地址,该方法可以将APB地址最大扩展为4G,N根据8051系列微处理器分配给APB***的空间大小变化,见下表;
  Name   Purpose   Access
  APBA2   APB Adress[31:24]   R/W
  APBA1   APB Adress[23:16]   R/W
  APBA0   APB Adress[15:16-N]   R/W
c)32位的AHB***和8位宽的APB***有着独立的地址空间,***分配每个模块的空间大小和每个模块的基地址,这些地址空间是由可综合的参数化的逻辑实现的。
上述技术方案中的有关内容解释如下:
1、上述方案中,“AMBA”为先进微控制器总线体系结构;“AHB”为先进高性能总线;“APB”为先进外设总线。
2、上述方案中,AHB总线上的模块添加APB总线接口,用来实现模块的两个总线访问(即AHB总线和APB总线的访问),依据实际应用有下面三种情况:
a)对于具有32位APB接口的硬核模块,需要设置8到32位的APB接口模块;
b)对于只具有AHB接口的硬核模块,需要设置提供APB接口和仲裁两个总线的接口模块;
c)对于非硬核的AHB模块需要根据APB总线协议添加相应的APB接口。
3、上述方案中,需要设置程序存储管理逻辑,负责处理8051系列微处理器的1周期的内部数据读取、4周期的指令读取和12周期的外部数据访问,其中前面两种访问通过该逻辑直接和8051系列微处理器配备的专用存储器相连,而12周期的外部读写由其传送给第二桥接器完成。
4、上述方案中,为了处理AHB总线和APB总线同时访问一个模块的情况,上述8051系列微处理器的地址映射方案的内容还应该包括对具有APB接口的AHB总线上的模块设置地址访问的优先级,即AHB***和APB***两者同时对一个具有APB接口的AHB总线上的模块进行访问时,需要设置优先级。
本发明的设计原理是:参见附图1所示,一种基于AMBA总线的8051微处理器应用***设计框图,基于AMBA总线结构,通过在AMBA总线结构中添加一个专用的APB多路选择器MUX,并设置8位微处理器总线到AMBA的APB总线第二桥接器512APBBridge,使得8位微处理器集成到AMBA总线结构中的APB总线***中。
由图1可以看出,APB总线***不再是只通过AHB总线进行访问,***中原来的第一桥接器AHB2APBBridge的位置设置有一个专用的多路选择器MUX,来支持两个APB主控制设备对总线的访问。一个主控制设备是原来意义上的AHB总线到APB总线的第一桥接器AHB2APBBridge,另一个是低速的8051系列微处理器,该微处理器由一个其总线到APB总线的第二桥接器512APBBridge完成微处理器的信号到APB的转换。APB总线依旧遵循单主控制设备***,多路选择器MUX在同一时刻只允许一个总线主控制设备连接到APB总线上,可以根据需要定义两者的优先级。这样的结构显得更为灵活,不仅依旧可以通过AHB总线访问APB总线,更重要的是APB总线有了专门的主控制设备来控制总线的操作,可以完全独立于AHB***,使得AHB总线上的高速数据传输和APB总线上的低速数据传输能够并行进行。
AHB***仍然由总线主控制设备、总线从设备和控制部分组成。不同的是,总线中控制设备和总线从设备可以根据需要同时跟APB总线进行连接,由APB总线***负责这些模块的配置和控制,和AHB***中的高速数据传输相分离,并且各个模块之间可以很方便的进行直接的数据交换。
由于上述技术方案运用,本发明与现有技术相比具有下列优点和效果:
1、本发明将低速的8051系列微处理器应用于32位的高速AMBA总线结构中构成一个应用***,在这样的应用***中,低速的8051系列微处理器已足够满足控制信息的传输,而8051系列微处理器,***模块和接口逻辑连接在一起,来实现该***的特性——支持高速的大流量数据传输,使芯片达到较高的性价比。
2、本发明打破了AMBA的AHB总线作为***总线的常规做法,通过设计第二桥接器,将8051系列微处理器应用到AMBA的APB总线***中,使得APB总线***独立于AHB总线***,成为芯片的***总线。
3、本发明将APB***独立,实现AHB总线***和APB总线***的并行工作,高速的数据传输的同时可以进行低速的数据传输,提高了总线的带宽。
4、本发明给AHB总线上的模块添加了APB总线接口,AHB总线***中的模块可以同时连接到APB总线***中,由APB总线***负责这些模块的配置和控制,和AHB***中的高速数据传输相分离。在高速数据传输进行的同时,配置好下一次数据传输所需要的信息,数据传输可以不间断地进行,提高了带宽和总线的灵活性。
5、本发明对AMBA的总线结构进行特别的改进和设计,发明了基于AMBA总线的8051系列微处理器应用***。该发明能够很好的实现上面分析的情况,将8051系列微处理器集成到采用AMBA总线的芯片中,并且实现数据传输和控制传输流水作业和高低速数据传输的并行工作,提高了***的性能和灵活性。并且这样的设计能够很方便的实现AHB***中各个模块之间数据的直接交换,满足了面向高速数据传输的SOC***的需要。
附图说明
附图1为本发明应用***框图;
附图2为本发明实施例芯片的***结构框图;
附图3为本发明8051系列微处理器总线到AMBA的APB总线的第二桥接器单元实现框图;
附图4为本发明8051系列微处理器到第二桥接器的传输状态机状态转移图。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例:参见附图2所示,是应用本发明所提出的一种基于AMBA总线的8051微处理器应用***设计的一款实施例芯片。该实施例采用8051系列的一款低速8位微处理器作为芯片的核,由AMBA总线作为整个芯片的总线,根据本发明的方法用专用的多路选择器MUX、第二桥接器512APBBridge将8051微处理器集成到AMBA总线结构中,与DMA(直接存储器存取)、SRAM(静态存储器)、USBC(通用串行总线控制器)、NFC(与非型闪存控制器)等AHB总线上的模块和GPIO(通用输入输出设备)、I2C(内部集成电路总线接口)、EIC(外部中断控制器)、SCM(***控制模块)等APB总线模块构成了该款实施例。
一.***总体设计:
附图2是该款实施例芯片的结构示意图。AHB总线***进行高速数据传输,DMA和TIC(Test Interface Controller)是该***中的两个总线主控制设备,USBC、SDDC、SDDC、NFC是该***的总线从设备,另外基于对芯片可扩展性的考虑,根据需要该AHB总线***可支持各16个总线主控制设备和总线从设备,并设计了虚拟的总线主控制设备和默认的总线从设备。在实施例芯片***正常运行的情况下,DMA模块作为AHB总线主控制设备,负责USBC、SDDC、NFC、SRAM之间的数据通路,以及它们之间大数据量的交换。AHB总线***中,数据传输通过DMA的控制,实现上述模块的数据和SRAM数据的传输,更实现了不需要由SRAM做媒介USBC/SDDC,USBC/NFC,SDDC/NFC之间数据的直接交换,使***成为一个高速高效的数据交换平台。根据本发明设计的方法AHB总线的模块USBC、SDDC、NFC、DMA、SRAM各模块都拥有AHB总线和APB总线接口APBGasket,可以通过AHB和APB两个总线访问,在AHB总线***中主要进行高速的数据传输。
APB总线***成为该实施例芯片的***总线,负责对***各个模块进行控制以及进行低速数据传输。采用了8051系列的微处理器通过第二桥接器512APBBridge作为APB的总线主控制设备,同时第一桥接器AHB2APBBridge的是APB的另外一个总线主控制设备,多路选择器MUX对两个总线主控制设备进行二选一的选择,使得在通常情况下8位的8051系列微处理器控制APB总线,只有在AHB的TIC模块作为总线主控制设备对整个实施例进行测试的时候,第一桥接器AHB2APBBridge才作为总线主控制设备接管APB的总线控制权,通过这种方式保证了同一时刻APB总线***只有一个总线主控制设备。I2C、GPIO、EIC、SCM等模块为APB总线***中的总线从设备,***控制模块给芯片提供时钟、复位以及不同的***控制功能,EIC模块协助8051系列微处理器采样处理芯片所有模块的中断信号。DMA,NFC,USBC等模块同样也是APB***中的总线从设备,8位微处理器在APB总线域中对他们进行寄存器的读写配置。
该款实施例芯片运用了本发明中提到的地址映射方法,AHB和APB两个***有着独立的地址空间,通过合理的设计实现了完全分离,8051系列微处理器通过对其外部地址空间实现对芯片***的访问。
该款实施例芯片AHB总线***中的DMA模块进行AHB的高速总线传输的同时,8051系列微处理器可以对两个总线***中的模块进行配置,从而APB***中的I2C、GPIO模块可以在AHB总线传输的同时进行配置和数据传输。AHB***中除了正在进行传输的模块,其他模块都可以同样在不打扰高速数据传输的同时进行配置和读写。下面描述与该发明相关的该实施例芯片的设计实现。
下面对该实施例芯片的地址映射方法、涉及本发明的APB总线单元和8051微处理器应用到***中的方法进行描述。
二.APB总线***:
APB总线***为该芯片的***总线,负责对***各个模块进行控制以及进行低速数据传输。APB总线主设备选择逻辑来选择通过第二桥接器512APBBridge连接的8051系列微处理器或是第一桥接器AHB2APBBridge作为当时唯一的APB***的总线主设备单元。8051系列微处理器外部设置一个专用的程序存储控制器负责8051系列微处理器的存储管理。DMA、NFC、USBC等模块同样也是APB***中的总线从设备,8位的8051系列微处理器在APB总线域中对他们进行寄存器的读写配置。
1、APB总线多路选择器MUX:该模块是非标准的APB器件,APB总线主设备选择逻辑对两个总线主控制设备进行选择,使得在通常情况下8位的8051系列微处理器控制APB总线,只有在AHB的TIC模块作为总线主控制设备对整个芯片进行测试的时候,第一桥接器AHB2APBBridge才作为总线主控制设备接管APB的总线控制权,通过这种方式保证了同一时刻APB总线***只有一个总线主控制设备。
2、第二桥接器512APBBridge:该桥接器起到连接APB总线***和8051系列微处理器的作用,由APB总线模块选择逻辑、传输控制逻辑和传输状态机组成,并且包含一组寄存器来完成APB域的基地址配置功能,图3是第二桥接器512APBBridge的设计框图。
a)APB总线模块选择逻辑:根据地址给出相应的选择信号。模块选择逻辑用来产生具体从设备的选择信号。在模块选择逻辑中有每一个从设备的基地址,当8051系列微处理器发起一次访问的时候,模块选择逻辑比较p_addr的LSB位(具体的LSB位是由***集成进来的时候定义好的)和每一个从设备的基地址。只要他们相匹配,就说明有一个APB的访问发起了。Apb_select和apb_module_select信号是模块选择逻辑输出给传输状态机的。Apb_select信号将在APB访问开始的时候有效,而apb_module_select信号将会指出哪一个从设备被选择。
b)传输控制逻辑:根据需要存储和产生相关的8051系列微处理器总线的地址和其他的总线信号。
c)传输状态机:第二桥接器512APBBridge中的状态机用来控制8051系列微处理器访问到APB总线访问,地址和其他转换过的控制信号将在该状态机的控制下传输到APB总线。传输状态机包括空闲IDLE,建立SETUP,使能ENABLE,完成DONE四个状态,状态转移情况如图4所示。当总线被复位或者总线上没有传输的时候,状态机处于空闲IDLE状态,当总线上面发生了一次针对某一个APB域,包括桥接器和APB模块的有效操作,此时内部信号满足((~rd|~wr)&apb_access)的条件,第二桥接器512APBBridge将会进入建立SETUP状态,否则将维持空闲IDLE状态;在建立SETUP状态中PSELx信号被置起,该状态只维持一个周期,而后进入使能ENABLE状态;同样一个周期后,状态机由ENABLE状态直接进入完成DONE状态;在完成DONE状态中,当满足(rd&wr)条件时,状态机进入空闲IDLE状态,否则维持完成DONE状态,其中,rd和wr信号就是8051系列微处理器中的读写信号。
d)基地址配置寄存器组:该寄存器组包含三个基地址寄存器APBA2、APBA1、APBA0,用来进行8051系列微处理器地址到APB总线***的地址扩展。第二桥接器512APBBridge是由可综合的参数化方法实现的,基地址配置寄存器组可以满足APB***的任何配置要求,支持一个虚拟的没有限制的APB总线从设备个数。APBA0寄存器可以配置为支持APB地址空间从512B到32K的大小。APB总线***的地址译码和从设备选择所需的32位地址是由第二桥接器的基地址配置寄存器组和8051系列微处理器外部数据存储器的地址组成。8051系列微处理器的外部数据地址空间扩展为APB地址空间是通过第二桥接器512APBBridge寄存器中的上述三个基地址配置寄存器来实现的。
PADDR[31:0]={APBA2,APBA1,APBA0[7:8-N],RAMADDR[15-N:0]}
其中,PADDR[31:0]是指APB总线的地址信号,APBA2、APBA1、APBA0三个寄存器分别代表第二桥接器512APBBridge中的三个8位的基地址寄存器的值,RAMADDR代表8051系列微处理器给出的外部数据地址,该方法可以将APB地址最大扩展为4G,N根据8051系列微处理器分配给APB***的空间大小变化,该实施例芯片中,将N设为“1”来支持32K大小的APB地址空间。该地址空间对于8051系列微处理器来说是其外部数据地址空间从0x8000到0xFFFF。
                            表1  基地址配置寄存器组
  External DataMemory Address Name Purpose Access   ResetValue
  0x7FF3 to 0x7FFF   -   Reserved   R   0x00
            0x7FF2   APBA2   APB Adress[31:24]   R/W   0x00
            0x7FF1   APBA1   APB Adress[23:16]   R/W   0x00
            0x7FF0   APBA0   APB Adress[15]   R/W   0x80
3、AHB模块的APB接口:除了标准的APB模块具有APB接口外,为了实现APB总线***对AHB总线上的模块进行控制,设置了AHB总线上模块的APB接口用于提供APB总线的访问。对于NFC、USBC、DMA模块都需要具有APB接口,APB总线通过该接口对这些模块进行配置。具体的设计需要根据情况来实现。
a)8到32位的APB Gasket:该接口逻辑提供给原本32位APB接口的AHB模块一个应用到发明中的8位APB总线的8位接口,即对于具有32位APB接口的硬核模块,需要设置8到32位的APB接口模块。该逻辑包含3个8位的寄存器,来储存要写入的数据的前三个字节,当第四个字节写入的时候,一起组成32位的数据传给模块原有的32位APB接口。例如:要写入0x33221100到DMA的地址为0x0000b000寄存器时,8051处理器需要先写数据0x33到地址0xb003,0x22到地址0xb002,0x11到地址0xb001,最后将数据0x00写入地址0xb000时该接口逻辑才会真正的将四个字节的数据写给DMA模块。
b)只具有AHB接口的硬核模块的APB Gasket:该接口逻辑要提供APB总线访问模块的接口,芯片中的该模块采用的是只具有AHB接口的硬核,因此首先APB Gasket需要提供AHB模块APB接口,其次需要仲裁两个总线访问同一模块的情况。由于这个模块的特殊性,当两个总线同时对其访问的时候,AHB总线具有优先权,此时APB总线需要进入等待状态,对于不同的模块优先级的高低可以不同。该款实施例芯片中USBC模块对应这种情况。
c)非硬核的AHB模块的APB接口:对于非硬核的AHB模块来讲,不必单独添加一个APB Gasket,由于模块逻辑可以修改,因此需要在该模块的内部增加针对APB总线的接口逻辑,该逻辑同时完成两个总线的访问进行仲裁或区分。该款芯片中NFC模块对应这种情况。
4、8051系列微处理器的程序存储控制器PMC(Program MemoryController):在实施例芯片中该模块负责处理芯片中的不同任务,连接程序存储器、内部数据存储器和外部数据存储器的接口。PMC允许程序存储器地址映射中的16块4K大小的块配置成为包含ROM或者SRAM。并且PMC允许程序存储空间映射的第一个256字节映射为物理存储器的地址是0x00或者0xff00。PMC在APB域中的空间大小为1K。PMC中设置了8个可访问的寄存器单元。
                    表2  PMC可访问的寄存器单元
  Address Offset   Name   Purpose
  0x0   RAMAL   Lower RAM Address  Register
  0x1   RAMAU   Upper RAM Address Register
  0x2   RAMEL   Lower RAM Enable  Register
  0x3   RAMEU   Upper RAM Enable Register
  0x4   RAMDA   RAM Data Access Register
  0x5   GENDR   Generate D80530 Reset(Mask)Register
  0x6   TSWAP   Vector Table Swap Register
  0x7   -   Reserved
a)RAM Address Register(RAMAU,RAMAL):RAMAU和RAMAL两个寄存器和在一起是16位的地址ADDR[15:0],该地址指向64K的SRAM空间中。当RAMDA寄存器被访问时,数据就会从该地址所指向的存储器空间写入或者读出数据。任何一次RAMDA寄存器的访问,都会使地址的值增加,当地址的值为0xffff时,再次的访问将会使该地址的溢出为0。
b)RAM Enable Register(RAMEU,RAMEL):该寄存器的每一位对应一个4K大小的SRAM存储块。当该位被设置有效的时候,地址映射中相应的存储块就与SRAM相连,如果该位被清除,从4K存储块来的指令将会从ROM中读取。如果SRAM或者ROM块没有物理实现,将会返回数据0。RAMEL[0]的值如果改变,8051微处理器将会被重新复位,这样8051微处理器将会从被选择的存储段开始引导,而这个复位不会影响到芯片的其他部分。
c)RAM Data Access Register(RAMDA):该寄存器为访问16个SRAM块的数据暂存空间,当该寄存器被写操作的时候,该数据将会被存储到RAM地址寄存器所对应的空间里;当该寄存器被读操作的时候,由RAM地址寄存器所指向空间的数据将会被读出。
d)Generate 8051 Reset(Mask)Register(GENDR):该寄存器可以屏蔽掉8051微处理器的复位操作,当GENDR为被置为有效的时候,RAMEL[0]的变化将引起8051微处理器的复位;当该位被清除的时候,RAMEL[0]的变化将不会引起8051微处理器的复位。
e)Vector Table Swap Register(TSWAP):该寄存器允许程序存储空间应设的第一个256B的空间可以重新映射到最后一个256B的空间上去。当Swap为有效的时候,从地址空间0x0000到0x00FF的指令读取将会被映射到0xFF00到0xFFFF空间去。
三.地址映射及其映射方法:
该款实施例芯片的地址区间被分为了五部分,64K大小的8051微处理器的程序存储器,256B大小的8051微处理器内部数据存储器,64K大小的8051微处理器的外部数据存储器,4G/32K的8位APB***区域,4G的32位AHB***区域。其中,APB和AHB域分别拥有理论上为4G的地址空间。
对于该款实施例芯片,APB域实际只用到了32K,访问这32K之外的空间是允许的,但是写操作将被忽略而读操作将会返回0x0数据。而AHB域的地址空间理论上可以扩展到整个4G大小,但该款实施例芯片的大部分AHB地址空间是空的,如果对这些地址空间进行访问将会返回AHB域的错误。
1、地址扩展方法:8051微处理器的外部数据地址空间扩展为APB地址空间是通过8051微处理器到APB的第二桥接器寄存器组的上述三个基地址配置寄存器来实现的。
PADDR[31:0]={APBA2,APBA1,APBA0[7:8-N],RAMADDR[15-N:0]}。这样可知,地址可扩展的最大空间是4G。N的变化是由8051微处理器分配给APB的外部存储空间大小决定的。该实施例芯片中,将N设为“1”来支持32K大小的APB地址空间。该地址空间对于8051微处理器来说是其外部数据地址空间从0x8000到0xFFFF。
2、8051系列微处理器程序存储器的地址映射:该程序存储器是8位宽,64KB深的存储器,支持8051微处理器的内部和外部的指令存取。该存储器由16个4KB大小的块组成,每一块都可以配置成为ROM和SRAM,会在下面的8051微处理器存储空间管理器里面详细描述。
3、8051系列微处理器的内部数据存储器地址映射:该处理器的内部数据存储器是8位宽,256B深,由256Byte组成的SRAM,仅仅对8051微处理器的控制器可见。
4、8051系列微处理器的外部数据存储器地址映射:该处理器的外部数据存储器是8位宽,64KB深,它的分配情况见表3。64K存储空间的第一个2K空间分配给SRAM,最上面的32K空间通过第二桥接器512APBBridge分配给APB域。
         表3  微处理器的外部数据存储器地址映射表
  Base Address   Size   Description
  0x8000   32K   APB Bridge Access Window
  0x7FF0   16B   APB Bridge Control Window
  0x0800   30K   Reserved
  0x0000   2K   SRAM
5、APB总线域的地址映射:APB域的地址映射如表4所示,APB总线从设备的基地址的设法,是为了使APB总线从设备的地址映射正好跟32K的8051微处理器的外部地址空间相匹配。APB总线在该款实施例芯片中采用了8位宽。DMA和USBC模块的接口都是32位的,而APB总线为8位,因此该芯片设计了8位到32位数据的访问接口。
             表4  APB总线域地址映射表
  BaseAddress   Size   Description
  0x0001_0000   4G   Reserved
  0x0000_F000   4K   NAND Flash Controller(NFC)
  0x0000_E000   4K   SD Device Controller(SDDC)
  0x0000_D000   4K   USB Controller 2(USBOTG)
  0x0000_C000   4K   USB Controller 1(USBOTG)
  0x0000_B800   2K   DMA Controller(DMAC)
  0x0000_B400   1K   I2C Controller 1(I2C)slave
  0x0000_B000   1K   I2C Controller 1(I2C)master
  0x0000_AC00   1K   Program Memory Controller(PMC)
  0x0000_A800   1K   System Control Module(SCM)
  0x0000_A400   1K   Interrupt Controller(EIC)
  0x0000_A000   1K   GPIO
  0x0000_8000   8K   SRAM
  0x0000_0000   32K   Reserved
6、AHB总线域的地址映射:AHB域的地址映射如表5所示,该款实施例芯片的AHB总线是32位宽并且支持字、半字和字节的读写操作。AHB总线域和APB总线域的某些地址分配是重叠的,当APB和AHB都对一地址进行访问时,通常情况下APB总线拥有优先权,但对于USBC模块来说,是AHB的优先级高。
模块SDDC、USBC、SRAM是APB和AHB总线都可以进行访问的,DMA模块是APB总线的总线从设备,但它又是AHB总线的总线主控制设备。NFC模块同样连接在两个总线当中,该模块在APB和AHB域中的地址相同,但是访问的内容却不同,APB总线访问NFC模块的寄存器,AHB接口来存取外部Flash传输的数据。
               表5  AHB总线域的地址映射表
  Base_Address   Size   Description
  0x00D6_0000   4G   Reserved(Default Slave)
  0x00D2_0000   256K   USB2 FIFO DMA Access Window
  0x00C6_0000   768K   Reserved(Default Slave)
  0x00C2_0000   256K   USBl FIFO DMA Access Window
  0x0021_0000   10M   Reserved(Default Slave)
  0x0020_0000   32K   APB Bridge Window
  0x0001_0000   2M   Reserved(Default Slave)
  0x0000_F000   4K   NAND Flash Controller(NFC)
  0x0000_E000   4K   SD Device Controller(SDDC)
  0x0000_D000   4K   USB Controller 2(USBOTG)
  0x0000_C000   4K   USB Controller 1(USBOTG)
  0x0000_A000   8K   Reserved(Default Slave)
  0x0000_8000   8K   SRAM
  0x0000_0000   32K   Reserved(Default Slave)
AHB总线域中存在一个APB窗口,总线的主控制设备同样可以通过该窗口由第一桥接器AHB2APBBridge访问APB域。当第一桥接器AHB2APBBridge访问时,它将接管APB总线,此时8051微处理器没有对APB进行访问。由于芯片的APB总线是8位宽,因此对于AHB总线的半字和字访问,都将在高位缺省附为0。AHB总线域中的APB窗口地址和APB总线内部的地址映射除了多了一个偏移地址外是一致的。
7、上面的描述,可发现APB域的窗口和AHB域的地址区间是重叠的,但并不是说地址对于所有的设备都是一个或是相同的。例如:NFC模块是不同的,AHB访问的时候,是通过地址0x0000_f000来访问NFC的数据端口;APB访问的时候是8051微处理器通过地址0xf000访问NFC的控制寄存器。SRAM模块是相同的,AHB通过地址0x0000_8000,或者是APB通过地址0x8000访问,是一样的。当AHB和APB同时访问的时候,APB的优先级要高,这时AHB总线处于等待状态直到APB访问结束。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

Claims (4)

1、一种基于AMBA总线的8051系列微处理器应用***,AMBA总线结构包含AHB总线和APB总线,AHB总线到APB总线设有第一桥接器,其特征在于:基于AMBA总线结构,以8051系列微处理器作为总线控制单元,进行如下改造:
(1)、将APB总线作为***总线,在8051系列微处理器的总线到APB总线间设置第二桥接器来完成8051系列微处理器信号到APB总线转换;所述第二桥接器包含:
a)寄存器组,该寄存器组包含三个基地址寄存器,用来进行8051系列微处理器地址到APB总线***的地址扩展;
b)模块选择逻辑,该逻辑根据应用***对每个模块地址空间大小和APB基地址的设置采用函数的方法对地址译码,而后给出APB总线模块的选择信号;
c)传输状态机,包括空闲、建立、使能、完成四个状态,根据8051系列微处理器外部数据存取和APB数据存取的时序特征,将8051系列微处理器外部12周期的数据存取转化为具有等待周期的APB数据存取,地址和其他转换过的控制信号将在传输状态机逻辑的控制下传输到APB总线;
d)传输控制逻辑,该逻辑根据8051系列微处理器总线和APB总线的控制信号和数据信号,对总线的访问进行控制;
(2)、在APB总线到第一桥接器和第二桥接器之间设置一个对APB总线访问的多路选择器,用于支持AHB总线桥接器和8051系列微处理器对APB总线的二选一访问,其中8051系列微处理器作为默认的APB总线主设备;
(3)、给挂接在AHB总线上的模块添加APB总线接口,使AHB总线上的模块在保持与AHB总线连接同时,通过APB总线接口连接在APB总线上,使8051系列微处理器能够通过APB总线配置和控制AHB总线上的模块,同时将8051系列微处理器到APB总线的访问与AHB总线上的高速数据传输相分离;
(4)、8051系列微处理器的地址映射方案如下:
a)8051系列微处理器的外部数据存储空间的一部分分配给APB***,用来和APB***以及AHB***交换数据;
b)外部数据存储空间到APB地址空间的扩展是通过第二桥接器中的三个基地址寄存器将8051系列微处理器分配给APB***的外部数据存储空间扩展到APB***的地址空间,
PADDR[31:0]={APBA2,APBA1,APBA0[7:8-N]RAMADDR[15-N:0]}
其中,PADDR[31:0]是指APB总线的地址信号,APBA2,APBA1,APBA0三个寄存器分别代表第二桥接器中的三个8位的基地址寄存器的值,RAMADDR代表8051系列微处理器给出的外部数据地址,该方法可以将APB地址最大扩展为4G,N根据8051系列微处理器分配给APB***的空间大小变化,见下表;   Name   Purpose   Access   APBA2   APB Adress[31:24]   R/W   APBA1   APB Adress[23:16]   R/W   APBA0   APB Adress[15:16-N]   R/W
c)32位的AHB***和8位宽的APB***有着独立的地址空间,***分配每个模块的空间大小和每个模块的基地址,这些地址空间是由可综合的参数化的逻辑实现的。
2、根据权利要求1所述的基于AMBA总线的8051系列微处理器应用***,其特征在于:AHB总线上的模块添加APB总线接口,依据实际应用有下面三种情况:
a)对于具有32位APB接口的硬核模块,需要设置8到32位的APB接口模块;
b)对于只具有AHB接口的硬核模块,需要设置提供APB接口和仲裁两个总线的接口模块;
c)对于非硬核的AHB模块需要根据APB总线协议添加相应的APB接口。
3、根据权利要求1所述的基于AMBA总线的8051系列微处理器应用***,其特征在于:设置程序存储管理逻辑,负责处理8051系列微处理器的1周期的内部数据读取、4周期的指令读取和12周期的外部数据访问,其中前面两种访问通过该逻辑直接和8051系列微处理器配备的专用存储器相连,而12周期的外部读写由其传送给第二桥接器完成。
4、根据权利要求1所述的基于AMBA总线的8051系列微处理器应用***,其特征在于:所述8051系列微处理器的地址映射方案的内容还包括对具有APB接口的AHB总线上的模块设置地址访问的优先级,即AHB***和APB***两者同时对一个具有APB接口的AHB总线上的模块进行访问时,需要设置优先级。
CNB2005100954472A 2005-11-10 2005-11-10 一种基于amba总线的8051系列微处理器应用*** Active CN100357925C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100954472A CN100357925C (zh) 2005-11-10 2005-11-10 一种基于amba总线的8051系列微处理器应用***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100954472A CN100357925C (zh) 2005-11-10 2005-11-10 一种基于amba总线的8051系列微处理器应用***

Publications (2)

Publication Number Publication Date
CN1763734A true CN1763734A (zh) 2006-04-26
CN100357925C CN100357925C (zh) 2007-12-26

Family

ID=36747873

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100954472A Active CN100357925C (zh) 2005-11-10 2005-11-10 一种基于amba总线的8051系列微处理器应用***

Country Status (1)

Country Link
CN (1) CN100357925C (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100454319C (zh) * 2007-10-15 2009-01-21 北京航空航天大学 一种导航***的微型处理器ip核设计方法
CN101847095A (zh) * 2009-03-25 2010-09-29 中国科学院微电子研究所 面向asic型ip核实现软件可编程的方法
CN102103543A (zh) * 2011-02-22 2011-06-22 哈尔滨工业大学 利用处理器gpio管脚扩展m模块地址空间的方法
CN102662886A (zh) * 2012-04-07 2012-09-12 山东华芯半导体有限公司 SoC地址映像的优化方法
CN102750254A (zh) * 2012-06-20 2012-10-24 中国电子科技集团公司第五十八研究所 高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥
CN106201986A (zh) * 2016-06-22 2016-12-07 华南理工大学 一种用于电力能源***的soc芯片
CN108279999A (zh) * 2017-12-14 2018-07-13 天津津航计算技术研究所 一种基于fpga的c*core处理器测试验证***和方法
CN109932963A (zh) * 2019-01-29 2019-06-25 中国航空无线电电子研究所 基于dsp核的ads-b***级芯片架构
CN110337643A (zh) * 2018-01-23 2019-10-15 深圳市大疆创新科技有限公司 芯片、处理器、计算机***和可移动设备
CN110688328A (zh) * 2019-09-27 2020-01-14 山东华芯半导体有限公司 一种axi总线分主机映射集的可配置重映射实现方法
CN112181879A (zh) * 2020-08-28 2021-01-05 珠海欧比特宇航科技股份有限公司 用于dma控制器的apb接口模块、dma控制器和芯片
CN112929252A (zh) * 2021-05-11 2021-06-08 上海擎昆信息科技有限公司 一种适用于总线端口的并行数据传输***及方法
CN114020655A (zh) * 2022-01-05 2022-02-08 苏州浪潮智能科技有限公司 一种内存扩展方法、装置、设备及存储介质
CN114257717A (zh) * 2020-09-25 2022-03-29 北京小米移动软件有限公司 电子设备
WO2022252715A1 (zh) * 2021-12-29 2022-12-08 杭州万高科技股份有限公司 一种双核异构SoC芯片
CN115982067A (zh) * 2023-03-21 2023-04-18 北京智芯微电子科技有限公司 总线控制装置、方法以及工控处理芯片和工业控制***
CN116049047A (zh) * 2022-12-30 2023-05-02 成都电科星拓科技有限公司 一种eeprom访问结构及访问方法
WO2023124940A1 (zh) * 2021-12-29 2023-07-06 合肥市芯海电子科技有限公司 一种直接存储器访问的嵌入式控制电路、芯片和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816921B2 (en) * 2000-09-08 2004-11-09 Texas Instruments Incorporated Micro-controller direct memory access (DMA) operation with adjustable word size transfers and address alignment/incrementing
US6653859B2 (en) * 2001-06-11 2003-11-25 Lsi Logic Corporation Heterogeneous integrated circuit with reconfigurable logic cores
US7054988B2 (en) * 2003-04-17 2006-05-30 Lsi Logic Corporation Bus interface for processor

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100454319C (zh) * 2007-10-15 2009-01-21 北京航空航天大学 一种导航***的微型处理器ip核设计方法
CN101847095A (zh) * 2009-03-25 2010-09-29 中国科学院微电子研究所 面向asic型ip核实现软件可编程的方法
CN102103543A (zh) * 2011-02-22 2011-06-22 哈尔滨工业大学 利用处理器gpio管脚扩展m模块地址空间的方法
CN102103543B (zh) * 2011-02-22 2012-07-04 哈尔滨工业大学 利用处理器gpio管脚扩展m模块地址空间的方法
CN102662886A (zh) * 2012-04-07 2012-09-12 山东华芯半导体有限公司 SoC地址映像的优化方法
CN102750254B (zh) * 2012-06-20 2014-12-03 中国电子科技集团公司第五十八研究所 高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥
CN102750254A (zh) * 2012-06-20 2012-10-24 中国电子科技集团公司第五十八研究所 高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥
CN106201986A (zh) * 2016-06-22 2016-12-07 华南理工大学 一种用于电力能源***的soc芯片
CN108279999A (zh) * 2017-12-14 2018-07-13 天津津航计算技术研究所 一种基于fpga的c*core处理器测试验证***和方法
CN110337643A (zh) * 2018-01-23 2019-10-15 深圳市大疆创新科技有限公司 芯片、处理器、计算机***和可移动设备
CN109932963A (zh) * 2019-01-29 2019-06-25 中国航空无线电电子研究所 基于dsp核的ads-b***级芯片架构
CN110688328B (zh) * 2019-09-27 2023-03-14 山东华芯半导体有限公司 一种axi总线分主机映射集的可配置重映射实现方法
CN110688328A (zh) * 2019-09-27 2020-01-14 山东华芯半导体有限公司 一种axi总线分主机映射集的可配置重映射实现方法
CN112181879A (zh) * 2020-08-28 2021-01-05 珠海欧比特宇航科技股份有限公司 用于dma控制器的apb接口模块、dma控制器和芯片
CN112181879B (zh) * 2020-08-28 2022-04-08 珠海欧比特宇航科技股份有限公司 用于dma控制器的apb接口模块、dma控制器和芯片
CN114257717A (zh) * 2020-09-25 2022-03-29 北京小米移动软件有限公司 电子设备
CN114257717B (zh) * 2020-09-25 2024-05-31 北京小米移动软件有限公司 电子设备
CN112929252B (zh) * 2021-05-11 2021-07-09 上海擎昆信息科技有限公司 一种适用于总线端口的并行数据传输***及方法
CN112929252A (zh) * 2021-05-11 2021-06-08 上海擎昆信息科技有限公司 一种适用于总线端口的并行数据传输***及方法
WO2022252715A1 (zh) * 2021-12-29 2022-12-08 杭州万高科技股份有限公司 一种双核异构SoC芯片
WO2023124940A1 (zh) * 2021-12-29 2023-07-06 合肥市芯海电子科技有限公司 一种直接存储器访问的嵌入式控制电路、芯片和电子设备
CN114020655A (zh) * 2022-01-05 2022-02-08 苏州浪潮智能科技有限公司 一种内存扩展方法、装置、设备及存储介质
CN116049047A (zh) * 2022-12-30 2023-05-02 成都电科星拓科技有限公司 一种eeprom访问结构及访问方法
CN116049047B (zh) * 2022-12-30 2024-04-12 成都电科星拓科技有限公司 一种eeprom访问方法
CN115982067A (zh) * 2023-03-21 2023-04-18 北京智芯微电子科技有限公司 总线控制装置、方法以及工控处理芯片和工业控制***

Also Published As

Publication number Publication date
CN100357925C (zh) 2007-12-26

Similar Documents

Publication Publication Date Title
CN1763734A (zh) 一种基于amba总线的8051系列微处理器应用***
KR100560761B1 (ko) 인터페이스 변환 시스템 및 그 방법
CN102110072B (zh) 一种多处理器完全互访的方法及***
JP5453546B2 (ja) 複数の仮想キューを含むアドレス変換ユニット
JP5643903B2 (ja) 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置
CN105183662B (zh) 一种无cache一致性协议的分布式共享片上存储架构
US20070005825A1 (en) System and method for communicating with memory devices
US20080270707A1 (en) Data processor
CN105556503B (zh) 动态的存储器控制方法及其***
KR20110122516A (ko) 인터커넥트, 그것을 포함하는 버스 시스템 그리고 버스 시스템의 동작 방법
KR101781617B1 (ko) 통합 입출력 메모리 관리 유닛을 포함하는 시스템 온 칩
US6742058B2 (en) Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input
CN113791822B (zh) 多内存通道的内存存取装置、方法和数据处理设备
WO2017181851A1 (zh) 一种bios启动方法及装置
GB2610015A (en) Cache for storing coherent and non-coherent data
CN1287444C (zh) 一种用于访问***芯片外sdram的控制器及其实现方法
CN110347615B (zh) 动态资源配置方法及缓存单元
US8244994B1 (en) Cooperating memory controllers that share data bus terminals for accessing wide external devices
TW591914B (en) Microcomputer system having upper bus and lower bus and controlling data access in network
CN101075221A (zh) 管理分离总线上总线代理之间的数据流的方法和***
JP7383645B2 (ja) システムオンチップにおけるプログラマブル論理マスタのためのハードウェアベースの仮想-物理アドレス変換
CN113157602A (zh) 一种对内存进行分配的方法、设备及计算机可读存储介质
WO2012127534A1 (ja) バリア同期方法、バリア同期装置及び演算処理装置
US11061642B2 (en) Multi-core audio processor with flexible memory allocation
JP6055456B2 (ja) 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TIANJIN C+CORE TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SUZHOU C+CORE TECHNOLOGY CO., LTD.

Effective date: 20100617

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 215011 NO.1326, BINHE ROAD, SUZHOU NEW DISTRICT, SUZHOU CITY, JIANGSU PROVINCE TO: 300457 BUILDING SOUTH, SOFTWARE BUILDING, TIANDA SCIENCE PARK, NO.80, NO.4 AVENUE, TIANJIN CITY DEVELOPMENT AREA

TR01 Transfer of patent right

Effective date of registration: 20100617

Address after: Tianjin Development Zone 300457 Fourth Street No. 80 big software technology park tower

Patentee after: Tianjin Tianxin Technology Co.,Ltd.

Address before: 215011, Binhe Road, Suzhou New District, Jiangsu, Suzhou, 1326

Patentee before: C*Core Technology (Suzhou) Co., Ltd.