としぶぅ~の「工作部屋」...毎日少しのお勉強

趣味・関心事を書いていこうと思います。

PIC16F88を動かす。。。その61(I2C:その4)

2012-12-06 05:33:22 | PIC16F88

おはようございます。

としぶぅ~です。

 

今朝はまた雨ですね・・・「またかい!」って言いたくなります。

日本海側ではこの時期こんな感じの天気なんで慣れてはいますが。。。。太平洋側はこの時期こんなに

雨降らんでしょって感じです。

体調はまだまだです。。。。やはり歯が痛い・・・・とれた歯ではなく。。。いろいろな歯!

やはり、疲れ・・・風邪も混ざってきているのかな。。。と思言っています。ま、頑張って乗り切ります!

 

ところでPIC16F88ですが、I2Cのマスターモードは使えない?・・・

て感じだったので本日はいろいろ調べてみました。

PIC16F876のデータシートを眺めると・・・明らかにマスターモードは存在しているけど、PIC16F88はどうもマスターモード

を使うためのレジスタが足りない。。。

やはり使えないっぽい。。。。!?

さてどうしようかな。

 

とりあえず他のマイコン引っ張り出して、I2Cのマスターモードを動かして。。。。それからPIC16F88をスレーブとして

動かそうか。。。それくらいしか手はなかろうか。。。

ということで、もう少し調べてみます。

今日はこんなところにしておきます。

 

それではみなさま良い一日を(^o^)/


PIC16F88を動かす。。。その60(I2C:その3)

2012-12-05 05:56:31 | PIC16F88

おはようございます。

としぶぅ~です。

 

まだ歯が調子悪いです^^;

でも、少しづつ良くはなってきているように感じます。。。。歯や口の中が調子悪いということは。。。。

食べるな!?ということでしょうか(笑)

この際痩せますか・・・・・・

 

ということで、今日はI2Cの確認ですが、

SPIで作ったモジュールプログラムをささっといじってみましたが。。。。

何も出力がでてきませんね^^;    LCD表示だけ変わったか・・・(笑)

そんな単純にはいかないか・・・

とりあえずモードは”1011”

I2C Firmware Controlled Master mode operation with Start and Stop bit interrupts enabled; slave is Idle

というモードです。

マスターモードはこれしかないですからね。。。

後は、適当にアドレスをSSPADDレジスタにいれて、データをSSPBUFにいれている。。。

これじゃだめなんだっけ??

もう少しマニュアル読まないとだめか・・・^^;

ま、少し体調戻ってきたのでこれからがんばりまっす。

 

今日はこの辺でタイムリミットです。。。

では、皆様本日もよい一日を~

 

 

 

 


PIC16F88を動かす。。。その59(I2C:その2)

2012-12-04 05:41:28 | PIC16F88

おはようございます。

としぶぅ~です。

 

今日は雨ですか。。。。昨日は疲れのためか・・・歯を入れたためか。。。

調子がすぐれなかったので9時前に寝ました。。。

本日もまだまだな調子です・・・・年か!(笑)

 

今日もがんばろうかな・・・

昨日の続きですが、I2C昨日のマニュアルを読んでいますが。。。。あまりマスターモードについては詳しく書いてないですね。。。

モードもスレーブモードばかりでマスターモードは、「ファームウェアコントロールマスターモード」しか用意されていない。。。

これはマスターモードで使えないということか??

ま、やってみるのが早いかな。。。。

I2Cはインターラプト(割り込み)を使わないといけないようなので、結構面倒。。。デバッグしながら様子を見ていこうかな。。

いつものようにささっとプログラム組んでみて動かしてみようと思います。。。(失敗しないと覚えないし(笑))

ちょっとやってみてマスターモードが使えないようであれば、他のマイコン使用してスレーブ確認・・・かな・・・

と考えています。

 

ちょっと厄介ですね。。。

 

今日はこの辺にしておきます。。。

体調すぐれないので!

 

ま、早く体調整えて頑張ります。

それではみなさま良い一日を!(^o^)/

 


PIC16F88を動かす。。。その58(I2C:その1)

2012-12-03 05:35:03 | PIC16F88

おはようございます。

としぶぅ~です。

昨日まで自宅にいってました。。。寒かった^^;

なんだか、歯の調子が悪い・・・・口の中が荒れているような感じなので風邪かな?

それとも寝不足か!?

なんにしろ。。。自宅でのスケジュールは結構ハードやった・・・・おかげでブログ2日間更新できませんでした^^;

 

本日からI2Cすこしづつ進めていきます。

とりあえず知っている知識から。。。。

 ・I2Cはフィリップスが作ったデータの通信方式

 ・SPIは4線式(データイン・アウト・クロック・チップセレクト)だがI2Cは2線式(データ・クロック)の同期式

 ・I2Cはデバイスのアドレスを通信データ内にもっているのでチップセレクトはない

 ・基本的に同一基板内で完結するための通信方法(そういう使い方していないこともあります)

 ・転送レートは、1Mbps/max(対応少ない)又は、400Kbps

 ・2本の線で通信できるので配線が楽になる。

 ・マスターモード・スレーブモードがある。

 ・マスターが同じラインにマルチでそんざいできる。(PICでできる?)

持っている知識的にはこんなところでしょうか・・・・

基板内で完結するために作られているので、あまりノイズが多いところではむかない・・・と思っています。

ノイズが多いところでは、2線式でもCAN通信が有効でしょうか。。。。一度仕事で使ったことがありますが、かなりノイズに

強かったです。(非同期・差動。。。ドライバが必要)

 

上記の知識でやれるかな??

ま、明日から順にマニュアルを訳していこうと思います。

とりあえず、マニュアルから抜粋したブロック図を添付しておきます。

扱うレジスタは、SPIとほぼ同じで、SSPADDレジスタが追加なのかな・・・・

多分、そんなに難しくない…・という予想です。

あと、チェックはI2C-I/FをもったEEPROMをもっているので、それで動作チェックしようかなと思います。

少し楽しみですね。。。。^^

 

さて本日はこの辺でタイムアップです。。。

今週もお仕事忙しそうです。。。。がんばろっ

ではみなさま良い一日を(^o^)/

 

 

 

 

 


PIC16F88を動かす。。。その57(SPI:その18 まとめ)

2012-11-30 05:17:17 | PIC16F88

おはようございます。

としぶぅ~です。

 

今日も寒いですね。。。最近夜が遅いのでまた胃の調子が悪くなってきました。。。

夜の食事の量減らさないと…・かな^^;

 

そうそう。。。このブログ始めて”105日”経過しました。

ま、週に1回くらい休みましたが。。。ほぼ毎日更新してました。

本日ふと訪問数みてびっくり!

トータル閲覧数(PV):18738

トータル訪問者数(IP):10123

訪問者数で10000人超えました!

おぉぉ。。。見に来ていただいているみなさまありがとうございます。

だいたい1日100人くらいの人がこのブログ見に来てもらっている。。。。。ということでしょうか!

これからもがんばって更新していくので見に来てくださいね^^

 

さて本日は、

昨日でだいたいSPIについては確認できた?と思っていますので本日はとりあえず簡単にまとめて・・・・

とりあえず大事なことを箇条書きにしておこうかなとおもいます。

1.SPI通信=4線式通信

2.使用するレジスタはSSPBUF・SSPSTAT・SSPCON

3.ボーレートは、OSC/4、OSC/16、OSC/64の3種類から選択。SSPMにて設定

4.SSPBUFにデータを書き込むとSDOピンからデータが自動的に出力される。

5.リード/ライトアクセス中は、CSを途切れさせてはいけない

6.クロック・データの関係は、CKP・CKE・SMPによって設定する。

7.マスターモードでデータをリクエストする場合、データ部分にダミーデータを書き込まないとクロックが出ないので受信できない

8.SPIのI/Fデバイスを使用する場合は、そのデバイスの仕様にあったコマンドにてアクセスをする。

9.CSについては、ボーレート x 8bitで時間を計算して、SSPBUFにデータを書き込む前に”L”、書き込んでから計算値分

  時間経過してから”H”にする必要がある。

10.マスター・スレーブ同じ設定にしないと通信はできない。

11.クロック供給式(同期式)なので外付けクロックは必要ない。

 

こんなところでしょうか・・・・

結構つまづきましたがなんとかSPI通信の確認ができました。

SPIのI/Fをもったデバイスは結構ある。。。。特にセンサ関係。

SPIは結構ボーレートが上げれるので有効かも?I2CのI/Fだと400Kbpsか1Mbps・・・・

さて次はI2Cやってみようと思います。

 

まだまだやることはいっぱいありますね。。。。

がんばります^^

 

今日はこの辺にしておきます。

それではみなさま。。。良い一日を(^o^)/