一种外部存储器接口制造技术

技术编号:2827698 阅读:174 留言:0更新日期:2012-04-11 18:40
一种外部存储器接口由控制单元、地址输出通道、读写和片选单元、数据输入通道和数据输出通道组成,其中在控制单元中设计了三个32位的地址映射寄存器,使得32位数字信号处理器具备了与多位宽外部存储器进行交互的能力,该接口可同时对8位、16位和32位的外部存储器进行存取操作,从而提高了32位数字信号处理器的扩展性和工作灵活性,同时该接口结构简单、易于控制和小型化,便于在芯片上实现。

【技术实现步骤摘要】

本专利技术涉及一种高性能数字信号处理器接口,特别涉及一种高性能数字信号处理器的外部存储器接口及其实现方法。
技术介绍
自从数字信号处理器问世以来,它就以其数字器件特有的稳定性、可重复性、可大规模集成,特别是可编程性和易于实现自适应处理等特点,为数字信号处理技术的发展提供了广阔的平台。但外部存储器的数据宽度通常是多种位宽的,所以能否支持多种位宽的外部存储器将直接影响数字信号处理器的扩展性和灵活性。目前大多数数字信号处理器的外部存储器接口对于数据存取不够灵活,仅仅支持固定位宽的数据存取,虽然有一种数字信号处理器SMDSP支持32位指令和32位数据,并允许外部存储器的数据宽度为8位、16位或32位,同时也可以从16位或32位宽度的外部存储器中执行代码,但其外部存储器接口不具备与多位宽存储器交互的能力,限制了该类数字信号处理器的扩展性和灵活性。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,提供一种适用于32位嵌入式高性能数字信号处理器的外部存储器接口,使32位数字信号处理器具备与多位宽外部存储器交互的能力,从而提高了32位数字信号处理器的扩展性和工作灵活性。本专利技术的技术解决方案是:一种外部存储器接口包括:控制单元,接收CPU或DMA发出的传输请求信号并将请求应答信号反馈至CPU或DMA,接收CPU或DMA系统总线上传输的32位地址映射寄存器值,接收用于产生内部就绪信号的外部就绪信号,接收用于片选控制、内部就-->绪信号产生以及访问周期计数器计数的时钟信号,接收用于解决外部总线冲突的插入间隔周期信号;控制单元输出传输开始、地址段比较和数据宽度信号至地址输出通道,输出数据宽度和存储器宽度信号至读写与片选单元,输出访问开始、访问控制、数据宽度、存储器宽度和符号位扩展或高位补零信号至数据输入通道,输出访问开始、访问控制、数据宽度和存储器宽度信号至数据输出通道;地址输出通道,接收传输开始信号对24位内部地址总线上的当前输出地址进行琐存,接收地址段比较信号用于对当前输出地址与前次输出地址进行分段比较,根据地址分段比较结果产生间隔周期信号输出至控制单元,接收数据宽度信号对当前输出地址进行处理,并将处理后的地址输出至24位外部地址总线,地址输出通道产生32位地址映射寄存器选择信号输出至读写与片选单元;读写与片选单元,接收CPU或DMA发出的读写控制信号和传输请求信号产生读写使能信号输出至数据输入通道和数据输出通道,接收用于产生对外部存储器片选信号的数据宽度、存储器宽度信号、时钟信号、当前输出地址的低两位以及32位地址映射寄存器选择信号,当由写操作转换成读操作时读写与片选单元输出一个间隔周期信号发送至控制单元;数据输入通道,接收访问开始信号和读写使能信号对外部存储器进行访问,接收用于对数据输入通道进行控制的访问控制信号,接收数据宽度和存储器宽度信号以及符号位扩展或高位补零信号将32位外部数据总线上的数据读取至32位内部数据总线;数据输出通道,接收访问开始和读写使能信号对外部存储器进行访问,在接收用于对数据输出通道进行控制的访问控制信号,接收数据宽度和存储器宽度信号以及CPU或DMA输出的数据类型信号将32位内部数据总线上的数据写到32位外部数据总线上。所述的控制单元由三个32位地址映射寄存器AMR0、AMR1和AMR2、-->等待计数器、访问周期计数器、内部就绪信号产生单元、请求应答模块、传输开始模块、访问开始模块和插入间隔周期模块组成;请求应答模块接收CPU或DMA发出的传输请求信号产生请求应答信号反馈至CPU或DMA,当传输请求允许时传输开始模块产生传输开始信号输出至地址输出通道;32位地址映射寄存器AMR0、AMR1和AMR2通过系统总线接收32位地址映射寄存器值,用于在连续的地址空间直接连接不同宽度的外部存储器,并根据当前输出地址选通32位地址映射寄存器AMR0、AMR1和AMR2中的一个;被选通的32位地址映射寄存器输出数据宽度和存储器宽度至地址输出通道、片选与读写单元、数据输入通道和数据输出通道,输出符号位扩展或高位补零信号至数据输入通道,输出地址段比较信号至地址输出通道;插入间隔周期模块通过接收插入间隔周期信号解决外部总线的冲突;等待计数器接收被选通的32位地址映射寄存器中的等待计数器计数值;内部就绪信号产生单元受内部就绪信号产生方式的控制,根据等待计数器的计数值、外部就绪信号、插入间隔周期是否有效以及时钟信号CLK1产生内部就绪信号;访问开始模块接收内部就绪信号产生访问开始信号并输出至数据输入通道和数据输出通道;访问周期计数器接收内部就绪信号并根据接收的数据宽度和存储器宽度信号结合时钟信号CLK1和CLK2以及有无传输请求信号进行访问周期计数,发出访问控制信号输出到数据输入通道、数据输出通道做数据传输控制。所述的32位地址映射寄存器由外部端口锁定位HOLDST、端口保持位NOHOLD、内部端口保持位HIZ、内部就绪信号产生方式位SWW、等待计数器的控制位WTCNT、地址段比较控制位BNKCMP、数据宽度Data type size、存储器宽度Physical memory width、符号位扩展或高位补零控制位SIGNEXT/ZERO FILL、32位地址映射寄存器配置位AMR-config和32位地址映射寄存器转换位AMR-switch组成;其中HOLDST=1时表示对外部存储器端口的锁定;NOHOLD=1时端口占据外部总线并控制外部总线;HIZ=1时内部端口处于保持状态;内部就绪信号产生方式位SWW由两位构成,用来设置内部就-->绪信号产生方式,当SWW=00时等待外部就绪信号,当SWW=01时等待计数就绪信号,当SWW=10时等待外部就绪信号或计数就绪信号,当SWW=11时等待外部就绪信号和计数就绪信号;等待计数器的控制位WTCNT由三位构成,用来控制等待计数器的计数值,计数值从000-111;地址段比较控制位BNKCMP由五位构成,控制值范围为00000-10000,分别表示比较当前输出地址与前次输出地址的高0位-高16位,目的是为了在连续地址空间操作时效率更高;数据宽度Data type size由两位构成,其为00时表示8位数据,为01时表示16位数据,为11时表示32位数据;存储器宽度Physical memorywidth由两位构成,其为00时表示8位存储器,为01时表示16位存储器,为11时表示32位存储器;符号位扩展或高位补零控制位SIGN EXT/ZERO FILL,当其为0时表示符号位扩展,当其为1时表示高位补零;32位地址映射寄存器配置位AMR-config,当其为1时表示AMR0可对AMR1地址空间进行寻址;32位地址映射寄存器转换位AMR-switch,当其为0时表示在三个地址映射寄存器之间转换时不需要插入转换周期,当其为1时表示需要插入单个周期;其余的控制位做保留位,以便对32位地址映射寄存器做进一步改进。所述的地址输出通道由地址锁存单元、地址译码单元、地址段比较单元和逻辑地址转换为物理地址单元组成;地址锁存单元接收访问开始信号对当前输出地址进行锁存,地址有效并持续一个周期;段地址比较单元接收所述控制单元输出的段地址比较信号将地址琐存单元的当前输出地址与本文档来自技高网...

【技术保护点】
一种外部存储器接口,其特征在于包括:控制单元,接收CPU或DMA发出的传输请求信号并将请求应答信号反馈至CPU或DMA,接收CPU或DMA系统总线上传输的32位地址映射寄存器值,接收用于产生内部就绪信号的外部就绪信号,接收用于片选控 制、内部就绪信号产生以及访问周期计数器计数的时钟信号,接收用于解决外部总线冲突的插入间隔周期信号;控制单元输出传输开始、地址段比较和数据宽度信号至地址输出通道,输出数据宽度和存储器宽度信号至读写与片选单元,输出访问开始、访问控制、数据宽度、存储器宽度和符号位扩展或高位补零信号至数据输入通道,输出访问开始、访问控制、数据宽度和存储器宽度信号至数据输出通道;地址输出通道,接收传输开始信号对24位内部地址总线上的当前输出地址进行琐存,接收地址段比较信号用于对当前输出地址与前 次输出地址进行分段比较,根据地址分段比较结果产生间隔周期信号输出至控制单元,接收数据宽度信号对当前输出地址进行处理,并将处理后的地址输出至24位外部地址总线,地址输出通道产生32位地址映射寄存器选择信号输出至读写与片选单元;读写与片 选单元,接收CPU或DMA发出的读写控制信号和传输请求信号产生读写使能信号输出至数据输入通道和数据输出通道,接收用于产生对外部存储器片选信号的数据宽度、存储器宽度信号、时钟信号、当前输出地址的低两位以及32位地址映射寄存器选择信号,当由写操作转换成读操作时读写与片选单元输出一个间隔周期信号发送至控制单元;数据输入通道,接收访问开始信号和读写使能信号对外部存储器进行访问,接收用于对数据输入通道进行控制的访问控制信号,接收数据宽度和存储器宽度信号以及符号位扩展或高位补零信 号将32位外部数据总线上的数据读取至32位内部数据总线;数据输出通道,接收访问开始和读写使能信号对外部存储器进行访问,在接收用于对数据输出通道进行控制的访问控制信号,接收数据宽度和存储器宽度信号以及CPU或DMA输出的数据类型信号将 32位内部数据总线上的数据写到32位外部数据总线上。...

【技术特征摘要】
1.一种外部存储器接口,其特征在于包括:控制单元,接收CPU或DMA发出的传输请求信号并将请求应答信号反馈至CPU或DMA,接收CPU或DMA系统总线上传输的32位地址映射寄存器值,接收用于产生内部就绪信号的外部就绪信号,接收用于片选控制、内部就绪信号产生以及访问周期计数器计数的时钟信号,接收用于解决外部总线冲突的插入间隔周期信号;控制单元输出传输开始、地址段比较和数据宽度信号至地址输出通道,输出数据宽度和存储器宽度信号至读写与片选单元,输出访问开始、访问控制、数据宽度、存储器宽度和符号位扩展或高位补零信号至数据输入通道,输出访问开始、访问控制、数据宽度和存储器宽度信号至数据输出通道;地址输出通道,接收传输开始信号对24位内部地址总线上的当前输出地址进行琐存,接收地址段比较信号用于对当前输出地址与前次输出地址进行分段比较,根据地址分段比较结果产生间隔周期信号输出至控制单元,接收数据宽度信号对当前输出地址进行处理,并将处理后的地址输出至24位外部地址总线,地址输出通道产生32位地址映射寄存器选择信号输出至读写与片选单元;读写与片选单元,接收CPU或DMA发出的读写控制信号和传输请求信号产生读写使能信号输出至数据输入通道和数据输出通道,接收用于产生对外部存储器片选信号的数据宽度、存储器宽度信号、时钟信号、当前输出地址的低两位以及32位地址映射寄存器选择信号,当由写操作转换成读操作时读写与片选单元输出一个间隔周期信号发送至控制单元;数据输入通道,接收访问开始信号和读写使能信号对外部存储器进行访问,接收用于对数据输入通道进行控制的访问控制信号,接收数据宽度和存储器宽度信号以及符号位扩展或高位补零信号将32位外部数据总线上的数据读取至32位内部数据总线;数据输出通道,接收访问开始和读写使能信号对外部存储器进行访问,在接收用于对数据输出通道进行控制的访问控制信号,接收数据宽度和存储器宽度信号以及CPU或DMA输出的数据类型信号将32位内部数据总线上的数据写到32位外部数据总线上。2.根据权利要求1所述的一种外部存储器接口,其特征在于:所述的控制单元由三个32位地址映射寄存器AMR0、AMR1和AMR2、等待计数器、访问周期计数器、内部就绪信号产生单元、请求应答模块、传输开始模块、访问开始模块和插入间隔周期模块组成;请求应答模块接收CPU或DMA发出的传输请求信号产生请求应答信号反馈至CPU或DMA,当传输请求允许时传输开始模块产生传输开始信号输出至地址输出通道;32位地址映射寄存器AMR0、AMR1和AMR2通过系统总线接收32位地址映射寄存器值,用于在连续的地址空间直接连接不同宽度的外部存储器,并根据当前输出地址选通32位地址映射寄存器AMR0、AMR1和AMR2中的一个;被选通的32位地址映射寄存器输出数据宽度和存储器宽度至地址输出通道、片选与读写单元、数据输入通道和数据输出通道,输出符号位扩展或高位补零信号至数据输入通道,输出地址段比较信号至地址输出通道;插入间隔周期模块通过接收插入间隔周期信号解决外部总线的冲突;等待计数器接收被选通的32位地址映射寄存器中的等待计数器计数值;内部就绪信号产生单元受内部就绪信号产生方式的控制,根据等待计数器的计数值、外部就绪信号、插入间隔周期是否有效以及时钟信号CLK1产生内部就绪信号;访问开始模块接收内部就绪信号产生访问开始信号并输出至数据输入通道和数据输出通道;访问周期计数器接收内部就绪信号并根据接收的数据宽度和存储器宽度信号结合时钟信号CLK1和CLK2以及有无传输请求信号进行访问周期计数,发出访问控制信号输出到数据输入通道、数据输出通道做数据传输控制。3.根据权利要求2所述的一种外部存储器接口,其特征在于:所述的32位地址映射寄存器由外部端口锁定位HOLDST、端口保持位NOHOLD、内部端口保持位HIZ、内部就绪信号产生方式位SWW、等待计数器的控制位WTCNT、地址段比较控制位BNKCMP、数据宽度Data type size、存储器宽度Physical memory width、符号位扩展或高位补零控制位SIGN EXT/ZEROFILL、32位地址映射寄存器配置位AMR-config和32位地址映射寄存器转换位AMR-switch组成;其中HOLDST=1时表示对外部存储器端口的锁定;NOHOLD=1时端口占据外部总线并控制外部总线;HIZ=1时内部端口处于保持状态;内部就绪信号产生方式位SWW由两位构成,用来设置内部就绪信号产生方式,当SWW=00时等待外部就绪信号,当SWW=01时等待计数就绪信号,当SWW=10时等待外部就绪信号或计数就绪信号,当SWW=11时等待外部就绪信号和计数就绪信号;等待计数器的控制位WTCNT由三位构成,用来控制等待计数器的计数值,计数值从000-111;地址段比较控制位BNKCMP由五位构成,控制值范围为00000-10000,分别表示比较当前输出地址与前次输出地址的高0位-高16位,目的是为了在连续地址空间操作时效率更高;数据宽度Data typesize由两位构成,其为00时表示8位数据,为01时表示16位数据,为11时表示32位数据;存储器宽度Physical memory width由两位构成,其为00时表示8位存储器,为01时表示16位存储器,为11时表示32位存储器;符号位扩展或高位补零控制位SIGN EXT/ZERO FILL,当其为0时表示符号位扩展,当其为1时表示高位补零;32位地址映射寄存器配置位AMR-config,当其为1时表示AMR0可对AMR1地址空间进行寻址;32位地址映射寄存器转换位AMR-switch,当其为0时表示在三个地址映射寄存器之间转换时不需要插入转换周期,当其为1时表示需要插入单个周期;其余的控制位做保留位,以便对32位地址映射寄存器做进一步改进。4.根据权利要求2所述的一种外部存储器接口,其特征在于:所述的插入间隔周期信号在三类情况下发生,第一类是由32位地址映射寄存器中的转换位AMR-switch判断是否需要插入一个间隔周期,避免当三个外部存储器进行传输转换时发生外部...

【专利技术属性】
技术研发人员:车德亮赵宁
申请(专利权)人:北京时代民芯科技有限公司中国航天时代电子公司第七七二研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1