当前的手机架构使用着多种处理器间通信方式,眼下分离式AP、CP流行的接口有SPI、I2C、UART、USB和双port互联等,SoC式则採用共享内存。控制命令以消息的格式在基带处理器和AP处理器间传送,完毕通话、短消息、移动上网等功能,通信协议包含传统AT命令、MBIM等。
一般来说,芯片都会支持多种接口,并设计通用的软件驱动平台驱动。
1,GPIO:通用输入输出控制线(General Purpose Input/Output)
当微控制器或芯片组没有足够的I/Oport。或当系统须要採用远端串行通信或控制时,GPIO产品可以提供额外的控制和监视功能。如拨打电话时AP通过GPIO唤醒BP,来电时也通过GPIO唤醒AP。
2,UART:通用异步接收/发送装置(Universal Asynchronous Receiver/Transmitter)
UART用于异步通信、双向通信,可以实现全双工传输和接收,其典型传输数据速率约为 1.5Mbps,而快速UART 则支持高达5Mbps的速率。
这样的传输数据速率还是不能满足高带宽处理器间通信的要求,2G网络中芯片间的物理交互(传输数据、AT命令等)可通过UART实现。
3,I2C:Inter-Integrated Circuit
I2C总线是一种设备互联的通用总线,两条信号线-一条传递时钟信号、还有一条传输双向数据信号。传输过程由I2C协议控制.虽然最新 I2C 规范提出了吞吐量高达3.4Mbps的快速模式。但眼下可用的大多数设备仅仅能支持400Kbps到1Mbps的传输数据速率。
4,SPI: 串行外围设备接口(Serial Peripheral interface)
SPI 能支持 20Mbps 以上的传输数据速率,但其没有统一的规范,因此主要取决于採用什么样的处理器。若採用基带处理器,SPI一般可支持约16Mbps的传输数据速率。
因为众多基带处理器制造商推出各自的专利产品,因此不同基带处理器上不同的SPI接口会对设计人员提出不同的挑战。难以将两个不同基带处理器成功配对,以实现最佳SPI速度。
5,USB: 通用串行总线(Universal Serial Bus)
比較流行的一种互连技术是採用通用串行总线 (USB)接口。大多数处理器都具备全速USB(FS-USB)性能,FS-USB的最大传输数据速率为12Mbps,因为USB协议本身的数据包开销较高。因此事实上际吞吐量约为 6Mbps。USB1.1可满足EDGE的速率要求、2.0以后可满足3G、HSPA的速率要求。但USB方案要求基带处理器必须具有USB接口,而应用处理器可以支持USB HOST或者USB OTG设备,软件处理相对照较复杂且USB功耗相对较大因为USB主机即便在不传输数据时也始终保持工作状态(USB-ULPI/HSIC 接口减少了功耗)。
6,双port互联
空口技术的传输数据率越来越高,LTE下行速率可达Gbit,因此虽然集中精力在提高处理器能力与无线传输数据速率。但处理器间通信一直是一个非常大的瓶颈。随着手机技术日益复杂,处理器间传输的数据量肯定会不断加大。解决处理器间互连问题的一种潜在解决方式就是採用多port互连技术--缓冲多port器件作为两个CPU之间的互连机制,能支持两者之间的快速传输数据。并且也有助于减少处理器间通信 (IPC) 的功耗。
双port存储器的存取时间仅为 40ns,能支持高达 400Mbps的传输数据速度。多port解决方式支持处理器间的无源通信。因为多port互连机制作为缓冲。因此接收方处理器可在收到多port互连中断之间一直处于睡眠模式,仅仅在须要接收数据的时候再进入工作状态。从而减少功耗。
图1 核间通信技术对照
7,单芯片ShareMemory:内存共享
将全部芯核集成在一个单芯片中。AP、BP的分工依旧明白,两者之间的通信可依靠内存共享快速、有效的进行。非常好得攻克了处理器之间通信(数据交换)的问题。对大传输数据有非常大的优势,但其技术难度较为复杂。