【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ホヅミ
記事: 110
登録日時: 9年前

【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#1

投稿記事 by ホヅミ » 7年前

お世話になっております。

トランジスタ技術で紹介されたこともあるMARM1114-MBのIOピンについて相談したいことが御座います。
(トラ技では基板の技術的なの質問は受け付けてないとのことでした)
SPI通信にてチップセレクトピンであるPIO0_2のSSEL0を割り当てて通信を行いますが
他のピンに移すこと、増やすことはできるでしょうか。
現在は別のピンで実験を行っているのですが見かけ上は通信を行っているピン、何も起こらないピンの二つがあり
プログラムの所為かわからないですがボードが発熱し1枚壊してしまいました。

質問をまとめますが
・本基板での割り当て機能を無視し独自でピンを割り当てることができるのか。
・SPI通信を行うためのチップセレクトピンだけでも増やせないか。(現在はSPIは1chですが最低でも3chまで増やしたい)
・独自で割り当てることは安全か。

ちなみに、トラ技についてきた基板は2枚ですが、今回は1枚のみを使う縛りとなっております。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#2

投稿記事 by softya(ソフト屋) » 7年前

その号持ってませんね。
使われているARMマイコンの型番はなんでしょうか?

・本基板での割り当て機能を無視し独自でピンを割り当てることができるのか。

出来るはずですが回路図がないと分かりません。
回路図がほしいです。

・SPI通信を行うためのチップセレクトピンだけでも増やせないか。(現在はSPIは1chですが最低でも3chまで増やしたい)

SPI通信はしたことないですが、OUTPUTピンならどれでも使える気がします。

・独自で割り当てることは安全か。

ちゃんと回路を把握しているなら安全です。

【補足】
もしかして、この基盤ですかね?
「【増刊】超小型ARMマイコン基板 特設ページ | トランジスタ技術」
http://toragi.cqpub.co.jp/tabid/412/Default.aspx
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ホヅミ
記事: 110
登録日時: 9年前

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#3

投稿記事 by ホヅミ » 7年前

ソフト屋さん
まさにその基盤です。
ARMに興味があり2枚ついてて比較的安価だったので(ピンは別売りでしたが^^;)実験用に買ったのですがさっそく1枚破壊と……

回路図ですが、取説についてきた大まかな回路図は持っているのですが、中身の詳しいものは持っておりません。
回路の部分ですが、勉強不足で把握しきれておりません。
現在考えているものは
チップ1:元から割り当てられているSSEL0
チップ2:PIO1_4(デフォルト無、機能:WAKEUP、B1_MAT3、AD5)
チップ3:PIO1_11(デフォルト無、機能:AD6)
の計3ピンを考えております。
直接何かをするようなピンではないはずなので安全だとは思いますが……

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#4

投稿記事 by softya(ソフト屋) » 7年前

SSEL0がハード的にレジスタなどの資源が割り当てられているみたいので、ライブラリ的にどう初期化されているかが問題ですかね。
あとSPIは デイジーチェーン接続 する方法もあるので それなら1本で済みますよ。

「SPIデバイスのデイジーチェーン接続 - アプリケーションノート - Maxim」
http://japan.maximintegrated.com/app-no ... vp/id/3947

スレーブ側がデイジーチェーン接続 に対応している必要はあると思いますが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#5

投稿記事 by softya(ソフト屋) » 7年前

そういえば、
チップ2:PIO1_4(デフォルト無、機能:WAKEUP、B1_MAT3、AD5)
チップ3:PIO1_11(デフォルト無、機能:AD6)
は信号を出せているのは確認済みでしょうか?
それと、この図のどのコネクタになるんでしょうか?
画像


【追記】
出ている信号をデジタルオシロやロジックアナライザで確認はできませんか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ホヅミ
記事: 110
登録日時: 9年前

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#6

投稿記事 by ホヅミ » 7年前

どうやらスレーブ側はデイジーチェーンを採用しているようでした。
URLを参考にして挑戦をしてみます。

PIO1_4,11はCN2から出力されます。
オシロやアナライザは持ち合わせておりませんが、
ちょうどスレーブに信号を送って動きを見るテストを行ったところ信号が届いていませんでした。(プログラム側の問題?)
プログラムの問題かもしれませんが、ピンの管理も3本分に増えるよりもデイジーチェーンを使った方がチップも僕自身もきっと健康的だと思うのでそちらから攻めてみます。

デイジーチェーンで組んでみて相談しながらも解決の糸口(良くも悪くも)が見つかり次第解決にしたいと思います。
それまで、ここのトピックがチラシの裏扱いになってしまうかもしれませんがお許しください。

ホヅミ
記事: 110
登録日時: 9年前

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#7

投稿記事 by ホヅミ » 7年前

デイジーチェーンの項目を読んで勝手にイメージをつかんでみたのですが確認のために教えていただきたいです。

スレーブ番号はMOSI→S1DI→S1DO→S2DI→……S3DO→MISOとつないだ順番に割り振る(られる?)。
クロック・スレーブセレクトの線はスレーブそれぞれにつなぐ。
信号はスレーブ番号が若いデバイスから送る度に昇順でシフトしていく。

こういった認識でよろしいのでしょうか?
スレーブの番号は繋いだ順番に自動的に割り振られるものなのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#8

投稿記事 by softya(ソフト屋) » 7年前

イメージで見る限り、割り振られるというかCS信号がローの間通過していくだけと言うかって感じでしょうか。
私の印象ではシフトレジスタを繋いでいるだけという印象です。
まぁ、試してみたほうが早いと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ホヅミ
記事: 110
登録日時: 9年前

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#9

投稿記事 by ホヅミ » 7年前

IOピンについては粗方理解はできたのですが、SPIコマンドのシフトされる動きがうまく想像つきません。
というのもスレーブ先がSPIコマンド1バイトを4回貰って(1バイト目がコマンド、2~4バイト目がパラメータ)一つの命令とされるものだからです。
本トピックタイトルとは趣旨がズレてしまっておりますが、SPI通信について知恵を貸していただきたいです。
cmdimage.jpg
cmdimage.jpg (24.46 KiB) 閲覧数: 2100 回
信号を1~12の順へ送った結果は スレーブ1には9~12、スレーブ2は8~5、スレーブ3は4~1でいいのでしょうか?
それとも、4回目を送るとスレーブ3の1回目の信号がなくなってしまったりはあるのでしょうか?
参考に教えていただいたURL先の信号イメージが1バイトずつシフトしていってたので、その辺が少し気になりました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#10

投稿記事 by softya(ソフト屋) » 7年前

スレーブ側の仕様というかスレーブ側ICの仕様が分からないの答えようがないですかね。
ただ、LPC1114のユーザーマニュアルによるとSPIの最大送出ビットは16bitなので4byte=32bitは一度に送信できないと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ホヅミ
記事: 110
登録日時: 9年前

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#11

投稿記事 by ホヅミ » 7年前

齟齬がありましたね
8ビットずつを4回送って1つのコマンドという意味になります。

SPI通信を行うサンプルには1つのコマンドを送る度にSSEL0を上げ下げしてましたが、SSEL0はコマンドを送信したいチップにシフトするために上げ下げをするんですよね?
しかし、デイジーチェーンで行うということは1byteを4回送ってSSEL0を上げ下げするという解釈で大丈夫でしょうか?
それとも1byte送る度にSSEL0は上下させるのでしょうか?そうするとコマンドが送りきる前に流れきってしまわないでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#12

投稿記事 by softya(ソフト屋) » 7年前

ホヅミ さんが書きました:齟齬がありましたね
8ビットずつを4回送って1つのコマンドという意味になります。

SPI通信を行うサンプルには1つのコマンドを送る度にSSEL0を上げ下げしてましたが、SSEL0はコマンドを送信したいチップにシフトするために上げ下げをするんですよね?
しかし、デイジーチェーンで行うということは1byteを4回送ってSSEL0を上げ下げするという解釈で大丈夫でしょうか?
それとも1byte送る度にSSEL0は上下させるのでしょうか?そうするとコマンドが送りきる前に流れきってしまわないでしょうか?
そういう意味なら、全部のスレーブ毎にSSEL0を上げ下げだと思います。
SSEL0を下げて コマンド4-1 コマンド3-1 コマンド2-1 コマンド1-1 と送出してからSSEL0を上げでしょう。
※ コマンド(スレーブ番号)-(バイト目)
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ホヅミ
記事: 110
登録日時: 9年前

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#13

投稿記事 by ホヅミ » 7年前

>>SSEL0を下げて コマンド4-1 コマンド3-1 コマンド2-1 コマンド1-1 と送出してからSSEL0を上げでしょう。

つまり、コマンドを
SSEL0 High (~CS:Low)
4-1,3-1,2-1,1-1
SSEL0 Low (~CS:High)

SSEL0 High (~CS:Low)
4-2,3-2……
~~~~

と並列(平行?)に送っていくわけですね。
見えてきた気がします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#14

投稿記事 by softya(ソフト屋) » 7年前

そんな感じだと思います。
実際には試してみないとわかんないですけどね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ホヅミ
記事: 110
登録日時: 9年前

Re: 【トラ技】MARM1114MBの技術的な質問(IOピン)【ARMマイコン】

#15

投稿記事 by ホヅミ » 7年前

ありがとうございました!
SPI通信、デイジーチェーンの必要最低限の知識だと思ったので、ある程度理解していないと残り一枚の基板も焼切ってしまうのではないかとナイーブになってました^^;
本トピックの情報を参考にしコードを組んでみます。
今回使っている基板(MARM1114-MB)はサンプルコードやオプションが充実しすぎてる所為かわからないのですが、何でも簡単に出来過ぎて深い部分を調べてもなかなか出てきてくれませんでした。

大変お世話になりました、本トピックはこの辺で解決とさせていただきます。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る