有一个带有16MB Ram的微控制器吗?
是。我唯一知道的是Renesas SuperH系列,它不包含ROM-因此您必须具有外部闪存,但它具有16MB的板载SRAM。
我希望为在AVR上运行的Sega Megadrive(Sega Genesis)编写一个模拟器。
Atmel AVR系列中没有16MByte SRAM微控制器。或Atmel产品线中的任何地方。
但是,Atmel AVR阵容中的一些设备都具有外部总线接口,该接口可让您连接更多的内存。具体来说,ATxmega128A1U可以支持高达16MBytes的外部SRAM。
因此,我一直在寻找一种具有与MegaDrive随附的Motorola 68k相似的特性的微控制器。
...
我敢肯定,现代SRAM与68k几乎不一样,但是我有可能获得与68k功率相匹配的AVR微型计算机吗?我在看这个问题吗?我是否需要更改设计以适应现代微镜?
我不知道某些外部内存源是否足够快。
啊,这就是您遇到的问题。
68k处理器(即Motorola 68000)不是微控制器,也不具有16MBytes的内部SRAM。
尽管处理器内部为32位,但由于引脚限制,它只能寻址高达16MBytes的外部存储器,包括闪存,内存和任何存储器映射的设备。
您不需要带有16MBytes内部SRAM的微控制器来仿真68k处理器。
是否有可以模拟Motorolla 68000处理器的Atmel AVR 8位微控制器?
我认同。ATxmega128A1U的外部存储器总线与68k处理器的总线一样大,并具有大量闪存和RAM,使其可以运行68k处理器的微码版本。
它可以高达32MHz的速度运行,许多指令占用一个周期,但即使是最坏的情况,内部存储器也要占用5个周期。外部接口速度较慢,但是如果选择快速内存,它将比68k快很多。
68k处理器不仅运行速度慢4倍,而且运行速度最快,至少需要4个时钟周期,许多运行时间要长2-4倍,特别是内存访问。
因此,即使使用慢速(按今天的标准计算)SRAM(例如,价格低于10美元的70nS 8MByte器件),也可以在32MHz处理器上使用0等待状态,并以7MHz的频率运行68k。例如,在68k上执行一条简单的移动指令将在7.61 MHz上花费4个周期,因此需要525 nS。运行在32MHz的ATxmega128A1U上的类似简单移动指令需要31nS。因此,当68K完成1个动作时,AVR可以执行16个动作。对于某些中断类型,68k需要50个周期,而AVR会在3个周期内跳转到该中断-因此,AVR在68k简单跳入一个中断的时间内可以处理少量中断。
我希望您可以在接受一些抖动的情况下谨慎地进行准确的周期运行,尽管如果您一丝不苟,则可以使它在没有抖动的情况下可以完美地准确运行。AVR处理器可以在适当的超频下正常运行,因此您可以在38.35MHz上运行它,并且每68k时钟周期有5个AVR周期。
这并不是说会很容易,并且可能会有一些非常棘手的指令在AVR上花费的时间会比其他时间更长-但即使是精心设计也能解决这些问题。
我可以使用Atmel 8位AVR模拟世嘉创世纪吗?
否。SegaGenesis的核心是68k处理器,但是它还具有声音处理器(Z80)和视频处理器,您需要大量资源来进行仿真。在下图中,您会在左上方找到68k处理器-请注意,这只是模拟完整的Sega Genesis系统所需的全部内容的一小部分。
因此,尽管您可以轻松地模拟Sega Genesis的68k内核,但您将无法仅使用一个AVR微控制器来运行针对Genesis的游戏。仅在一个芯片上模拟68k就足够了,即使您简化了这些事情,我怀疑您是否可以将所有三个处理器都安装在一个32MHz AVR芯片中。
但是,您可能会使用另外两个AVR来模拟这两个芯片。如果您针对的是不需要怪异的NTSC时序和生成的更简单的图形LCD,那么您可能可以简化一些事情,甚至可以将这两种功能都放在一个单独的芯片上。
但是,这是一个巨大的项目,当然不是周末项目。如果您只对Arduino开发板感到满意,那么创建一个简单的68k处理器仿真器并连接一点外部ROM和RAM以进行内存访问可能会很有趣。Arduino ATMega没有外部存储器接口,但是您可以扭曲I / O线并进行仿真。如果您在项目中走得很远,可以在其中模拟简单的68k程序,那么使用Atmel开发环境以及带有外部总线接口的更好的AVR芯片,可以放弃arduino,您可以开始阅读和执行墨盒。您甚至可以将视频和声音数据传输到计算机,并在处理过程中解释它们-
确保您的仿真例程具有可移植性,并且可以轻松切换到更好的处理器,以免卡住。
如果简单的Arduino Mega项目永远不会走太远,那么您就不会在这个项目上浪费很多资源。如果您发现自己渴望完成它,那么选择功能更强大的Atmel芯片将不会让人感到不知所措。
我说试试看。我说过的某些话似乎有些不可逾越,但不要让我们妨碍您。每次遇到障碍时都不断提问,您会发现大多数工程师都面临挑战,并且会为您提供理解并帮助您走这条路。
模拟很有趣。