原来给我的E2烧系统时候,要写两个文件一个是bp,一个是ap;一直不明白为啥名字这么奇怪,并且是两个binary image!
刚看到对mobile phone架构更详细的介绍才明白。bp是baseband processor,ap是application processor。逻辑上是相互独立的系统,有各自的cpu和dsp!两者共享电池和audio模块,通过高效的IPC进行通信。简单的理解的话,bp就是你电脑的modem,而ap就是你的电脑!没有modem,你无法与外界通信。
1.BP工作原理
BP主要的作用就是负责发送和接受各种数据。按照gsm或者3g的协议,BP中dsp实现了协议的算法,对数据进行编解码,而BP中的cpu则负责协调控制与基站和AP的通信。通常,协议栈的代码有2MB-8MB,需要2MB的ram来运行协议栈;因为voice通信是实时的,一个gsm frame很短,需要实时的对这些frame进行处理。
BP中的电源管理对手机的待机时间有很大影响,大多数时间,cpu都应该处于idle状态,每隔一段时间才打开查看paging channel上是否有呼叫进入。cdma有专门的paging信道,所以高通最开始宣称cdma系统的手机待机时间长。不过gsm现在也优化过来了,具体的是2s吗?
语音通信时,voice模块直接有data bus和BP相连接,这样可以快速且省电的把voice数据传递给BP,绕过AP这样就可以省电。
SIM模块直接和BP相连接,BP可以从中获得和无线系统通信的数据,这些数据也是在协议中规定使用的。所以,对sim卡的操作是通过BP进行的。
如果为了降低成本,采用单芯片方案,则协议栈和symbian os公用一个cpu和memory!
2.AP工作原理
AP是一个SoC,不像通用计算机这样,硬件和系统可以分开由厂家来设计!AP的硬件都继承在一块芯片上,各模块逻辑上互相独立,均通过总线连接起来。每个模块都有强势的厂商进行研发,如cpu是arm公司,usb是cypress,nand flash有toshiba,samsung等!SoC主要包括cpu,dsp用以进行多媒体的编解码,memory controller,LCD controller,串行通信设备控制器(uart,ir,i/o),并行通信设备控制器(usb, ipc, nand flash)等。
通过system bus controller,把SoC上器件的可寻址地址映射到cpu的线性地址空间中去,如usb controller的可寻址芯片地址映射到0x60030000----0x6003FFFF,那么cpu可以通过这个地址来对usb的寄存器和data进行读写。
symbian os要求cpu必须是little endian, with a full MMU, user and supervisor modes, interrupts and exceptions.
阅读(2373) | 评论(0) | 转发(0) |