通信IP:固定功能 vs 软件可编程?

 通信IP:固定功能 vs 软件可编程?

作者:Richard Edgar,Imagination科技,通信技术营销总监

当我们决定使用第三方IP实现系统的无线通信功能时我们需要作出一个选择,是采用固定功能的IP还是软件可编程的IP。可以说这两种方式各有千秋,实际上要选择哪种方式还是要根据我们的解决方案和面向应用市场来决定。

毫无疑问有很多的应用市场,比如消费电子或者物联网(IoT)应用非常看重集成电路(IC)的成本,因此我们的选择也很简单——采用硬核IP,这样芯片器件的尺寸会相对小一些,因此成本也是最低的。在其他市场芯片成本可能不是最重要的因素,我们可以选择软件可编程的解决方案,这种方式更灵活,能够及时修正后面可能出现的问题。那么我们如何选择更适合自己的呢?

固定功能的通信IP

对于固定功能的解决方案,电路的设计和优化都是为了实现特定的操作,比如蓝牙无线电,它会使用最少的逻辑门资源,占用的硅片面积也最小。一些成熟的无线技术已经建立了完善的生态系统,比如WiFi、蓝牙(Bluetooth)等,面临变化的风险非常的小,因此固定功能的IP是一个非常不错的选择。

然而如果固定功能的解决方案出现了问题或者需要做出一些改变来适应新的特性,比如需要改变IP的物理布局,这就需要更新集成电路的设计然后重新生产。这意味着需要额外的成本和更长的设计时间,此外还可能错过产品上市的最佳窗口期。

如果你想开发一个基于相同技术但是只需调整不同参数就可以体现不同特性的解决方案,比如WiFi应用中不同的MIMO配置选择,那么固定功能的解决方案也是不太适合的。因为每种解决方案都需要根据要求配置进行具体的设计,所以在设计此类型的解决方案时我们很难找到降低成本的方式,每个设计都必须作为一个独立的项目。

现存通信标准有些也不够成熟或者又推出新的版本规范,比如IEEE 802.11ax——下一代WiFi标准,这时采用固定功能IP的解决方案就具有相当大的风险,尤其对于早期采用者而言。早期部署时,可能会出现多种问题,比如通信标准更改、互操作性兼容问题等。在这些情况下,我们就需要采用比固定功能方案更加灵活的解决方案了。

在设计新的无线技术或者对现有技术进行版本更新时,为了克服固定功能硬件可能引起的潜在问题,我们无疑需要采用更加灵活的方法。此时软件可编程的解决方案是更好的选择。

软件可编程的通信IP

软件可编程的解决方案是硬件和软件技术的集合,通过修改在可编程处理器件上的软件或固件实现物理层信号处理。这些器件包括可编程逻辑门阵列(FPGA)、数字信号处理(DSP)、通用处理器(GPP)、片上可编程系统(SoC)等其他特定应用可编程处理器。这些技术使我们可以基于现有的无线电系统添加新的特性和功能而不需要添加额外的硬件。

软件可编程的解决方案的灵活性让系统设计具有更广泛的适用性。一系列相关的解决方案都可以采用共同的平台架构来实现,因此新的产品能够以更快的速度推向市场。软件在不同的解决方案之间可以实现复用,大大降低了开发成本。通过更新软件就可以增加新的特性和功能,完全不需要在重新设计IP模块。如果已经将集成电路产品交付给客户,而后又想增加新的特性或修复问题,这一特点将尤其有用。

然而软件可编程的解决方案会增加硅片面积,继而增加生产成本。使用通用处理器或者DSP需要大容量的存储器来存储和处理软件代码和算法。根据无线电的配置,这可以说是相当大存储容量了。举个例子,WiFi 4x4 MIMO解决方案需要的存储容量远多于WiFi 2x2 MIMO解决方案,当然这也是一个优势,可以利用额外的存储空间增加一些新的功能特性,比如当处理大量数据包时可以临时扩充缓存空间大小。因此软件可编程的方法不太可能提供和固定功能方法一样小面积的解决方案。

固定功能的IP核有两种形式:“软核”和“硬核”,而软件可编程的IP核只能是“软核”的形式。

软核IP通常会提供可综合的RTL代码,采用不同的硬件描述语言,如Verilog。IP核以RTL的形式提供给芯片厂商就可以允许芯片设计者在功能上进行相应的修改,这样设计者就可以做进一步的设计优化,降低成本或者增加新的功能特性。软核IP有时也会提供逻辑门级的网表,网表是IP核逻辑功能的布尔函数表示方式,采用通用的逻辑门或者特定的标准单元来实现。采用逻辑门实现的IP核可以用任意工艺实现,因此不需要提供正确的工艺或Foundary,开发者可以自己移植,由此带来、更大的灵活性。门级网表类似于计算机编程领域中的汇编代码清单。

用户喜欢...

使用微控制器的功能,在紧凑设计中快速实现模拟信号链

许多针对物联网 (IoT) 的设计都依靠模拟电路,以便满足应用对传感器和致动器的信号调节、电流控制和其他功能的独特要求。虽然专用的信号链 IC 可以满足这种需求,但是成本和空间严格受限...


在嵌入式系统中快速实现高效的实时时钟/日历功能

许多嵌入式应用需要知道时间,以便在特定的时间和日期,或针对时间戳事件,或同时依据两者执行特定的任务。执行此功能的 RTCC(实时时钟和日历)芯片问世已有数十年,但设计人员在缩减...


通过多协议蓝牙和Zigbee连接扩展设备功能

多协议连接提供了一种独特的方法来添加消费者和企业所要求的功能。 为了在家庭或楼宇自动化场景中提供必要的可扩展性和稳健性,网状网络上的设备到设备通信是理想的实现。 同时,能够...


使用CLC扩展PIC®MCU功能

可配置逻辑单元(CLC)是一种灵活的外设,可为PIC单片机创建片上自定义逻辑功能。 该外设允许用户指定信号组合作为逻辑功能的输入,并使用逻辑输出来控制其他外设和I / O引脚。 这为嵌入...


Xilinx发布具有片上冗余特性的单芯片功能安全性解决方案、加速IEC 61508 认证并降低系统开发成本

Zynq-7000 All Programmable SoC 率先通过功能安全性权威机构 TÜV 莱茵的 SIL 3 结合 HFT=1 综合架构评估 赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))今天宣布推出一款单芯片Zynq®-7000 All Programmable SoC功能安全...


STM32网络通信之DM9000A电路设计

DM9000A的PHY 能够以10BASE-T 的标准在UTP3\4\5或者以100BASE-T的标准在UTP5上接口通信。它的自动协商功能是够自动配置DM9000A最大地发挥出自身性能。它同时支持IEEE 802.3X全双工数据流通信。 2、结构...


Vivado 学习笔记 (五)编写IP核并通过AXI协议与ARM通信

参考资料:xilinx大学计划 实验平台:PYNQ开发板 最近发现了一块好玩的板子,PYNQ 这块板子最大的特点就是可以将所写的IP核封装成Python库的形式,然后通过在板载的xlinux系统下用户可以选择...


深入理解51单片机串口通信

串口通信的基本认识 通信分为并行通信和串行通信,并行通信时的数据各个位同时传送,可以实现字节为单位通信,但通信线多占用资源,成本高。以前用到的的P1=0x55,一次给P1口的8个管脚分...


MM32 MCU互补PWM输出使能带死区、刹车功能

脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM最基本的调节就是频率和占空比,通过调...


MM32 UART中断通信

UART(Universal Asynchronous Receiver and Transmitter)通用异步收发器(异步串行通信口)是MCU的一个重要的数字接口,市面上很多的传感器、通信模块等外围器件都采用了UART接口,同时工程师在软件开发...


基于i.MX6UL的黄金组合——小尺寸、多功能的扩展板MYB-6ULX评测

2017年5月,米尔科技推出了基于NXP i.MX 6UL应用处理器的超高性价比单板机MYS-6ULX,当然,也是由于超高性价比的关系,...


8位PIC®单片机上的串行外设接口(SPI)通信

串行外设接口(Serial Peripheral Interface,SPI)一直以来是PIC® MCU内核外设集的一部分。PIC18(L)F2X/4XK42单片机系列引入的最新特性之一是用于实现SPI功能的单独模块。以前的器件将SPI功能与其他串...


8位PIC®单片机上具有时钟切换功能的数控振荡器

振荡器模块用于处理8位PIC®单片机的时钟源选择。该模块内含内部高频振荡器(HFINTOSC)、外部高频振荡器(EXTOSC),辅助振荡器模块(SOSC)、PLL和其他低频振荡器。图1给出了振荡器在振荡...


灵活、开源、多功能,电子工程师的好助手——Digilent OpenScope MZ评测

作为一个电子工程师,大家对Digilent这家公司应该不陌生,或许很多人也是看到是这家公司的产品才点进来看看,只不...


当STM32遇到串口RS485双机通信,这样处理最便捷

RS485通信想必大家都知道,在学习RS232时,都会拿485(RS485下文就用485代替)和其作对比。485优缺点不说,网上有。 我用的是STM32库函数学的485通信,所以接下来就讲讲STM32串口实现485双机通信的...


MC3361+MCU低速通信系统电路

光纤通信做为一种新兴的高性能的串行通信技术,已经在电力领域逐步展开应用。目前的光纤通信模块大多使用 FPGA 或DSP 技术实现信号解调,虽然其传输速度快、效率高,但是成本高、技术...