⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 芯片bt8237的底层驱动,实现E1/T1帧的构建
💻 TXT
字号:
*********************************************************************************************************
     Version: 1.0E

       Base:		
		1.0D-ADT0
       Notes:             
	1. For Full release request, modified default setting from "fmode 4" to "fmode 1".
		Mofified code can search //20021230
    
      Verified:
	
   
 2002/12/30  edited by Ken




*********************************************************************************************************
     Version: 1.0D-ADT0

       Base:		
		1.0D
       Notes:             
	1. For customer request, modified default setting from "fmode 1" to "fmode 4".
	2. When modem reboot, command interpret stay at E1 command. That will restore error setting at T1 setting(like channel Nx64).
	   Modified code can search //20021217.
    
      Verified:
	
   
 2002/12/18  edited by Ken



***********************************************************************************************************



version : 1.0A1
History: 
1. Add "txpattern enable", "txpattern disable" for pruduct test to gererate 2^15-1 test pattern. 
2. Add "period N", where N=0~XXX sec, for test total time!
3. Add AIS signal generated. If data port line off then start to transmit AIS signal to RPCMO pin.
4. Add (display LIU receive Multiframe Yellow alarm),(display LIU receive Yellow alarm RAI) and (display LIU receive Alarm Indication Signal AIS)
5. Add "debug show" and "debug deblevel" for debug test!
6. Add new thread(E1TestPatternCounterThread) for product test to detect error bits and receive test pattern!


version : 1.0B
History: 
1. Modified TX/LED display and change below:
    1.At unframe mode, when frame not sync. LED don't show red LED until signal loss. It only display TX LED blink green(active) or steady green(no active).
    2.At frame mode, when frame not sync. LED will show red LED.
                     when frame sync. LED will show steady green(no active) and flash green(active).



			if ( xdragon.Srcr0.bit.rabort == 0 )///////frame mode is not unframe mode.0503
			{
				if (xdragon.Salm1.bit.rlof == 1 )
				{
					//kprintf("Receive Loss of Frame!\n");  										
					xdragon.tx_rled = LED_LIGHT ;
					xdragon.tx_gled = LED_DARK ;					
				}
				else 
				{
					//kprintf("Receive Frame Sync!\n");  
					xdragon.tx_rled = LED_DARK ;
					xdragon.tx_gled = LED_LIGHT ;
				}
			}
			else ////////frame mode is unframe mode.0503
			{
				if (xdragon.Salm1.bit.rlos == 1 )
				{					
					xdragon.tx_rled = LED_LIGHT ;
					xdragon.tx_gled = LED_DARK ;					
				}
				else 
				{				 	
					xdragon.tx_rled = LED_DARK ;
					xdragon.tx_gled = LED_LIGHT ;				
				}			
			}
   
2. Modified display loss 2^15-1 pattern, display loss of frame and display LIU receive Multiframe Yellow alarm.
   When at unframe mode, these all not display. 

    if ( e1->Srcr0.bit.rabort == 0 )///////mode is not unframe mode. 0503
    {
    	if (e1->Salm1.bit.rlof == 1 )///// display loss of frame		
       		printf("Receive Loss of Frame!\n"); 
    	else
    		printf("Receive Frame Sync!\n"); 
    
    ///// display loss 2^15-1 pattern 	    
    	if( ( e1->Salm1.bit.rmyel == 1 ) || (e1->Salm1.bit.ryel == 1 ) || (e1->Salm1.bit.rais == 1 ) )
    	{
    		printf("Receive Loss of 2^15-1 test pattern!\n");   
    	}
    	else
    	{
    	if ( e1->Sisr0.bit.psync == 1 )
    		printf("Receive 2^15-1 test pattern Sync!\n");		
    	else
    		printf("Receive Loss of 2^15-1 test pattern!\n");   
    	}
    }
    
    
    if ( e1->Srcr0.bit.rabort == 0 )///////mode is not unframe mode. 0503
    {
    ///// display LIU receive Multiframe Yellow alarm 
    if (e1->Salm1.bit.rmyel == 1 )	
    	printf("Receive Multiframe Yellow Alarm!\n");	
    
    ///// display LIU receive Yellow alarm 
    if (e1->Salm1.bit.ryel == 1 )	
    	printf("Receive Yellow Alarm!\n");		
    	
    ///// display LIU receive Alarm Indication Signal 
    if (e1->Salm1.bit.rais == 1 )	
    	printf("Receive AIS Alarm!\n");	
    }


   
3. Add transmit AIS to LIU.

				if( liu_ais )//0503
				{
				//when shdsl not sync., set TCKI source is CLADO pin.	This is for LIU AIS function.	//0416 2002
				xdragon.Scmux.bit.tcki = 3;	
				bt.byte	= xdragon.Scmux.byte;
				BSET(cmux);					
				
				/////start to transmit AIS signal to LIU. 
				bt.byte = 0x01;
				BSET(talm);				
				}
					
					
					if( liu_ais )//0503
					{
					//when shdsl sync., set TCKI source is TCKI pin.	This is for LIU AIS function.	//0416 2002
					xdragon.Scmux.bit.tcki = 0;	
					bt.byte	= xdragon.Scmux.byte;
					BSET(cmux);	
					
					/////stop to transmit AIS signal to LIU. 
					bt.byte = 0x00;
					BSET(talm);
					}   
					
					
3. Modified debug command, add <show>|<test>|<deblevel>|<liuais>|<pcmais> command.


version : 1.0C
History: 
1. This code for Xavi Stantard, modified from version 1.0B.
2. Add clock attribute "loop timing", modified "internal" clock path.
	
CPLD_GET(V35_C1R);
//0507	e1->SClockSource=cpld.c1r_bit.clock;


				/////////setting shdsl clock path(internal or slave) 0507
				if ( (xdragon.ClockSource==CLOCKSOURCE_LOOP_TIMING) || (xdragon.ClockSource==CLOCKSOURCE_EXT) )//0507
				if ( xdragon.SClockSource==CLOCKSOURCE_INTERNAL )
				xdragon.change = 1;
				
				
				if ( xdragon.ClockSource==CLOCKSOURCE_INTERNAL )//0507				
				if ( (xdragon.SClockSource==CLOCKSOURCE_LOOP_TIMING) || (xdragon.SClockSource==CLOCKSOURCE_EXT) )
				xdragon.change = 1;


	
	
						if ( xdragon.ClockSource == CLOCKSOURCE_INTERNAL )//0507
						sendtellbyname("shdsl","rxclk slave");
						else
						sendtellbyname("shdsl","rxclk inter");
		
		
		
						if ( xdragon.ClockSource == CLOCKSOURCE_INTERNAL )//0507
						sendtellbyname("shdsl","rxclk slave");
						else
						sendtellbyname("shdsl","rxclk inter");
		
		
		
				//clocksource
				CPLD_GET(V35_C1R);
				cpld.c1r_bit.clock = (xdragon.ClockSource & 0x01);//0507 only CLOCKSOURCE_INTERNAL and CLOCKSOURCE_EXT set 0; CLOCKSOURCE_LOOP_TIMING set 1
				xdragon.SClockSource = xdragon.ClockSource;//0507
				CPLD_SET(V35_C1R);

3.If loopback enable then disable transmit AIS to LIU.
	code:				
				if( liu_ais )
				{
					//when shdsl not sync., set TCKI source is CLADO pin.	This is for LIU AIS function.	//0416 2002
					xdragon.Scmux.bit.tcki = 3;	
					bt.byte	= xdragon.Scmux.byte;
					BSET(cmux);					
				
					/////start to transmit AIS signal to LIU. 
					bt.byte = 0x00;
					BSET(talm);
					if( xdragon.loop.byte == LOOPBACK_DISABLE )
					{
						bt.byte = 0x01;
						BSET(talm);
					}				
				}
				
				
					if( liu_ais )
					{
						//when shdsl sync., set TCKI source is TCKI pin unless loopback=payload enable.	This is for LIU AIS function.	//0416 2002
						if( xdragon.loop.byte != LOOPBACK_PLOOP )
						{
						xdragon.Scmux.bit.tcki = 0;	
						bt.byte	= xdragon.Scmux.byte;
						BSET(cmux);	
						}
					
						/////stop to transmit AIS signal to LIU. 
						if( xdragon.loop.byte == LOOPBACK_DISABLE )
						{
							bt.byte = 0x00;
							BSET(talm);
						}
					}	


4.Modified debug command, if type "pcmais" then stop transmit AIS to RPCMO at pcmais=enable.
  code: 			
   			case ( DEBUG_PCM_AIS ):					
			
			if( pcm_ais )
			{
				bt.byte = 0x00;/////stop transmit AIS signal to RPCMO pin
				BSET(ralm);
			}
			
			pcm_ais=!pcm_ais;
			printf("pcm_ais =%s\n",(pcm_ais==TRUE)?"Enable":"Disable");							
			

Ken 2002/5/13
-------------------------------------------------------------------------------------

version : 1.0D
History: 
1.Add to RLIU configuration. 
  Polling read VGA to determine  long_haul or short_haul. 
  The driver loads the Short Haul setting and changes to Short Haul State for the received signal of 0 through

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -