
Altium Designerには巨大なコンポーネントライブラリが付属していますが、独自の回路コンポーネントを作成する必要があります。 これは、多数のピンとピン属性を持つ大規模な超小型回路に特に当てはまります。 これらは、FPGA、マイクロコントローラー、プロセッサー、メモリーチップなどです。 ここでは、PDFファイルから情報を抽出して回路コンポーネントを生成する技術を紹介します。
K66シリーズなど、Kinetisマイクロコントローラーのデータシートを例に取ります。 メーカーが提供する多数のリファレンスデザインからこれらのマイクロコントローラーの回路コンポーネントを抽出することは難しくありません。 幸いなことに、それらの多くはAltium Designerの形式で表示されます。 Hexiwear-Design-Filesアーカイブをここからダウンロードし、そこでスキームを見つけてください 。その中にコンポーネントのそのような表現があります:

(クリックして拡大)
ここで、マイクロコントローラの回路コンポーネントは、回路の作成者にとって便利だったため、いくつかの論理部分に分割されています。 著者のプロフェッショナリズムがうらやましいだけですが、通常、コンポーネントのこのような貧弱なプレゼンテーションは、回路の動作を理解し、その後エラーを検索することを難しくします。
出力のマイクロコントローラーは、最大7つの代替機能をサポートできます。 少なくとも1つの出力とボードの機能を割り当てる際の回路が間違っていると、製造後に手作業で手作業で調整したり、ケースがBGAの場合は破棄したりする必要があります。
したがって、そのようなコンポーネントを借りることはできません。 また、1つのケースについてのみ表示されますが、ピン配置が異なる他のケースもあります。
状況は、サードパーティのライブラリにあるマイクロコントローラのコンポーネントにとってはましです。 また、代替機能を示すものでもありません。
PDFデータシートからのコンポーネント生成の自動化に道を見つけました。
ステップ1
データシートのどのテーブルがピン配置を表しているかを判断します。 K66の場合、複数のシートにまたがるこのようなテーブルの形式で表示されます。

(クリックして拡大)
これは便利なビューです。 この表は、ピン番号とすべての機能の名前をすぐにまとめたものです。 しかし、STM32マイクロコントローラの場合、状況はより複雑になり、ピン番号とそのベース名の対応表と、ベース名とすべての代替機能の対応表が別にあるとします。 これも簡単に解決できます。
ステップ2
テーブルをPDFファイルからMS Excelに転送します。 これにはAdobe Acrobatプログラムを使用しました。 彼女は無料の試用版を持っています。
この種類のExcelのテーブルを取得します。

(クリックして拡大)
ステップ3
テーブルフィールドをタブ文字(0x09)で区切ったテキストファイルにExcelからテーブルをエクスポートします。
ステップ4
受け取ったテーブルファイルには、PDFファイルのフォーマットから継承されたすべての種類のゴミが入っています。 これらは、不要な改行、スペース、およびその他の不要な文字です。
そこで、Delphiでファイルをインポートしてゴミをフィルタリングするプログラムを作成しました。

(クリックして拡大)
プログラムウィンドウは、代替ポート関数のファイルへのパス(これはExcelからエクスポートされたテーブルです)、マイクロサーキットケースのタイプ(リストはDelphiプログラムで手動で入力されます)、ディレクトリとテーブルがAltiumへのその後のインポートに適した形式に変換されるファイルとディレクトリを示します(拡張子が.csvのファイルである必要があります)。 csvファイルの区切り文字はコンマでなければなりません。 関数の分離記号は、出力の説明の関数列挙が便利に読み取られるように、任意にすることができます。
すべてを正しく設定したら、「実行」をクリックします。
正常に実行されると、「Altiumの出力テーブル」タブに、Altium Designerスクリプトによる処理を目的としたテーブルが表示されます。 テーブルは上記のcsvファイルに保存されます。

(クリックして拡大)
ステップ5
Altium Designerを開きます。 新しいコンポーネントを作成する回路コンポーネントのライブラリを開きます。 シーケンスDXP→Run Scriptをクリックします。 ImportPins.PRJSCRスクリプトへのパスを指定します。 次のウィンドウが表示されます。

(クリックして拡大) 。
その中で、RunImportPinsをクリックします。 表示されるダイアログで、csvファイルへのパスを指定し、マッピングの更新をクリックします。 次の内容のウィンドウが表示されます。

[実行]をクリックすると、回路コンポーネントのエディターウィンドウで、名前と番号が割り当てられたすべての出力の画像が表示されます。

(クリックして拡大)
それだけです! 作業は完了しました。
これは、約束された自動化から期待されたものとは少し違うように見えるかもしれません。 しかし、実際には、回路コンポーネントを開発するとき、結論の数と名前の正確な対応が最も責任があり、骨の折れる作業です。
その後、結論の長さをすばやく編集し、それらをフィールドの周りに配置し、等高線を描画し、機能グループに分割することができます。 これは、致命的なエラーにつながることのない日常的な簡単な作業です。 さらに、フットプリントエディタでは、既存のウィザードを使用してマイクロサーキットケースを問題なく作成することもできます。 マイクロコントローラの場合は非常に典型的です。
プロジェクトリポジトリはこちらです。
Pin_builder_MK66ディレクトリには、この記事で説明する手順と結果を繰り返すためのすべてのファイルが含まれています。 Delphiにはコンバーターのソースファイルもあります。 Import_pins_Altium_scriptディレクトリには、Altium Designerのスクリプトプロジェクトが含まれています。
FunctionsMapping.xlsxファイルには、データシートからエクスポートされたソーステーブルが含まれています。
変換用のcsvファイルはMK66FN2M0VLQ18.csvと呼ばれます