图像
Hiroki Ishiguro
石黒 裕紀
主幹技師
已发布: 2023年10月18日

近年来,日常生活中的电子设备也都开始支持联网功能。虽然RX产品家族主要用于工厂自动化设备,但也被用于空调设备、电梯控制、照明设备控制等建筑自动化领域,在这些领域中网络功能是必不可少的。

自2003年入职以来,编者一直在开发用于瑞萨单片机的TCP/IP协议栈。

RX产品家族用TCP/IP协议栈 [M3S-T4-Tiny]

从编者的经验来看,物联网化的问题在于“如何实现TCP/IP”。

接下来我们将进一步明确这个问题。在1995年Windows 95发布时,运行Windows的CPU的运行频率为100~200MHz,而到2023年,RX产品家族的主要产品RX65N的最大运行频率为120MHz,这与1995年发布的Windows 95运行所需的CPU运行频率(100~200MHz)相当。从那时起,搭载Windows 95的电脑就开始使用SSL等加密通信连接到互联网(实际上,SSL(现在被称为TLS)开始广泛使用是在2000年之后)。基于这一事实,RX65N等MCU也应该能够连接到互联网。

然而,似乎只有一部分领先用户正在努力实现自己产品的物联网化。这其中必定存在着某种障碍。这一障碍就是“如何实现TCP/IP”。编者认为想要消除这一障碍就需要“像Windows 95那样具有联网功能的操作系统的普及”。

正如我们在这个博客系列中多次介绍的,作为对上述问题的解决方案,瑞萨与AWS和Microsoft建立了合作关系,共同开发了针对瑞萨单片机的实时操作系统“FreeRTOS”和“Azure RTOS”。

云解决方案页面:  
https://www.renesas.com/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/cloudsolutions

本次,编者想重点从技术层面解释一下“如何实现TCP/IP”。理解TCP/IP的基本前提是“OSI参考模型”。对于熟悉计算机网络的人来说,这可能是一个并不陌生的概念。它是将表示计算机及其内部电信号的物理层作为第1层,将第2层到第7层按照软件处理数据的角色进行分层化的概念模型。关于在物联网设备中使用的主要协议及其功能,编者汇总在了下表中供大家参考。

图像
OSI参考模型

对于个人电脑和智能手机等装有通用操作系统的电子设备,第2层到第6层的功能集成在操作系统中,并作为操作系统功能提供给第7层即应用层的开发者。同样,在装有RX产品家族的MCU基础嵌入式系统中,第2层到第6层的功能集成在“FreeRTOS”或“AzureRTOS”等实时操作系统中,并作为操作系统功能提供给第7层即应用层的开发者。由于以往实时操作系统和第2层到第6层的功能是分开的,由不同的软件供应商提供,所以在这种情况下,用户在进行第7层的应用开发之前,必须先处理作为基础的第2~6层的构建,这正是问题所在。此外,在当前使用WiFi/蜂窝等无线模块的情况下,第1~4层在无线模块端,第5~7层在MCU端,OSI参考模型本身在不同的计算机之间进行桥接实现,这是一个相当复杂的构成。并且,无论是在MCU端还是无线模块端,都需要CPU来处理TLS和TCP/IP等数据,这将大大提升系统整体的功耗。如果在MCU端实现MQTT或TLS,那么无线模块端的MQTT或TLS就会闲置,相关的程序存储内存就会被浪费。

图像
Wireless Modules like WiFi or Cellular

Ethernet将第1层集成到MCU内(仅信号转换部分使用外部芯片,即所谓的PHY芯片),并且使第2~4层在MCU上以软件形式存在,这种成本最优的配置在过去10年已经在市场中得到了普及。因此,我们认为在无线模块中也将出现类似的变化。

图像
Ethernet

正如我们此次介绍的,建立网络系统是一件非常有趣的事情,同时随着时代的发展,最佳配置也会发生变化。特别是在基于MCU的物联网系统中使用无线模块时,从OSI参考模型出发的设计变得非常重要。瑞萨一直希望通过沟通与交流为广大客户提供与时代相匹配的最佳解决方案。因此,为了让客户能够专注于应用的开发,我们会继续致力于「FreeRTOS」和「Azure RTOS」等实时操作系统的开发工作。