找回密码
 注册
搜索
查看: 1718|回复: 7

[软件测试资料] 手机的软件工作原理[转贴]--3

[复制链接]
发表于 2006-1-10 14:43:00 | 显示全部楼层 |阅读模式
对于维修人员来说,应该明确和特别注意的是:数据总线上传输的数据信号是双向的即可以由CPU发出,也可以由CPU接收。具体到788、T18等独立字库(相对于复合字库而言)手机来说,它的CPU和字库之间的数据总线传输的信号的方向可分两种情况,一是在手机正常工作时,字库是做为系统的程序存储器(ROM)使用的,这时CPU只能从字库读取数据,而不能擦写字库,故此时数据信号的方向只是从字库到CPU。二是在用电脑和传输线对手机字库进行编程时,CPU改为ISP编程工作状态,在外部电脑的控制下,CPU对字库进行擦写操作,这时数据信号是从CPU通过数据总线传送到字库。
对V988、V60等复合字库(内部含有码片EEPROM)而言,在手机的正常状态下数据也可以从CPU通过数据总线写入字库内 的码片部分。比如:我们在改变V988手机的功能设置或存贮电话号码时。当然,手机在正常工作时的绝大部分时间从字库中读取数据。同样,在EEMI工具或P2K对手机进行软件写入时,CPU工作在ISP状态下,数据从外部编程设备通过本机CPU把手机资料写入字库,这时数据总线是把信号从CPU传送到字库。总而言之,数据总线是双向的,可以工作在双向的信号传输状态下。当然,具体的信号传输方向还是由CPU控制。
另外需要特别明确:地址总线的信号传输方向,只能从CPU出发,而字库也只能被动的接收CPU发过来的寻址信号。明确了这一点,对我们检修不开机的手机时是很有帮助的,对于一台不开机的手机,取下字库测其它地址总线的寻址信号,如果正常,则要注意先检查CPU的工作条件是否满足,如:供电,复位,时钟等。如果CPU的工作条件完全正常的情况下CPU还不能正常发出寻址信号的话,则CPU可能损坏。
而地址总线和数据总是下面关系呢?这里就简单介绍一下:说的通俗一点,地址总线就是给出具体的取东西(数据)的地址,数据线上得到的数据就是要取东西。比如:小明的妈妈让小明去一单元10号去找小花要回作业本。在这个过程,“一单元10”就是地址,而“作业本”是得到的数据。不然的话,假设小明的 妈妈不给小明讲明白是给谁要的话,小明肯定会问找谁要,结果也不可能要会小花的作业本。
用专业术语来说,,地址总线是主动的给出所要区回的数据所在存贮单元的字线高电平,而数据总线是被动的得到存贮单元漏出的字线的部分高电平,高电平为二进制1,低电平为二进制0。为了描述方便,下面以4位字长的一个存储单元如图2-2-12(a)为例,来具体说明一下字库的地址总线和数据总线的关系。图中地址(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、2C总线的数据传输特点
因I2C总线是双线、双向串行总线其数据传送必须严格按照一定的格式进
行,I2C总线数据传输具有如下一些特点。
1数据传送顺序必须是:起始位、被控电路地址、数据传送方向位(读/写)、确认位、数据信号、确认位、数据信号、确认位、终止位。
2在时钟线保持高电平期间,数据线上一由高到低的跳变定义为起位,反之为终止位。起始位和终止位信号是由主控CPU发出的,当CPU发出起始位信号后,总线就被认为处于占占用状态当CPU发出终止位信号后,总线被认为处于空用状态,当总线空用时,SDA、SCL两线均应保持高电平。
3在进行数据传送时,SCL线为高电平期间,SDA线上的数据必须保持稳定,在SCL线为低电平期间,SDA线上数据才允许变化。
4在SDA线上传输的数据,其字节为8位,每次传送的字节总数不限,被控电路的地址占用7位,第7位为数据线传输的方向位,CPU有发送数据和接收数据,在每一个数据字节后跟着一位确认信号,在确认为时钟期间,CPU释放数据,以便被控器在这个送出应答信息。
2、I2C总线的读写时序
I2C总线上的每一次数据传送都是在主控器之间进行的,数据传送过程如图2-2-14所示。在没有数据传输时,SDA、SCL均被上拉为高电平,当需要进行数据传输时,主控器首先产生一个起始信号,(既SCL为高电平,SDA为被主器拉低的下降沿),然后在每个SCL时钟脉冲出现时传递一个数据位,直到主控器产生一个停止信号(既SCL为高电平,SDA为被主控器释放的上升沿)为止。I2C总线主控器首先发送被控器的7位地址及读/写位共1个字节,在每个字节后,主控器都要等待被控器的应答位,既主控器释放SDA数据线,被控器在接着的第九位SCL脉冲期间拉低SDA数据线以表示应答。再接着就是主控器发送数据被控器(写被动控器)或接收被控器发送来的数据(读被控器),最后由主控器发出停止信号来通知被控器以结束整个数据传送过程。
I2C总线协议规定传送的数据长度为8位,而每次传送数据字节数以及字节地址中具有不同的规定。对于可编程器件,往往还需要根据已传递的命令情况确定下一步的数据传递操作。以24WC02为例,主控器对其进行的操作模式包括: 字节写、页写、立即读、选择读、连续读等多种情况,
在字节写模式时,主器件发送起始信号和从器件地址,然后发送写入字节地址,在发送写入数据,最后发送停止信号从而完成一次写操作;页写模式与字节写模式的不同之处只是在字节写一个数据后并不立即发送停止信号,而是连续发送一页数据(规定一页为16个字节)后来停止在立即读模式时,从器件在接收到主器件发送的器件地址后立即将上一次读/写操作的单元地址+1的内容发送到数据线上,主器件收到8位数据后,不回送应答位,而是直接回贵一个停止信号来完成一次立即读操作;在选择读模式时,主器件首先发送起始信号和从器件地址,最后读取数据;连续模式实际上是立即读或选择读操作的扩充,在执行立即读或选择读操作获取一个字节数据后,主器件并回贵停止信号而是回贵一个应答位,以表示主器件需要更多的数据,然后由从器件有序地将后续字节数据发送到数据线上,知道收到主控器件给出的停止信号为止。
3、 2C总线在手机中的控制过程
以三星SGH-800手机为例,CPU对控制对象的控制(如图2-2-16所示),可形象描述为以下3个过程:
1CPU的寻址方式,当CPU需要控制U412(码片)时,CPU会向总线K12脚和J11脚发送U412的地址指令,U412的5脚和6脚接到指令后,便发出应答信息,CPU接收到应答信息后,就将U412作为自己的控制对象。
2CPU调用数据过程,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中断有五个阶段:一是中断请求;二是中断排队;三是中断响应;四是中断处理;五是中断返回。
手机中的单片机一般是16位微处理器(CPU),简单点说,我们可以把CPU直接看成是一块单片机,而这块单片机只有控制运算功能,而不具备存储等功能是外置的。它与外围某些器件的工作流程如:
按手机开机键,给维持电源部分供电,同时上电单片机,单片机复位后,再给出控制信号给维持电源部分,这时即使松开开机键也无妨。
复位后,CPU开始运行其内部的程序存储器,首先从地址0(一般地址0,也有些厂家CPU不是)开始执行,然后顺序执行它的引导程序,同时从外部存储器(字库、码片)内读取资料。如果此时读取的资料不对,则CPU会内部复位(通过CPU内部的“看门狗”或者硬件复位指令)引导程序,如果顺利执行完成后,CPU才从外部字库里取程序执行,如果取得程序异常,它也会导致“看门狗”复位,既程序又从地址0开始执行。
CPU读取字库是通过并行数据线和地址线和地址线,再配合读写控制时钟线W/R,有些读者可能会问,字库是怎么区分是读程序,还是读数据?单片机还有一跟外部程序存储器片选信号线或CS、CE、,它和W/R配合作用,就能让字库区分读是数据,还是程序。
     [br]<p align=right><font color=red>+5 RD币</font></p>
发表于 2006-1-10 15:05:00 | 显示全部楼层
<P>免费,照例+5rd</P>
点评回复

使用道具 举报

发表于 2006-2-20 17:55:00 | 显示全部楼层
说的非常好啊
点评回复

使用道具 举报

发表于 2006-3-1 19:49:00 | 显示全部楼层
强烈支持楼主!好!
点评回复

使用道具 举报

发表于 2006-3-31 18:39:00 | 显示全部楼层
<P>过程架构还算详细。</P>
点评回复

使用道具 举报

发表于 2006-4-20 10:58:00 | 显示全部楼层
<P>虽然很多不懂 但是还有谢谢 有帮助</P>
点评回复

使用道具 举报

发表于 2007-1-26 13:51:00 | 显示全部楼层
very  good
点评回复

使用道具 举报

发表于 2009-9-21 14:05:00 | 显示全部楼层
帮顶。。。。。
本文来自:我爱研发网(52RD.com) 详细出处:http://www.52rd.com/bbs/Post.asp?action=re&BoardID=71&ID=92901&star=1&page=1
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-9-22 02:08 , Processed in 0.060941 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表