CN1760849A - 8位嵌入式cpu的ambatm外围接口电路 - Google Patents
8位嵌入式cpu的ambatm外围接口电路 Download PDFInfo
- Publication number
- CN1760849A CN1760849A CN 200510110254 CN200510110254A CN1760849A CN 1760849 A CN1760849 A CN 1760849A CN 200510110254 CN200510110254 CN 200510110254 CN 200510110254 A CN200510110254 A CN 200510110254A CN 1760849 A CN1760849 A CN 1760849A
- Authority
- CN
- China
- Prior art keywords
- data
- control module
- bus
- state machine
- cpu
- 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
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明属于集成电路技术领域,具体为一种针对8位嵌入式CPU的AMBATM外围接口电路。该外围接口电路由总线状态机、时钟控制模块、数据控制模块、地址控制模块经电路连接组成。在总线状态机控制下,数据、地址、时钟三个控制模块协同工作,以解决32位总线和8位CPU在时序和数据宽度等方面的矛盾。加上外围接口电路的8位CPU,能够像32位CPU一样工作,仍采用原指令系统,可以直接嵌入到SoC系统中,而无需对其它模块作相应的修改。这样可缩短设计时间,提高IP复用效率。在性能上,其相当于同类8位嵌入式CPU的处理速度,但其面积和成本远小于32位的微处理器,具有良好的应用前景。
Description
技术领域
本发明属于集成电路设计领域,具体涉及一种适用于8位嵌入式CPU的AMBATM外围接口电路。
背景技术
随着集成电路技术的广泛应用,人们对于上市时间(Time-to-Market)的要求越来越苛刻。为了缩短设计和验证周期,IP复用技术被广泛采用,尤其是在SoC(System-on-Chip片上系统)设计中,人们采用统一的总线规范,将嵌入式CPU和各个现有的IP核集成在一块芯片上,从而实现整个系统的功能。
在SoC设计中,ARM公司提出来的一个片上系统的总线规范AMBATM(AdvancedMierocontroller Bus Architecture),已成为业界的事实标准。该标准主要规定了三种总线标准:
(1)AHB(Advanced High-performance Bus)
(2)ASB(Advanced System Bus)
(3)APB(Advanced Peripheral Bus)
在实际应用中,一般采用AHB+APB标准或ASB+APB标准。AHB和APB的功能基本相似,但是AHB支持更多的功能,可以提供更大的位宽,而且由于AHB标准中的所有操作都在时钟上升沿进行,有利于工艺制造,所以在新的设计中一般推荐使用AHB作为系统总线。
在SoC设计中,比较常用的CPU有8位的8051和32位的MIPS、ARM7、ARM9等。采用32位的CPU是当前设计的主流,但成本比较高,不易得到广泛的运用。事实上,在众多的应用场合中,比如智能卡、电子商务交易平台等等,除了要求基本的功能外,人们更多地关注系统的成本。所以,采用相对廉价的8051是一个不错的选择。但是现有的协处理器和总线一般是面向32位CPU的,如何将8位的CPU嵌入到32位的系统总线上成为一个难题。
发明内容
本发明的目的是提出一种针对8位嵌入式CPU的AMBATM外围接口电路,使8位CPU能够像32位CPU一样工作,可以直接嵌入到SoC系统中。
本发明提出的适用于8位嵌入式CPU的AMBATM外围接口电路,包括一个总线状态机11,由一个时钟控制模块12,一个数据控制模块13和一个地址控制模块14。其结构见图1所示。其中,数据控制模块包括读数据控制子模块131和写数据控制子模块132;时钟控制模块12、地址控制模块14、数据控制模块13均受总线状态机控制,并与CPU连接,时钟控制模块12、数据控制模块13与地址控制模块14连接;在总线状态机的控制下,时钟控制模块,数据控制模块和地址控制模块协同工作,以解决32位总线和8位CPU在时序和数据宽度等方面的矛盾。
本发明中,所述的时钟控制模块包括一个上升沿触发的D触发器21和一个与非门22,D触发器21通过信号线24与总线状态机11连接,与非门22分别与触发器21和总线状态机11连接;时钟控制模块12根据总线状态机的指示,通过开关CPU时钟来保持正常的指令周期。见图2所示。
本发明中,所述的数据控制模块包括读数据和写数据两个子模块,读数据控制子模块131由一个数据格式转换模块31,一个数据缓冲区32和一个多路选择器33依次电路连接组成,多路选择器33与CPU连接,并受总线状态机11控制;读数据控制子模块131把来自总线的数据,经过数据格式转换模块31后,分成4个字节存入数据缓冲区32,在总线状态机的控制下,由CPU分批读取;写数据控制子模块132由一个仲裁器41,一个数据缓冲区42和一个输出寄存器43依次电路连接组成,仲裁器41与CPU连接,且仲裁器41和输出寄存器43均受总线状态机11控制,写数据控制子模块132把CPU往外写的数据,通过仲裁器41指示,放置在数据缓存区的特定位置,拼成宽度为32位的数据后,再写到输出寄存器43中。见图3和图4所示。
本发明中,所述的地址控制模块14由一系列的锁存器53,一个地址扩展模块52和一个多路选择器51依次电路连接,多路选择器51、锁存器53受总线状态机11控制,地址控制模块是将16位地址扩展成总线要求的32位地址,并给出符合AHB MASTER接口标准的控制信号,即在总线状态机11的控制下,有选择地输出到AHB总线上,同时输出AHB总线要求的各种地址信号。见图5所示。
本发明在分析AHB协议的基础上,划分出总线的各个工作状态23,包括TNIT、REQ、ADDR、STOP、TATA等。根据其转换的条件设计出一个总线状态机11。利用该状态机来协调时钟控制模块、数据控制模块和地址控制模块之间的工作,并且保持AMBATM外围接口电路的时序。下面详细说明AMBATM外围接口电路工作方式。
鉴于AMBATM总线与CPU时序不一致的矛盾,本发明采用时钟控制模块12保证CPU指令的正常执行。时钟控制模块12包括一个上升沿触发的D触发器21和一个与非门22。该模块根据总线状态机的指示,当总线不能按时给出数据时,门控时钟的关时钟信号24有效,该信号作为D触发器的输入。在下一个时钟的上升沿,CPU的时钟停止跳变,CPU内部的信号也因此得到保持。等到关时钟信号24无效的时候,CPU再重新开启时钟继续工作。这就在时序上保证了CPU与总线的正常工作。
鉴于CPU与AMBATM总线的数据宽度不一致的矛盾,本发明增加了数据控制模块13对CPU的数据通信加以控制。因为8位CPU按字节寻址,而外部存储器按字编址,所以CPU读写的数据需要缓存。
数据控制模块13包括读数据和写数据两个子模块。其中,读数据控制子模块131由一个数据格式转换模块31,一个数据缓冲区32和一个多路选择器33组成。在CPU读数据时,来自总线的32位数据首先经过数据格式转换模块31,把数据的组织方式从big-endian转换成little-endian,存入数据缓冲区32,然后在总线状态机11的指示下,依次读入CPU。在CPU执行完毕后,再从总线读入下一个32位数据。
写数据控制子模块132包括一个仲裁器41,一个数据缓冲区42和一个输出寄存器43,从CPU输出的数据首先在仲裁器41的指示下,被缓存在一个4字节的数据缓冲区42中,待数据缓冲区中的数据全部得到更新后,再一起写到输出寄存器43。
本发明提出的AMBATM外围接口电路需要符合AHB MASTER的接口标准,为此增加了地址控制模块。地址控制模块包括一个多路选择器51,一个地址扩展模块52和一系列的锁存器53。CPU给出的16位地址信号首先锁存起来,通过地址扩展模块扩展成32位的地址信号,在总线状态机的控制下,有选择地输出到AHB总线上,同时输出AHB总线要求的各种控制信号。
本发明电路加上8位CPU,能够像32位CPU一样工作,仍采用原指令系统,可以直接嵌入到SoC系统中,而无需对其它模块作相应的修改。这样缩短设计时间,提高IP复用效率。在性能上,其相当于同类8位嵌入式CPU的处理速度,但其面积和成本远小于32位的微处理器,具有良好的应用前景。
附图说明
图1为AMBATM外围接口电路的整体结构。
图2为时钟控制模块的结构。
图3为读数据控制模块的结构。
图4为写数据控制模块的结构。
图5为地址控制模块的结构。
图6为门控时钟下的指令执行时序。
图中标号:1外围接口电路,11总线状态机,12时钟控制模块,13数据控制模块,14地址控制模块,131读数据控制子模块,132写数据控制子模块,21D触发器,22与非门,23总线状态机的各个状态,24关时钟信号,31数据格式转换模块,32数据缓冲区,33多路选择器,41仲裁器,42数据缓冲区,43输出寄存器,51多路选择器,52地址扩展模块,53锁存器。
具体实施方式
本发明提出的AMBATM外围接口电路由一个总线状态机11,一个时钟控制模块12,一个数据控制模块13和一个地址控制模块14组成。下面结合附图进一步描述本发明。
因为总线在指令周期之内给出稳定的数据和控制信号,是8位CPU正常运行的前提条件。但是AMBATM总线存在来不及给出数据的特殊情况,如果不加以调整,程序将出现不可预知的错误。本发明在外围接口电路中增加了时钟控制模块。如图2所示,总线状态机表示总线当前所处的状态。如果总线在规定的时间内得不到数据,就会进入STOP状态,此时门控信号gate有效,时钟停止跳变,这使得CPU保持原有的状态不变。等到总线获得了稳定的数据后,时钟再重新启动。为了消除开关时钟过程中可能产生的毛刺,在时钟模块中增加了一个上升沿跳变的D触发器21。
采用时钟控制模块后的指令执行时序如图6所示,地址锁存信号mem_ale由于时钟被停,一直保持低电平。从外部看,CPU的指令执行周期被扩大,使用该模块会降低执行的效率。事实上,它是保证时序的冗余纠错模块。只要能保证总线读写的顺利进行,该模块一直处于空闲的状态,是否需要进行关时钟,完全取决于总线上其它设备的效率,因而不会成为系统速度的瓶颈。
CPU执行指令的过程主要包括读数据和写数据两种操作。因为8位CPU按字节寻址,而外部存储器按字编址,所以每次读写的数据都需要缓存。本发明在数据控制模块中开辟了两块功能上类似于cache的数据缓冲区(32和42),用以解决处理器与存储器之间速度不匹配的问题,减少访问存储器的次数,从而提高读写的效率。数据控制模块包括读数据控制和写数据控制两个子模块,分别对读写加以控制,保证数据的正确性。
读数据控制子模块的结构如图3所示。8位CPU指令系统对于32位的数据,通常的组织方式是big-endian,所以需将其转换成little-endian。来自总线的32位数据datain首先通过数据格式转换模块后再送入寄存器。当CPU发出读数据请求read时,总线进入相应的状态。然后从数据缓冲区32中依次读取4个字节,直接送入CPU。可见,正常情况下,读数据操作只需一个时钟,远远小于指令执行周期。
写数据控制子模块的结构如图4所示。这里需要设置一个大小为4个字节的数据缓冲区42,当数据缓冲区满4个字节时,整体往输出寄存器43写一次。具体过程调度由总线状态机负责。当总线状态机检测到CPU的写信号write时,就进入相应的状态。仲裁器41依次将4个字节的数据调入对应的数据缓冲区42。当数据缓冲区中的4个字节数据都获得更新后,再将其送入输出寄存器43。等到总线上发出写命令hwrite时,再将寄存器的数据写到总线上。可见,完成一次对总线的写操作,正常情况下共需5个时钟,而8位CPU写操作的时长为两个指令周期(8-24个时钟),所以不会触发门控时钟。
本发明在AMBATM外围接口电路中设置了地址控制模块,如图5。按照AHB MASTER的标准,地址信号和数据信号至少相差一个时钟。这就要求在不同的时钟相位给出地址和数据。所以需要区分总线的各个状态,利用总线状态机来控制整个AMBATM外围接口电路的行为。由于总线地址为32位,CPU给出的16位地址信号需要扩展成32位地址线。对于其它的控制信号,可以根据总线的相应状态给出。
Claims (4)
1、一种适用于8位嵌入式CPU的AMBATM外围接口电路,能够使8位嵌入式CPU替代基于AMBATM总线的SoC系统中的32位CPU,其特征在于由一个总线状态机11,一个时钟控制模块(12),一个数据控制模块(13)和一个地址控制模块(14)经电路连接组成,其中,数据控制模块包括读数据控制子模块(131)和写数据控制子模块(132);时钟控制模块(12)、地址控制模块(14)、数据控制模块(13)均受总线状态机控制,并与CPU连接,时钟控制模块(12)、数据控制模块(13)与地址控制模块(14)连接;在总线状态机的控制下,时钟控制模块,数据控制模块和地址控制模块协同工作,以解决32位总线和8位CPU在时序和数据宽度等方面的矛盾。
2、根据权利要求1所述的8位嵌入式CPU的AMBATM外围接口电路,其特征在于所述的时钟控制模块包括一个上升沿触发的D触发器(21)和一个与非门(22),D触发器(21)通过信号线(24)与总线状态机(11)连接,与非门(22)分别与触发器(21)和总线状态机(11)连接;时钟控制模块(12)根据总线状态机的指示,通过开关CPU时钟来保持正常的指令周期。
3、根据权利要求1所述的8位嵌入式CPU的AMBATM外围接口电路,其特征在于所述的数据控制模块包括读数据和写数据两个子模块,读数据控制子模块(131)由一个数据格式转换模块(31),一个数据缓冲区(32)和一个多路选择器(33)依次电路连接组成,多路选择器(33)与CPU连接,并受总线状态机(11)控制;读数据控制子模块(131)把来自总线的数据,经过数据格式转换模块(31)后,分成4个字节存入数据缓冲区(32),在总线状态机的控制下,由CPU分批读取;写数据控制子模块(132)由一个仲裁器(41),一个数据缓冲区(42)和一个输出寄存器(43)依次电路连接组成,仲裁器(41)与CPU连接,且仲裁器(41)和输出寄存器(43)均受总线状态机(11)控制,写数据控制子模块(132)把CPU往外写的数据,通过仲裁器(41)指示,放置在数据缓存区的特定位置,拼成宽度为32位的数据后,再写到输出寄存器(43)中。
4、根据权利要求1所述的8位嵌入式CPU的AMBATM外围接口电路,其特征在于所述的地址控制模块(14)由一系列的锁存器(53),一个地址扩展模块(52)和一个多路选择器(51)依次电路连接,多路选择器(51)、锁存器(53)受总线状态机(11)控制,地址控制模块(14)是将16位地址扩展成总线要求的32位地址,在总线状态机(11)的控制下,有选择地输出到AHB总线上,同时输出AHB总线要求的各种地址信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510110254XA CN100375074C (zh) | 2005-11-10 | 2005-11-10 | 8位嵌入式cpu的ambatm外围接口电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510110254XA CN100375074C (zh) | 2005-11-10 | 2005-11-10 | 8位嵌入式cpu的ambatm外围接口电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1760849A true CN1760849A (zh) | 2006-04-19 |
CN100375074C CN100375074C (zh) | 2008-03-12 |
Family
ID=36706930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510110254XA Expired - Fee Related CN100375074C (zh) | 2005-11-10 | 2005-11-10 | 8位嵌入式cpu的ambatm外围接口电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100375074C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567248A (zh) * | 2010-12-31 | 2012-07-11 | 中国航空工业集团公司第六三一研究所 | 一种避免双端口存储器访问冲突的控制电路与方法 |
CN104375962A (zh) * | 2014-11-10 | 2015-02-25 | 中国航天科技集团公司第九研究院第七七一研究所 | 系统芯片中cache与总线接口的统一位宽转换结构及其转换方法 |
US9501446B2 (en) | 2010-05-27 | 2016-11-22 | Robert Bosch Gmbh | Control unit for the exchange of data with a peripheral unit, peripheral unit, and method for data exchange |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6760802B2 (en) * | 2000-09-08 | 2004-07-06 | Texas Instruments Incorporated | Time-out counter for multiple transaction bus system bus bridge |
US7020733B2 (en) * | 2002-10-09 | 2006-03-28 | Samsung Electronics Co., Ltd. | Data bus system and method for performing cross-access between buses |
CN2671026Y (zh) * | 2003-09-23 | 2005-01-12 | 南京师范大学 | 嵌入式测控系统开发平台 |
CN1308855C (zh) * | 2004-03-18 | 2007-04-04 | 联想(北京)有限公司 | 在嵌入式系统中分配硬件地址的装置和方法 |
-
2005
- 2005-11-10 CN CNB200510110254XA patent/CN100375074C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501446B2 (en) | 2010-05-27 | 2016-11-22 | Robert Bosch Gmbh | Control unit for the exchange of data with a peripheral unit, peripheral unit, and method for data exchange |
CN102567248A (zh) * | 2010-12-31 | 2012-07-11 | 中国航空工业集团公司第六三一研究所 | 一种避免双端口存储器访问冲突的控制电路与方法 |
CN104375962A (zh) * | 2014-11-10 | 2015-02-25 | 中国航天科技集团公司第九研究院第七七一研究所 | 系统芯片中cache与总线接口的统一位宽转换结构及其转换方法 |
CN104375962B (zh) * | 2014-11-10 | 2017-05-10 | 中国航天科技集团公司第九研究院第七七一研究所 | 系统芯片中cache与总线接口的统一位宽转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100375074C (zh) | 2008-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2118662C (en) | Memory controller having all dram address and control signals provided synchronously from a single device | |
CN106951379B (zh) | 一种基于axi协议的高性能ddr控制器及数据传输方法 | |
US7529955B2 (en) | Dynamic bus parking | |
CN101329589B (zh) | 一种低功耗读写寄存器的控制系统及方法 | |
CN102163072A (zh) | 用于节能的基于软件的线程重映射 | |
CN115080494B (zh) | Spi从机电路、spi通信方法、接口和芯片 | |
US5625847A (en) | High-speed ISA bus control system for changing command cycle execution speed by selectively using ISA bus controller and high-speed bus controller | |
CN108763112A (zh) | 基于fpga的lpc-lbc总线桥ip核及lpc总线转lbc总线的方法 | |
CN104679681A (zh) | Ahb总线访问片上sram的高速桥装置及其工作方法 | |
CN101086727A (zh) | 一种用于图像处理器的pci适配器 | |
CN100375074C (zh) | 8位嵌入式cpu的ambatm外围接口电路 | |
CN102819418B (zh) | 超细粒度门控时钟的fifo数据存储方法及装置 | |
CN100343778C (zh) | 数据传送方法和数据传送桥接器 | |
CN105893036A (zh) | 一种嵌入式系统的兼容式加速器扩展方法 | |
CN1407464A (zh) | 集成电路 | |
CN102662894A (zh) | 总线从单元通用接口 | |
CN101847090B (zh) | 一种rfid智能卡专用微控制器 | |
CN101833534A (zh) | Fpga高性能运算pci卡 | |
CN201654776U (zh) | Fpga高性能运算pci卡 | |
CN202495036U (zh) | 总线从单元通用接口 | |
CN103365804B (zh) | 一种用于芯片bu-65170的读写控制装置 | |
CN107562673B (zh) | 一种应用于嵌入处理器总线协议转换桥接装置 | |
CN101286181A (zh) | 基于dw8051核的现场可编程门阵列片上可编程系统 | |
CN2909394Y (zh) | 一种移动终端应用处理器 | |
CN111506531B (zh) | 一种easy-master微码模块及其配置方法 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080312 Termination date: 20111110 |