论坛风格切换切换到宽版
  • 4715阅读
  • 34回复

关于DDS波段的频率连续性问题请求帮助!!! [复制链接]

上一主题 下一主题
离线bg4kzi
 
发帖
706
只看楼主 倒序阅读 0楼 发表于: 2011-05-21
希望打开电台就能听到声音,而业余电台不是随时有,波段连续的话可以听听短波广播。手头的q10频率范围很窄,无法听广播,从徐徐2009那里买了套6波段主板和dds,装个收听机,可是徐徐2009的dds现在频率波段划分是间断的,用了6个波段
2波段3.41---3.93
3波段6.69---7.47
4波段9.57---10.74
5波段13.37---14.94
6波段17.18---19.13
7波段20.06---22.41
现在想改成
1波段1.000000---2.999999
2波段3.000000---5.999999
3波段6.000000---8.999999
4波段9.000000---12.99999
5波段13.00000---16.99999
6波段17.00000---19.99999
7波段20.00000---23.99999
8波段24.00000---27.99999
9波段28.00000---34.99999
刚开始学单片机,不知道怎么改,在哪里改,希望有能力的人帮忙,或者提供个hex烧写文件。
附件是原资料。
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BG4RFF
发帖
1581
只看该作者 1楼 发表于: 2011-05-21
#define     scale_factor     0x20000     ;           20000 hex = 2 ^ 17
    ;           note - setband() makes assumptions about
    ;           this value - if it is changed then setband
    ;           must be changed to match.
    org     0x05     ;           location after interruptvector                    
band_lo:     addwf     pcl,f
    retlw     .1000000     /     scale_factor
    retlw     .3000000     /     scale_factor
    retlw     .6000000     /     scale_factor
    retlw     .9000000     /     scale_factor
    retlw     .13000000     /     scale_factor
    retlw     .17000000     /     scale_factor
    retlw     .20000000     /     scale_factor
    retlw     .24000000         /     scale_factor
    retlw     .28000000         /     scale_factor
band_hi:     addwf     pcl,f
    retlw     .2999999     /scale_factor
    retlw     .5999999     /scale_factor
    retlw     .8999999     /scale_factor
    retlw     .12999999     /scale_factor
    retlw     .16999999     /scale_factor
    retlw     .19999999     /scale_factor
    retlw     .23999999     /scale_factor
    retlw     .27999999     /scale_factor
    retlw     .29999999     /scale_factor
    中间一段改成这样,重新编译
离线bg4kzi
发帖
706
只看该作者 2楼 发表于: 2011-05-21
'
#define     scale_factor     0x20000     ;           20000 hex = 2 ^ 17
    ;           note - setband() makes assumptions about
    ;           this value - if it is changed then setband
    ;           must be changed to match.
    org     0x05     ;           location after interruptvector                    
band_lo:     addwf     pcl,f
    retlw     .1000000     /     scale_factor
    retlw     .3000000     /     scale_factor
    retlw     .6000000     /     scale_factor
    retlw     .9000000     /     scale_factor
    retlw     .13000000     /     scale_factor
    retlw     .17000000     /     scale_factor
    retlw     .20000000     /     scale_factor
    retlw     .24000000         /     scale_factor
    retlw     .28000000         /     scale_factor
band_hi:     addwf     pcl,f
    retlw     .2999999     /scale_factor
    retlw     .5999999     /scale_factor
    retlw     .8999999     /scale_factor
    retlw     .12999999     /scale_factor
    retlw     .16999999     /scale_factor
    retlw     .19999999     /scale_factor
    retlw     .23999999     /scale_factor
    retlw     .27999999     /scale_factor
    retlw     .29999999     /scale_factor
    中间一段改成这样,重新编译
'

谢谢,单片机刚开始入门,回头试试。
离线徐徐2009
发帖
6542
只看该作者 3楼 发表于: 2011-05-21
非常感谢bg4rff 提供的hex 经过烧写测试,达到要求, 在13.*****频率收到国外广播电台,业余频率没有的时候也不寂寞
离线BG3FK
发帖
1421
只看该作者 4楼 发表于: 2011-05-21
不错感谢....
离线BG4RFF
发帖
1581
只看该作者 5楼 发表于: 2011-05-21
能否告知一下切换点是不是符合楼主提的要求?
离线bg4kzi
发帖
706
只看该作者 6楼 发表于: 2011-05-21
'
能否告知一下切换点是不是符合楼主提的要求?
'

不好意思,这周末单位加班,还没试呢。其实切换点无所谓,主要是频率范围宽就行了。先谢谢了。
离线BG4RFF
发帖
1581
只看该作者 7楼 发表于: 2011-05-22
;band1 ((.1000000 + .2999999 ) ;160m            //   917504- 3 014665 单位hz
    ;band2 ((.3000000 + .5999999 ) ;80m            // 3 014666- 6 029311
    ;band3 ((.6000000 + .8999999 ) ;40m            // 6 029312- 9 043967
    ;band4 ((.90000000 + .12999999) ;30m            // 9 043968-13 107199
    ;band5 ((.13000000 + .16999999) ;20m            //13 107200-17 039359
    ;band6 ((.17000000 + .19999999) ;17m            //17 039360-20 04015
    ;band7 ((.20000000 + .23999999) ;15m            //20 054016-24 117247
    ;band8 ((.24000000 + .27999999) ;12m            //24 117248-28 049407
    ;band9 ((.28000000 + .30000000) ;10m            //28 049408-29 884415  
     ;最高波段只能到33423360,也就是说,工作频率小于33423360时,波段切换才是正确的
     ;有条件的帮助测试一下,因为ffffffff,
     原作提供了不经带通的宽带选择,pic2的6脚(rb0)控制,原理图上band控制输出是9+1
离线徐徐2009
发帖
6542
只看该作者 8楼 发表于: 2011-05-22
这个频率覆盖已经很好了,能到30m已经很不错了,我现在只取了2--7共6个波段
离线BG4RFF
发帖
1581
只看该作者 9楼 发表于: 2011-05-22
[quote=徐徐2009]这个频率覆盖已经很好了,能到30m已经很不错了,我现在只取了2--7共6个波段[/quote]
您能不能帮忙测试一下分界点?主要是推一下算法对不对,呵呵
离线徐徐2009
发帖
6542
只看该作者 10楼 发表于: 2011-05-22
要明天上班再搞,今天放假
离线BG4RFF
发帖
1581
只看该作者 11楼 发表于: 2011-05-22
我明天放假回江苏玩几天
离线徐徐2009
发帖
6542
只看该作者 12楼 发表于: 2011-05-22
bg4rff 其实我还有个要求:就是希望dds能够多一个s表和驻波显示功能,也就是引入2路模拟量显示,如果lcd1602位数不够可以考虑其他的屏,比如1604 或者其他的屏
驻波电路用这个,(正向电压加反射电压)除以(正向电压减反射电压)=驻波值,显示在屏上,s就用进都条显示
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BG4RFF
发帖
1581
只看该作者 13楼 发表于: 2011-05-22
哈哈,这个在原设计上改不了,第一pic的源程序没有
离线bg4kzi
发帖
706
只看该作者 14楼 发表于: 2011-05-26
手头的dds取了6个波段,现在分别对应
2------2.883584---5.898239
3------5.898240---8.912895
4------8.912896---12.976127
5------12.976128---16.908287
6------16.908288---19.922943
7------19.922944---23.986175
其他波段因dds没引出不方便测,回头再测。
离线BG4RFF
发帖
1581
只看该作者 15楼 发表于: 2011-05-27
'
手头的dds取了6个波段,现在分别对应
2------2.883584---5.898239
3------5.898240---8.912895
4------8.912896---12.976127
5------12.976128---16.908287
6------16.908288---19.922943
7------19.922944---23.986175
其他波段因dds没引出不方便测,回头再测。
'
是不是连续的切换?从低往高和从高往低有没有区别?这个数据我看懂了,我推算时分界点加1了
离线bg4kzi
发帖
706
只看该作者 16楼 发表于: 2011-05-27
'
是不是连续的切换?从低往高和从高往低有没有区别?这个数据我看懂了,我推算时分界点加1了
'

是连续的,在5.898239时是波段2,转一下编码器到5.898240就到3波段了,再转回来又到2波段了。
离线bg4kzi
发帖
706
只看该作者 17楼 发表于: 2011-05-27
另外这dds的键盘上,1和3,4和6,7和9,*和#是反的,按1出3,看了资料线路没有接错,不知道是不是程序的问题,发射指示处接的光耦也不起作用,2脚对地不显示发射,直接把单片机的4脚对地才显示发射指示。测试发现光耦导通时4脚连单片机4脚处电压在1.4v左右,是不是电平不够低?
离线BG4RFF
发帖
1581
只看该作者 18楼 发表于: 2011-05-27
按键反了,把d10和d11交叉一下就可以,这是原版pic1干的,pic2只做波段选择和模式选择,用两根线和pic1通信,其实用164,595之类也方便,不过可能pic1程序空间不够的原因
离线BG4RFF
发帖
1581
只看该作者 19楼 发表于: 2011-05-27
4脚电平是不够低