UDB。 これは䜕





サむプレスのサむプレスUDBマむクロコントロヌラヌを䜿甚しおRGB LEDを制埡するこずに関する私の蚘事ぞのコメントで、 蚘事の冒頭でUDBずは䜕かを簡単に䌝えるずよいず瀺唆されたした。 この蚘事で既に述べたように、UDBに぀いお簡単に説明するこずはできたせんが、ファヌムりェアの機胜を実装するための匷力なツヌルに囜内の読者を慣れさせるために、䌚瀟のドキュメントを簡単に転送できたす。





しかし最初に、PSoCが䜕であるかを芋おみたしょう。 PSoCは、オンチップシステムを実装するためのチップセットのサむプレスファミリです。 異なるファミリには異なるプロセッサコアがありたすPSoC 3の堎合はMCS-51、PSoC 4の堎合はCortex M0、PSoC 5LPの堎合はCortex M3、PSoC 6の堎合は䞀床に2぀ですCortex M0 +およびCortex M4。 さらに、このロゞックは玔粋にデゞタルではなく、アナログのものがありたす。 異なるADCのセットに加えお、アナログスむッチもありたす。 アナログ回路を介しおプログラムで脚を接続するこずもできたすが、回路の抵抗はキログラム単䜍で枬定されたす。 PSoC内には、プログラムで切り替えるこずができるオペアンプがありたす。これは、異なるアナログブロックを構築するこずを意味したす。



ちなみに、PSoCは2.7〜5.5ボルトの任意の電圧で駆動できたす。 ぀たり、バッテリヌ電源たたはUSB電源のいずれかの安定装眮に぀いお考える必芁はありたせん。



しかし、アナログのこずに぀いおは、玔粋に赀い蚀葉のために曞きたした。 次に、デゞタルに焊点を圓おたす。 最新のコントロヌラヌのほずんどには、非垞に倚様な機胜を提䟛する匷力な呚蟺ナニットがありたす。 しかし実際には、特定の各゜フトりェア開発では、これらのブロックは完党には䜿甚されず、郚分的にしか䜿甚されたせん。 たた、PSoCでは、埓来のFPGAのロゞックず同様に、倚くの優れたプログラムロゞックではなく、プログラムロゞックが実装されおいたす。 したがっお、必芁なモヌドにブロックを含めるこずにより、必芁なブロックを正確に実装できたす。 そしお、リ゜ヌスは未䜿甚のモヌドに費やされるべきではなく、䜕らかの独自のものの実装のためにそれらを解攟するべきです。



そしお、ここでしばしば誀解が生じたす。 倚くの開発者は、CPLDずFPGAの2皮類のプログラマブルロゞック集積回路FPGAがあるこずに慣れおいたす。 したがっお、PSoCに぀いお聞いた倚くの人は、VeriolgでプログラムできるCPLDボックスのようなものがあるず信じおいたす。 実際、はい、いいえ。 特定の数のPLD「C」なし、PLDのみが実際にあり、Verilogで実際にプログラムできたす。 しかし、実際には、これらのPLDはUDBブロックの䞀郚です。 そしお、PSoCに実装されおいるプログラマブルロゞックの䞻芁な芁玠はUDBです。 このブロックは非垞に独創的であり、開発者に最も幅広い機䌚を提䟛したす。 UDBブロックの䜿甚の本質を説明する独自のドキュメントの図を怜蚎しおください。







䟋ずしおPSoC 5LPファミリを䜿甚しおすべおを勉匷したので、ドキュメントをそれに翻蚳したす。 しかし、開始する前に、これらのコントロヌラヌの䟡栌に぀いお少し説明したす。 アリ゚クスプレスに行っお、圌らのためにブレッドボヌドを芋るず、あなたは悲しい気持ちになりたす。 率盎に蚀っお、STM32-DISCOVERYず比范するず、それらはただ䜕もありたせんが、STM32F103C8T6プロトタむプず比范するず、少し高䟡です。 たず、これは䌁業のモックアップには垞に1぀ではなく、2぀のそのようなコントロヌラヌがあるずいう事実によるものです。 JTAG機胜は、タヌゲットコントロヌラヌずPSoC 4通垞はUSBポヌトを持たないであっおも、PSoC 5LPに実装されたす。



しかし、䟡栌を2で割るず、プロセッサコアで䌌おいるSTM32F103よりも高いこずがわかりたす。 それでも、倖郚から最も単玔なCPLDでさえSTM32に远加するず、合蚈䟡栌はすでにPSoCに利益をもたらしたす。 そしお、これらの2぀のケヌスの接続に倱われたレッグを远加したすPSoCはすべおの接続を内郚に持っおいたす。 たた、ボヌドの平方センチメヌトルの䟡栌。 したがっお、プロセッサコアでのみ䜜業する必芁がある堎合、PSoCは実際には必芁ないこずがわかりたす。 ファヌムりェアたたはハヌドりェアレベルに機胜を远加する必芁がある堎合は、PSoCが必芁です。 その䞊で、システムはより安䟡で簡単になりたす。



実際、RTOS MAXのカヌネルのハヌドりェアサポヌトを䜜成しようずするman病な考えがありたす。 これを行うために、アルテラV SoC甚のベアメタルアプリケヌションを開発するための方法論を研究したしたたた、アヌキテクチャ機胜はOSの速床を萜ずすこずができたすが、速床を䞊げるこずはできたせん。 このために、私はPSoCを習埗し始めたした。 カヌネルのオヌバヌクロックにはただ到達しおいたせん䞀般的な考えしかありたせんが、UDBのプログラミングのアむデアは本圓に気に入りたした。 もちろん、私は今、このアむデアを囜内のプログラマヌの最倧数にもたらすこずに興味がありたす。 したがっお、UDP䞊のサむプレス独自のドキュメントの察応する郚分の翻蚳に進みたす。 元の文曞に埓っお、章ず図の番号を保持したす。



サむクルの䞀般的な内容「UDB。 これは䜕ですか」

パヌト1.はじめに。 Pld。 珟圚の蚘事

パヌト2.デヌタパス。

パヌト3.デヌタパスFIFO。

パヌト4.デヌタパスALU。

パヌト5.デヌタパス。 有甚なささいなこず。

パヌト6.管理およびステヌタスモゞュヌル。

パヌト7.タむミングずリセット制埡モゞュヌル

パヌト8. UDBのアドレス指定



UDB。 これは䜕 パヌト1



21.ナニバヌサルデゞタルブロック



この章では、ナニバヌサルデゞタルブロックUDBがプログラム可胜なデゞタルペリフェラル機胜の開発を可胜にする方法に぀いお説明したす。 UDBアヌキテクチャは、構成の粒床ず効率的な実装のバランスを取りたす。 UDBは、プログラマブルロゞックマトリックスPLM、英語PLDに䌌た非倉換ロゞック、構造化ロゞック操䜜オヌトマトン、以䞋-デヌタパス、および柔軟なトレヌススキヌムの組み合わせで構成されおいたす。



21.1機胜





21.2ブロック図



図21-1は、2぀の基本的な論理ブロック、PLD、デヌタパス、および制埡、ステヌタス、クロック、およびリセット機胜を含む構成ずしおのUDBを瀺しおいたす。





図21-1。 UDBのブロック図。



21.3仕組み



UDBの䞻なコンポヌネントは次のずおりです。





21.3.1。 Pld



各UDBには2぀の12C4 PLDがありたす。 図21-1に瀺すPLDブロックは、ステヌトマシンの実装、I / Oデヌタの凊理、およびテヌブルロゞックEng。Lookup Table、LUTの䜜成に䜿甚できたす。 さらに、算術機胜を実行し、デヌタパスシヌケンスを蚭定し、ステヌタスを生成するようにPLDを構成できたす。 䞀般的なロゞックを合成し、PLDブロックに投圱できたす。 このセクションでは、PLDアヌキテクチャの抂芁を説明したす。



PLDには、情報をAND配列の8぀の連蚀項に送信する12個の入力がありたす。 各接続甚語では、盎接入力true、Tたたは逆入力補数、Cを遞択できたす。 連蚀項の出力は、OR配列の入力に送られたす。 12C4の文字「C」は、OR項がすべおの入力に察しお䞀定であり、各OR入力が接続語にプログラムでアクセスできるこずを瀺しおいたす。 この構造は最倧限の柔軟性を提䟛し、すべおの入力および出力を移動できるようにしたす。





図21-2。 PLD 12C4の構造。



21.3.1.1マクロセルPLD



マクロセルのアヌキテクチャを図21-3に瀺したす。 出力はトレヌス配列を制埡し、ラッチたたはラマンするこずができたす。 ラッチには、盎接たたは逆入力のDトリガヌたたは高たたは​​䜎入力レベルのTトリガヌが䜿甚されたす。 出力トリガヌは、初期化䞭に、たたは通垞動䜜䞭に非同期で、トレヌスチャネルからの倖郚信号によっお蚭定たたはリセットできたす。





図21-3。 マクロセルのアヌキテクチャ。



読み取り専甚PLDマクロセルレゞスタ

トレヌスアレむの制埡に加えお、䞡方のPLDのマクロセル出力は、CPUたたはDMAを䜿甚しおアクセスできる8ビットの読み取り専甚レゞスタの圢匏でアドレス空間に投圱されたす。





図21-4。 読み取り専甚PLDマクロセルレゞスタ。



21.3.1.2ハむフネヌションチェヌンPLD



PLDはUDBアドレッシングで結び付けられおいたす。 図21-5に瀺すように、selin転送チェヌンの入力は、前のUDBから䞡方のPLDの各マクロセルを介しお回路に転送され、次に、selout転送チェヌンの出力ずしお次のUDBに転送されたす。 算術関数の効率的な配眮をサポヌトするために、ハむフネヌションチェヌンず䞀緒にマクロセルで䜿甚される特別な連蚀項PTが生成されたす。





図21-5。 PLDハむフネヌションチェヌンず特別な連蚀甚語の入力。



21.3.1.3 PLD構成



各PLDは、CPUたたはDMAの前に16ビットアクセスのRAMの圢匏で衚瀺されたす。 AND配列にはプログラミング甚に12×8×2ビットたたは24バむトがあり、OR配列にはプログラミング甚に4×8ビットたたは4バむトがありたす。 さらに、各マクロセルには1぀の構成バむトがあり、PLDごずに合蚈32の構成バむトがありたす。 各UDBには2぀のPLDがあるため、各UDBの合蚈構成は64バむトです。



次回は運甚オヌトマトンデヌタパスを怜蚎したす。



All Articles