SoC选择
目前,市场上有两类产品;单片IC器件和IP内核,它们在即插即用上是等效的。SoC设计者也有两种选择,或连接一个外部IC;或为了降低总系统成本,采用IP内核将Bluetooth功能归入片内。
Synopsys Designware Blue IQ 是一个可合成的Bluetooth内核,通过标准4线UART(H4)接口连接至主CPU,例如ARM9嵌入式微处理器,管理上层Bluetooth协议载,另一方面,Bluetooth IP内核通过通用 14引脚“Bluetooth RF”接口连接至RF器件,例如Silicon Wave。
Bluetooth功能在Bluetooth IP内核是完全自给自足的,它的内部基带处理器可以主CPU处下载全部实时Bluetooth 工作程序。对SoC软件组,这类体系结构确保Bluetooth 不会干扰与手机其余部分相关联的任何定时关键的软件,从而简化了Bluetooth 功能的集成。
手机设计
图1是2.5G手机(GSH/GRPS/EDGE)的方框图。一条AMBA总线构成了SoC的骨架,它由高速AHB(高级硬件总线)段和低速APB(高级外设总线)段组成。连接在AMBA结构上有蜂窝分系统以及 RTOS用和控制手机上各种按键和显示屏用低速外设。一个GPS单元也连接在APB上,为手机提供符合新E911/E112要求的位置信息。Bluetooth分系统则是将Bluetooth IP内核连接在APB UART 外设添加到SoC设计的,并由主CPU的Bluetooth 协议栈软件进行控制。
从硬件集成观点,附加Bluetooth分系统就象手机设计增加一个UART一样简单。从软件集成透视,同样十分简单。Bluetooth规范清晰地定义了协议栈上级与下级之间的边界。定时关键软件程序放置在栈的下层,靠近硬件并远离应用层。上层和下层通过确切定义的API连接的,HCI(主控制器接口)不仅定义了栈上层和下层之间的协议,而且也定义了诸如 UART、RS-323和USB各种标准物理传输协议。这种模块化硬件与软件方案给SoC设计组带来了显著的即插即用好处。
组建设计组
图2表示典型的 SoC设计组,它由下属三个小组组成,分别承担不同的工作。 ASIC组负责硬件的实施,在UNIX工作平台上使用各类工具来生成制作SoC 的最终GDSII文件。软件组负责在SoC上运行的软件的实施。设计样机组使用FPGA样机平台(如ARM集成开发系统)将硬件和软件整合在一起,以便在最终GDSII向代工厂发布前验证SoC的功能。
ASIC组向设计样机组提供手机设计的FPGA文件,在此实例,包括要增加的Bluetooth分系统文件。ASIE组将Bluetooth IP内核配置在手机设计用系统结构(例如语音通道的数量和支持的服务)中,并生成可以下载到Bluetooth开发工具(如:DesignWare BlueIQ Development Kit)的FPGA文件。
在软件开发早期阶段,ASIC组将Bluetooth RTL代码集成在ASIC设计中,进行合成和模拟,确保它能正确地连接。
套装工具确保设计成功
在开发阶段的早期,软件组的绝大部分工作是在PC上完成的。如图2所示,软件组的工程师们将Bluetooth开发套装工具连接至PC的串口,在台式机上精确地执行可设置在最终SoC上的 Bluetooth分系统。该分系统需用到Bluetooth协议栈的上层,以及创建启用手机Bluetooth功能应用软件所必需的应用配置文件。
Mezoe InteRFace Express工具套件是一套实施Bluetooth配置文件的软件,这一PC基工具可用来生成工作框架应用软件,任意地组合各类Bluetooth配置文件。得到的软件奠定了最终嵌入式SoC应用的基础,让软件工程师在PC上充分地设计嵌入式Bluetooth应用的样机,相对SoC 设计是独立地进行的,当设计完成并纠错后,它能重新定位到主CPU并下载到FPGA样机平台。
硬件手机
在ASIC组和软件组在各自的环境中开发后,最终的硬件和软件映象由样机组传送至FPGA样机平台,在此平台上整合SoC总体设计。有了完全包含在样机平台硬件的完整手机,在设计用磁带输出公布前,样机组使用各种传统的硬件与软件纠错工具来完善并验证SoC。
设计潮流向着IP形式的高度模块化和高度自给自足分系统发展,这种Bluetooth IP和软件模块体系结构正处于潮流的前沿。随着SoC设计规模的日益扩大并开始汇集性能各异又高度复杂的功能,IP公司要对集成进行全方位的预测。他们在规划产品的体系结构和封装时,要考虑用户易于集成,减少风险的要求,只有IP提供商充分了解ASIC设计组的要求,同时也了解软件开发者的要求以及设计硬件和软件两者样机的要求,IP用户才能真正领略采用商品化Bluetooth IP产品的好处。