打印

求助锁相环SP5658的控制--谁用过IP2022单片机控制锁相环?

[复制链接]
1630|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjysurfer|  楼主 | 2007-4-22 14:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁用过IP2022单片机控制锁相环?
用IP2022单片机控制锁相环SP5658,用晶振4MHZ进行预分频,可以分成2M,1M,500K,250K,125K,62.25K,31.125K,13.625K.对输入频率964.87MHZ进行程序分频,用的是SPI三线制协议来传送数据,总共传送26位数据(包括预分频值和程序分频次数),EN高有效,CLK上升延传数据.
用时序分析仪采集到的数据,时钟的时序又是正确的,但是SP5658就是没的反映的.好象它没收到数据.不知是不是程序的问题.请各位大侠帮忙看看.谢谢!
#include<ipOS.h>
#include<ipHAL.h>
#include"pinDefine.h"
 
 void initPIN(void) 
 {
     pin_dir_out(RC,0);    //CLOCK
     pin_dir_out(RC,1);    //Transmit Data
     pin_dir_out(RC,2);    //EN1 964.85MHZ
     pin_dir_out(RC,3);    //EN2 1290MHZ
     //pin_dir_in (RE,3);    //LockFlag
     pin_low(RC,0);
     pin_low(RC,1);
     pin_low(RC,2);
     pin_low(RC,3);
     
 }
 void delay(u8_t n)
 {    u8_t i;
     for(i=0;i<n;i++);
     i=i+1;
     i=i-1;
     i=i;    
 }
 void PLL_EN1_L()
 {
     pin_dir_out(RC,2);
     pin_low(RC,2);
     delay(6);
 }
 void PLL_EN1_H()
 {
     pin_dir_out(RC,2);
     pin_high(RC,2);
     delay(6);
 }
 void PLL_DATA_L()
      
 {
     pin_dir_out(RC,1);
     pin_low(RC,1);
     delay(2);
 }
 void PLL_DATA_H()
 {
     pin_dir_out(RC,1);
     pin_high(RC,1);
     delay(2);
 }
 void PLL_CLOCK_L()
 {
     pin_dir_out(RC,0);
     pin_low(RC,0);
     delay(10);
 }
 void PLL_CLOCK_H()
 {
     pin_dir_out(RC,0);
     pin_high(RC,0);
     delay(10);
 }
 
 void sendData(u32_t dword)
 {    u8_t i;
 
        PLL_EN1_l();
     PLL_DATA_L();
     PLL_CLOCK_L();
          
     delay(50);
     PLL_EN1_H();
     delay(50);
     
     
     for(i=0;i<26;i++)
       { if(dword&0x02000000)  {PLL_DATA_H();}
       else  {PLL_DATA_L();}
                  delay(2);
              PLL_CLOCK_H(); 
             delay(100);
             PLL_CLOCK_L();
             delay(86);
        dword=dword<<1;
       }
            
         delay(20);
             PLL_EN1_l();
         PLL_DATA_L();
         PLL_CLOCK_L();
         delay(100);
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝