使用相同的芯片,但不同的模块Flash尺寸、天线材料、模块尺寸不同。是的,芯片到模块的演变经历了一个定制和特殊的过程。模块最终会嵌入到不同的产品中,如电视、冰箱、空调等。当然,对模块的存储空间、天线材料和尺寸有不同的要求。
通常,,因为模块研发的最终目的是将模块嵌入到目标产品(如电视、冰箱、空调)中。ESP32-D0WD芯片提供蓝牙和WiFI内部集成电路的功能,但A公司只需要WiFi功能,为了满足A公司的需求,只会ESP32-D0WD芯片的与WiFi引脚引出功能相关,制作WiFi模块(尽管ESP32-D0WD蓝牙功能也可以实现芯片,但A公司不需要,所以不对外提供ESP32蓝牙接口)。同理,B为了满足B的需求,公司只需要蓝牙功能ESP引脚引出与蓝牙功能相关的32芯片,制作蓝牙模块。同理,B为了满足B的需求,公司只需要蓝牙功能ESP32芯片引脚与蓝牙功能相关,制作蓝牙模块。(当然,你可以选择同时实现蓝牙和蓝牙WiFi由此引出的引脚更多,模块体积可能更大,money因此,成本、功能、尺寸都是需要考虑的因素)
同一模块,可嵌入多个不同型号的开发板中。同一型号的开发板也可以使用不同的模块(它们只有相同的名字,I/O数量、天线材料等。).因此,模块与开发板(确切地说是开发板型号,而不是开发板实体)的对应关系是多对多的。
(不同公司需要的I/O类型和数量不同,需要UI有的需要显示屏,有的只需要显示屏LED灯就够了)
事实上,芯片只定义了引脚功能,并没有将引脚引出到可连接的铜箔上,模块为产品连接引出了部分引脚。
不同的模块可能有不同的功能,因为它们需要不同的资源,导致不同的引脚。
模块面向产品,最终目的是嵌入产品并成为执行特定功能的模块(这也是模块概念的起源,模块,即执行特定功能的模块)
(当您打开空调时,它连接到一个模块,而不是一个开发板),为嵌入其内部的模块提供快速学习、理解和测试模块性能的工具。因此,开发板可以被视为从模块到产品的中间临时变量,如下图所示:
我们很难一次写出完全正确的应用程序代码。因此,虽然产品中最终使用的是模块,但开发板的存在仍然很重要。在编写应用程序时,将错误信息打印到开发板的显示屏上或通过LED灯显示程序的错误位置将大大加快开发过程,以确保程序的强度。在确保应用程序正确后,删除代码中的打印语句(最终产品可能是无显示屏、无显示屏LED灯的设备),然后将代码分批烧录到模块中,获得执行我们指定应用功能的模块。最后一步是嵌入产品,成为执行某些功能的模块)。
与芯片、模块、开发板的对应关系是一对多,在开发中(ESP-IDF中间)针对芯片的开发,是实现芯片功能的完整软件集(例如,开发包包含HTTP协议实现的软件,而你不需要用HTTP,忽略它,只配置你需要的包),所以选择不同开发板对应芯片的开发包。
引用文章:芯片、模块、开发板的区别与联系ESP32浅谈