ADSP-2185L的系统接口、操作模式详细解析
发布日期:2025-06-10
系统接口
图1显示了典型的基本系统配置,包括ADSP-2185L、两个串行设备、一个字节宽EPROM和可选的外部程序和数据叠加存储器(模式可选)。可编程的等待状态生成允许处理器轻松连接到慢速外围设备。ADSP-2185L还提供四个外部中断和两个串行端口,或六个外部中断加一个串行端口。主机内存模式允许访问完整的外部数据总线,但将寻址限制为单个地址位(A0)。在这种模式下,通过使用外部硬件来生成和锁存地址信号,可以添加额外的系统外围设备。
时钟信号
ADSP-2185L可以由晶体或与TTL兼容的时钟信号进行计时。CLKIN输入不能停止,不能在操作期间更改,也不能在正常操作期间在指定频率以下操作。唯一的例外是处理器处于断电状态。有关此断电功能的详细信息,请参阅ADSP-2100系列用户手册第三版第9章。
如果使用外部时钟,它应该是以一半指令速率运行的TTL兼容信号。该信号连接到处理器的CLKIN输入端。当使用外部时钟时,XTAL输入必须保持未连接状态。
ADSP-2185L使用频率等于指令速率一半的输入时钟;26.00MHz的输入时钟产生19ns的处理器周期(相当于52MHz)。通常,指令在单个处理器周期内执行。所有设备定时都与内部指令时钟速率有关,启用时由CLKOUT信号指示。
因为ADSP-2185L包括片上振荡器电路,所以可以使用外部晶体。晶体应通过CLKIN和XTAL引脚连接,并连接两个电容器,如图2所示。电容值取决于晶体类型,应由晶体制造商指定。应使用并联谐振、基频、微处理器级晶体。
时钟输出(CLKOUT)信号由处理器以处理器的周期速率生成。这可以通过SPORT0自动缓冲控制寄存器中的CLK0DIS位启用和禁用。
图1:ADSP-2185L基本系统配置
图2:外部晶体连接
重置
RESET信号启动ADSP-2185L的主复位。必须在加电序列期间断言RESET信号,以确保正确初始化。初始加电期间的重置必须保持足够长的时间,以使内部时钟稳定。如果在通电后的任何时候激活了RESET,则锁将继续运行,不需要稳定时间。
加电序列被定义为在向处理器施加有效VDD后,晶体振荡器电路稳定所需的总时间,以及内部锁相环(PLL)锁定到特定晶体频率所需的时间。至少2000个CLKIN周期可确保PLL已锁定,但不包括晶体振荡器启动时间。在此加电序列期间,RESET信号应保持低电平。在任何后续重置中,RESET信号必须符合最小脉冲宽度规格tRSP。
RESET输入包含一些滞后;然而,如果使用RC电路来产生RESET信号,建议使用外部施密特触发器。
主重置将所有内部堆栈指针设置为空状态,屏蔽所有中断并清除MSTAT寄存器。当RESET被释放时,如果没有未决的总线请求并且芯片被配置为引导,则执行引导加载序列。引导加载完成后,从片上程序存储器位置0x0000获取第一条指令。
操作模式
■设置内存模式
ADSP-2185L的存储模式选择是在芯片重置期间通过使用模式C引脚进行的。该引脚与DSP的PF2引脚复用,因此在选择模式时必须小心。选择模式C值的两种方法是主动和被动。
无源配置涉及使用连接到C模式引脚的上拉或下拉电阻器。为了最大限度地降低功耗,或者如果PF2引脚要用作DSP应用程序中的输出,则需要100 k量级的弱上拉或下拉Ω,可以使用。该值应足以将引脚拉到所需电平,并仍允许引脚作为可编程标志输出运行,而不会对处理器的输出驱动器造成过度压力。为了在断电期间实现最低功耗,请将PF2重新配置为输入,因为上拉或下拉将使引脚保持在已知状态,并且不会切换。
主动配置涉及使用连接到C模式引脚的三稳态外部驱动器。驱动器的输出启用应连接到DSP的RESET信号,以便它仅在RESET激活(低)时驱动PF2引脚。当RESET被禁用时,驱动器应处于三态,从而允许将PF2引脚完全用作输入或输出。尽可能减少掉电时的功耗,将可编程标志配置为连接到三态缓冲器时的输出。这确保了引脚将保持在恒定电平,并且在三态驱动器的电平徘徊在逻辑开关点附近时不会振荡。
存储器体系结构
ADSP-2185L提供多种内存和外围接口选项。关键功能组包括程序存储器、数据存储器、字节存储器和I/O。
程序存储器
程序存储器(全存储器模式)是一个24位宽的空间,用于存储指令操作码和数据。ADSP-2185L芯片上有16K字的程序存储器RAM,并且能够使用外部数据总线访问多达两个8K的外部存储器覆盖空间。
程序内存(主机模式)允许访问所有内部内存。外部覆盖访问受到单个外部地址线(A0)的限制。由于仅16位宽的受限数据总线,在主模式下无法执行外部程序。
数据存储器
数据内存(全内存模式)是一个16位宽的空间,用于存储数据变量和内存映射控制寄存器。ADSP-2185L在片上DataMemory RAM上有16K字,由16352个用户可访问的位置和32个内存映射寄存器组成。通过外部数据总线,还支持最多两个8K外部存储器覆盖空间。所有内部访问在一个周期内完成。使用DWAIT寄存器指定的等待状态对外部存储器的访问进行计时。
数据存储器(主机模式)允许访问所有内部存储器。外部覆盖访问受到单个外部地址行(A0)的限制。
I/O空间(全内存模式)
ADSP-2185L支持称为I/O空间的额外外部存储空间。该空间旨在支持与外围设备(如数据转换器和外部寄存器)或总线接口ASIC数据寄存器的简单连接。I/O空间支持2048个位置的16位宽数据。使用外部地址总线的低11位;前三位未定义。在核心ADSP-2100Family指令集中添加了两条指令,用于读取和写入I/O内存空间。I/O空间还有四个专用的3位等待状态寄存器IOWAIT0-3,为四个区域中的每一个指定最多七个等待状态,以便自动生成。
复合存储器选择(CMS)
ADSP-2185L具有可编程存储器选择信号,可用于为映射到多个空间的存储器生成存储器选择信号。CMS信号的产生与每个单独的存储器选择信号(PMS、DMS、BMS、IOMS)具有相同的定时,但可以组合它们的功能。
当CMSSEL寄存器中的每个位被设置时,当所选存储器选择被断言时,CMSSEL信号将被断言。例如,要使用32K字存储器作为程序和数据存储器,请在CMSEL寄存器中设置PMS和DMS位,并使用CMS引脚驱动存储器的芯片选择;使用DMS或PMS作为附加地址位。
CMS引脚的功能与其他存储器选择信号一样,具有相同的时序和总线请求逻辑。启用位中的1导致CMS信号与所选存储器选择信号同时断言。重置时,除BMS位外,所有启用位默认为1。
启动内存选择(BMS)禁用
ADSP-2185L还允许您从一个外部存储空间启动处理器,同时在正常操作期间使用不同的外部存储空间进行BDMA传输。您可以使用CMS为BDMA传输选择第一个外部存储空间,使用BMS为启动选择第二个外部存储区域。通过将系统控制寄存器的位3设置为1,可以禁用BMS信号。系统控制寄存器如图3所示。
图3:系统控制寄存器
字节存储器
字节内存空间是一个双向的、8位宽的外部内存空间,用于存储程序和数据。使用BDMA功能访问字节存储器。BDMA控制寄存器如图4所示。字节内存空间由256个页面组成,每个页面为16K×8。
图4:BDMA控制寄存器
ADSP-2185L上的字节存储空间支持读写操作以及四种不同的数据格式。字节存储器使用数据位15:8作为数据。字节存储器使用数据位23:16和地址位13:0创建22位地址。这允许在没有粘合逻辑的情况下使用高达4兆×8(32兆比特)的ROM或RAM。所有字节存储器访问都由BMWAIT寄存器计时。
字节内存DMA(BDMA,全内存模式)
字节存储器DMA控制器允许使用字节存储器空间加载和存储程序指令和数据。BDMA电路能够在处理器正常运行时访问字节存储空间,并且每传输8、16或24位字只窃取一个DSP周期。BDMA电路支持由BTYPE寄存器字段选择的四种不同数据格式。从字节存储空间进行适当数量的8位访问,以构建所选的字长。
8位数据存储器格式中未使用的位填充为0。BIAD寄存器字段用于指定与传输相关的片上存储器的起始地址。14位BEAD寄存器指定外部字节存储空间的起始地址。8位BMPAGE寄存器指定外部字节存储空间的起始页。BDIRregister字段选择传输方向。最后,14位BWCOUNT寄存器指定要传输的DSP字数,并启动BDMA电路传输。
BDMA访问可以在顺序寻址期间跨越页面边界。当BWCOUNT寄存器指定的传输次数完成时,会生成BDMA中断。
BWCOUNT寄存器在每次传输后都会更新,因此可用于检查传输的状态。当它达到零时,传输已完成,并生成BDMA中断。在BDMA操作期间,DSP不得访问BMPAGE和BEAD寄存器。BDMA传输的源或目的地将始终是片上程序或数据存储器。
当BWCOUNT寄存器以非零值写入时,BDMA电路开始执行字节存储器访问,等待状态由BMWAIT设置。这些访问会一直持续到计数为零。当发生足够的访问来创建目标字时,它会被传输到片上存储器或从片上存储器传输。传输需要一个DSP周期。DSP对外部存储器的访问优先于BDMA字节存储器的访问。
BDMA上下文重置位(BCR)控制在BDMA访问发生时处理器是否被关闭。将BCR位设置为0允许处理器继续运行。将BCR位设置为1会导致处理器在BDMA访问发生时停止执行,以清除处理器的上下文,并在BDMA存取完成时在地址0处开始执行。内部存储器DMA端口(IDMA端口;主机内存模式)
IDMA端口在主机系统和ADSP-2185L之间提供了一种高效的通信方式。该端口用于访问DSP的片上程序存储器和数据存储器,每个字只有一个DSP周期的开销。然而,IDMAport不能用于写入DSP的内存映射控制寄存器。典型的IDMA传输过程描述如下:
1.主机开始IDMA传输。
2.主机检查IACK控制线,查看DSP是否繁忙。
3.主机使用IS和IAL控制线将DMA起始地址(IDMAA)锁存到DSP的IDMA控制寄存器中。IAD[15]必须设置为0。
4.主机使用IS和IRD(或IWR)读取(或写入)DSP内部存储器(PM或DM)。
5.主机检查IACK线路,查看DSP是否已完成之前的IDMA操作。
6.主机结束IDMA传输。
IDMA端口具有16位多路复用地址和数据总线,并支持24位程序存储器。IDMA端口完全异步,可以在ADSP-2185L全速运行时写入。
DSP存储器地址被锁存,然后在每次IDMA事务后自动递增。外部设备可以通过仅指定块的起始地址来访问顺序寻址的内存块。这增加了吞吐量,因为不必为每次内存访问发送地址。
IDMA端口访问分为两个阶段。第一个是IDMAAddress锁存周期。当确认被断言时,外部设备可以将14位地址和1位目标类型驱动到总线上。该地址指定了片上存储器位置;目的地类型指定它是aDM还是PM访问。地址锁存信号的下降沿将该值锁存到IDMAA寄存器中。
一旦地址被存储,数据就可以从ADSP-2185L的片上存储器读取或写入。断言这些选择线(IS)和相应的读或写线(分别为IRD和IWR)向ADSP-2185L发出信号,表明需要进行特定的交易。在任何一种情况下,同步都有一个处理器周期延迟。内存访问消耗了额外的处理器周期。一旦发生访问,锁存的地址会自动递增,并且可以发生另一次访问。
通过IDMAA寄存器,DSP还可以指定DMA操作的起始地址和数据格式。断言IDMA端口选择(IS)和地址锁存启用(IAL)指示ADSP-2185L将IAD0-14总线上的地址写入IDMA控制寄存器。IDMAA寄存器(如下所示)是地址DM(0x3FE0)处的内存映射。请注意,主机无法读回锁存地址(IDMAA)。