HOME

ここはメモ置き場です。  byすん

暫定ページです。内容は未確認や異なる場合があります。

以前ここにあったもので、別ページに移動したものがあります。無い場合はメインページ(HOME)からたどってください。

GoogleChart01

I2C.pdf

WaveJet300Series_datasheet.pdf

 

秋月Arduino基板(ATmega328P)による内部温度テスト

●内部温度読み取りのスケッチ

参照電圧を1.1Vにして、アナログポート8を読むと内部温度を読む

ことができるようです。詳細はデータシートのA/D変換の項目を見てください。

参考サイトによるとanalogRead()はそのままではポート8を読めないため

スケッチを若干変更して使わせてもらいました。

温度変換式:

  T(℃)=(ADC値−324.31 ) / 1.22  補正係数は固有値なので本来個々に調整が必要です

スケッチ

 

word analogRead8()

{

  byte low, high;

 

  ADCSRA |= _BV(ADSC);//ADC start

  while (bit_is_set(ADCSRA, ADSC));//ADC end wait

 

  low = ADCL;

  high = ADCH;

  return ((word)high << 8) | (word)low;

}

 

void setup() {

  Serial.begin(9600);

  

  ADMUX = 0xc8;

  delay(10);//ADC initial wait

}

 

void loop() {

  int A8val;

  float Tos = 324.31;//offset

  float coef = 1.22;

  float A8temp;

 

  A8val = analogRead8();//temperature read

  A8temp = (A8val - Tos) / coef;

 

  Serial.print("AnalogRead: ");

  Serial.print(A8val, DEC);

  Serial.print(", ");

  Serial.print(A8temp, 1);

  Serial.println("C");

 

  delay(1000);

}

 AvrInternalTemperature.zip  2011.8.7

 参考サイト:Arduinoで遊ぶページ Arduino:Forum

 

  新たに見つけた参考サイト: NetQuote.it  こちらは4点データを取って補正係数を求めています。固体差ありますが、傾向が似ているとすれば自分でデータを取るまで簡易係数として使えるかもしれません。

  offset=324.31  coef=1.22

 

書籍 STM32マイコン徹底入門

マイコン徹底入門 

 

AlteraデザインサンプルのLCDコントローラーのテスト

 ●概要

 AlteraデザインサンプルのLCDコントローラー(以下オリジナル)ではマイコン等を接続しますが、これをやらないでMAX2単体で文字を表示させてしまおうというものです。

 ●使用基板

 オプティマイズ MAX2 CPLD基板 (I/Oは3.3Vに設定)

 3V液晶 Sparkfunから購入したGDM1602K XIAMEN社製 (千石でも3V系16x2液晶が売ってます)

 ●CPLDピンアサイン

 

 ●Alteraデザインサンプルのブロック図
 外部のマイコン等から文字コードだけを送る容易な信号(データバス、ライトイネーブル、ACK)で文字を表示させるというもの。

●Alteraのデザインサンプル LCDコントローラのPDF
http://www.altera.co.jp/literature/an/an497_j.pdf

●追加したVerilogHDLコード

 文字送出やACK制御をVerilogHDLのHellow_world.vからおこないます。

●信号の流れ

オリジナル
 マイコン→MAX2→LCD

改造LCDコントローラ
 MAX2→LCD

●lcd_controller.vの修正

オリジナルの既存コード lcd_controller.v のままではうまく動作しないので3箇所修正しました。

修正箇所は「2010/06/14 change」というコメントを入れてあります。カーソルを表示しないようにしました。

修正はLCDのRESET処理の初期化データの変更と、1文字データをLCDへWrite後なぜかLCDからReadしているのでReadに移行するのをWrite待ちに移行するようにしました。

●オリジナルからの短所

このLCDコントローラーでは、表示位置指定ができません。一度LCDのRESETをかけてクリアし、先頭から連続する文字列を書くだけになります。自由位置で文字を書き込むには、さらに改造が必要です。

1行目と2行目はアドレスが連続していないので、2行目に書き込むにはダミー文字を出力する必要があると思います。(未確認)

●改造版 LCD controllerのプロジェクトファイル(バグ修正) 2010.6.22版

LCD_Controller_Altera_MAX_II_CPLD_Design_Exampler20100622.zip

それほどのものではないですが、自由に改造して発表してください。

 

 

リンクメモ

FPGA

ALTERAデザイン例   2010.6.2追加

ALTERA MAX II および MAX デザイン例   2010.6.2追加

ALTERA USBブラスターケーブルPDF   2010.6.2追加

 

ネットラジオ

radiko.jp ラジオのネット放送 (水色のlisten now!をクリック)  2010.6.3追加

 

7seg基板のサンプルソース (一部情報収集装置のソースを使用しています)

I2CMasterTo7Seg.zip  2010.1.27

 

 

情報収集装置の液晶も表示して数値表示装置、秋月RTC8564NB、温度センサLM73(エレキジャックNo.8)のI2Cデバイスを接続する改造です。 2010.1.25

● lcd-sdcard.c  PinSel.c  PinSel.h  my_define.h (IEでソースファイルの文字が化ける場合、表示−エンコード−日本語(自動選択)にしてください)

 

上図のように、ファイルをプロジェクトに入れてください。

 

● LCD_SDCARD_UNIT01.zip

 

● プログラムの説明

「プリント基板で作るPIC応用装置」鈴木哲哉著のプログラムを元に修正をおこないました。

この修正はPIC24FのハードウエアエラッタのあるI2C1の使用をやめてI2C2へ繋ぎかえる必要があります。

プリント基板の改造が必要になるのでご注意ください。

●プリント基板の改造点

SDA2,RB2(6pin)---LCDとの配線をカット---I2CのSDAとして使用

SCL2,RB3(7pin)---LCDとの配線をカット---I2CのSCLとして使用

SDA1,RB9(18pin)---3.3K抵抗配線はカット---LCDのDB7へ接続

SCL1,RB8(17pin)---3.3K抵抗配線はカット---LCDのDB6へ接続

i2cm.cのi2c2_write()を修正しました。 2010.1.26

これによりi2c2_write()のスレーブからのACKが読めないバグを修正できます。

上記のLCD_SDCARD_UNIT01.zipのi2cm.cを入れ替えてください。

i2cm.c

リセットSWの追加 2010.1.26

実験基板なのにリセットSWが無いのが不思議なのでリセットSWをつけました。タクトSWはちょうどJ1,J2ジャンパーおよびリセットとして働き一石二鳥です。

J3,J4は基板裏(半田面)で配線します。

タクトSWの向きはテスターで調べてください。
SWを押さないときに導通があるほうをジャンパーJ1,J2として使います。タクトSWを押すとMCLRとGNDがつながりリセットとして使用できるわけです。

ジャンパー穴の間隔はタクトSWの端子より少し狭いので、タクトSWの足が少し斜めになるような形で挿入しました。多少無理やり感はありますが、リセットSWができてデバッグが楽になりました。

注意点
既にジャンパーがある場合、取り除く際に決して力で引っ張らないでください。片面基板なのでランドが簡単にはがれて、パターンを壊してしまいます。

 

『WindowsフォントをFontXファイルに落とす』

オリジナルは16ビットアプリケーションでしたので、VC6で32ビットアプリケーションへ移植しました。

ソースを同梱された作者様に感謝します。オリジナル部分の著作権は作者の岡良樹様にあります。

オリジナルはこちら http://www.vector.co.jp/soft/dos/writing/se002881.html

32ビット版はこちらです wfontx32.zip  version0.1  2010.1.13

 

 

フィボナッチLFSR (線形帰還シフトレジスタ)乱数 のバイナリー結果  2010.1.3

16ビット x16 + x14 + x13 + x11 + 1

初期値   0xACE1

fsr2.txt  (LSBが右)

ガロアLFSR乱数デモソース  2010.1.3

23ビット 

galoa.c (タブ8)

フィボナッチLFSR乱数のLTSpiceWによるシミュレーション  2010.1.5

8ビット 

8ビット乱数をR2RラダーのD/Aにて電圧表示しています。1クロックは40usで、乱数周期は255クロックです。

Rand8bit_Fibonacci.zip

ガロアLFSR乱数デモビデオ

FPGA(FLEX10KE30E)で8ビット乱数を7Seg16進表示してみました。

VerilogHDLでの記述もC言語に似ています。シフトやXORはそのままです。

        if(outwk & 1)

             outwk = (outwk >> 1) ^ 8'b10111000;//8,6,5,4,1

        else

             outwk = (outwk >> 1);

GaloisLFSR.wmv

 

LTspiceW用の±12Vから5Vへの変換回路 12Vto5V_Trans.zip 2009.12.12

  +12V→5VのHI

  −12V→5VのLOW

  にしたいたいです。

Probe1は±12側で、Probe2がTrの入力、Probe3が5V側の出力です。

 

USB2.0規格書 

http://www.usb.org/developers/docs/usb_20.zip
 

128KのHEXファイル一式

00、FF、AA、55、INC(インクリメント)、RND(乱数)、FF00の7種類の128KバイトのHEXファイル

Hex128K.zip  2008.10.5

 -------------------------------------------------------------

AVRminiProg  Mega128用 AVRStudio4プロジェクトファイル一式

AVRStudio4からAVRDragonとして認識されます。

AVRminiProgFullMega128Rev3b.zip  2008.10.5

mega128 ピンアサイン (Pin assignment)

 2008.10.4修正  CrlAltProgEnablePinはPC0、PC1、PC2の3本になります。

 2008.10.5修正  HVSPのSDI、SII、SDOをPDxからPAxへ移動しました。

 

 -------------------------------------------------------------

ライター確認用 HEXファイル作成ツール

解凍してからコマンドプロンプトで実行してください。

patan.exe    2008.9.26

使用法 : patan n ksize filename

n=0     0xFF 固定データ

n=1     0x00 固定データ

n=2     0x55 固定データ

n=3     0xAA 固定データ

n=4     インクリメントデータ

n=5     ランダムデータ

n=6     0xFF00 固定データ

ksize=1  1Kbytes (min)

ksize=128  128kbytes (max)

 -------------------------------------------------------------

chan さんのTiny45 オルゴールのHEXファイル

chanさんのページへリンク  WaveTable電子オルゴール

オリジナルは1曲分のHEXファイルしかないのですが、曲データは他に2曲同梱されています。perlを使ってmelody.asmに変換しアセンブラでHEXファイルにしてみました。

なおPWMの研究用にソースを見てもらいたいのですが、音がないとつまらないのであえて承認なしですが載せてます。そういうわけですぐに削除します。

   mg.zip    2008.9.15

 -------------------------------------------------------------

秋月  12.8MHz 高精度クリスタルモジュール(KTXO-18S)    波形です

KTXO-18Sの出力を各10kオームで+5.09Vへプルアップ、GNDへプルダウンした波形です。1Vp-pではありませんでした。データシートが違ってますね。 波形をみると立ち下がりの方がよさそうです。

 -------------------------------------------------------------

AVR サンプルアセンブラソース   avr_sample.asm

  -------------------------------------------------------------

PSoC汎用基板 (赤で囲んだ部品を実装します)

回路1

回路2

  D2,D3はトラ技では1S4になっているので、1S4をつける予定です。→1S4をつけました。

  D5,D6は不要かもしれません。トラ技の回路にはありません。→不要としました。

  Power用LEDのR7は1Kオームに変更しました。夜も時計を動かすのでもっと抵抗値が大きい(暗い)方がいいと思います。2Kオーム以上か?

 -------------------------------------------------------------

サンプル置き場

AVR Tiny2313ようLEDピカピカサンプル

IOtest.zip  2007.12.6

 -------------------------------------------------------------

EasyLogger WSN172用 (Mega168、12MHz水晶、ADポートはADC2(PC2)、SW2をSTART/STOP、LED2を動作LEDとしました。LED1をUSB接続LEDとしました。VREFは外部電圧=VCCです) またAVR初期化時のUSBバスの状態を修正しました。リセットで再接続します。接続するとLED1が点灯します。

その2 EasyLogger WSN172  2007.11.30

 

 EasyLogger WSN172用 (Mega168、12MHz水晶、ADポートはADC5(PC5)、SW2をSTART/STOP、LED1を動作LEDとしました、VREFは外部電圧=VCCです)

その1 EasyLogger WSN172  2007.11.30

 -------------------------------------------------------------

 ブレッドボード案

ATmega32 Rev1.0  2000

  -------------------------------------------------------------

 

inserted by FC2 system