为什么GPRS调制解调器提供embedded式TCP / IP堆栈

我的同事和我正在挖掘适合embedded式Linux使用的模块的GPRS MODEM市场。 在市场扫描期间,我们看到几家供应商强调他们的MODEM包含embedded式TCP / IP协议栈。

这让我想知道:当我们使用已经包含TCP / IP协议栈的embedded式Linux并使用PPP连接时,它将使用GPRS MODEM中包含的协议栈吗?

我目前的假设是堆栈被包含在微型微控制器操作系统中,不提供他们自己的堆栈。 还有一些MODEM允许在MODEM基带处理器中运行小应用程序,这可以解释embedded式堆栈。

那么:在使用HL OS时,GPRS MODEM提供的TCP / IP堆栈是多余的,还是我忽略了一些东西?

在你的用例中几乎肯定是多余的。

大多数蜂窝调制解调器产品都是为手机设计的产品的缩减版本。 显然,在电话应用程序中,需要TCP / IP协议栈以及其他一些功能。

一个典型的GPRS调制解调器可能包含一个ARM9处理器,这不是只需要运行调制解调器软件的大量税收。 对于许多小型应用程序来说,它确实提供了足够的性能来运行整个应用程序(例如,像自动售货机那样几乎是空的),而TCP / IP堆栈在这里可能会有所帮助。

可能的解释也有点儿愤世嫉俗。 许多移动电话栈比厂商想要承认的要多一点软件耦合,结果可能是移除TCP / IP协议栈是不值得的。

在您的应用程序中,使用AT命令接口几乎肯定是最好的选择(这是老式拨号调制解调器命令集的扩展,允许您获取信号强度,网络状态等信息)。

这两天我一直在问自己的问题是完全一样的。 ^^

经过一番研究和问询后,我发现这一点:

在iPhone / android等智能手机的情况下,TCP / IP作为操作系统的一部分在应用处理器(AP)上运行。 基带处理器(BP)只是网络调制解调器(想想古代的56k拨号调制解调器和PC设置)。 当然,BP将运行移动网络堆栈(GSM,CDMA,LTE …)在蜂窝网络上跳跃,但是对于AP来说,它是透明的,并且简单地对无线网络进行调制/解调工作。 调制解调器接收AT命令,并可以在操作中在命令模式和数据模式之间切换。 在数据模式下,AP和BP之间的协议通常是PPP over Serial(如果我在这里错了,请纠正我)。 所以TCP / IP / PPP /串口。

在某些BP中找到的嵌入式TCP / IP堆栈旨在为某些应用程序提供完整的抽象,由于系统限制或简单地使网络堆栈不可用。 一个TCP / IP协议栈在BP中非常有用。 正如你所提到的,一些BP(例如infenion)确实对用户应用和/或网络堆栈有额外的处理能力。 在这种情况下,AP甚至不需要。 这是一个功能手机(如诺基亚砖)的典型设置。 AT命令集的扩展由BP提供来创建套接字甚至FTP连接。