CN1760849A - 8位嵌入式cpu的ambatm外围接口电路 - Google Patents

8位嵌入式cpu的ambatm外围接口电路 Download PDF

Info

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
Application number
CN 200510110254
Other languages
English (en)
Other versions
CN100375074C (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.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CNB200510110254XA priority Critical patent/CN100375074C/zh
Publication of CN1760849A publication Critical patent/CN1760849A/zh
Application granted granted Critical
Publication of CN100375074C publication Critical patent/CN100375074C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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外围接口电路
技术领域
本发明属于集成电路设计领域,具体涉及一种适用于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总线要求的各种地址信号。
CNB200510110254XA 2005-11-10 2005-11-10 8位嵌入式cpu的ambatm外围接口电路 Expired - Fee Related CN100375074C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 联想(北京)有限公司 在嵌入式系统中分配硬件地址的装置和方法

Cited By (4)

* Cited by examiner, † Cited by third party
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