おじさん工房  APB-1  APB-2  APB-3  SDR-1  SDR-3  RFC-5 

おじさん工房 BBS

610588

レシプロカル周波数カウンタの基準周波数 笛吹おじさん

2011/01/11 (Tue) 23:12:46

レシプロカル周波数カウンタのプログラムのFCPUに関わる部分を変更することでCLKを12.8MHzから10MHzにする事は可能でしょうか?

Re: レシプロカル周波数カウンタの基準周波数 - 四国のおじさん

2011/01/12 (Wed) 01:22:43

確かに12.8MHzのTCXOが手に入りにくくなっていますね。
秋月ではもう取り扱っていないようです。
私は、プリスケラなしで、10MHzくらいまで測りたいので、できれば20MHzのオシレータを使いたいと思っています。

Re: レシプロカル周波数カウンタの基準周波数 - Ojisankoubou

2011/01/12 (Wed) 09:04:17

ざっとみたところ、以下の部分を変更すればいいと思います。


#define FCPU 12800000L


uint8 freqref[FIX_SIZE] ={0,0xC3,0x50,0,0,0,0}; // 基準周波数 12800000


uint8 sg_tccr2b[8] = { 0,0x87,0x86,0x84,0x84,0x81,0x81,0x81 }; // テスト信号 クロック分周
uint8 sg_ocr2a[8] = { 0,255, 249, 99, 9, 63, 5, 1 }; // テスト信号 カウント値



周波数補正部分
int16 h = freqhosei<<4;
freqref[2] = (freqhosei>=0)? 0x50:0x4F; // 補正値がマイナスのとき 12799999 にする
freqref[3] = (uint8)(h>>8);
freqref[4] = (uint8)h;


あと、20MHz にするのなら、dly_usec( uint16 timeus ) の NOP を 14個に増やす必要があります。


Re: レシプロカル周波数カウンタの基準周波数 笛吹おじさん

2011/01/12 (Wed) 10:19:30

Ojisankoubouさん、四国のおじさん さん、今年もよろしくお願い致します。
早速のアドヴァイス有り難う御座います。精度のいい10MHzを外部から入れて使えればと思いお尋ねしました。
12.8MHz発振器は秋月ではもう在庫が無くなった様ですね。
200円と安くて良かったのですが。
12.8MHzをVCOにして精度のいい外部基準とPLLでロックをかけてみようかとも考えたのですが。
プログラムの変更でいけそうですのでやってみようかと思います。

名前
件名
メッセージ
画像
メールアドレス
URL
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.