迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

DS1077をarduinoで制御する

こちらのサイトにarduinoでDS1077を動かすスケッチが載っていたのですが・・・。

動きません、どうも間違いがあるようです。

何とか動くようになったスケッチを載せておきます。

SDAはarduinoのanalog pin 4へ、SCLはanalog pin 5へつなぎます。
プルアップ抵抗は不要でした。どうやらチップ内部のプルアップ抵抗を使ってるようです。(未確認)


setup()内で
PS=3としてますがこの値は0~3
N=20としてますがこの値は2~1025です。

PS=3だとプリスケーラは1/8ですので出力は
133.33MHz/8/20=833.3125KHz
となるはずです、実測値は830.93KHzでした。

動かすのに注意がいるようです、スケッチ内のコメントに書いておきました。

#include <Wire.h>の
<と>は半角にかえてください。

//
// DS1077コントロールテスト
// 2011.11.15
// edy
// 参考にしたサイト https://github.com/benlemasurier/ds1077
// だたしこのサイトのスケッチでは動作しなかった。
//
// I2C SDA (data line) = analog pin 4
// I2C SDC (clock line) = analog pin 5
//

#include <Wire.h>

#define DS1077_ADDRESS 0b1011000

// command sets
#define DIV 0x01 // operating frequency
#define MUX 0x02 // mode of operation
#define BUS 0x0D // bus settings
#define E2 0x3F // EEPROM

int N,PS;

void setup() {
PS=3;
 Wire.begin();
set_PS(PS);
delayMicroseconds(900);
/*
これを入れないと次のset_DIVが動作しなかった。ディレイの必要最小値は未確定。
DS1077にコマンドを送ってから次のコマンドを送るのに間隔をあける必要があるようだ。
DS1077の仕様(?)なのかどうかは不明。
*/
N=20;
set_DIV(N);
}

void loop() {
}

void set_DIV(int n) {
n-=2;
n&=0b1111111111;
n<<=6;
Wire.beginTransmission(DS1077_ADDRESS);
Wire.send(DIV);
Wire.send(highByte(n));
Wire.send(lowByte(n));
Wire.endTransmission();
}

void set_PS(int ps) {
int msb,lsb;
ps&=0b11;

lsb=ps<<7;
msb=(0b00011000 | (ps>>1));

Wire.beginTransmission(DS1077_ADDRESS);
Wire.send(MUX);
Wire.send(msb);
Wire.send(lsb);
Wire.endTransmission();
}
スポンサーサイト

DS1077搭載プログラマブル発振器モジュール

スイッチサイエンスさんのDS1077搭載プログラマブル発振器モジュールです。

ストロベリーリナックスさんでも売ってますが、チップだけです、その分少し安いですが。

DS1077のデータシートはこちらから入手できます。


ヘッダピンは写真のように取り付けました。

DS1077_1.jpg
ブレッドボードに刺したときにピン配置を解りやすくするためです。
CTRL0とCTRL1はGNDに落とします。
基板上にパスコンが載ってますが、まるで足りません。発振が不安定になりますのでケミコンを追加します。
デフォルトでOUT1から66.666MHzが出力されるはずなんですが、測定してみたら約66.5MHzでした。

周波数は結構変動します。上四桁ぐらいは安定してますけど。
てっきりクリスタルオシレータとばかり思ってたのですが、データシートにはクリスタルなんて書いてませんね、う~む。

8pin PSoCを使った簡易周波数カウンタの製作

8pin PSoC CY8C27143を使った簡単な周波数カウンタを作りました。
きっかけはこのアプリケーションノートです。
Application Note AN2138
3-Wire Interface for LCD Display

通常LCD制御には7本必要ですが、それが3本ですみます、それならピン数の少ないCY8C27143でも作れるだろうと考えました。
SFC.png
回路図です、ゲートタイム作成用のクロックオシレータは手持ちの関係で4.194304MHzを使ってますが、何でも構いません。PSoCのカウンタのパラメータを変えれば済むことです。
入力アンプは手抜きしてます。
PSoCのGPIOはシュミットトリガ入力になっているのでこんな簡単な回路でも動きます。
PSoCのGPIOはTTLレベルですので2SK241のドレンソース間電圧を1.6Vぐらいにする必要があります。そのためgm(相互コンダクタンス)が小さくなり、増幅度が上がりません。
今回はシンプルに組みたかったのでこれで良しとします。
なおPSoCのGPIOの特性についてはねがてぃぶろぐさんを参考にさせて頂きました。
下のグラフは2SK241のデータシートからの引用です。
順方向伝達アドミタンスとなってますが相互コンダクタンスと同じです。
2SK241_20111102135026.png


SFC4.jpg


SFC3.jpg
シフトレジスタをLCD側に組み込みました、これで接続は5本で済みます。

SFC5.jpg
ユニバーサル基板に組んでみました、右の空きスペースにHT7750を使ったDC-DCコンバータを組んで電池二本で動作させるつもりです。

続きを読む »

 | HOME | 

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

店の電飾(3)無限鏡(infinity mirror) Jun 25, 2017
店の電飾(2)回路の変更とスケッチ Jun 25, 2017
店の電飾 Jun 18, 2017
Arduino Pro Microを試す。(3)HIDとして使う(2) Jun 15, 2017
Arduino Pro Microを試す。(2)HIDとして使う Jun 04, 2017
Arduino Pro Microを試す。(1) Jun 03, 2017
脈拍センサー MAX30102を試す(2)MAX30100と比較 May 29, 2017
脈拍センサーMAX30102を試す(1) May 25, 2017
脈拍センサーMAX30100を試す(5) May 20, 2017
MT3608モジュールを使ったDSO Shell用電源 May 16, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

このブログをリンクに追加する

月別アーカイブ

06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (404)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (31)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん