フォーラムへの返信

15件の投稿を表示中 - 151 - 165件目 (全215件中)
  • 投稿者
    投稿
  • Yojiro
    Yojiro
    従業員

    ご認識の通りとなります。
    ADCIN14とADCIN15については、同時サンプリングしたい入力信号を使用しないモジュールでサンプリングすることで、同時サンプリングが可能になります。

    また、ADCIN14とADCIN15のAD変換を行うADCモジュールは
    指定することも可能なのでしょうか?

    はい、可能です。
    ADCIN14とADCIN15は全てのADCモジュールにつながっており、ADCモジュール側の設定でADCIN14またはADCIN15をサンプリング/変換することになります。

    Yojiro
    Yojiro
    従業員

    ご理解の通り、TMS320F28377Sは4つのADCモジュールですので、同時サンプリングも4つとなります。
    ADCIN14とADCIN15の例外とは、命名規則(ADCINxn)の例外を指しておりまして、信号としては他の入力と同じですので、他の入力と同時サンプリングは可能です。

     

    Yojiro
    Yojiro
    従業員

    TMS320F28377Sには、4つのADCモジュールを搭載(ADC-A, ADC-B, ADC-C, ADC-D)しています。
    このモジュール毎にサンプル回路が1つずつあり、それぞれ独立して動作することが可能です。
    それぞれのADCモジュールのサンプリング開始トリガに同じ信号を指定することで、同時サンプリングが可能になります。

    データシート上で、ADCの入力ピンの名称は、ADCINxnというフォーマットで記載されています。
    ADCINxnx がモジュールを、<span style=”text-decoration: underline;”>n</span> がチャネル番号を示しています。
    x がことなる信号でしたら、同時サンプリング可能です。
    例)
    ADCINA1 – ADCINC2
    ADCINA2 – ADCINB2
    ADCINC4 – ADCIND1
    など

    例外として、ADCIN14とADCIN15は全てのモジュールに接続されている信号となっていますので、ご注意下さい。

    ADC入力端子とADCモジュールとのつながりにつきましては、
    データシートの図5-28. Analog Subsystem Block Diagram (176-Pin PTP)
    に記載されておりますので、ご確認ください。

    返信先: I2Cの送信完了、受信完了 #3940
    Yojiro
    Yojiro
    従業員

    NACKが検出されたときの処理ですが、ご検討頂いている処理で問題ございません。

    返信先: I2Cの送信完了、受信完了 #3938
    Yojiro
    Yojiro
    従業員

    お使いのサンプルコードでは、ARDYINT(Register-access ready condition)を有効にしており、ARDYINTはNACINTよりも優先度が高いため、ARDYINTがNACKINTに先立ち検出されます。

    ARDYINTの処理ではNACKの受信判定を行っており、NACK受信時にはNACKINTフラグをクリアするとともにSTOP conditionを送信するように処理されております。

    ここでNACINTフラグがクリアされるため、割り込みハンドラでI2CISRCを読み出しても、’2’が読み出せることはございません。
    NACK受信を上位アプリで検出したい場合は、この割り込みハンドラのNACK検出時に何らかの変数・フラグへNACK検出状態をセットして上位アプリで参照するなど、ソフトウェアの追加をお願いいたします。

     

    返信先: システムクロックについて #3834
    Yojiro
    Yojiro
    従業員

    最大周波数400MHzを超える設定をされた場合は、その設定に従った逓倍を実施します。
    PLLで400MHz以内に収めるという処理はございません。

    PLLがロックしない(initSysPllで無限ループ)、システムクロックが規定(最大200MHz)外となりCPUが誤動作するなど不正動作の原因となりますので、PLL出力周波数には400MHz以内の設定をお願いいたします。

    返信先: システムクロックについて #3831
    Yojiro
    Yojiro
    従業員

    上記の設定例は
    10MHzの水晶振動子を用いて
    システムPLL出力として400MHzのクロックを生成した例で
    宜しいでしょうか?
    この後、2分周してシステムクロックとして200MHzとしている
    との理解で宜しいでしょうか?

    ご認識の通り、システムPLLで10MHzを40倍して400MHzを生成し、2分周することで200MHzのシステムクロックとしています。

    また、imult・fmult・PLLSYSCLKDIVの設定値の範囲の制限は
    ございませんでしょうか?

    システムPLLの出力周波数には最大値が定義されています。値につきましては、データシート(JAJSEZ6F)の5.9.3.2.2 Internal Clock Frequenciesに記載されておりますのでご確認ください。
    TMS320F28377Sでは、PLL出力周波数(f(PLLRAWCLK))は、最大400MHzとなります。
    imult/fmult/PLLSYSCLKDIVの値ですが、そのままレジスタに反映される値となっており、それぞれTRMに定義されております。
    imult : 2.15.10.6 SYSPLLMULT Register IMULTビット(0 – 127)
    fmult : 2.15.10.6 SYSPLLMULT Register FMULTビット
    00: Fractional Multiplier = 0
    01: Fractional Multiplier = 0.25
    10: Fractional Multiplier = 0.5
    11: Fractional Multiplier = 0.75
    PLLSYSCLKDIV:2.15.10.11 SYSCLKDIVSEL Register PLLSYSCLKDIVビット
    1分周(設定値0)から126分周(設定値0x3F)まで設定可能

    生成される各クロックが許容値範囲内に収まっていれば、
    良いと考えたら宜しいのでしょうか?

    はい、ご認識のとおりです。

     

    返信先: システムクロックについて #3826
    Yojiro
    Yojiro
    従業員

    C2000シリーズには、任意の倍率に設定可能なPLLが搭載されており、10MHzのクロック入力でも200MHzを生成可能です。

    設定方法につきましては、Technical Reference Manual(SPRUHX5)
    2.7 Clocking
    2.7.6 Clock Source and PLL Setup
    に詳しく記載されておりますので、ご確認ください。

    C2000Wareのサンプルコードでは、PLL設定の関数が用意されております。
    C2000Ware_1_00_05_00\device_support\f2837xs\common\source\F2837xS_SysCtrl.c
    void InitSysPll(Uint16 clock_source, Uint16 imult, Uint16 fmult, Uint16 divsel)
    この関数を使用する場合は、
    clock_source = XTAL_OSC
    imult = 40(0x28: IMULT_40)
    fmult = 0(0x00: FMULT_0)
    を設定いただくと、システムクロックに200MHzが生成されます。

    返信先: SPI通信について #3790
    Yojiro
    Yojiro
    従業員

    SPIモジュールで制御されるCS信号(SPISTEx)は1つしかありませんので、自動でCS信号を制御する場合は1対1になります。
    CS信号にGPIOを使用してSPI通信の前後にソフトウェアでCS信号を制御することで、複数のスレーブに対し通信することが可能になります。

    ご検討のほど、よろしくお願いいたします。

    返信先: リアルタイムクロックについて #3776
    Yojiro
    Yojiro
    従業員

    C2000シリーズには、RTC機能は搭載されておりません。

    時刻管理が必要な場合は、外部にRTC ICをご使用ください。

     

    ご検討のほど、よろしくお願いいたします。

    返信先: TMS320F28377D-EPについて #3735
    Yojiro
    Yojiro
    従業員

    miyoさん

    お問い合わせありがとうございます。

    TMS320F28377Dの評価ボードは、上位製品であるTMS320F28379Dへ順次置き換えられており、現在TMS320F28377Dを搭載した評価ボードはございません。また、今後もリリースされる予定はございません。

    TMS320F28379Dですが、TMS320F28377Dに対し、CLB(Configurable Logic Block)機能が追加されております。その他の機能、メモリなどは相違ありません。

    CLB機能につきましては、EnDatやBiSSのようなアブソリュートエンコーダのプロトコルインタフェースをサポートする機能になります。
    なお、CLB機能の利用に関しましては、controlSUITE内のPosition Managerソフトウェアパッケージにより提供されます。直接CLB機能を使用することはできませんのでご注意ください。
    詳しい資料は、controlSUITE\lib\app_libs\position_manager\<version>\<protocol>\Doc にドキュメントがございます。

    以上、ご確認のほど、よろしくお願いいたします。

    Yojiro
    Yojiro
    従業員

    TMDSEMU100V2U-ARMの後継につきましては、以下の製品になります。

    ○XDS200 USB エミュレータ
    http://www.tij.co.jp/tool/jp/tmdsemu200-u

     

    ご確認のほど、よろしくお願いいたします。

    返信先: プログラム書込みエラー #3695
    Yojiro
    Yojiro
    従業員

    nabuさん

    書き込みにご利用いただいているPCアプリケーションは、Code Composer Studioでしょうか。それともUniflashでしょうか。

    Uniflash v4をご利用の場合、デフォルトの書き込み設定では、ご指摘のエラーが発生するとのことです。

    Uniflashでは書き込み時にプログラムの内部でGELというスクリプトを使用しています。
    このGELスクリプトには、書き込み終了後に内部レジスタXAR0を参照するという記述がされております。
    ところがUniflashが書き込み終了時にエミュレータ接続を切断するため、残りのスクリプトにてエラーが発生しているとのことです。

    スクリプトの記述に関しましては、Code Composer Studioの処理と共通のため、削除することは難しいとのことですが、Uniflashの設定にて書き込み終了後にスクリプトを終了させることで、エラーの表示を抑制することができます。
    設定方法)
    UniflashのProgramタブの「Run Actions」にある”Run Target After Program Load/Flash Operation”にチェックを入れます。

    Code Composer Studioをお使いの場合は、現象を確認できておりませんので、もうしばらくお待ち下さい。

     

    以上、ご確認のほど、よろしくお願いいたします。

    返信先: 演算処理速度について #3643
    Yojiro
    Yojiro
    従業員

    各演算については、高級言語では時間の定義がされておりませんので、アセンブラ命令レベルでの実行サイクルについて、説明いたします。
    なお、数値につきましては、純粋な命令の実行サイクルとなっており、レジスタへのコピーなどのサイクル数は含まれません。

    F28M35H52C1には、FPUが搭載されておりますので、浮動小数点の加減乗算につきましては、以下の通りとなります。
    1)float + float : 1 cycle
    2)float – float : 2 cycle
    3)float * float : 2 cycle
    これらの命令の実行前には、各命令で使用するレジスタへ値が反映されるまでに4cycleの遅延が必要となります。
    参考資料)TMS320C28x Extended Instruction Sets Technical Reference Manual

    浮動小数点の除算および三角関数演算につきましては、ソフトウェアライブラリにて実行されます。
    コンパイラにて自動的にライブラリ(Run time support library:RTSライブラリ)の呼び出しが行われますが、RTSライブラリの実行速度については、定義されておりません。
    標準ライブラリのほかに、FPU搭載C2000デバイス向けに三角関数および除算を高速化したライブラリ(fastRTS Library)が用意されており、このライブラリでは、以下のように実行サイクル数が定義されております。
    4)float / float : 24 cycle
    5)sin(float) : 41 cycle
    6)cos(float) : 42 cycle
    参考資料)C28x Floating Point Unit fastRTS Library

    整数の演算につきましては、浮動小数点と同様にアセンブラ命令の実行サイクルは以下のとおりです。
    7)int + int : 1 cycle
    8)int – int : 1 cycle
    9)int * int : 1 cycle
    参考資料)TMS320C28x CPU and Instruction Set Reference Guide

    整数の除算につきましては、RTSライブラリが使用されるため、浮動小数点の除算と同様に具体的な数値はありませんでした。

    情報として不足しているものもございますが、ご査収のほど、よろしくお願いいたします。

    返信先: bootmode #3602
    Yojiro
    Yojiro
    従業員

    はい、ご認識の通り、F28035をFlash ROMからブートする場合は、
    GPIO34/GPIO37はHigh、TRSTはLow
    として電源ON・リセット解除をしてください。

    以上、よろしくお願いします。

15件の投稿を表示中 - 151 - 165件目 (全215件中)