フォーラムへの返信
-
投稿者投稿
-
> スタック退避の指定時、指定エリアの上にも同じだけのスペースが空いていないと、コンパイルエラーになるようなのですが、
> そういうものなのでしょうか?スタックは上に積まれていくため、上にも同じだけのスペースが空いていないとコンパイルエラーになると考えます。
> MMUで指定範囲の間にキャッシュがあると処理が遅くなる可能性があるでしょうか?
MMUに対してどのような設定をお望みでしょうか。
またその際に、どのようなアクセス方法に関してご懸念されておりますでしょうか。> また、MMUでアドレス範囲指定するとソースの記載順にエリアを配置するわけではなく、
> エリアを確保できる順に配置されるのは通常の動作なのでしょうか?申し訳ございませんがご質問の意図が理解できませんでしたので、
もう少し具体的にご質問をお願いできますでしょうか。以下に回答致します。
> TMS320F28004xシリーズのアナログ入力ピンについてですが、推奨の入力回路はありますか。
アナログのリファレンス入力回路については、以下のマニュアル 1316page に記載がございます。
TMS320F28004x Piccolo Microcontrollers Technical Reference Manual
http://www.tij.co.jp/jp/lit/ug/sprui33a/sprui33a.pdf
13.3.4 Designing an External Reference Circuitアナログ入力ピンについては特に推奨回路はございません。
> 外付けの保護ダイオードが必要でしょうか。
> 内蔵の保護ダイオードがある場合は電流はどの程度流せますか?
> よろしくお願いいたします。内蔵保護ダイオードは御座います。
VDDA+0.3Vを超える電圧または、VSSA-0.3Vを下回るとクランプが開始されます。
最大クランプ電流は、ADC入力ピンTotalで±20mAとなります。参考リンク:
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/641843?tisearch=e2e-sitesearch&keymatch=adc%20diode
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/665883?tisearch=e2e-sitesearch&keymatch=clamp%20diode以上、よろしくお願いいたします。
説明不足となり申し訳ございません。
まず、PORはBORよりも低い電圧になりますが明確な値については公開されておりません。
参考情報:https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/630274?TMS320F280049M-internal-POR-not-used-on-ControlCard
BORがEnableの場合には、電源電圧がPORを超えるまではPORがリセット状態を保ち、POR閾値を超えた後は、BOR回路がリセットを保持します。その後、電源電圧がBOR閾値を超えるとリセット解除されるため、電源投入後にリセットを解除する電圧値はBORの閾値となります。
BORがDisableの場合には、上記のBORの動作部分は外部のResetICなどで制御する必要がございます。ただしPORについては無効化できません。
PORはBOR閾値で動作いたしますので、ご連絡させていただいた電圧値と同義となります。
PORは以下の資料に記載のように、BOR閾値を超えるまでデバイスをリセット状態に保持すると記載がございます。
参考資料:TMS320F28004x Piccolo™マイクロコントローラ データシート
http://www.tij.co.jp/jp/lit/ds/symlink/tms320f280049.pdf
(69page) Power-On Reset (POR)When the voltage crosses the POR threshold, the internal brownout-reset
(BOR) circuit takes control and holds the device in reset until the voltage crosses the BOR threshold (for
internal BOR details, see 5.8.1.5).このBOR閾値は同資料の64pageに記載されており、2.81V(min)~3.0V(max)となっております。
ADCの割り込みとなります。以下フォルダのソースコードをご確認いただけますでしょうか。
~pdkフォルダ\packages\ti\starterware\examples\adc
ご連絡いただきました機能「Buckup/Restore clock regsiter settings …」は、FLASHにプログラムする前のクロック設定を保存し、FLASH書き込み後に、再度プログラムする前のクロックに設定を戻すものになります。この機能を使用しない場合、FLASH書き込み後は、FLASH書き込み時にGUIで設定されたクロック設定が維持されます。この設定が維持されると、F28M35xでは正常に動作しない可能性がありますので、このチェックを使用し書き込みを行っていただけますでしょうか。以下は参考リンクになります。
この機能について詳細を確認しますので少々お待ち下さい。
> DSC-A/B共にGSYNC=1で同期動作をさせるとすると、
> DSC-Aからの送信時は、DSC-AのMCLKXからのクロックがDSC-BのMCLKRに入るの
> で、DSC-BのSRGのクロックソース はMCLKRとなりますが、
> その場合、DSC-Aのクロックソースは何にしておけばいいのでしょうか?
> それとも、この様な場合は受信側(DSC-B)のみGSYNC=1として、送信側は
> GSYNC=0として動作させる必要があるのでしょうか?
> その場合は、以下の様にレジスタ設定を切り替えるということになりますでしょ
> うか?クロックソースはGSYNCの値によらず選択可能です。
GSYNC=1とすると、以下のマニュアルの36pagに記載の図のようにCLKGが同期して動作いたします。TMS320F2833x/2823x Multichannel Buffered Serial Port (McBSP) Reference Guide http://www.ti.com/lit/ug/sprufb7b/sprufb7b.pdf
SPIのマスター、スレーブのような形で使用するのであれば、
ご連絡いただいた方法で良いと思います。> また、この場合は送受信それぞれの
> XFRLEN
> RFRLEN
> はどの様に設定すべきでしょうか?(FPERとの関連性等)FPERは同期パルスの時間間隔(周期)を決めるもので、
XFRLEN、RFRLENは通信するデータのサイズに関わるものになりますので、
それぞれ、御社所望の仕様に設定しご利用下さい。> 上記の質問を含めまして、冒頭にあげた様な、
> 「2つのF28335を対向させて、下記の様な接続で相互にMcBSPで複数ワード以上を
> 含むフレームの送受信を行う場合」について、
> 送受信側それぞれでどの様なシーケンスとなるのか、どの様なレジスタ設定を行
> うべきかご教示いただけないでしょうか。McBSPは柔軟にシーケンスを組むことが可能なシリアルポートになりますので、
御社で実装したいシーケンスを、それぞれのF28335で実現するようにレジスタ設定をしていただければと思います。Processor SDK RTOS 内のStarterwareのフォルダにADCのサンプルプログラムが御座います。そちらにサンプルコードがございますので、こちらを参考にプログラムをお願いできますでしょうか。
PROCESSOR-SDK-RTOS-AM335X
http://www.tij.co.jp/tool/jp/PROCESSOR-SDK-AM335Xフォルダ:
~pdkフォルダ\packages\ti\starterware\examples\adc申し訳ございませんが、いただいた情報からでは問題点を推測することができない状況です。
ブートが起こらず正常に起動できるSPIブート設定をご利用いただくことはできますでしょうか。
もしこのSPIブート設定を使用するのが困難である場合、お手数ではございますが、再度お問い合わせください。
特定のスペックについては公開情報がございませんが、以下のリンクにこのピンの処理方法に関し記載がございます。
http://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds_target_connection_guide.html#nreset-considerationsnRESETピンはオープンドレイン出力の端子となり、外部で4.7kΩを用い3.3Vにてプルアップする必要がございます。
オプションの–cdebug_asm_dataの機能については、ドキュメントに記載されておりませんが、以下のリンクの今後削除される予定の、オプションリストに記載されているものになり、このオプションを使用することは非推奨となっておりますので、チェックを入れずにご利用いただけますでしょうか。
http://processors.wiki.ti.com/index.php/Compiler_option_cleanup
例外ベクターについて、以下のマニュアルの5018pageから記載されている”Memory Map”の項に記載がございます。
AM335x and AMIC110 Sitara™ Processors Technical Reference Manual
https://www.ti.com/lit/ug/spruh73p/spruh73p.pdf
26.1.4 Memory Map例外ベクターにはReset、Undefined、SWI、Pre-fetch abort、Data abortなどがございます。
詳細については、上記マニュアルをご参照下さい。 -
投稿者投稿