硬件开发知识:
手机软件层次:
手机软件技术也可按技术含量高低分为三层:技术含量低的是人机界面软件,稍高一些的是接口软件和模块软件,最高的是基础通信软件。
第一次层次是OperatingSystem(OS,操作系统),主要与RF(射频信号)芯片进行沟通与指令处理,它基于一些基础的网络协议(如GSM,GPRS,CDMAWCDMA)等;
第二层次是内置的手机本地应用,例如电话薄,短信息等内容,更为重要的是,在一些手机上已经集成J2ME的开发平台,即它可以运行第三方开发的应用程序;
(Java ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SE、J2EE并称。根据Sun的定义:Java ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。JAVA ME技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。
链接:http://baike.baidu.com/link?url=mPpw6xTFKyKXnBNcV_topkKDEf-mZG2EPFew4Y7uk-BRtsRhAQSRACA1YNhxz7LNcLN7t4oj0WCGt7XFzPPNN5TriKNrsPiq9S5szYqngYGC3wnekVqUWATmeWvleU9W0qfor0xDDM7v0G-agZRnQ_ )
第三层次是在J2ME平台上开发的一些Kjava平台上开发的一些Kjava应用程序(如各种游戏,图片浏览等),还有一些API的接口函数,可以同外部的PC通过线缆进行数据串送,也可以通过无线方式与外界的应用服务提供商进行传递数据。
目前,各种各样的多媒体应用已经成为高端手机功能的卖点,手机开始与PDA相融合,也开始告别话音时代走向移动办公。
现代新手机具体功能的扩展,体现在以下方面:
交互性》》在当前的手机交互界面的设计中,动画与图案都被引入界面设计,这在早期几乎是看不到的。
个人助理及娱乐功能》》个人助理指电话本,名片夹,日历,日程表,闹钟,声控拨号,录音等功能;
娱乐功能》》体现在MP3播放功能,FM调频收音机功能,游戏等。
软件可扩展性》》在手机上装载KVM,解释JAVA程序,用于括宽应用软件的来源,同时也可以方便用户自己增删一些较简单的附加功能。
手机的软件就是放在逻辑系统里,而逻辑系统基本上是由一个单片机系统组成的。
手机硬件层次:
众所周知,GSM手机逻辑系统的核心元件是中央处理器,大家把它叫CPU。它具有数字信号处理器(DSP)与微控制(MCU)的功能。
CPU是根据指令来工作的。一连串的指令集组成了一个完整的(CPU)工作程序,程序的运行与计算机往往还需要相关的数据参数,比如:射频控制参数,包括频率和成器参数,接受参数,发射参数,功率控制参数等;逻辑控制,包括显示参数,语言参数,串号,电池门限参数,放大器增益参数;而软件就是控制程序和工作数据参数的总和。
在电子学中,单片微型计算机(One Chip Microcomputer)就是是微型控制器,简称单片机。单片的含义是这种微型计算机中只有一块主芯片(集成电路)。由于单片微型计算机的设计充分考虑了控制上的需要,它具有独立的硬件结构指令系统和多种输入/输出功能的设计充分考虑了控制上的需要,它具有独立的硬件结构指令系统和多种输入/输出功能,提供了十分有效的控制功能,所以称之微控制器。
微控制器作为微型计算机的一个重要分支,应用非常广泛,发展速度也很快,现代凡含有数字电路的家用电器中,包括移动电话几乎都不少不了微控制器。
微控制器在一块芯片(集成电路)上集成了中央处理器(CPU),存储器(RAM,ROM或EPROM)和各种输入/输出接口,定时器,A/D,D/A转换接口等电路,它是一块大规模集成电路。由于它具有许多使用于的指令及硬件支持广泛用于移动通信的控制系统中。微控制器用于各种移动通信产品的集体电路(硬件)是有所不同的,但是它们的基本组成相同,最大的不同就是软件设计不同。具体到手机的电路中,由于单片集中的CPU,储存器等并不是集成到一块芯片上,而是独立分开的,所以手机中的逻辑部分并非电子学上传同意义上的由一块单片机构成,而是能称之一个系统,所以我们说手机的核心部件是一个单片机系统。
手机中一个最基本的单片机系统主要由下列几部分组成:
1、CPU(中央处理器):这是手机单片机系统核心。
2、储存器:包括两个部分,一个ROM,它是来存储程序;二是RAM,它是来储存数据。ROM和RAM两钟储存器是有所不同的。
3、输入/输出(I/O)接口:这一接口电路分为两种:一是并行输入/输出接口;二是串行输入/输出接口。这两种接口电路结构不同,对信息的传输方式也不同。
4、定时器/计数器:单片机的许多应用中,往往需要进行精确的定时并产生方波信号,这要由定时器/计数器电路来完成。
5、时钟系统:手机中常见是13MHz和好32.768kHz。
微处理器的上述五个基本部件电路之间通过地址总线(AB),数据总线(DB)和控制总线(CB)连接在一起,再通过输出/输入接口把手机整个单片机系统与外部电路联系起来。手机的单片机系统是由一个中央处理器(CPU),程序存储器(ROM),数据存储器(RAM),输出输入接口(I/O)和总线(BUS)等构成的既相互独立又紧密联系的完整的系统。单片机系统是整部手机的指挥中心,CPU就是总指挥,是单片机系统的处理核心,它相当于人的大脑,对手机进行射频部分控制(包括接收,发射及频率合成器),控制关机,控制键盘,控制显示,其它集成电路的控制及相互之间的数据传送。单片机系统所有操作动作指令的接收和指令的执行,各种控制功能,辅助功能等都在CPU的管理下进行,同时,CPU还要担任各种运算工作。通俗的讲,CPU相当于“人脑”和“算盘”的作用,其中“人脑”用来指挥单片机系统的各项工作,“算盘”则用来进行各种数据的运算。所以,在手机中,CPU起着指挥中心的作用,在工作过程中,CPU发出各控制指令,使整个单片机系统在处理过程中能自动地,协调一致的进行。随着单片机技术的发展,手机控制用的单片机从以前的8位机发展到现在的16位机,8位机(有8条数据总线D0-D7)应用在很早已前的机型如爱立信398`788;诺基亚2110;摩托罗拉的7200`7500等。而现在的手机大多数都是16位机(共有16条数据总线D0-D7),如摩托罗拉V998,V60/V66`V70;诺基亚8210/8250`3310,3330,三星N628,T208等等的新机型手机均是,相对8机来说,16位机可以完成更多的功能,如:中文输入,WAP上网,语音功能等。到现在已经是64位的了。
微控制器作为微型计算机的一个重要分支,应用非常广泛,发展速度也很快,现代凡含有数字电路的家用电器中,包括移动电话几乎都不少不了微控制器。
1、CPU的功能
CPU是手机的核心部分,各部分功能如下:
1、信道遍解码交织,反交织,加密,解密。
2、控制处理器系统包括:64位控制处理器,并行和串行显示接口,键盘接口,EEPROM接口,存储器接口,SIM卡接口,通用系统连接接口,与无线部分的接口控制,对背光进行可遍程控制实时时钟产生与电池检测及芯片的接口控制等。
3、数字信号处理:64位数字信号处理与ROM结合的增强型全速率语音编码,DTMF和呼叫铃音发生器等。
4、对射频电路部分的电源控制。
2、内部结构
CPU内部由三大部分组成:一是运算器,想当于一个“键盘 ”;二是寄存器,相当是“纸张”;三是控制器,相当是“人脑”。
3、外部电路
CPU内部个部件之间及CPU与外部逻辑部件之间交换和传输信息是有三条公共线(BUS),地址总线(DB),控制总线(CB)来完成的。在看手机的逻辑电路时,应重点注意各种控制信号,逻辑电路提供的射频控制信号。如:接收启动控制信号(RXCN或RXEN),发射机启动控制信号(TXON或TXEN),频率合成控制信号(SYN-EN,SYNDAT,SRNCLK)等。
在看不同厂家的手机电路时,应注意一些控制信号的名称可能不同,如射功率控制信号在诺基亚电路中被称为TXC;而摩托罗拉手机电路中则是PAC或AOC;在爱立信手机电路中为PWRLEV等。
4、工作条件
1)供电(VCORE CPU); 2)时钟(CLK clock); 3) 复位(RST reset)。
1)CPU的内部和外部通过三种总线与各部件之间进行联系,它们是地址总线,数据总线和控制总线。地址总线用来传送地址信息,它是一种单向传输总线,地址总线在三种总线中的数目最多,通常地址总线用A x x表示;数据总线是用来传送数据的总线,它是一种双向总线,它可用来传送CPU的输出数据,也可用来向CPU传送数据,一般情况下数据总线数目较多,常用D x x表示;控制总线用来传送控制信息,它是一种单传输总线,对于CPU来讲,控制总线所传送的控制信号有的是输入信号,控制总线的数目要少些,通常用C x x表示。
手机单片机系统中的总线是由许许多多部件所共用的,各部件通过三态门挂在总线上。三态门有一个高阻状态,与总线脱离,此时对总线而言它就不是一个负载。正是由于三态门的这一特点,可以使许许多多部件同时挂在总线上而不使总线过载。总线在某一时刻只被一对部件使用(即总线一端接的是信号源部件,另一端接的是信号接收部件),在另一时刻总线又被另一对部件使用,这种由部件轮流使用总线的方法称为分时。手机由于功能很多,软件复杂,存储容量大,所以CPU需要有两个存储器为其存放手机软件,那就是版本(Flash ROM)和码片(EEPROM),它们如同档案馆,又如同大仓库,我们叫存储单元内,分门别类的存放着各种资料,参数,表格和程序。为了方便地找到每一个存储内容,每个小单元的地址都有二进制代码表示地址码,像门牌号一样,CPU要发出地址信息就是通过AB去访问格小单元。
存储器的分类有两种:EEPROM,FLASH等均是非易失性器件,非易失性存储器最大的特色是在当电源关闭后,原先储存在内的资料,仍能够持续被保存,且可以被重复抹除修改;而其中的FLASH更是已成为仅次于DRAM的全球第二大存储器市场。比较二者的差异,可以发现FLASH的前景更被看好,主要的原因在于不同容量密度,设计架构的FLASH产品,在市场上各有不同的应用及区域,集中度及相互替代性皆较低。
(一),电可擦可写可编程存储器(EEPROM electrically erasbi programmable)
EEPROM是一块存储器,俗称“码片”,二进制代码的形式存储着手机的资料,它存储的是:
1) , 手机的机身码;
2) ,检测程序,如:电池检测,显示电压检测等;
3) ,各种表格,如:功率控制(PC),数模转换(DAC) 自动增益控制(AGC)自动频率控制(AFC)等;
4) ,手机的随机资料,可随时存取和更改,如电话号码菜单设定等。
其中,码片中存储的一些系统可调节的参数,对生产厂家来说存储的是手机调试的各种工作参数及与维修相关的参数如电池门限,输出功率对话机锁,网络锁写;对于手机用户来说存贮的是电话号码本,语音记事本及各种保密选项如个人保密码,以及手机本身(串号)等等。手机在出厂前都要上调校台对手机的各种工作进行调试,以使手机工作在最佳状态。调试的结果就存在码片里,所以在不是在很必要的情况下不要去重写码片,以免降低手机的性能。
码片的分类:
1)按数据传输方式分:
采用并行数据传输的并行码片:采用此种码片的手机都是一些较早期的手机如诺基8810 ,3810,摩托罗拉8700,328,928等手机,型号如28C64等,由于并行,码片的数据线较多,不便于小型化,故现在手机中大多都不采用了。
采用串行数据传输的串行码片:采用此种码片的手机比比借是:如三星N288 ,A288 ,T108 ,T408等等。型号有:24C16 24C32 24C256 24C512等。
2) 按管脚数分:
28脚码片,也就是并行码片了。
8脚码片,也就是串行码片,8脚码片又分大8脚(即管脚间有大小之分)。串口码主要由I2C总线与外界电路进行通讯,其中SDA为串行数据线,主要负责数据的传输工作,SCL为串行时钟线,主要负责传输数据的同步工作。此外还有WP ,A1 ,GND脚。码片出现故障可分两种情况:一是码片本身硬件损坏;二是内部存储的数据丢失。两种情况中以后者为常见,常出线“手机被(Phone Locked)” , “联系服务商” (CONTACTSERVICE) , 显示黑屏甚至不开机故障。硬件故障。硬件故障的“联系服务商” 是三星系列手机的经典故障, 多是由于三星的尾插进水导致保护元件击穿进而拉低SDA和SCL线的电压,使CPU 不能正常读取码片资料而引发故障,维修时一般把保护元件拆除即可!
3) 按封装形式分:TSOP28 TSSOP8 SO8 BGA8等。
4) 按容量分:128B,256B,512B,1KB,2KB······128B(24C1024)。
下面来说一下码片的管脚功能,现在以AT系列的码片进行简介。
目前,随着集程度的增加,码片已快被“吃掉” ,不在单独存在(还存在的多为8脚码片),如V988+码片被集成在CPU内,而V988++码片集成在版内。近期手机还单独保留码片的有三星手机,如A100 A188(24C56) 2200 2400 A288
(24C256) N628(25C521) N188(24C256)及爱立信T18 T28等
FlashROM为闪速只读存储器,有是又称FLASH,俗称版本字库。它以代码的形式装载了手机的基本程序和各种功能程序。至今字库这个名词概念混 ,很不清楚,到底字库是什么呢?实际上我们可以这样区分,把它们分开叫比较易懂一些。字库一般可以分别叫程序存储器(称程序)和汉字库存储器(字存),那为什么人家不这样叫呢?这是因为先前手机设计时把汉字库作为一个存储芯片焊接在手机上,程序存储器版本也作为另一个存储焊接再手机上,而后来发展到把程序和字寸复合在一起,所以我们称之为字库罢了。字库的容量要比码片的容量大的多,常见的有32M 64及128M等。
字库在手机的作用很大,地位非常重要,具体作用如下:
1 储存主机主程序
2 储存字库信息
3 储存网络信息
4 储存录音
5 存储加密信息
6 存储序列号(IMEI码)
7 储存操作系统
FLASH按工作电压可分为:5V 3.3V 1.8V 0.9V等几种。按其数据总线宽度可以分为8位数据总线宽度,16位数据总线宽度两种;按其总线和数据总线分离,低16位地址总线和数据总线合并,地址总线和数据总线合并三种;按其扇区分布可分为TOP BOTTOM两种;其封装形式具体有TSOP40 TSOP48 FBGA48 UBGA56 FBGA72 BGA80 BGA69 等等。根据其封装形式字库可分为二大类,第一是比教长见。第二类是BGA封装形式的,这种字库用在近期生产的各种手机上,如摩托罗拉V998,诺基亚3210以及爱立信T28等手机。按其脚管的多少,手机的字库又可以分为以下两大类:一类为40脚的字库(如型号28F004,28F008);另一类为48脚的字库(如型号28F800,28F160 F160等)。字库的工作流程比较复杂:当手机开机时,CPU便传出一个复位信号REST经字库,使系统复位。再待CPU把字库的读写端 ,片选端选端后,CPU就可以从字库内取出指令,在CPU里运算,译码,输出各部分协调的工作命令,从而完成各自功能。
字库(FLASH)程序储存器的软件资料是通过数据交换端,地址交换端与微处理器进行通讯的。CE(CS)端为字库片选端,OE端为读允许端,REST端为系统复位端,这四个控制端分别者是由CPU加以控制。如果字库的地址有误或未选通,都将导致手机不正常工作,通常表现为不开机,显示字符错乱等故障现象。由于字库可以用来擦除,所以当出现数据丢失时可以用编程器或免拆机维修仪重新写入。和页码一样,字库本身也可能回损坏(既硬件故障),如果是硬件出现故障的话,就要重新更换字库。
字库其最大的特点是可擦写(即可编程),器件相对与以往的EPROM程序存储器而言,最大的优点是可以在系统编程(ISP-InsystemProgmmable),对于这种IAP技术简单点就是指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路版上取下器件,已经编程的器件也可以用ISP方式擦除或在编程。一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来将通过SPI或其它的串行接受上位机的数据并写入存储器中。所以即使我们将芯片焊接在电路版上,只要留出和上位机接口的这个串口,就可以实现芯片存储器的改写,而无须在取下芯片。说的通俗点,就是不用把字库从手机上拆下来,就可以用电脑配合传输线擦写字库,但不同的手机需要配合不同的工具软件来完成ISP(在系统可编程)。
随着手机功能的越来越多,手机的工作程序也越来越大,相应的手机的字库容量也越来越大。例如摩托罗拉328英文手机的字库型号为28F800,容量为1M字节,寻址线宽A0-A18共19条地址线。到了摩托罗拉V988的时候,寻址线宽A0-A19共20条地址线。而V988++的字库型号为28F320,容量为4M字节,寻地线宽A0-A20共20条地址线。由于上面的例子可以看出,字库的地址总线的线宽是随字库容量的增加的,每多出一条高位地址线,则字库的容量增加一倍。
库型号不会有相同的编码,哪怕这个字库是全新空白的字库。后来64Bit为用户可编程OTP单元(64BitUserProgrammableOTPCells),可以由用户自用设定,单只能写入,不能擦除。
2 目前有部分手机例如西门子,NEC等,是采用64Bit 唯一码进行加密,
(1) 手机生产前,所有字库的内容都是同一写如的。
(2) 手机生产完成后,开机自检,自检程序判断唯一码,并根据唯一码的编号,在常规储存区域写入相应的信息,因此出厂的手机字库是完全不一样的。
(3) 手机厂商的这种做法是为了保护其自身的产权不收到非法抄袭。
(4) 很多维修工作者也尝试过,把一部正常使用的手机字库拆下来,把资料读出来并写入一颗全新字库,并装回到另外一部手机,哪怕是同一部手机上面,也不能正常使用,例如西门子的就是显示两行英文。其原因是手机开机后判断字库的唯一代码是否和主存储区域的相对应,如果不对应,就显示错误信息。
3 作为正常的维修前途,可以借助一些工具来找到唯一码的解秘方发的。如用凌凯LK48,UP48,选带“LOCK”或“-MLOCK”的选型 ,如320C3OCK,可以把唯一器件码和用户可编程OTP单元读出来,然后通过对比等方法找到解密的方法。
3 数据存储器(PAM random access memory)
前面我们谈的ROM是存储器,它们是程序资料和数据的“家”,有长期存放的概念,即使段电也依然保留。而RAM俗称暂存,顾名思义是暂时寄存。前加S是静态的意思,SRAM平时没有资料,只是单机片系统工作时,为数据和信息在传输过程中提供一个存放空间,像旅途中的“旅店”,她存放的数据和资料断电就消失,主要型号有0101、0201、0401、及0612A、062127、062137、062147等。现在存在仍是单机片系统中必不少的数据存储器,其最大的特点是存取速度快,断电后数据自动消失。随着手机功能的不断增加,单片机系统所运行的软件越来越大,相应的PAM的容量也越来越大,从早期的几十K到几百K再到今天的几M比特。
从维修的角度来讲,暂存只要不需焊,器件不损坏即可。在新型手机中,暂存慢慢地看不到了,比如西门子1118、2118;摩托罗拉T90;夏新A8等,是没有了吗?不是, 只是被封装在CPU或字库中而已。比如常见的21118的CPUPMB6850内带1M暂存,其容量同V998单加的暂存62127一样大小。而T190的CPU自带2M暂存,其“没有暂存”的原因也很明白。当然,暂存空间不足或损坏也会引起诸如死机、不开机等故障。
在以前较旧的一些机型当中,CPU、Flashrom\EEPROM\SRAM等芯片是独立的,维修时看主板就知道哪个是CPU,哪个是字库、码片,如诺基亚5510/6110/7110/8810/3210,三星S600/800/2200等机型。随着存贮技术的发展,器件的集成度越来越高以及手机 于小型化,故此现在较新的手机均采用复合结构的芯片简单点说就是把一块芯片集成或者封装进另一片芯片中,纵观现在较新的手机,暂存及码片很多都已经“不存在”了,因为它们有些被封近CPU或字库中,如上文所说的摩托罗拉T190的CPU就带有2M暂存了,诺基亚8310的CPU带有8M的暂存。字库的功能更是越来越大强大,很多码片或暂存被集成至字库,形成一个复合结构的字库,这种复合字库的功能十分强大,被广泛应用在新型的手机中。
字库这种复合结构有以下几种形式:
1、字库+暂存形,如:三星系列手机N628/A188/A388/A408······/T408/T508等,摩托罗拉V70等。三星N628复合字库,
2、字库+码片形,如:摩托罗拉V988、V60等。
3、字库+暂存+码片型的复合结构的应用越来越广泛,但由于程序的繁多以及程序设计的不完善往往会容易引起各种故障,对于软件技术基础薄弱的国产机型,采用此种组合都很容易引起软件故障,各位读者在维修时要小心了。
芯片识别:
以上详细的介绍各种逻辑芯片,下面就具体介绍一下常见的芯片识别的方法。要全面了解一块集成电路的用途、功能 、基本参数,那必须知道该集成电路的型号及其产地。一般集成电路芯片其正面都印有型号或标记,从而根据型号的前缀或标志就能初步知道它是那个生产厂或公司的集成电路产品,根据其数字就能知道属哪一类的电路功能。集成电路产品型号的前缀一般为公司代号,如:AM-AMD公司、AT-ATMEL公司、MC-摩托罗拉公司、X-XICOR公司等。特殊的如Intel,把前缀代表生产厂的英文字母省略掉的集成电路,一般来说,通常会把自己生产厂或公司的名称商标打印上去。各产品的中间数字相同的型号一般可互换。通常习惯(不严格)的称谓::74XX、74HCXX、54XX、40XX、45XX、28FXXX、29LVXXX。如果电路对元件要求比较严格,就要对厂家提供的资料进行分析再做决定。例如AN5620,前缀AN说明是松下公司双极型集成电路,数字“5620”前二位区分电路主要功能,“56”说明是电视机用集成电路,而70~76属音响方面的用途,30~39属录象机用电路。详细情况请参阅产生厂集成电路型号的命名。以及手机维修长见的28Intel28和AMD29LVXXX两类芯片为例,。
IO接口:
I/O接口(I/O Intterface)
输入/输出接口常用I/O接口表示,I是指输入接口,是英文IN的简写。O是指输出接口,是英文OUT的简写。
输入/输出接口电路是指CPU与外部电路、设备之间的连接通道及有关的控制电路。由于外部电路、设备中的电平大小、数据格式、运行速度、工作方式等均不统一,一般情况下是不能与CPU相兼容的(即不能直接与CPU连接),这些外部电路和设备只有通过输入/输出接口的桥梁作用,才能进行相互之间的信息传输、交流并使CPU与外部电路、设备之间协调工作。由于I/O部件在结构和工作原理上与CPU有很大的差异,它们都有各自单独的时钟、独立的时序控制和状态标志。CPU是个高速部件,与I/O部件工作在不同速度下,所以它们之间的差别一般能够达到几个数量级,同时CPU与外围I/O部件进行数据交换时必须引入相应的逻辑部件,解决两者之间的同步与协调,根据格式转换等,总体上说,I/O接口的基本功能如下:
A、参与单片机内数据的传输操作,选择输入、输入部件。
B、参与控制完成选定的I/O部件与CPU及其它部件之间的数据交换。
1、接口的作用
1) 现数据缓冲,使CPU与相关外部电路的I/O部件在工作速度上达到匹配。
2)实现数据格式的转换。
3)提供外围部件和接口的状态,为CPU更好的控制各种外围部件,提供有效的帮助。
4)实现主机与外围部件之间的通讯联络控制。
2、接口的种类
手机接口是个很广义的概念,主要有以下几种分类方法:
1)按手机电路功能分类:
有模似接口、数字接口(MMI manand moleile interface)。
2)按数据传输宽度分类:
有并行接口、串行接口。
3)按操作的节拍分类:
有同步接口、异步接口。
4)按数据传送控制方式分类
可将接口分为有程序的控制的I/O接口、程序中断I/O接口和直接存储器存取(DMA)接口等三种。
虽然手机输入/输出接口种类繁多,不同的外部电路和设备需要相应的输入/输出接口电路,但可利用编制程序的方法具体确定接口的工作方式、功能和工作状态。
定时器/事件计数器:
为了提高单片机的实时控制能力,一般单片机内都设有定时器电路。定时器有两种类型:一是增量计数器;二是减量计数器。
当定时器溢出时,增量计算器产生中断并作标位置位;当定时器回零时,减量计数器产生中断。
有的定时器还具有自动重新加载的能力,这使得定时器的使用更加灵活方便,利用这种功能很容易产生一个可编程的时钟。
此外,定时器还可以作为一个事件计数器,当工作在计数器方式时,可从指定的输入端输入脉冲,计数器对其进行计数运算。
时钟系统:
时钟系统是单片机的重要系统,单片机的工作是按部就班的,按一定规则排列时间顺序的定时,就是由时钟系统控制的。时钟信号单片机执行指令时要做的操作按先后顺序排好,并给没一个操作规定好固定时间,这样就要可以使单片机在某一时刻只做一个动作,实现电路的有序工作。而它工作的快慢又和手机的状态有关大多数的手机在开机时因需要处理的文件多,时间要求短,时钟多为13MHz,而在待机或休眠时有32.768kHz就足够了。这有点类似于电脑CPU的主频,这也就是为什么手机开机时13MHz频偏一点无所谓,只要有足够的振幅可以传送数据就行了,而如网时才和基站不住校准的原因之一。
总线(BUS):
为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适应的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总结结构便于部件设备的扩充,尤其制定了统一的总线准则容易使不同设备间实现互连。地址总线(AB)、数据总线(AB)和控制总线(CB)三条总线都与CPU相连接,总线将多个信息源和多个接收部件联系起来,相互之间传输信息。
总线是各信号源和接收部件共用的总线,信号可以从多个信号中的任意一个传输到某一个接收部件中,各部件之间按时间轮流使用总线,这样可以大大降低总线的数目。
1、 地址总线(AB address bus)
地址总线(AB)用来由CPU向存储器(ROM)单元和输入/输出接口发送(传输 地址信息的总线。由于存储器(ROM)单元和输入/输出接口是不向CPU传输信息的,所以地址总线(AB)是单向传输总线。
2、 据总线(DB data bus)
数据总线(DB)用来在CPU与存储器、输入/输出接口和其它电路之间相互传输数据状态和指令。由于数据可以从CPU传输到内部存储器、输入、输出接口,也可反方向传输到CPU中,所以数据总线(DB)是双向传输的总线,与地址总线(AB)不同。
3、 控制总线(CB control bus)
控制总线CB是各种控制信号总和,(Control Bus)控制总线是用来传送各种控制信号的,这些信号是CPU和其它芯片间相互传递信息和相互进行控制用的。有的是CPU发给存储器(或I/O接口)的控制信号,称输出控制信号,如Intel8086的读信号,写信号。有的又是外设通过接口发给CPU的控制信号,称输入控制信号,如8086中的中断请求信号INTR,NMI。控制领事间是相互独立的,其表示方法采用能表明含义的缩写英文字母符号,若符号上有一横线,表明用负逻辑(低电平有效),否则为高电平有效。
4、分时使用
所谓分时使用就是总线被许多部件共用,分时间轮流使用,即总线一端接的信号源部件,另一端接的信号接受部件,但在某一时刻只允许一对部件,另一时刻又被另一对部件使用。如同多列火车使用一条公用铁轨,但因分时通过,所以互不干扰,响安无事。为了保证总线的分时使用,在各部件与总线之间都才用了三态门电路连接,通过控制器按指令的要求控制各个三态门电路的工作状态,以保证总线的分时使用,在某一时刻不参与工作的三态门均处于高阻状态,相当于与总线之间断开。即与总线脱离,此时对总线而言,它就不是一个负载。所以许许多多部件同时挂在总线上而不使总线过载。
5、数据的存区
数据存储在具有记忆功能的存储器中,对存储器中的数据进行提取或将数据写入存储器时,起码需要下一列两条控制线:
一条是区分读操作和写作的读/写(R/W)控制线,这根线要连接到CPU的R/W端,由CPU决定对存储器是进行读出数据,还是写入数据,即确定数据的流向。
另一线是片选控制线(CS),有时也称片选启动控制线(CE)。每一个存储器都是通过三态门电路和与总线引相连接,片选信号就是控制这些三态门的工作状态的控制信号。当片选信号到来时,即片选信号为高电平,存储器才工作。
由于三态门的工作特性,没有片选信号(高电平)到达存储器,三态门电路对数据总线呈高阻状态。正是由于这个特点,可以将许多单元存储器电路同时接到CPU总线上而不会造成总线的过载,这样总线可以挂许多存储器,形成大容量的存储器。
对存储器读取操作,是根据地址总线(AB)上的地址码来查找存储器中的存储单元,将数据写入或读出.
二是在用电脑和传输线对手机字库进行编程时,CPU改为ISP编程工作状态,在外部电脑的控制下,CPU对字库进行擦写操作,这时数据信号是从CPU通过数据总线传送到字库。
CPU工作在ISP状态下,数据从外部编程设备通过本机CPU把手机资料写入字库,这时数据总线是把信号从CPU传送到字库。总而言之,数据总线是双向的,可以工作在双向的信号传输状态下。当然,具体的信号传输方向还是由CPU控制。
对于一台不开机的手机,取下字库测其它地址总线的寻址信号,如果正常,则要注意先检查CPU的工作条件是否满足,如:供电,复位,时钟等。如果CPU的工作条件完全正常的情况下CPU还不能正常发出寻址信号的话,则CPU可能损坏。而地址总线和数据总是下面关系呢?这里就简单介绍一下:说的通俗一点,地址总线就是给出具体的取东西(数据)的地址,数据线上得到的数据就是要取东西。比如:小明的妈妈让小明去一单元10号去找小花要回作业本。在这个过程,“一单元10”就是地址,而“作业本”是得到的数据。不然的话,假设小明的 妈妈不给小明讲明白是给谁要的话,小明肯定会问找谁要,结果也不可能要会小花的作业本。用专业术语来说,,地址总线是主动的给出所要取回的数据所在存贮单元的字线高电平,而数据总线是被动的得到存贮单元漏出的字线的部分高电平,高电平为二进制1,低电平为二进制0。为了描述方便,下面以4位字长的一个存储单元为例,来具体说明一下字库的地址总线和数据总线的关系。地址(Address)线有A0和A1共两条,通过地址译码成四条线(Word)线W0、W1、W2和W3,每条字线对应一个字长的字,没一个字由四位数据(Data)组成,由低到高分别为D0、D1、D2和D3。注意,在子线中只能有一条线出现高电平,绝对不能有两条或两条以上的字线出现高电平。具体哪一条工作在高电平状态下,由地址线A0和A1的具体状态决定。由译码的结构可以看出,当A1和A0为00时,也不就是A1为低平0,A1也为电平0时,也就是A1为低电平,A0为高电平时,W1字线输出高电平。当A1A0为10时,,W2线输出高电平。当A1和A0为11时,W3字线输出高电平。地址译码器的存在主要是为了减少器件的引出线数量。在这时四条线引出两条地址就可以了,如果我们常见的28F320B3B不用地址译码器的话,会引出2的21次方条子线,也就是2097152条线,是个天文数字。可见地址译码器在大容量存储器中所起到的减少引用是很大的。4M字节容量的28F320比2M字节容量的28F160仅仅多了一条高位地址线A20而28F320内部的字线却比28F160多出了1048576条。容量越大的字库,起字线就越多,相应的其地址线的位数越多的字库,其数据总线的位线就越多。4位字库,其数据总线共有四位,由低位到高位分别为D0、D1、D2和D3。爱立信788英文手机的字库就是8位,相应的其数据总线也为8位,由低位到高位分别为D0、D1、D2、D3、D4、D5、D6、和D7。V998和V60手机的字库是16位的,其数据总线的线宽也是16位,由低位到高位分别为D0、D1······ 、D14和D15。对于手机16位字库来说,每条字线所对应的存贮单元为16个,也就是16个比特,两个字节。
I2C总线:
I2总线是英文 的Inter Integrated Circuit Busde 缩写,常译为内部集成电路总线,或集成电路间总线,是荷兰飞利浦公司的一种通信专利技术,它可以由两根线组成(串行数据线和串行时钟线),可使所有挂接在总线上的器件进行数据传递,I2总线使用软件寻址方式识别挂接于总线上的每个I2C总线器性,每个I2C总件都有唯一确定的地址号,以使在器件之间进行数据传递,I2C总线几乎可以省略片选、地址、译码等连线。
一、 I2C总线系统的基本结构
I2C总线是一种双线双向串行总线,在I2C总线系统中,总线仅由两根线组成。
一根叫串行时钟线(Senal Clck Line)常用SCL表示,另一根叫串行数据(Serial Data Line)常用SDA表示,它们均从CPU上引出,其它单元电路均挂在这两根线上,
在I2C总线中,CPU拥有总线控制权,又称为主控器,其它电路皆受CPU的控制,故将它们统称为控制器。主控器能向总线发发送时钟信号,又能积极地向总线发送数据信号和接收被控制器送来的应答信号被控制器不具备时钟信号发送能力,但能在主控制器的控制下完成数据信号的传送,它发送的数据信号一般是应答信息,以将自身的工作情况告诉CPU。CPU利用SCU线和SDA线与被控电路之间进行通讯,进而完成对被控电路的控制。
由于I2C总线只有两根线组成,这就决定了其数据传送方式是串行式(即一位一位的传送,这种串行总线虽没有并行总线的输入输出能力,但能使电路之间的连接变的简单,还能有效地减少CPU的控制脚。
二、 I2C总线的数据传输格式
1、I2C总线的数据传输特点
因I2C总线是双线、双向串行总线其数据传送必须严格按照一定的格式进行,I2C总线数据传输具有如下一些特点。
1、数据传送顺序必须是:起始位、被控电路地址、数据传送方向位(读/写)、确认位、数据信号、确认位、数据信号、确认位、终止位。
2、在时钟线保持高电平期间,数据线上一由高到低的跳变定义为起位,反之为终止位。起始位和终止位信号是由主控CPU发出的,当CPU发出起始位信号后,总线就被认为处于占占用状态当CPU发出终止位信号后,总线被认为处于空用状态,当总线空用时,SDA、SCL两线均应保持高电平。
3、在进行数据传送时,SCL线为高电平期间,SDA线上的数据必须保持稳定,在SCL线为低电平期间,SDA线上数据才允许变化。
4、在SDA线上传输的数据,其字节为8位,每次传送的字节总数不限,被控电路的地址占用7位,第7位为数据线传输的方向位,CPU有发送数据和接收数据,在每一个数据字节后跟着一位确认信号,在确认为时钟期间,CPU释放数据,以便被控器在这个送出应答信息。
2、I2C总线的读写时序
I2C总线上的每一次数据传送都是在主控器之间进行的。在没有数据传输时,SDA、SCL均被上拉为高电平,当需要进行数据传输时,主控器首先产生一个起始信号,(既SCL为高电平,SDA为被主器拉低的下降沿),然后在每个SCL时钟脉冲出现时传递一个数据位,直到主控器产生一个停止信号(既SCL为高电平,SDA为被主控器释放的上升沿)为止。I2C总线主控器首先发送被控器的7位地址及读/写位共1个字节,在每个字节后,主控器都要等待被控器的应答位,既主控器释放SDA数据线,被控器在接着的第九位SCL脉冲期间拉低SDA数据线以表示应答。再接着就是主控器发送数据被控器(写被动控器)或接收被控器发送来的数据(读被控器),最后由主控器发出停止信号来通知被控器以结束整个数据传送过程。
I2C总线协议规定传送的数据长度为8位,而每次传送数据字节数以及字节地址中具有不同的规定。对于可编程器件,往往还需要根据已传递的命令情况确定下一步的数据传递操作。以24WC02为例,主控器对其进行的操作模式包括: 字节写、页写、立即读、选择读、连续读等多种情况,在字节写模式时,主器件发送起始信号和从器件地址,然后发送写入字节地址,在发送写入数据,最后发送停止信号从而完成一次写操作;页写模式与字节写模式的不同之处只是在字节写一个数据后并不立即发送停止信号,而是连续发送一页数据(规定一页为16个字节)后来停止在立即读模式时,从器件在接收到主器件发送的器件地址后立即将上一次读/写操作的单元地址+1的内容发送到数据线上,主器件收到8位数据后,不回送应答位,而是直接回馈一个停止信号来完成一次立即读操作;在选择读模式时,主器件首先发送起始信号和从器件地址,最后读取数据;连续模式实际上是立即读或选择读操作的扩充,在执行立即读或选择读操作获取一个字节数据后,主器件并回馈停止信号而是回馈一个应答位,以表示主器件需要更多的数据,然后由从器件有序地将后续字节数据发送到数据线上,知道收到主控器件给出的停止信号为止。
3、 2C总线在手机中的控制过程
以三星SGH-800手机为例,CPU对控制对象的控制,可形象描述为以下3个过程:
1、CPU的寻址方式,当CPU需要控制U412(码片)时,CPU会向总线K12脚和J11脚发送U412的地址指令,U412的5脚和6脚接到指令后,便发出应答信息,CPU接收到应答信息后,就将U412作为自己的控制对象。
2、CPU调用数据过程,CPU找到U412后,就从存储器中调用出控制信息及用户信息,并通过I2C总线送到CPU的K12脚和J11脚,以便控制U412的工作状态。
3、被控器执行指令的过程,当U412接收到指令后,便对指令进行“破译”并音“破译”的结果与自己的存储内容编码进行比较,以确定作何种操作,这项工作是由总线接口中的译码器来完成。确定何种操作后,总线接口中的相应控制开关便自动接通,控制数据经开关后送到D/A转换器,转换成模拟信号,完成相应操作。
I2C总线数据传送最忙的时刻是刚开机的瞬间,由于CPU要从存储器中取出控制信息及用户信息,并分时送到各被控制器,使被控制器进入相应的工作状态,因此刚开机的瞬间,CPU的控制任务最重要,控制过程复杂,损坏硬件和软件的可能性自然也最大,所以使用I2C总线的手机应尽量避免频繁开/关机。在三星系列手机由于尾插易受到外界污染而漏电从而导致I2C总线不能正常传输,其结果是CPU无法正常读码片文件,导致手机工作不正常。三星手机是I2C总线故障很典型,很有代表性。
在单片机系统中,CPU不仅要实现对自身的控制,还担负对单片机系统内外其它功能部件的控制,完成规定的操作和运算。CPU在实现这些控制功能时,是通过逐步执行指令序列的过程来完成的。
单片机系统对任何一条指令的执行必须经历下列三个阶段:
1、取指令阶段;
2、分析指令阶段
3、执行指令阶段。
关于手机单片机系统的工作过程主要说明下列几点:
1、单片机系统执行一条完整的指令必须经过取指令、分析指令和执行指令三个过程。CPU中的每条指令都存放在专门的存储器(ROM)中。
2、程序由指令序列组成,程序的执行过程就是执行指令序列的过程,也就是周而复始地进行取指令、执行指令过程。
3、程序的执行种类分为四种:一种从零地址开始执行;二是从中间某一给定地址开始执行;三是顺序执行;四是非顺序执行。
4、程序的执行中需要去控制单片机的外部电路,其控制方式有两种:一是直接控制方式;二是间接控制方式。前者电路结构简单,但不能用来直接控制数目比较多的执行部件,因为这会占有单片机的许多输出接口。间接控制方式与直接控制方式相反,它通过一个控制器,由单片机控制这一控制器。再由这一控制器去直接控制执行部件,这样可省去微控制器的许多输出接口,这种间接控制方式能够控制数目很多的外部执行部件。
5、中断是单片机中的一种重要功能,它能够使单片机的控制功能更加完善。所谓中断,就是在正常执行程序的过程中,暂时停止执行主程序,而转去执行另一个更加紧急的程序。
6、中断有五个阶段:一是中断请求;二是中断排队;三是中断响应;四是中断处理;五是中断返回。
手机中的单片机一般是64位微处理器(CPU),简单点说,我们可以把CPU直接看成是一块单片机,而这块单片机只有控制运算功能,而不具备存储等功能是外置的。它与外围某些器件的工作流程如:
按手机开机键,给维持电源部分供电,同时上电单片机,单片机复位后,再给出控制信号给维持电源部分,这时即使松开开机键也无妨。
复位后,CPU开始运行其内部的程序存储器,首先从地址0(一般地址0,也有些厂家CPU不是)开始执行,然后顺序执行它的引导程序,同时从外部存储器(字库、码片)内读取资料。如果此时读取的资料不对,则CPU会内部复位(通过CPU内部的“看门狗”或者硬件复位指令)引导程序,如果顺利执行完成后,CPU才从外部字库里取程序执行,如果取得程序异常,它也会导致“看门狗”复位,既程序又从地址0开始执行。
CPU读取字库是通过并行数据线和地址线和地址线,再配合读写控制时钟线W/R,有些读者可能会问,字库是怎么区分是读程序,还是读数据?单片机还有一跟外部程序存储器片选信号线或CS、CE、,它和W/R配合作用,就能让字库区分读是数据,还是程序。
手机工作流程:
手机所有软件工作的流程都是在CPU的作用下进行的,具体的划分包括下文所述的几个流程。这些流程都是以软件数据的形式储于手机的EEPROM和FLASHROM中。
一、开机流程
当手机的供电模块检测到电源开关键被按下后,会将手机电池的电压转换为适合手机电路各部分使用的电压值,供应给相应的电源模块,当时钟电路得到供电电压后产生震荡信号,送入逻辑电路,CPU在得到电压和时钟信号后会执行开机程序,首先从ROM中读出引导码,执行逻辑系统的自检。并且使所有的复位信号置高,如果自检通过,则CPU给出看门狗(Watchdog)信号给各模块,然后电源模块在看门狗(Watchdog)信号的作用下,维持开机状态。
二、上网流程
手机开机后,既搜索广播控制信号道(BCCH)的载频。因为系统随时都向在小区中的各用户发送出用户广播控制信息。手机收集搜索到最强的(BCCH)的载频。对应的载频频率后,读取频率校正信道(FCCH),使手机(MS)的频率与同步。所以每一个用户的手机在不同上午位置(既不同的小区)的载频是固定的,它是由GSM网络运营商组网时确定,而不是由用户的GSM手机来决定。手机读取同步信道(SCH)的信息后找出基地站(BTS)的识别别码,并同步到超高TDMA的帖号上。手机在处理呼叫前读取系统的信息。比如:邻近小区的情况、现在所处小区的使用频率及小区是否可以使用移动系统的国家号码和网络号码等等,这些信息都可以在以BCCH上得到手机在请求接入信道(RACH)上发出接入请求信息,向系统送SIM卡帐号等信息。系统在鉴权合格后,通过允许接入信道(AGCH)使GSM手机接入信道上并分配到GSM手机一个独立专用控制信道(SDCCH)。手机在SDDCCH上完成登记。在满速随路控制信道(SACCH)上发出控制指令,然后手机返回空闲状态,并监听BCCH和CCCH共控制信道上的信息。此时手机已经做好了寻呼的准备工作。
三、 机流程
用户监测BCCH时,必须与相近的基站取得同步。通过接收FCCH、SCH 、BCCH信息,用户将被锁定到系统及适应的BCCH上。
四、 呼叫流程
1、手机作主叫
我们GSM系统中由手机发出呼叫的情况,首先,用户在监测BCCH时,必须与相近的基站取得同步。通过接收FCCH、SCH、BCCH信息,用户将被锁定到系统及适当的BCCH上的。
为了发出呼叫,用户首先要拨号,并按压GSM手机的发射键。手机用锁定它的基站系统的ARFCN来发射RACH数据突发序列。然后基站以CCCH上的AGCH信息来响应,CCCH为手机指定一个新的信道进行SDSSH连接。正在监测BCCH中T的用户,将从AGCH接收到它的ARFCN和TS安排,并立即转到新的ARFCN和TS上,这一新的ARFCN和TS分配就是SDCH(不是TCH)。一旦转接到SDCCH,用户首先等待传给它的SCCH(等待最大持续26或120ms)
这信息告知手机要求的定时提前量和发射功率。基站根据手机以前的RACH传输数据能够决定出适合的定时提前量和功率级,并且通过SACCH发送适当的数据供手机处理。在接收和处理完SACCH中的定时提前量信息后,用户能够发送正常的、话音业务所要的求的是突发序列消息。当PSTN从拨号端连接到MSC,且MSC将话音路径接入服务基站时,SDCCH检查用户的合法及有效性,随后在手机和基站之间发送信息。几秒钟后,基站经由SDSSH告知手机重新转向一个为TCH安排的ARFCN和TS。一旦再次接到TCH,语音信号就在前向链路上传送,呼叫成功建立,SDCCH被腾空。
2、手机作被叫
当从PSTN发出呼叫时,其过程与上述过程类似。基站在BCCH适应内的Tso期间,广播一个PCH消息。锁定于相同ARFCN上的手机检测对它的寻呼,并回复一个RACH消息,以确认接收到寻呼。当网络和服务器基站连接后,基站采用CCCH上的AGCH将手机分配到一个新的物理信道,以便连接SDCCH和SACCH。一旦用户在SDCCH上建立了定时提前量并获准确认后,基站就在SDCCH上面重新分配物理信道,同时也确立了TCH的分配。
五、 关机流程
关机时,按下开关键,键盘检测模块向数字逻辑部分发出一个关机请求信号,CPU既撤消开机维持信号,执行关机程序,供电模块撤消供电,射频和逻辑电路立即停止工作。如果在开机状态下强制关机(取下电池)也有可能会造成内部软件故障。
另外手机还包含其它软件工作流程如充电流程、电池监测、键盘扫描、测试流程等。