论坛风格切换切换到宽版
  • 4574阅读
  • 11回复

请问这个分频比是如何算出来的? [复制链接]

上一主题 下一主题
离线BG4ABM
 
发帖
1139
只看楼主 倒序阅读 0楼 发表于: 2009-07-30
正在学习频率合成器方面的知识,在一篇电子版教材中讲到了一个用单片机控制mc145156的例子,用upb566做双模前置分频,分频比为128/129,参考频率是12.5k,它算出的总分频比为72241,频率是903.0125,这些都看得懂,问题是往单片机中输入的19比特数据(就是括号中的那串二进制数据)是怎么算出来的?
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BH7KQK
发帖
3425
只看该作者 1楼 发表于: 2009-07-30
广告位招租…
离线BG7YDO
发帖
3654
只看该作者 2楼 发表于: 2009-07-30
特性:
  mc145156-2是用时钟输入19比特数据流来编排程序的。在特征上,本器件是由下列部件组成的:参考振荡器、可选参考频率分频器、数字相位检测器、10比特可编程序÷n计数器、7比特可编程序÷a计数器、为接收串行数据所必要的移位寄存器和锁定性能有改进。
(1)由于应用cmos 技术而实现的低功耗。
(2)电源电压为3.0~9.0v。
(3)配有缓冲输出的片或离片参考振荡器。
(4)和cmos mcus上的串行外围接口(spi).
(5)具有锁相检测信号。
(6)两个开漏转接输出。
(7)双模/串行编程。
(8)用户可选的8个÷r:8、64、128、256、640、1000、1024、2048。
(9)÷n范围=3~1023,÷a范围=0~127。
(10)“线性化”数字相位检测器增强传输函数的线形度。
(11)两种可选的误差信号:单端(三态)或双端。
(12)芯片复杂度:6504个场效应管或1626个等效门电路。          






引脚功能定义:
fin:频率输入(引脚10),正沿触发÷n和÷a计数器输入。fin一般是从双模预置计数器引出而以交流方式与本器件耦合。对于振幅较强的信号(标准cmos逻辑电平),直流耦合也是可行的。
ra0,ra1,ra2;基准分频器的地址码输入(引角20,1,2)。这三个输入组成了一种码,它可以为整个分频器决定8个地址之一。这些地址码如表5-12-1所示:

  表5-12-1

          基准地址码       总除数
ra2           ra1           ra0
0             0             0       0
0             0             1       64
0             1             0       128
0             1             1       256
1             0             0       640
1             0             1       1000
1             1             0       1024
1             1             1       2048



  enb:锁存启动输入(引脚13)。在高位(1)时,enb将移位寄存器内的内存转移到锁存器内部,并转移到可编程序计数器,以及转接输出sw1和sw2。在低位(0)时,enb就禁止这一过程,并只允许移位寄存器内数据有变化,而不影响计数器编程和转接输出。当无外部信号作用时,一个在片上拉电阻能为 enb建立连续性的高电平。 enb通常为低,而在高位脉冲的作用下把数据传送到锁存器。
oscin,oscout:参考振荡器输入/输出(引脚19,18)。当这些引脚和外部并联谐振晶体的端子相连时,它们可以组成一个在片振荡器。适当数值的调频电容从 oscin和oscout分别连到地。 oscin也可以作为外部产生的振荡器信号的输入端。该信号一般以交流方式和 oscin耦合,然而对于振幅较强的信号(标准逻辑电平),直流耦合也是可行的。在外接参考频率模式中,oscout上不需要任何连接。
test:工厂测试输入(引脚16)。在工厂测试中测试用。必须断开或连到vss。
  pdout:相位检测器的输出(引脚6)。该引脚的三态输出可用作相位检测器的环路误差信号。为了达到这一目的,也可以用双端输出(见φv和φr)
频率fv>fr或fv超前:负脉冲
频率fv<fr或fv滞后:正脉冲
频率fv=fr且同相:高阻抗状态
  φr,φv:相位检测器b的输出(引脚4,3)。相位检测器b的这两个输出可以在外部组合成环路误差信号。为此目的也可用单端输出(见pdout)。
设频率fv大于fr或fv的相位超前,则φv为地脉冲而φr基本上保持高位,这一情况反映了误差信息。
设频率fv小于fr或fv的相位滞后,则φr为地脉冲而φv基本上保持高位,这种情况也表达了误差信息。
设频率fv=fr且二者同相,那么除了在极端的时间内φv和φr位同相低脉冲外,二者都保持高位。
mc:双模预置计数器的控制输出(引脚8)。在片控制逻辑电路所产生的信号可用来控制外部双模预置计数器。在计数周期的初期,mc的电平将变成低并继续保持低位,一直到÷a计数器从其编程值开始往下计数为止。在这一时刻mc升高并继续保持高度,一直到÷n计数器从其编程值起把剩余的数计数完毕为止(由于÷n和÷a在周期的起始部分都往下计数,附加的技术次数为n-a)。然后mc重新调到低位,而计数器分别调回到它们的编程值,于是这一过程将重复出现。这一过程为编程总除数所提供的值为(nt)=n.p+a,式中p和p+1分别对应于mc高电平和低电平下的双模预置计数器的除数。n和a分别表示按程序编入÷n和÷a计数器中的数。
ld:锁相检测器的输出(引脚9)。当环路被锁定时(fv和fr同频且同相),该引脚基本上保持高电位。在失锁时ld上出现低脉冲。
sw1,sw2:频率转移输出(引脚14,15)。对应与数据位的第一和第二位。sw1和sw2提供了锁定开漏输出。这些输出端可以通过电阻连到高达15v的电压,而电压不能与电源电压vdd发生关系。它们的功能一般是作为频段转接用的。逻辑“1”使输出端处于高阻抗状态,而逻辑“0”则使输出变低。
  refout:缓冲参考振荡器输出(引脚17)。为在片参考振荡器或外供参考输入信号的缓冲输出端。
电源引脚vdd:电源正极(引脚5)。电源的正极,该引脚的电压范围为3~9v(相对于vss)。
  vss:电源负极(引脚7)。电源负极,通常接地。
离线BG7YDO
发帖
3654
只看该作者 3楼 发表于: 2009-07-30
a+n+sw
前面提供的信息是错的,那两位是开关位。


sw1, sw2
band switch outputs (pins 14, 15)
sw1 and sw2 provide latched open–drain outputs corresponding
to data bits numbers one and two. these outputs
can be tied through external resistors to voltages as high as
15 v, independent of the vdd supply voltage. these are
typically used for band switch functions. a logic 1 causes the
output to assume a high–impedance state, while a logic 0
causes the output to be low.
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线bg5hwb
发帖
2898
只看该作者 4楼 发表于: 2009-07-30
这个数据是不是输入到mc145156-2的?
离线BG4ABM
发帖
1139
只看该作者 5楼 发表于: 2009-07-30
'
a+n+ra(分频比),不过ra好像是三位,这里给了两位,有些不解。
'
如果是按a+n+ra来组成分频比的话,那不仅是ra不对了,a和n也与前面给出的数据不符啊
离线BG4ABM
发帖
1139
只看该作者 6楼 发表于: 2009-07-30
'
这个数据是不是输入到mc145156-2的?
'

不是说得很明白了吗?这个19位的数据输入mc145156,就会输出903.0125的频率了。
离线BG7YDO
发帖
3654
只看该作者 7楼 发表于: 2009-07-30
四楼的贴改了一下,你看一下,至于开关位可能和使用电路有关系,我看不懂豆芽,不敢乱说。
离线bg5hwb
发帖
2898
只看该作者 8楼 发表于: 2009-07-31
开关位资料说说是控制选择波段的
903.0125m,在以前的900无中心系统里面是守候频率
离线BG4ABM
发帖
1139
只看该作者 9楼 发表于: 2009-07-31
'
四楼的贴改了一下,你看一下,至于开关位可能和使用电路有关系,我看不懂豆芽,不敢乱说。
'
谢谢,有点明白了
离线代洪波
发帖
4809
只看该作者 10楼 发表于: 2009-07-31
和145156的内部寄存器位安排有关,也就是计算出来的数据需要安排成符合145156的格式,所以中间有转换,具体看他的datasheet
离线BG2WAH
发帖
618
只看该作者 11楼 发表于: 2009-07-31
未经硬件测试,仅供参考

r=2048(a0=a1=a2=1);12.8mhz/2048=12.5khz
fvco=[(pxn)+a]xfosc/r
903.0125mhz/12.5khz=72241(b�')
低7bit=b�'(bcd=49);高10bit=b�'(bcd=564);p=128
验算:(128*564+49)*12.5khz=903012.5khz=903.0125mhz

fvco=[(pxn)+a]xfosc/r,(0≤a≤127, a≤n)
设:fosc=12.8mhz,r=2048,p=128,fvco=900.000mhz
则:12.8mhz/2048=12.5khz(0x7d);900000=0xdbba0
  0xdbba0/0x7d=0x1c20(b�')
  高位未用,添零占位b�'(sw1、sw2电子开关未用)
验算:0x1c20*0x7d=0xdbba0,将0xdbba0转换为bcd码=900000=900.000mhz