TI MSP430シリーズ 3クロック
>>314 紹介して頂いた日本語の文書で勉強しましたw ありがとうございました。 >>311 別にした場合の話はしてないよ。 100us毎かどうかを別にしたらそりゃ何とでもいえる。 何の話をしてるのか分かってる? >>312 意味不明。 >316 素直に過ちを認めちゃえよ。IDもちょうど嘘だし 馬鹿っていつでも上から目線だね。 >>312 みたいのは「意図的に100usごとに書き換えをすれば100usごとに書き換わる」 という同義語反復を言ってるだけ。そんなの当たり前じゃないか。 現実にそういう使い方がありうるかどうかを問題にしているのに馬鹿じゃないのか。 MSP430みたいな低速なコアで、100usごとに割り込みを発生させる。 しかもメインではスタックを使わない。 そんな使い方があるのかw >>318 MSP430は低速なので115Kbpsのシリアル受信は不可能だという主張でしょうか? >>318 > しかもメインではスタックを使わない。 > そんな使い方があるのかw メインループではLPMに入れて割り込みで処理をする使い方は一般的だと思いますが? 4MHzのZ80A(NOP命令なら 1 MIPS)で9600bpa全二重は結構厳しかった。 想定外は、8MHz動作の16bitでも除算命令(実行に200クロック以上掛かる)を 実行中に割り込みが発生すると9600bpsを取りこぼすという8086だけど。(w ちゃんと計算していないけど、×12倍の115.2kでも、16 MIPSのMSP430なら、 たとえFIFO付きの16550互換(割込頻度が減り応答時間も余裕が取れる)では なくとも可能では? 割込を一切使わなくても、メインでサブルーチンの実行時間を含めて、 100us以内にサブルーチンを呼び出すようなコードを書けば、スタックの 同じ場所が書き換えられるよ。 例えば、 for(;;) { if(kbhit()) // 入力バッファを検査してキー入力の有無を返す { // キーが押されていた時の処理 } } みたいな、ごくありがちなループは、kbhit()の呼び出しと関数からの リターンで同じスタック領域が、ひたすら書き換えられる。 実際に使われている方にお聞きしたいのですが、 G2553のGPIOの各ピンで使用できる電流の目安はどれくらいにしていますか? MSP430G2x53のデータシート slas735f.pdfでは、 Absolute Maximum Ratingsの表でDiode current at any device pin が±2 mAとなっているのですが、 これは絶対定格という理解でいいのでしょうか? G2553付きのLaunchPadでLEDを点灯してDMMで実測したら3.5mAくらいあるので混乱しています。 >>322 ありがとうございます。 受信に限れば可能だと予想できますね。 >>323 原付バイクの法定速度が30km/hでも、実際は60km/hくらい出ちゃうのと だいたい同じ。 では、燃料が続く限り60km/hで延々走り続けられるかと言うと...。 >>325 ありがとうございます。 2mA以内で設計することにします。 しかし、何故にTIはLaunchPadで定格を70%もオーバーして使うんだろうか? >混乱しています。 冗談でしょ?小学生じゃあるまいに。 >>327 本気です。 中学生以上なら混乱しない理由を教えて下さい。 >>329 >>323 の > MSP430G2x53のデータシート slas735f.pdfでは、 > Absolute Maximum Ratingsの表でDiode current at any device pin が±2 mAとなっているのですが、 > これは絶対定格という理解でいいのでしょうか? この理解が違うという事でしょうか? Diode current at any device pin ってピン内部の保護ダイオードの電流と私は理解しました。 >>323 ±2 mAは、入力の保護用ダイオードに流すことのできる最大電流。 出力電圧と出力電流の関係は、p.25のFigure 6. - 9.を参照のこと。 >>331 >>332 ありがとうございます。 スッキリしました。 TIJのフォーラム、いつになったら復活するんだろうね。 >>328 "混乱”するほど複雑な事じゃないだろ? 第一、ポートには電流制限回路なんて入ってないよ。 >>335 済みません。 混乱の原因は私の誤読でした。 まぁ最近のマイコンはインジケーター用途のLEDなら、Highレベル出力で光らすのは大体ヘッチャラだよな。 LEDは20mAで光らせるなんてのも過去の話で5mAも流せば十分。 ちなみに現存のFRAMモデル(MSP430FR57xx)は SRAMも内蔵されているから 短い時間間隔で割り込みルーチンが呼び出されてもスタックの書き換え寿命は心配いらない。 つまりは、FRAMの書換え寿命が気になるってことさね。 >>335 電流制限回路がないから336は定格を気してるんだろw >>340 気にしてるんじゃなくて、「混乱」してるんだろ? 電流制限なんてかかってないんだから、流そうとすればそれなりに流れる。 それだけのことで、混乱するようなことじゃないだろ。 それだけのことって.... 釣りじゃなくて本気で言ってそうな感じがちょと怖いw >>341 じゃ、あなたはどれくらい電流取れると判断してるの? ていうか、電流値の質問じゃねえかw >>323 > 実際に使われている方にお聞きしたいのですが、 > G2553のGPIOの各ピンで使用できる電流の目安はどれくらいにしていますか? > MSP430G2x53のデータシート slas735f.pdfでは、 > Absolute Maximum Ratingsの表でDiode current at any device pin が±2 mAとなっているのですが、 > これは絶対定格という理解でいいのでしょうか? > G2553付きのLaunchPadでLEDを点灯してDMMで実測したら3.5mAくらいあるので混乱しています。 > >>343 >あなたはどれくらい電流取れると判断してるの? 何わけのわからんこと言ってんだ?とうとう頭おかしくなった? 電流制限かけてるわけじゃないんだから流そうとすれば、それなりに 流れる(流れてしまう)というだけのこと。 > これは絶対定格という理解でいいのでしょうか? って、”理解”もなにも、Absolute Maximum Ratingsの訳語が 絶対最大定格ってだけのことだろ。 それ以上流すことはできるかもしれないけど、流したらメーカとしては どうなっても知らない。 どこに”混乱”するような事柄があるんだ? >>340-344 なぁ、もまえら。なんで決着した話しを蒸し返しているの? それに>>329 が正解を出す前の>>325 と>>327 、俺は>>325 と>>327 のアホさ加減が笑えて仕方ないんだが? >>345 解ってないひとがデタラメ書いてるからでしょ。 もしかしたらまだ 「±2mA」と「3.5mAくらい」との違いで混乱して人いる? その二つは流れている場所が違う。 http://diranieh.com/Electrenicas/Figures/Digital2/PowerGroundClampsForCMOS.gif Diode current at any device pin ±2mA は、この図でダイオードに流れる電流。 入出力ピンに Vcc以上の電圧や、GND以下の電圧が加わったときに、 この静電気保護用ダイオードを経由してそれを逃がす。 LEDを光らせたのは、Highを出力する、上半分の FETを経由して流れ出た電流。 >>348 混乱していた人はスッキリしたようですよ。 >>333 ±2mAを誤解したまま、混乱もしない人がデタラメな主張をしているので、 それを指摘するためにレスしているだけですw 少し古いニュースだが、より低消費電力になりそうだな。 究極の低消費電力アプリケーションの開発を可能にする『MSP430』マイコン向けULP Advisor ソフトウェア・コード解析ツールを発表 http://www.elisnet.or.jp/news/news_detail.cfm?select_news_id=23028 なるっていうかそれ要するにただのコードのアドバイザーだよ。 しかし、消費電力なんかむしろどうでもいい用途もあることも忘れて欲しくないよな。 なんかもう最近のチップを使ってみたら、ただ最高速でぶん回したいだけなのに PMMの設定とか分かりにくいわ面倒くさいわで発狂しそうになった。 >>350 いやでも >>344 のような人がいるし。 って、本人かよw 久々に除いたらスレが活発になっててびっくりした。 でもログ見たらバカが大量発生してただけでがっかり。 Sleepから通信割り込みで起こすとデータがFFになるんだよな。なんでだ。 しかたないので、起こしたままにしてる。 >>356 スリープしているのに、データの受信もしてくれると期待していないか? 同時にはムリ。 割り込み→ウェイクアップ→データ受信可 相手側はこちらを起こしたあとにデータを送信しないといけない。 そんなことないと思うよ。そのためのDCOなんだから。 9600ボー程度なら余裕で寝て状態から起きて、いきなり受信できるはず。 その時には、既にスタートビットを取りこぼした後だよ。 >>356-358 全員言ってることが変だw ペリフェラルの稼動状態はCPUコアの稼動状態とは独立しており、割り込みによってコアを 起こすことができるのはMSP430に限らずこの世界の常識。 だから>>357 は間違いで、それはいいけど、>>356 の情報だけじゃ何がバグの原因か全然わからんね どの品種でやっているのか分からないけれど、 http://www.tij.co.jp/lsds/ti_ja/microcontroller/16-bit_msp430/code.page このへんの .zipファイルダウンロードしてサンプルソースを参考にすればいいと思う。 例えば MSP430F22x2, MSP430F22x4 をクリックして slac123d.zip をダウンロードして 全部展開すると、出てくるソースの内の一つ、msp430x22x4_uscia0_uart_05_9600.c は 9600bpsで LPM3モードで待ち受けて、受信データが来たらエコーバックするというサンプル。 >362 おおありがとう。もう一度ソースを見てみる。 今までMSP430は3回使ってるんだが、その時はスリープからなんら問題なく取り込みできた。 ところが今回はあまりにもシンプルな構成(使うのはUARTとポート数ビットのみ)でうまくいかん。 処理の流れ 割り込み1 タイマーBで50msec周期で起こして50msecフラグをたてる。LMP3モードで起こしたままリターン 割り込み2 受信データを取り込んで、リングバッファにセット。LMP3モードで起こしたままリターン。 メイン処理 メインで50msecフラグをチェックして起きた回数をカウントして、1分に一回DCO補正をおこなう。 リングバッファをリードして、ポートに出力 SLEEP これでSLEEPを外すと正常に動作する。SLEEPを入れると受信データがFFになる。 今回タイマーBを始めて使うが、なにか関係あるんだろうか? メインのループがあまりにも短すぎるので何か問題があるのか? ぐらいしか思いつかん。 >>363 > タイマーBで50msec周期で起こして 50msって、32.768kHzで1600クロック位だよね? 処理、間に合ってる? >>363 本当はもっと煽りたい衝動を抑えて書くけど、 本当になんとかしたいのなら最低限、他人が読んであんたの問題を共有できる程度の 情報はちゃんと書こうよ。 >364 処理って? 起きたら1Mhzだよ。余裕でまにあってるよ。 まずはサンプルソースをそのまま動かしてみるのがいいと思う。 そこから少しずつ改変して、自分がやろうとしていた処理手順と同じ状態に持って行く。 すると、あっこれをやったせいで動かないのかー とわかる。 TI、マイコン向けの低価格開発環境「LaunchPad」のエコシステムを拡充 ttp://news.mynavi.jp/news/2012/08/02/110/index.html >369 サンプルは動くよ。もちろん。W どうもCPUのバグ臭いので、いまTIに確認を取ってる。 受信データを受けたところでポートにでも出してみたら? データ来てからの応答時間と、読めたデータも分かるでそ? 起きたままでおけ、Deep sleepでダメ、なのにその間のスリープレベルを調べもしてないとか どーせシリアルを速いほうのモードで動かしてるんだろなとか もう>367としか言いようが無い。wとか付けてる場合かよ。 >374 >どーせシリアルを速いほうのモードで動かしてるんだろなとか 何をいいたいのか意味わからんなーーーーーーーーー? WW 32k(スリープ、寝る)と1M(動作中、起きる)を切り替えてるって書いてるだろ。 32Khzがスリープ時のクロック。これでレベルが分からんレベル? シリアルは早い方(1M DCO)で動かすに決まってるよ。WW >受信データを受けたところでポートにでも出してみたら? >データ来てからの応答時間と、読めたデータも分かるでそ? ポートに出したら、FFだよ。多分。(ICEでブレークしてみてるから) 応答時間がなんか関係あるだろうか? '1'て入力すると即座にFFを掴む。RXポートの信号はオシロでみて綺麗に(31h)が入ってる。 以前、まったく同じ方法で3回やってるが、その時は上手くいっていた。 今回違うのはTimerBをつかってることだけ。50msecで起こしているTimerBが影響しているという気がする。 以前の場合は上位があったので、上位がアクセスしたときDCO補正をやっていたが、今回は タイマーでやってる。 暇になったらもう一度調べてみる。いま別件やってるので。 >>375 > シリアルは早い方(1M DCO)で動かすに決まってるよ。WW >>357 一部の人は 376を見下しすぎている。 >以前、まったく同じ方法で3回やってるが、その時は上手くいっていた。 と書いているのだから、彼はやって成功しているケースもあるんだよ。 msp430は割込みで1usにスリープから起きる (実際は数100nsだとセミナーで聞いた)から、 スリープしてたら受信できないとかあり得ない。 で、msp430で、Timer_Bがある品種はかなりリッチな方で、一緒にTimer_Aが2つ3つあるような品種なので、 最悪、経験のある方のやりかたでどうだろう。って釈迦に説法だよな >379 次にすべきこと・出来ることが山ほどあるのに 何だか分からないと愚痴たれてる段階で デバッグする気もないただの釣りだと思われても仕方ない。 >379にしても品種名すら推測するはめになってんじゃん。 > ポートに出したら、FFだよ。多分。(ICEでブレークしてみてるから) データレジスタ読んだ直後のCPUレジスタ値を見たとかで? >応答時間がなんか関係あるだろうか? あるタイミングで読むと駄目とかいう間抜けなバグとかも考えられない わけじゃないけど、試しにスリープ状態から2,3バイト送ってみたら? 先頭バイトだけ欠るのか、FFの後に正しい1バイト目から読め始める のか、あるいはずっとFFで再起不能なのか・・ MSP430でI2cのスレーブでつかう場合に、SCLをLOWにホールドする方法がみつからない。 このモジュールは欠陥かよ? CLKストレッチが出来ないってことはない筈だが、、、、時々信じられないほどの 芋モジュールがあるから、あり得ないことはない。 例えば、 マスターから、スレーブにたいして、「20番目のデータを送れ」というような コマンドを送る。スレーブは、直ぐにリード動作が始まると、結果を準備できない。 スレーブの準備に1msecから20msecかかるような場合は、マスターは常に20msec待って リードを開始しなくてはならなくなる。これは非常にロスが生まれる。 TIのサンプルでは、すべて割り込みで処理している。したがって、リード割り込みが 入った時に、レジスタにデータをセットしないでリターンするなら、クロックストレッチが 起こらなければならい。この状態で、スレーブはデータが準備出来たら、レジスタに データをセットする。すると、リードが再開して次の割り込みが入り始める。 これが正解だろう。 このようにならないとしたら、このモジュールは芋決定だな。 もしくは、リード開始をスタートから開始するなら、スタート割り込みを受け付けたら 割り込みを禁止してリターンする。すると、次のリードで割り込みが入らないので、 クロックストレッチにならなくてはならない。データが準備出来たら、割り込みを 有効にする。 この場合クロックストレッチされてスレーブがハングすると、マスターは回復する 手段はない。 別のNMIかなにかを準備する必要がある。そもそも通信仕様が信じられない ほどの芋だな。 アホさ加減がちょっと前にSleepがどうとか騒いでた人っぽいなw MSPも10年以上の歴史があってI2Cをサポートするモジュールも複数あるから、 最低でもどのモジュールかを明確にしなきゃ話にもならんのに。 sleepはおまえだろ。寝言いってねえで起きろ!! モジュールが何種類もあるなんて、まさに馬鹿げてるな。WWW 思いつきで適当につくってるんだ。WWW 例えば MSP430x2xx Family ユーザーズガイド (slau144bの翻訳版のjaju037a) によると、 > I2C スレーブ・レシーバ・モード (略) > スレーブ受信モードでは、SDA 上に受信されるシリアル・データ・ビットは、 > マスター・デバイスが生成するクロック・パルスでシフト・インされます。 > スレーブ・デバイスはクロックを生成しませんが、バイトを受信後に CPU の > 介入が必要な場合 SCL を Low に保持できます。 ってあるから、SCLのLow保持は出来るんじゃないの? そこの文章がおかしい。「CPUの介入」でできるなら、「レジスタのビット操作でできる機能がある」 ということになりそうだが、レジスタにはそういうビットは無い。 甜菜! 【Cortex-】 やっぱARMっしょ 5 【AxRxMx】 http://uni.2ch.net/test/read.cgi/denki/1332474263/935 935 名前:774ワット発電中さん[sage] 投稿日:2012/09/01(土) 00:48:08.44 [深夜] ID:26Z8VKul TIでcortex M4FのEva board がus$4.99で出てた。二枚発注済み〜 936 名前:774ワット発電中さん[sage] 投稿日:2012/09/01(土) 01:08:28.74 [深夜] ID:3hrX+Zlc 期間限定だからな、俺も買っておくかな。 ST32F4discoveryと比べると値段相応みたいね。 メモリもスピードもペリフェラルも 939 名前:774ワット発電中さん[sage] 投稿日:2012/09/01(土) 20:27:32.37 [夜] ID:DRJ4qJYL Cortex M4F Eva boardってこれかいや http://www.ti.com/ww/en/launchpad_site/stellaris.html?DCMP=stellaris-launchpad&HQS=stellaris-launchpad-b ttp://www.ti.com/ww/en/launchpad_site/graphics/c2000_boosterpack.jpg コピペマンきもっ。 っていうか、ただコピペだけする奴ってアスペか何かしらんがコミュニケーション能力が 欠落してる奴としか思えん。 コピペにそこまでムキになるほど、賑わってないけどなw 共立電子産業、店舗にてTIのARMマイコンや関連ツールの取扱いを開始 ttp://news.mynavi.jp/news/2012/09/05/062/index.html 今日 マイコンセミナー行ってきた。横浜。 ウルヴァリンの説明で詳細説明せずにスルーしたので質問したった。 サンプルは間もなく、量産は来年からだと。 なんか、話したく無さそうな空気だった。 ステラリスのLaunchPadが500円だったので2個買ったよ お前か、 しかしアホな質問する奴は個別にやれってんだな。時間ねーのに お前の事じゃねーぞ C2000でも質問したわスマソ。 「技適取得済みってあるけど製品作る時は取んなきゃ駄目なんだぞゴルァ」の人が熱かったね。 逐次比較型ADは変換時間が書いてあるのにシグマデルタは書いてないけどなぜ、ってのも尋ねたかったンだけど コレはどっかで自習したら判りそうなので控えた. >>393 あのセミナーの中で冷接点補償の計算、致命的なミス犯してたな なんでもかんでも鵜呑みにしちゃいかんということが分かった >「技適取得済みってあるけど製品作る時は取んなきゃ駄目なんだぞゴルァ」の人が熱かったね。 どういうこと? 「技適取得済み」ならいらんでしょ。 >>322 >想定外は、8MHz動作の16bitでも除算命令(実行に200クロック以上掛かる)を 「実行に200クロック以上」は盛り杉。 http://www.eecs.wsu.edu/ ~aofallon/ee234/handouts/x86times.pdf > Multiplication and Division Instructions > DIV > 8 bit reg 80-90 > 16 bit reg 144-162 > 8 bit mem 86-96 + EA > 16 bit mem 171-190 + EA 1 > IDIV > 8 bit reg 101-112 > 16 bit reg 165-184 > 8 bit mem 107-118 + EA > 16 bit mem 171-190 + EA 1 >>322 >想定外は、8MHz動作の16bitでも除算命令(実行に200クロック以上掛かる)を >実行中に割り込みが発生すると9600bpsを取りこぼすという8086だけど。(w スタート1bit、ストップ2bitがあるとして、9600bpsで873回/秒しか割り込み発生しないし、 除算命令に200クロック掛かったとしても8MHz動作なら屁でもないだろ。 ヒント:全二重 つーか873回/秒ってどういう計算だよ それになんでストップ2bit仮定なんだよ 関わんない方がいいのかなw >>402 >つーか873回/秒ってどういう計算だよ https://www.google.co.jp/search?q=9600%2F (1%2B8%2B2) >それになんでストップ2bit仮定なんだよ 1bitでも構わんが、仮定の値は必要だろ? あーそういうことか おれの勘違いだったわ 忘れてくれ ネタが無いからと言っても、3ヶ月前のネタを蒸し返さなくてもw >>400 Z80Aなんだからソフトシリアルなんじゃないの? >>406 意味分からん。Z80SIOも8251も普通に使われてたが? チップそのものか割込みルーチンにバグがあるんだろ 実際エプソンの互換機はシリアル受信しながらFDDに記録すると100%固まってたから >>407 (SIOが内蔵されてない)Z80Aなんだから(あの割り込み頻度で取りこぼしたりするのは)ソフトシリアルなんじゃないの? >>409 >(SIOが内蔵されてない)Z80Aなんだから 組み込み用のマイコンでもない限り、プロセッサにシリアル通信等が付いてないのは普通。 以下は意味不明。 >(あの割り込み頻度で取りこぼしたりするのは)ソフトシリアルなんじゃないの? >>410 (あの割り込み頻度で取りこぼしたりするのは(割り込み頻度が10倍以上になる))ソフトシリアルなんじゃないの? >>406 >Z80Aなんだからソフトシリアルなんじゃないの? >>400 は8086の話だ。 >>412 そうか、ごめん。 >>322 の最初の行で判断してた。 おれもソフトシリアルの話だと思ったんだよね だから>>403 とかは違う話してると思ったのよ read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる