私のUSB名刺

こんにちは!



メインの仕事に加えて、私は多くのペットプロジェクトを行っていますが、それらについて書いたことはありません。今、私は状況を修正して、たった今完成したプロジェクトについて書くことにしました。ジョージ・ヒリアードのこの作品は、私にそれを作成するように促しました







プロジェクトの目的



私の履歴書、ソースコード、さらにいくつかのファイルを含む、最も安価なUSBフラッシュビジネスカードを作成します。その際、LCSCおよびJLCPCBから注文できる使用可能なコンポーネントを使用してください。



これのために私は何をする必要がありましたか?



安価であるが消費者にやさしいコンポーネントをピックアップし、それらのためにプリント回路基板を分離し、それらをはんだ付けし、ファームウェアを作成します。



私の名刺は結局何をしますか?



ご想像のとおり、私の名刺は、バイリンガルの概要、ソースコード、ファームウェア、ガーバーファイル、回路、プリント基板、および私の写真を含む小さなUSBフラッシュドライブを模倣しています。



メインプロジェクトノード



マイクロコントローラーSTM32F070F6-これは、私が見つけたUSBデバイスを搭載したコントローラーの最も安価なバージョンでした。

Winbond W25Q32-4 MBシリアルフラッシュメモリ。

0805 LED-美しさのための白と青。

LP3992-3.3V降圧電圧コンバーター、超小型回路電源;

USBLC6-2 -USB「コネクタ」の静電気保護。



ペットプロジェクトを開発するための私のアプローチ



マイクロコントローラをプログラミングするときに私が固守する方法はいくつかあります。



  1. 周辺機器のプログラミングにSPL、HAL、およびその他のライブラリを使用しないでください。私は主な仕事でこのルールを守ります。
  2. OSは使用しないでください。私のホームプロジェクトは、この便利なツールを使用するほど複雑ではないことがわかりました。
  3. . ( );
  4. . ( ).




コンポーネント



まず、自分のアイデアに合ったコンポーネントを選択する必要がありました。緩み以外は何もありませんでした。これを行うために、LCSCサービスを安価で手頃な価格の住宅開発オプションとして使用することにしました。結局のところ、私はさまざまな方法でトップのトップに入りました。たとえば、マイクロコントローラーのすべてのレッグを使用し、RAMの6kB以内に保持しました。そのうち4kBは、USBからSPIフラッシュにデータを転送するためにバッファーを使用しました。このコントローラーには物理的に存在しないUSBのレッグを使用しました。



その結果、価格は次のようになりました:

STM32F070F6マイクロコントローラー-0.64 $

Winbond W25Q32シリアルフラッシュメモリ-$ 0.35

ダウンコンバーターLP3992-33B5F-$ 0.04

静的保護USBLC6-2SC6 -0.08 $

石英-$ 0.15



私はフォームファクタ0603、LED 0805で抵抗とコンデンサを使用しました。これらすべてをすでに持っているため、それらのコストを計算することはできません。しかし、価格については、すべてが1.5ドルで余裕を持って収まると言って間違いありません。ビリヤードプロジェクトに比べて安くはありませんが、私の価格は卸売りではありません。



プリント基板と回路図 Altium Designerで回路



とプリント基板を設計し、スクリーンショットを添付しました。











すべてのコンポーネントは、データシートに従って関連付けられています。フラッシュメモリのマイクロ回路は、MISトランジスタを介してコントローラから起動されます。



ここでUSBコネクタが問題でした。 USB仕様によると、厚さは2mm。このような厚さのカードを注文するのは高価であり、名刺にはあまり実用的ではありません。一人の状況から抜け出す方法を見た音楽的な名刺を作った人。彼は1mmのボードを使用し、その上に追加のコネクターを作成しました。私も同じことをしました。







はんだ



付けコンポーネントのはんだ付けは一般的に問題ありませんでした。すべてをドライヤーとはんだペーストで密封しました。私の唯一の問題は、マイクロコントローラーのはんだ付けでした。はんだペーストからのしみが多すぎて、はんだごてで足をはんだ付けすることは困難です。その結果、すべてのパッドをはんだ付けで見落とし、マイクロコントローラーをヘアドライヤーではんだ付けしました。



プログラミング



ここで特に言うことはありません。すべてをC ++言語で低レベルでプログラミングしました。ソースコードを添付しますレジスターを記事で取り上げたラメロクUSBはマイクロコントローラーを使用して実装されます。フラッシュメモリチップは、DMAを介してSPIで最高速度で動作します。ダイオードは、250msのタイマーの割り込みによって順番に点滅します。











結論



これについては、私はすべてを考え、主要なポイントを説明しました。あなたが何かをもっと詳細に明らかにする必要がある場合(USB、フラッシュ、または回路のプログラミング)、次に書いてください、私は間違いなくそれを行います。



ではごきげんよう!



All Articles