background image

这一影响减到最小。

RF 与 IF 迹线应尽可能十字交*,并尽可能在它们之间隔一块地。正确的 RF 路径对整块 PCB

的性能非常重要,这就是元器件布局通常在蜂窝电话

PCB

  

设计中占大部分时间的原因。

  

(4)降低高/低功率器件干扰耦合的设计原则。在蜂窝电话 PCB 上,通常可以将低噪音放大器电路放在 PCB 的

某一面

,而将高功率放大器放在另一面,并最终通过双工器把它们在同一面上连接到 RF 端和基带处理器端的天线上。

要用技巧来确保通孔不会把

RF 能量从板的一面传递到另一面,常用的技术是在二面都使用盲孔。可以通过将通孔

安排在

PCB 板二面都不受 RF 干扰的区域来将通孔的不利影响减到最小。

void IA4432_Init(void) 

IA4432_Register((REG_WRITE | OperatingFunctionControl1), 0x80); 
IA4432_Register((REG_WRITE | TXRampControl), 0x7F); 

IA4432_Register((REG_WRITE | AFCLoopGearshiftOverride), 0x00); 
IA4432_Register((REG_WRITE | FrequencyBandSelect), 0x53);    //set frequency 

IA4432_Register((REG_WRITE | NominalCarrierFrequency1), 0x4b);  //433HZ 
IA4432_Register((REG_WRITE | NominalCarrierFrequency0), 0x00); 

IA4432_Register((REG_WRITE | ModulationModeControl1), 0x00); 
IA4432_Register((REG_WRITE | ModulationModeControl2), 0x22); //asynchronous mode 

FSK 

IA4432_Register((REG_WRITE | HeaderControl2), 0x02); //no head; sync word 3 and 2 
IA4432_Register((REG_WRITE | HeaderControl1), 0x00); 

IA4432_Register((REG_WRITE | PreambleLength), 0x04);   //2byte 
IA4432_Register((REG_WRITE | PreambleDetectionControl), 0x10); //8bit 

IA4432_Register((REG_WRITE | SyncWord3), 0x2d); 
IA4432_Register((REG_WRITE | SyncWord2), 0xd4); 

//IA4432_Register((REG_WRITE | TransmitPacketLength), 0x40); 
IA4432_Register((REG_WRITE | DataAccessControl), 0x88); //enable TX handling 

IA4432_Register((REG_WRITE | IFFilterBandwidth), 0x03); //BW=90kHZ 

IA4432_Register((REG_WRITE | ClockRecoveryOversamplingRatio), 0xa1); 
IA4432_Register((REG_WRITE | ClockRecoveryOffset2), 0x20); 

IA4432_Register((REG_WRITE | ClockRecoveryOffset1), 0x4e); 
IA4432_Register((REG_WRITE | ClockRecoveryOffset0), 0xa5); 

IA4432_Register((REG_WRITE | ClockRecoveryTimingLoopGain1), 0x00); 
IA4432_Register((REG_WRITE | ClockRecoveryTimingLoopGain0), 0x36); 

IA4432_Register((REG_WRITE | TXDataRate1), 0x02); //9600BPS 
IA4432_Register((REG_WRITE | TXDataRate0), 0x75); 

IA4432_Register((REG_WRITE | FrequencyDeviation), 0x48); 
IA4432_Register((REG_WRITE | ClockRecoveryGearshiftOverride), 0x13); 

IA4432_Register((REG_WRITE | GPIO0Configuration), 0x1f); 
IA4432_Register((REG_WRITE | GPIO1Configuration), 0x12); //GPIO_1 TX state 

IA4432_Register((REG_WRITE | GPIO2Configuration), 0x15); //GPIO_2 RX state 
IA4432_Register((REG_WRITE | OperatingFunctionControl2), 0x02); 

IA4432_Register((REG_WRITE | OperatingFunctionControl2), 0x00); 
IA4432_Register((REG_WRITE | InterruptEnable1), 0x02); 

void RF_R(unsigend char *d) 

unsigned char index,yyy,ttt; 
IA4432_Register((REG_WRITE | OperatingFunctionControl2), 0x02); 

IA4432_Register((REG_WRITE | OperatingFunctionControl2), 0x00); 
IA4432_Register((REG_WRITE | OperatingFunctionControl1), 0x05); 

while(1) 

yyy = IA4432_Register((REG_READ | InterruptStatus1),0x00); 
if(yyy&0x02) break; 


IA4432_Register((REG_WRITE | OperatingFunctionControl1), 0x01);