资源描述
Smartphone系统整合技术
Smartphone结合了手机和PDA的功能,设计它必须在成本和功能上做折衷,因此它的技术门槛很高。审视目前市场上国际大厂的Smartphone平台架构,开放型硬件架构有:TI的OMAP系列、Motorola的 i.MXL系列、Intel的XScale,当然还有一些厂商采用封闭型或称为专属型硬件架构,它们或许是采用上述的开放型硬件架构来设计(只是不愿意公布而已),或是采用ASIC或FPGA来设计。在操作系统软件方面,Microsoft® Windows Mobile和Symbian OS是两大主流。此外,嵌入式Linux因为成本低廉,已经是系统制造商为了降低成本,不得不采用的替代方案。
先进的硬件规格
Smartphone的技术发展仍然在持续进行中,而且它和其它电子产品一样,依照市场需求,也有高档和低档之区分,因此现在就想完全一窥它的全貌是不可能的。不过,我们倒是可以从国外大厂最近推出的新一代手机中,认识到未来Smartphone的硬件标准规格,这包含:
1. 结合影像和多媒体:低檔的Smartphone和GSM手机是不支持影像传输的,但是自从3G手机出现以后,影像压缩技术会逐渐普及,所以高档的Smartphone除了具备65,536色的TFT-LCD以外,嵌入式数字相机也是必备的。内建的录像机和影音播放/放映机(player),可以透过网际网络,传收和3GPP兼容的多媒体资料内容。此外,支持GPRS数据(data)通讯也是必备的。
2. 提供短距离无线通讯功能:透过蓝芽、红外线连接外部装置。
3. 支持多种储存媒体且储存量大:例如:SD、MMC、Memory Stick、CF…等。
4. 多频道通讯:支持目前的GSM 900/1800/1900频道,未来会支持3G、4G频道,所以为了能让Smartphone能够流畅地完成跨网域的交递(handoff)功能,射频电路必须具有智能型的「频谱不可知论(spectrum agnostic)」的功能。意思就是说,不管是2G或3G或4G网络,同一台Smartphone都能够使用这些网络。
5. 省电电池:使用锂离子(Li-Ion)电池,持续通话时电力可达2~4小时,待机时电力可达150~240小时,充电时间1.5小时。
图一是现有国外大厂的Smartphone解决方案中比较完整的架构,我们可以看到许多外围接口,包含:UART、USB、SPI、PCM、GPIO、PWT(pulse width tone)、PWL(pulse width light)、McBSP(multi-channel buffered serial port)、MCSI(multi-channel serial interface)、…等。McBSP以最高6Mbps的速率传输资料。8kHz的语音讯号是由MCSI传输。其DSP核心内包含三个多媒体延伸单元,可以有效改善功率效能。这些单元分别是:移动估算(motion estimation)、离散余弦转换(DCT)、逆向离散余弦转换(IDCT)和1/2像素插值(interpolation),这些单元具有加速的功能,而且可以降低功率的消耗量。不过,为了要满足3G时代的需求,此架构至少还需要内嵌或外部连接W-CDMA(或CDMA2000)调变器(modem)和数字相机模块才行。
图一:最新的Smartphone解决方案
系统整合技术
3G时代的Smartphone必须具备3G手机和PDA的所有功能与实用性,所以颇具挑战性。严格而言,至今还没有一个完全满足未来Smartphone硬件规格的解决方案存在。不过,一些基本的系统整合技术,无论在现阶段或未来先进的Smartphone产品开发上都是必需具备的。下面就列出其中几项技术:
处理器(MPU)
处理器必须具备下列的一般性功能:
• 32位大小,这是多媒体数据处理所必需的。
• 由操作系统(O.S.)决定选择Little-Endian或Big-Endian,或者由处理器决定。当确定之后,程序设计时必须完全遵守此规则,否则系统无法运作。
• 具有高速缓存(cache),以加快处理速度。
• 具有内存管理单元(MMU)。
• 具有一般和特权作业模式。藉由使用权限的不同,以防止使用者不慎破坏操作系统。
• 具有硬件中断(interrupt)讯号,可以提供给错误处理程序、软件中断例程(ISR)、取消程序使用。
• 具有重新开机的功能或重置讯号,能从错误状态中恢复正常。
当然,若处理器拥有下列功能,将有助于系统的整体效能:
• 耗电低
• 高速处理能力
• 价格低
• 指令集的长度不长,可加快处理速度。
(一)MMU:
• 能将内存的实体地址映像(map)到虚拟(线性)地址。
• 在处理程序(processes)之间交递时、使用者程序和操作系统核心程序之间交递时,必须能保护内存。
• 支持小规模,4Kb大小,分页(pages)模式。
• 支持大规模(以1Mb为单位)分页模式。
• 若是使用标准的「二阶分页表(two-level page table)」架构,内存地址的映像功能必须在第一阶(分页目录)进行,而且它只占据「转换旁视缓冲器(translation lookaside buffer;TLB)」的一项内容。
• 在「环境切换(context switch)」时,能够快速地重新映像(remap)连续且大区域的虚拟内存。
• 内建有「转换旁视缓冲器」。
• 具有存取内存的控制权,依据处理器的不同模式(例如:监督者或使用者)、存取类别(例如:禁止存取、只读或读写)、快取属性(例如:可快取或可暂存)。大多数「二阶分页表」架构支持这些作业。
• 建议使用4Gb (32位)的虚拟地址空间,虽然操作系统可以在更小的地址空间下运行。
• 「地址空间识别码(Address Space Identifiers;ASID)」可以用来标示TLB中的每一笔项目。要清除某一项目时,必须在「环境切换」下,一起清除TLB的全部内容。当有支持ASID时,至少必须提供32个独立的识别码,而且不能占用内存太多的空间。
• 考虑到成本效益,应该尽量利用既有的MMU,而不要自行去设计一个。
(二)高速缓存:
操作系统和许多种不同的高速缓存架构一起工作,这些包含:
• 实体或虚拟索引/附签(tag)
• 统一或分离的指令(哈佛计算机架构)和资料
• 逐一写入(write through)或逐批写回(write back或copy Back)
• 同步写入或暂存写入
• 直接映像(direct mapped)、集结组合(set associative)或 完全组合(fully associative)的读写同时运作模式。
高速缓存的工作模式是由编译器(compiler)在编译时就决定的,因此程序设计者必须根据处理器的种类,选择适当的软件开发工具。一些处理器内部高速缓存的组成架构详见表一。
处理器
寻址方式
组织
写入模式
是否暂存
ARM 710T/720T
虚拟
统一
逐一写入
是
ARM 920T
虚拟
分离
逐一写入或逐批写回
是
StrongARM 110
虚拟
分离
逐批写回
是
表一:高速缓存的组成架构
操作系统软件控制高速缓存,并确保主存储器里面的资料之完整性。它必须考虑下列作业状况:
• 环境的切换
• 不同处理程序之间的信息传收或复制
• 内存直接存取(DMA)
• 修复版程序代码(patching code)的下载更新
• 存取硬件
• 省电机能
对大多数嵌入式操作系统而言,它们大都不会用到直接映像(direct mapped)、集结组合(set associative)或完全组合的读写同时运作模式。
(三)时脉速率(clock speed):
虽然目前大多数的嵌入式操作系统,都能支持处理速度不快的微处理器,例如:18MHz的Psion Series5 ARM 710,但是随着Smartphone功能的增加,彩色、上网、多媒体都需要高速的微处理器支持,因此它至少要满足下列条件:
• Smartphone的一般处理速度必须在50MHz以上。
• 多媒体的通讯速度必须在100MHz以上。
此外,内存的处理速度和总线的频宽也会影响Smartphone的整体性能。
可编程的时脉速率控制系统,例如:锁相回路(phase lock loop;PLL)和电压控制电路(voltage control circuitry),可以降低ASIC的耗电量。在一个CMOS的电路之中,功率(P)、频率(f)、电压(V)之间的关系式是:P = kfV2,k是常数,这表示只要频率或电压下降,功率消耗量就会减少。利用软件动态地控制时脉速率,一般是8位的微控制器所采用的。32位的微处理器大都是采用硬件方式来控制时脉速率,例如:当某一特定的硬件中断(如接收到Bluetooth讯号)产生时,时脉速率就会增加。
电话到PDA之间的接口
因为Smartphone必须兼具手机和PDA的功能,所以一个完整的双核心(dual-core)解决方案是必需的。它要能够满足下列的基本需求:
• 具有手机通讯功能的软件堆栈,能够在实时的操作系统环境下正常工作。
• 在忙碌的处理器运作下,PDA应用软件能够同步地对使用者的不同操作要求,做出立即且正确的反应。
(一) 串行端口(serial port)通讯:
透过串行端口,信息从手机模块传送到PDA模块是最常见的一种应用。这需要:
• 标准的UART接口。
• 序列驱动程序要能够重复使用。
• 在手机模块中的调制解调器功能要能够重复使用。
此外,必须考虑到下列的问题:
• 要和既存的电话通讯软件兼容,它们只能在缓慢的速度下工作,譬如:9600bps。
• 要和上层的通讯协议兼容,这些协议可能是异步的,它们为了要完全控制全部的传输过程,常会要求将软件分别安装在PDA和手机上,这可能会牵涉到这些软件能否被使用或重复使用,以及AT延伸命令的不同版本之间的兼容问题。当我们要唤醒PDA时,可能就会因为软件之间的不兼容而终告失败。
• 电源管理问题。当唯一的通讯途径只有串行端口时,此问题将会更加棘手。
• 当不使用时,某些UART会自行关机,这将导致接收到的第一个字符会遗失。所以上层的通讯协议,必须注意此种情况。
为了解决上述的部份问题,额外的硬件中断线路必须连接到手机与PDA的双核心之中。
(二) 共享式内存:
在Smartphone里面,透过一小区域的内存空间,手机模块也可以和PDA模块通讯。这内存空间也能达到高性能的传输目的。共享式内存使软件的「远程程序传呼(remote procedure call;RPC)」机制成为可能,透过一些硬件中断线路的连接,完整的异步通讯协议可以被使用。共享式内存所提供的通讯频宽比串行端口通讯多。不过,仍然需要考虑下列的问题:
• 共享式内存的硬件比串行端口的复杂。
• 针对资料锁定和内存同步,必须仔细设计。
• 既存的电话通讯软件可能需要重新设计,以加入「远程程序传呼」的机制。
• 「远程程序传呼」软件模块的PDA端程序必须重新设计。
此外,在设计Smartphone的对外通讯功能时,还需要注意下列的问题:
• 电源管理,到底是谁控制谁?例如:PDA是主控者、手机是从属者,或者相反。这还包括:开关切换的顺序、外围的共享、紧急关机和电池管理。
• 在语音的控制、处理和传递中,手机模块控制这所有的过程吗?PDA是否需要参予?PDA能否存取语音数据?谁控制处理语音的硬件?
• 在飞机和医院里,PDA的功能正常,但是手机的射频收发功能必须停止。
• 手机和PDA之间的通讯频宽必须大于无线电规格所定义的频宽(例如:GPRS或W-CDMA),这是为了要让资料(data)能够快速传呼的目的。
• 不同软件之间的接口冲突或不兼容。
• 必须和既存的通讯软件互动,例如:蓝芽、MP3编译码模块(codecs)。
• 要和手机附件配合,例如:充电器、免持听筒(hands-free kits)。
• 使用串行端口通讯时,必须具备「穿透模式(Passthrough mode)」的功能。所谓「穿透」就是指,使用者不需要再经过繁琐的设定手续,就可以利用应用程序收发信息。手机可以被当成调制解调器,其它装置透过串行端口和它联机,就可以上网或对外通讯。对软件而言,这功能也称作「透明性(transparency)」。
• 手机模块的生产测试很专业也很繁琐,投入的测量仪器成本也很高。
显示面板
LCD是Smartphone的必备装置。除了面板本身,它内部还包含着一个控制器和一个讯框缓冲器(frame buffer)。
讯框缓冲器必须是一段连续的虚拟内存,通常这是指向RAM的连续实体地址。但是如果LCD控制器支持DMA的话,也可以利用数个RAM构成实体区段(physical segments),这些区段被重新映像到连续的虚拟内存上。讯框缓冲器必须是n个位像素(pixel)和「非位平面」(not bit-planes)的组合。LCD的每一行都要能够填值,如此才能显示一群完整的字符。像素大小(位深度)必须是2的次方,其值不满2的次方时,空出的位需填入空值,例如:12位的像素,为了等于 (16)位,将其余4位填成空值。
LCD控制器将讯框缓冲器里的内容转换成屏幕上的像素。图形处理软件需要RAM当成讯框缓冲器,这样才能自由地读出、写入和修改像素。
因为成本的考量和SoC技术的精进,越来越多的LCD显示器已经将面板、控制器、讯框缓冲器整合在一起。这样不会降低微处理器CPU的速度,也能降低耗电量。
语音处理
一般而言,Smartphone对语音的要求不高,但是其内部大都采用「脉冲编码调变(PCM)」的格式来存取资料。一般常用的语音输出规格是:16位,立体声,PCM在44.1 kHz下工作。处理语音的硬件必须能接受标准的取样频率,例如:8000、11025、22050、44100、48000 Hz。
结语
未来的Smartphone几乎整合了所有的电子科技,除本文所介绍者外,尚包含:人机接口、蓝芽、影像处理(MPEG-4或MPEG-2)、USB、储存装置…等,若要达到完美的整合,仍有赖许多专业知识和经验才行。
展开阅读全文