找回密码
 注册
搜索
楼主: wyzcl

[讨论] [软件]有谁做过layer1的驱动?

[复制链接]
发表于 2006-10-17 13:36:00 | 显示全部楼层
刚下了一些LAYER1的资料,大家共享吧.


1. Layer1功能   
  通过设备驱动程序控制GSMLayer1硬件,通过GKI接口对2、3层,以及应用层协议提供服务。   
  功能:   
  1. 测量周围信号强度,并且尝试与每一个信道同步,并且找出信号强度最大的一个。   
  2. 取得频率和时钟的同步。   
  3. 在小区选择阶段接收包含BCCH数据的脉冲。   
  4. 在某个选定的小区持续接收寻呼信息,在空闲模式下保持频率和时钟锁的同步。   
  5. 在空闲模式下,周期性的接收由第三层软件所要求的服务小区的BCCH数据,同时不能影响寻呼信息的接收。   
  6. 在空闲模式下检测下行链路信号是否失败,并且向上层报告。   
  7. 在空闲模式和专用通信模式下周期性的测量信号强度以及服务质量并且向上层报告。   
  8. 测量信号强度并且尝试接收领近小区的BCCH数据(在空闲模式下),并且周期性的向上层报告。   
  9. 在必要情况下接收CBCH数据   
  10. 为了取得一个专用信道执行RACH脉冲传输,   并且接收CCCH信道上的同意介入数据。   
  11. 配置和维护一个专用连接(在TCH和SDCCH)。   
  12. 处理在SDCCH、SACCH、和FACCH逻辑信道上接收的数据。   
  13. 在一个专用连接中检测无线链路失败并且向上层报告。   
  14. 处理自动增益控制AGC。   
  15. 在专用模式下处理时间提前、传输功率控制、密码、占线、信道模式切换、频率变化、小区切换等。   
  16. 在一个支持电路交换的专用连接中处理传输和接收数据。   
  17. 为测试提供开发和管理设施。   
  2:Layer1结构   
      Layer1软件由一系列任务和中断例程构成,任务和中断例程之间通过共享内存通信,中断例程和任务之间通过使用GKI产生和传递信号通信。Layer1和所有的外部软件(LAYER   2、LAYER   3以及数据服务栈)通过定义好的GKI接口通信。外部软件模块不能直接和Layer1的中断例程通信。     
   
  2.1       PH任务   
          这个任务负责通过PH接口对来自LAYER   2接口的、将要在SACCH、SDCCH、和FACCH控制信道上的数据进行传输。LAYER   2以PhReadyToSend     
  信回答(由FRAME中断例程发送),在专用通信模式下,还带有PhEmptyFrame或者   PhdataReq信号。所有来自LAYER   2都应该被发送道PH任务。   
  在电路交换连接已经建立的情况下PH任务同时也接收来自数据服务栈(data   server   stack)的数据。   
  2.2BackGround   任务   
  后台任务主要有三个主要的职责   
  1:硬件初始化   
  2:通过MPH接口接收协议栈RR层的信号。处理要求以及与LAYER   1   FRAME中断例程相关的数据通信。   
  3:对于太消耗时间而不能在中断例程中执行的数据进行处理。(比如初始化测量结果的排队)。与帧中断例程通信使用共享内存,假如有需要该共享内存双缓冲。   
  2. 3帧中断例程   
  LAYER   1软件的主体又帧中断例程进行处理,这个帧中断例程在每个GSM   的TDMA帧期间(4.615ms)被调用,除非在大量“周期“处于非激活状态的NULL或者空闲模式的节电状态下。   
  在帧中断例程下的工作按照下面的顺序进行。   
  1:更新参考时间。   
  2:状态机定义的行为,包括   
          ——作为外部事件刺激的状态转换动作(来自后台任务),以及作为处理活动结果的内部事件产生。   
          ——处理硬件介入和预期中断周期要求的处理行动。   
          ——对于上一个中断周期处理结果的处理。   
  3:非状态机定义的行为。比如音频处理。   
  4:内务处理。   
  三:各个状态描述   
  3. 1     NULL状态   
  在开机或者接收到MphDeactivateReq信号LAYER   1进入了NULL状态,在这种状态下没有无线信号可以被接收,LAYER   1简单的执行服务任务例如ADC(模数转换?)读等。   
  3.2   监听BA状态   
  在接收到来自LAYER   3     RR   的MphmonitorArfcnReq信号,LAYER   1进入了监听BA状态,这个状态下在给定的BA表中一个局部的搜寻去执行以便可以从掉网状态下恢复过来。   
  后台任务安排五个测量任务去执行,,在给定BA表中的所有的信道做平均,每个信道中的测量工作由帧中断完成,SPREAD   和平均以三秒为周期。   
  RR知道任何MphretryPlmnInd信号所监视的信道的信号级的重要变化。   
  3. 3   测量状态   
  在接收到来自LAYER   3   RR的MphFingBcchreq信号以后,LAYER   1进入了测量状态。   
  后台任务安排五个测量任务去执行,,在给定BA表中的所有的信道做平均,每个信道中的测量工作由帧中断完成,SPREAD   和平均以三秒为周期   
  一旦测量完成,测量结果在后台任务中按照信号强度排队,LAYER   3   RR由   MphBcchMeasInd信号得到通知,,LAYER   1进入了     SUNC   SEARCH状态。   
  3.4SYNC   SEARCH状态   
        在网络存在的情况下,当尝试与有序测量表中的每个ARFCN同步的时候,LAYER   1进入了SYNC   SEARCH状态,同步行为由下列事件触发。(ARFCN-absolute   RF   channel   number)   
  l 在网络存在情况下,LAYER1   得到一个有序的测量表,LAYER   1尝试与有序测量表中的每个ARFCN同步。   
  l LAER1接收了来自RR的MphNextBcchReq消息。LAYER1持续对有序表的测量,并且尝试与ARFCN同步。   
    在同步过程中,LAYER1通过配置硬件去搜寻频率脉冲、得到频点和时钟锁。假如频点脉冲被发现,同步脉冲SB被接受并且被解码。假如同步脉冲SB没有被发现,LAYER1自动的尝试与有序表中第二个信号强度的信道同步。假如SB被发现,MphBsicDecodeInd信号被发送往LAYER3RR层,并且LAYER1为了持续接受BCCH数据而进入了BX   BCCH状态。   
  假如小区不合适或者是接收不到BCCH数据,LAYER3发送MphNextBcchreq信号,LAYER1于是返回到SYNC   SEARCH状态并且尝试与表中的下一个信道同步。   
  假如表中没有更多的信道MphBsicDecodeInd信号(BSIC被置值为INVALID_BSIC)被发送,LAYER1进入了NULL状态。   
  假如所有的信道都被尝试并且没有一个是成功的,RR层很可能发送以下的请求,   
  l MphFindBcchReq   LAYER3要求其他的信道被尝试,由于测量已经被执行过了,LAYER1仅仅按照信新的ARFCN排序,然后进入SYNC   SEARCH状态。   
  l MphBchConfigReq   LAYER3决定在上某个信道信息是对于CAMPING目的(紧急服务)是合适的,LAYER1进入了空闲状态,   
  3.5   RX   BCCH状态   
  在SYNC   SEARCH   状态为了接收BCCH数据,LAYER1   进入了RX   BCCH状态。   
  接收到的BCCH数据在MphUnitdataInd信号里面被发送到LAYER3层,这些数据包括了广播系统信息消息1、2、3、4、7、8,这些消息使得LAYER3决定该小区对于CAMP或者是登记是适合的。   
  假如小区是适合的,LAYER3发送MphBchConfigReq消息去完成配置信道,并且LAYER1进入了空闲模式,假如小区不适合,LAYER3发送MphNextBcchReq消息,LAYER1   进入了SYNC   SEARCH状态。   
  3. 6     同步状态(SYNCHRONISE)   
  当接收到来自RR的MphBchconfigReq消息(由于没有时钟信息可以得到该消息要求LAYER1改变到一个新的服务小区),LAYER1进入了SYNCHRONISE状态。在这个阶段,LAYER1仅仅尝试与特定的服务小区同步。   
  3. 7     IDLE状态(空闲状态)   
  当接收到来自LAYER3的MphBchConfigreq和MphstopRachReq信号以后,进入IDLE状态。   
        MphBchConfigReq信号包括广播信道配置数据。这些数据被后台任务处理产生了预定信息,这些信息被帧中断使用与下列动作相互配合   
  l 接收寻呼信息。   
  l 接收BCCH数据。   
  l 接收小区广播数据。   
      注意:BCCH、PCH、以及AGCH数据都是在MphUnitDataInd信号中直接发送到LAYER3中,同时CBCH数据也要在PhdataInd信号中发送到LAYER2中。   
  另外监视邻近小区信号强度以及接收邻近小区BCCH数据也要在计划之中。   
  AGC、AFC以及时间轮转(timing   loops)也要在服务小区的RSSI以及频率偏差测量基础上被维护。   
        MphrandomAccessreq信号引起LAYER1进入到ESTABLISHING状态。   
  3.8ESTABLISHING状态   
      LAYER1在下一个RACH   slot中安排随机接入脉冲的传输作为对于MphRandomAccessCnf信号的回应。MphRandomAccessCnf信号将在接入脉冲被传输的帧中发送到RR层。   
      随机接入脉冲一直按照这种方式发送,一直到LAYER3在AGCH中接收到立即安排消息或者已经决定RACH过程失败。   
        假如接收到立即安排消息,LAYER3发送MphImmAsignmentReq信号,LAYER1进入DEDICATED   状态。   
        假如RACH过程不成功,LAYER3发送MphStopRachReq给,LAYER1。   
  4. 9     DEDICATED状态   
  在DECICATED状态,LAYER1负责维护维护一个专用的信道(SDCCH或者是TCH)。   
  LAYER1在专用模式下负责下列的任务   
  l 在SACCH、SDCCH、FACCH中传递数据是由发送到LAYER2   的Phreadytosend信号调度。   
  l 接收在SACCH、SDCCH、FACCH中的控制数据,在丢失下行链路SACCH块的基础上检测无线链路超时。   
  l 跳频。   
  l 加密   
  l DTX   
  l 来自测量报告的邻近小区RSSI,频率偏差、以及时间数据。通过接收频率脉冲和同步脉冲(BSIC解码)准备小区切换。   
  l 为服务小区维护AGC和闭和AFC。   
  l 通过接收到的SACCH头维护时间提前和功率控制。   
  l 小区切换和专用信道安排。   
      LAYER1将一直保持DEDICATE状态一直到MphBchConfigreq信号被接收到(在专用信道被终止)。LAYER1然后返回到IDLE状态。   
        3.10测试状态   
    制造商和开发人员的测试设备在这个状态完成。   
  这个状态只有在NULL状态才可以进入,   被CdmgReq信号所要求。   
  一旦接收到CdmgFinishReq     信号,状态机转换到NULL状态。   
  制造商和开发人员的测试接口在下面由详细的描述。   
  四:LAYER1接口   
        LAYER1软件接口包括以下   
  l 1:PH接口(在LAYER1和LAYER2之间接口)。   
  l 2:MPH接口(在LAYER1和LAYER3(RR)之间接口)。   
  l 3:RTL1接口(在LAYER1和数据服务栈(DATA   SERVICES   STACK)之间接口)。   
  l 4:TI接口(在TCH   LOOPBACK和DAI之间接口0   
  l 5:CalDev接口(为测试和校准接口)   
  l 6:GKI接口(与目标操作系统的接口)。   
   
   
  接口定义了在UNITS之间传递的信号。信号是GSM原语的实现,UNITS是GSM协议实体的实现,这点非常重要,虽然在GSM原语和LAYER1的信号之间的映射是非常明显的,但是仍然有许多附加的消息元素对于完成一个完整的协议栈是必要的。   
    四种原语按照下面的定义   
  l REQ原语被用于高层向邻近的低层要求一个服务。   
  l IND原语被用于提供服务的低层向邻近的高层通知从对等实体接受到的信息。   
  l RSP原语被高层向邻近低层通知对于刚才收到的IND原语的回答。   
  l CNF原语被高层要求提供服务的低层使用,用来通知高层被要求的服务已经完成。   
   
  ² 接口   
  ü PH接口   
  PH接口被用于在L1和L2之间   传递信号,被MS发送的信号信息主要在   PhDataReq信号中,而被MS接收的信号信息主要在PhDataInd信号中。   
  数据传输被PhReadyToSend信号所安排,PhReadyToSend信号在数据将要在空中传递之前由L1发送,假如L2没有任何数据要发送,L2必须发送一个PhEmptyFrame信号。   
  在L2能够传递任何数据之前,L1必须发送PhConnectInd信号给L2。   
  ü MPH接口   
  GSM协议4.04推荐在L1和L3之间有一个按照MPH原语定义的接口。这些原语通过连接断开物理和逻辑信道完成了激活、失效、配置、取消配置等。这些原语的内容没有被GSM所定义,被留下来单独完成。   
  L1软件负责读写物理硬件,L1有物理信道帧结构、接收信道帧数目的详细信息,它把多个逻辑信道(L2层已知)复合到物理信道上面去。与L3之间的连接是控制连接,两个L3实体之间数据的传输通过L2层。   
  L1软件同时也测量当前服务小区和领近小区的信号强度和服务质量,在空闲模式下,L1直接在RR的控制下执行这些测量工作。在专用通信模式下,L1也必须解释这些测量结果并且按照GSM5.08定义的那样解码BSICs。   
  L3层中的无线资源(管理)RR功能负责取得、维护、以及释放MS与网络之间的点对点连接。当没有呼叫处理的时候,RR控制MS接收公共控制信道,(BCCH和CCCH),这些信道通过L2对RR提供关于小区、信道、接入参数等许多的系统信息,这些在BCCH信道中接收的信息允许RR去通过MPH接口控制L1,这些控制包括空闲模式小区选择以及重新选择。   
                    MPH接口又可以分为三个部分。   
  ¨ 小区选择信号   
  ¨ 空闲模式信号   
  ¨ 复合信号   
  ¨ 公共信号   
  ¨ 专用模式信号   
  ü RTL1接口   
  这些接口被用来在LAYER1和数据服务栈之间转送数据块。   
  将要被MS发送的数据块在Rtl1UplinkDataReq信号中,被MS接收的信号在Rtl1DownlinkDataInd信号中。   
  ü TI接口   
  在这些接口中的信号仅仅在测试模式中出现。   
  ü CALDEV接口     
  为了支持开发、厂商校准以及测试,L1可以被设置为测试状态,为了满足上述需要,L1可以以特定的信号进行回应,在此时,假设驱动处理过程的信号来自于外部的实体。(虽然信号的来源并不重要)   
  ü L1AL接口                                                
  L1任务并不直接和应用层接口,但是应用层必须由L1通知一些变化,比如加密是否开启。
点评回复

使用道具 举报

发表于 2009-7-11 01:27:00 | 显示全部楼层
mark!!!
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-12-26 21:42 , Processed in 0.051318 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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