|
|
www.design-reuse-china.com |
现代系统中的 8051:与 AMBA 总线接口
彼得-杜明 - CAST
cast-inc.com, Jun. 11, 2024 –
尽管8051微控制器已有40多年的历史,但在现代系统中仍能发挥有用的作用。但是,由于8051具有事实上的标准AMBA®总线、更宽的数据通路和共享内存,因此,将其集成到当今的系统中似乎是不可能的。但这是可以做到的。在此,我们将探讨其中的挑战,以及如何克服这些挑战。
为什么使用 8051?
首先,为什么要考虑使用 8 位 8051 兼容微控制器?
一个主要原因是在某些超低功耗系统中要有更有效地处理有用的功能,例如,边缘设备物联网应用。 请思考一下:
- 8位8051任何32位同类产品都要小得多。更小的硅片面积意味着更少的功率消耗,这对闲置时间较长的设备来说是一个关键因素。
- 8051 的 8 位复杂指令集架构 (CISC) 代码比当今更流行的精简指令集架构 (RISC)处理器的代码更小、更密集。这意味着内存更小,进一步减少了与面积有关的漏电,同时也大大减少了完成特定任务所需的耗能指令取数。
- 通过由8051开发和调试工具、软件堆栈、示例代码和一般支持组成的庞大而强大的生态系统,开发人员培训和 8051 部署及测试工作得以简化。
- 有许多经过全面验证的 8051 微控制器 IP 内核,它们集成了外设--SPI、I2C、UART 等在一个封装内,可以可靠地放入许多系统中。
有了这些优势,为什么 8051 不再像以前那样频繁使用呢?
图 1中8051IP内核,带有外部存储器和SFR总线接口以及多个集成外设。(摘自 CAST R8051XC2 高性能、可配置 8 位微控制器)。
8051 集成挑战
答案并不在于8051本身的功能,而在于将8051成到现代SoC中是明显困难的。因为,AMBA总线在这些系统中占主导地位,但最初的8051对AXI、AHB、APB 或其他 AMBA 变体一无所知。
在研究经典 8051 时,我们发现它有两条主要的外部总线:
- 紧密耦合、可直接寻址的特殊功能寄存器(SFR)总线,用于 CPU 与外设之间的通信。
- 指针可寻址的外部数据存储器总线。
每条总线都是异步的,宽度只有 8 位。相比之下,AMBA 总线有 32 或 64 位宽(甚至更宽),并且与控制流同步。系统架构师如何克服这些差异?
在更宽的总线世界中使用 8 位总线
总线适配器是将8051的8位总线与32位或64位AMBA总线集成的关键。在读取操作中,总线适配器从AMBA总线上读取的更宽的多字节字中为8051输入正确的字节。对于写入操作,适配器将8051线上的8写入访问替换为更宽总线上的读取-修改-写入访问。
添加这样一个总线适配器的复杂性可能听起来难以承受,但幸运的是,AMBA 总线的最新版本(如APB5、AXI4和AXI4Lite)大大降低了这种复杂性。这些总线包括字节限定符信号,无需在 AMBA 侧进行读-修改-写操作。
提供 8 位至更宽总线适配器的 8051 IP 内核通常以简单封装的形式封装基本 8051 内核。这种封装(通常是可选功能)简化了 8051 的集成和操作。
同步系统中的异步功能
虽然适当的总线适配器可以处理不同的数据路径宽度,但定时仍然是一个问题。
本地8051接口在一个时钟周期内执行读或写操作。它在一个阶段内提供地址和数据信息。(参见图 2 中的示例)。
图 2 - 8051 外部存储器读取周期。(摘自 CAST R8051XC2 设计规范,图 22)
相比之下,AMBA、AHB、APB或AXI4Lite总线需要多个时钟周期来执行相同的操作,分别指定地址和数据。具体来说,AHB需要两个阶段(地址和数据),而APB则使用PSEL/PENABLE信号进行最少两个周期的访问。(更复杂的是,AMBA 标准允许下级(从属)通过就绪信号控制访问流程。
图 3 -不带WAIT状态和带WAIT状态的AMBAAPB外部存储器读取传输时序。(摘自 APB 协议)
在一般情况下,8051 与 AMBA 总线之间的这种时差实际上是不可能克服的。
但有些8051内核通过执行确认信号,延长了读或写的访问周期,如图4所示。有了这个附加功能,8051现在可以等待总线从属设备接受写入数据或返回读取数据。这反过来又可以弥补 8051 总线和 AMBA 总线之间的时序差异。
图 4 - 8051 扩展外部存储器读取周期。(摘自 CAST R8051XC2 设计规范,图 24)。
结论:为现代系统评估 8051 IP
在基于AMBA总线的现代系统中,选择性地将8051用于某些内务管理功能、传感器接口和其他操作,可以带来功耗(和成本)上的优势。您可以通过评估所考虑的每个 8051 IP 内核来克服明显的集成挑战:
- 它有本地 APB/AHB 接口吗?
- 是否提供桥接选项?
- 它是否使用等待状态输入,从而可以使用封装器?
- 它是否有能够与 APB 和类似设备连接的 SFR 接口?
如果某个 8051 IP 内核缺乏这些功能,请另寻他处。
或者,您也可以通过我们 CAST 提供的免版税 ASIC 和 FPGA 8051 内核
来简化8051IP的选择。我们提供了几种不同的内核,包括小巧的T8151XC3、超高速的 S8051XC3 和成熟的 R8051XC2,可以最大限度地满足您的要求。
所有这些8051IP内核都包含一组可配置的外设,具有数据就绪/确认信号,以支持 SFR 和外部存储器总线上的访问流控制,并可选择提供与 AMBA 总线的桥接,无论是否具有时钟域交叉(CDC)边界。此外,您还可以从全球经验最丰富的8051团队获得快速、专业的技术支持,他们早在25年前就开始帮助客户,直到今天的智能系统架构师仍在利用 8051 MCU 的优势。