メニュー English Ukrainian ロシア語 ホーム

愛好家や専門家向けの無料テクニカル ライブラリ 無料のテクニカルライブラリ


無線電子工学および電気工学の百科事典
無料のライブラリ / 無線電子および電気機器のスキーム

自動化されたアクセス制御システムを設計します。 無線エレクトロニクスと電気工学の百科事典

無料のテクニカルライブラリ

無線電子工学と電気工学の百科事典 / マイクロコントローラー

記事へのコメント 記事へのコメント

今日、電子部品市場には、さまざまな目的のシステムを作成する機会が豊富にあります。 ただし、特定のシステムに適切なコンポーネントをどのように選択するかという疑問が生じます。 公開された記事では、広く入手可能な安価なコンポーネントを使用した自動アクセス制御システムの設計について説明しています。

では、どこから始めればよいでしょうか? システムの開発は、満たす必要がある要件のリストから始まります。 この記事で説明されているシステムのリストは次のようになります。 システムは次のことを行う必要があります。

  1. XNUMXつのドアから部屋へのアクセスを制御します。
  2. 各ユーザーに一意の ID を提供します。
  3. 通過時間とユーザー ID を記録した通過ログを維持します。
  4. XNUMXつのカテゴリのユーザーに作業を提供します。

システムにどのようなコンポーネントを含めるべきかを定義しましょう。 これを行うには、上記の要件を考慮してください。 段落 1 から、ドアの開閉機構を制御するために XNUMX つの I/O ラインが必要であり、識別子を入力するために XNUMX つのデバイスが必要であることがわかります。

ユーザー識別技術 (第 2 項) の選択は、安定性 (電子キー/コードの選択による第三者によるオブジェクトへのアクセスの防止)、使いやすさ (ユーザーが識別プロセスに費やす時間) などのシステム特性に大きく影響します。 、システム自体とそのさらなる運用にコストがかかります。 ここで考えられる解決策の例には、ダラス セミコンダクターの磁気ストライプ カードと iButton ドングルを使用して、キーボードからパスワードを入力することが含まれます [1,2、XNUMX]。

キーボードからパスワードを入力するのが最も簡単で低コストですが、ユーザーがパスワードを忘れたり、他人がパスワードを盗み見したりする可能性があるため、あまり便利ではなく、抵抗もありません。 また、頻繁に敷地内にアクセスするため、コードの組み合わせを入力するのに非常に時間がかかります。

プラスチックカードはより使いやすく、そのようなシステムは「ハッキング」がより困難ですが、その実装には、カードから情報を読み取るための追加のデバイスと、カードに情報を書き込むための特別な装置が必要です。新しいユーザーを追加します。 これにより、最終システムのコストが大幅に増加します。

最後の選択肢を考えてみましょう。 iButton キーは、直径 18、高さ 6 mm の金属製の MicroCan タブレット ケース内に配置された集積回路です。 この設計で製造される製品の範囲は、リアルタイム クロック、温度センサー、不揮発性メモリなど、非常に広範囲に及びます。 iButton のコストは低く (約 2 ドル)、リーダーの実装も非常に簡単です。実際、データ バスはマイクロコントローラー ポートの 1 本の I/O ラインに直接接続されています。 この場合、必要なのはソフトウェアで 1990-Wire プロトコルを実装することだけです。 このようなシステムを使用することの利便性も明らかです。コードを読み取るために、ユーザーは「タブレット」を接触パッドに接触させるだけで済みます。 説明したシステムでは、識別以外の機能を実行しない DSXNUMX 修正が選択されました。つまり、チップには、特別なコマンドをデバイスに送信することで読み取ることができる固有のコードのみが含まれています。

機能要件に戻りましょう。 パラグラフ 3 から、時間を追跡し、保護対象へのユーザー アクセスに関する情報を記録する必要があることがわかります。 当然のことながら、停電を予測する必要があるため、時間とログのメカニズムはこの種の問題に対して堅牢である必要があります。 DS1990 はユーザー識別子として選択されており、いずれの場合も 1-Wire プロトコルをソフトウェアで実装する必要があるため、iButton の別の変更である DS1994 をリアルタイム クロックとして使用することは理にかなっています。 このチップにはリチウム電池が内蔵されており、10年間の動作時間を保証します。

通過のログを保存するために、Atmel AT45 の一連のフラッシュ メモリが選択されました [3]。 このタイプのメモリへのデータの読み取り/書き込みはシリアル SPI プロトコルを介して実行され、関与する入出力ラインの総数は 7 です。このシリーズの利用可能なマイクロ回路の中から、メモリ容量 45 M ビットの AT041D4 が選択されました。

システム設定を制御するにはキーボードが必要です。 この場合、3 ~ 4 の数字と「*」および「#」の記号を含む 0x9 のボタン マトリックスで十分です。 このようなキーボードには、さらに 3+4=7 つのマイクロコントローラー I/O ラインが必要になります。

システムに最後に必要なものは、通過ログを表示したりシステムを設定したりするための小さなディスプレイです。 現在入手可能な低価格ディスプレイの種類は非常に豊富ですが、この場合、グラフィック出力は必要ないため、英数字情報を表示するには LCD で十分です。 HITACHI HD44780 コントローラをベースにした LCD は、現在最も人気があります [4]。 接続の容易さと低コストが特徴です。 データは 7 ビットまたは XNUMX ビットのインターフェイス (使用するモードに応じて) を介して転送され、さらに制御信号を送信するにはさらに XNUMX 本の I/O ラインが必要です。 I/O ラインを節約するために XNUMX ビット インターフェイスが選択されたため、LCD を制御するための I/O ラインの総数も XNUMX になります。

これで周辺機器の選択は完了です。 次に、上記のすべてのデバイスを効果的に制御できるマイクロコントローラーを選択する必要があります。 まず、システムに必要な入出力回線の数を計算してみましょう (表 1)。 将来(動作中に)LED やダイナミック スピーカー ヘッドなどを接続するために追加の I/O ラインが必要になる可能性があるため、得られた結果は最終的なものではありません。 したがって、番号が付いているマイクロコントローラーを選択することをお勧めします。表で指定した I/O ライン数を超えます。 1.

自動アクセス制御システムの設計

プログラミングの観点から見ると、いわゆる ISP テクノロジー (Ip システム プログラミング - インサーキット プログラミング) が実装されたマイクロコントローラーは非常に魅力的です。 新しいプログラム コードをマイクロコントローラーにロードするために、ボードから取り外す必要はありません。プログラミングは特別な出力を通じて回路内で行われます。 さらに、一部の変更ではプログラマさえも必要ありません。「ファームウェア」はコンピュータのパラレル ポートを介して実行されます。 当然のことながら、最も受け入れられる解決策は、システム内でまさにそのようなマイクロコントローラーを使用することであり、ファームウェアのための追加の資金を必要としません。

このタスクを実装するために、AT89S8252 マイクロコントローラが選択されました, これは、8051 ファミリのマイクロコントローラとコードとピン配置において完全な互換性があり、8 再書き込みサイクルのリソースを備えた 1000 KB のインサーキット プログラマブル フラッシュ プログラム メモリ、2 KB の内蔵メモリを備えています-EEPROM (電気的に消去可能なプログラマブル読み取り専用メモリ)、256 バイトの RAM、32 の I/O ライン、24 つのタイマー、ウォッチドッグ タイマー、ハードウェアは SPI インターフェイスをサポートします。 クロック周波数 - 12...XNUMX MHz (XNUMX マシン サイクルは XNUMX サイクルで実行されるため、最大パフォーマンスは XNUMX 秒あたり XNUMX 万操作です)。

この特定のマイクロコントローラーの選択は、次の理由から正当化されます。 8051 シリーズのマイクロコントローラーには広範な命令セットがあり、低レベルでのプログラミングが容易になります (たとえば、個々のビットの演算がサポートされています [5])。 ISP テクノロジーによりデバッグが高速化され、開発が容易になります。SPI インターフェイスのハードウェア サポートにより、このプロトコルを追加でプログラミングすることなく、選択した AT45 シリーズ フラッシュ メモリを接続できます。 2 KB の内蔵 EEPROM は、外部電源の存在に関係なく、保存する必要がある情報を保存するために使用できます。 説明したシステムを実装するには、32 の I/O ラインで十分です。 1-Wire プロトコルでは時間遅延を正確に観察する必要があるため、タイマーの存在により柔軟な実装が可能になります。

ウォッチドッグ タイマーは、コントローラのフリーズを引き起こす可能性のある強い電磁干渉にさらされた場合でも、システムが動作し続けることを保証します。 ウォッチドッグ タイマーはマイクロコントローラー内の独立したサブシステムで、N サイクルごとにマイクロプロセッサのステータス レジスタ内の 1 ビットの状態をチェックします。 このビットがセットされると、マイクロコントローラーは初期状態にリセットされ、リセットされると、XNUMX にセットされ、テストが停止します。 したがって、実行中のプログラムは、N サイクル以内の間隔でこのビットをリセットする必要があります。 これが起こらない場合は、マイクロコントローラーの動作が外部干渉によって中断されたことを意味し、次回ウォッチドッグ タイマーが起動すると、マイクロコントローラーは初期状態にリセットされます。

ソフトウェアの実装に進む前に、システムの直接の機能を実行する際の有効性の観点からアーキテクチャをもう一度見てみましょう。 設計されたシステムは、キーボードの使用 (システムのセットアップ、パス ログの表示のためのコマンド) と 1-Wire インターフェイスのコンタクト パッドによる情報入力の 1 つの方法をサポートします。 システムの主な目的はアクセス制御であるため、XNUMX-Wire パッドのポーリング時間はキーボードのポーリングに割り当てられた時間を超える必要があります。

1-Wire プロトコル仕様を考慮すると、根本的に異なる 1 つの状況が考えられることがわかります。XNUMX つ目は回線上にデバイスが XNUMX つだけある場合、XNUMX つ目はデバイスが多数ある場合です。 回線上のデバイスの数とその識別子を決定するために、XNUMX-Wire プロトコル仕様で指定された特別な検索メカニズムがあります。 これは、ライン上のデバイスの連続的なふるい分けと、アドレス空間 (「ボタン」識別子空間) のビットごとのスキャンで構成されます。さらに、この手順は、接続されたデバイスとの各通信サイクル後に再度実行する必要があります (デバイスの構成が異なる可能性があるため)変化)。

すでに述べたように、システムでは 1-Wire 回線が計画されており、これはリアルタイム クロックの接続と識別キーの両方に使用され、システムの一部であるリアルタイム クロックは常に接続されます。 。 これは、回線上に複数のデバイスが存在する可能性がある状況があることを意味します。 上記と I/O ポートの空きラインの存在を考慮すると、1-Wire プロトコル用にシステムに XNUMX つのラインを割り当てるのが合理的です。そのうちの XNUMX つにリアルタイム クロックを永続的に接続し、XNUMX 番目のラインを使用します。ユーザー識別子の提示のみを目的としています。 この構成により、各回線には常に XNUMX つのデバイスのみが存在することが保証されるため、システム実装が大幅に簡素化され、応答時間が短縮され、プログラム メモリ スペースが節約されます。

DS1994 リアルタイム クロックには、256 秒あたり 5 回増加する 136 バイトのカウンターがあります。 オーバーフローすると、カウントは 01.01.2000 から継続されます。 00 バイトの容量は、カウンタがオーバーフローするまでの 00 年間の動作に十分です。 ユーザーは自分にとって都合の良い形式で時刻を表示する必要があり、また時計を設定する機能も提供する必要があるため、組み込みシステムは内部形式からテキストへの日付と時刻の変換をサポートする必要があります。およびその逆。 日付 00/2136/XNUMX XNUMX:XNUMX:XNUMX が基準点として選択され、時計の動作と記録が約 XNUMX 年まで保証されます。

そしてもう一つ注意すべき点があります。 パスログを外部フラッシュメモリに保存することには同意しましたが、アクセス権のリストを保存する場所を決定する必要があります。 マイクロコントローラーの説明の際、2 KB の内蔵 EEPROM について言及しましたが、アクセス リストはパス ログよりも価値があり、たとえば後者を (物理的に) 削除できれば、この目的には理想的です。対応するチップをボードから取り外すことによってシステムからアクセス権のリストを削除できるのは、マイクロコントローラを取り外すことによってのみであり、それなしではシステムは動作できません。 説明したシステムでは、指定されたメモリ量は 168 アカウントを収容するのに十分でした。つまり、最大ユーザー数は 168 です。

パス ログは循環リストとして実装されており、いっぱいになると最も古いエントリが削除されます。 12 つのログ エントリのサイズは 4 バイト (通過時刻用に 8 バイト、識別子用に 45 バイト) です。 最初のログ オーバーフローが発生する前に、約 000 回のパスを記録するのに十分なログ メモリがあることになります。

開発プロセス中に、ドアのリード スイッチという別のコンポーネントがシステムに追加されました。 これは、システムがドアが現在開いているか閉じているかを判断し、電磁石への電源を適時にオフにするために必要です。 次のドア開放アルゴリズムが実装されています。ソレノイド コイルに電圧が印加され、システムはドアが開くまで、または 5 秒に等しい時間遅延が経過するまで待機し、その後電圧供給が停止します。

開発したデバイスの概略図を図に示します。

自動アクセス制御システムの設計

ご覧のとおり、DD1 マイクロコントローラーに加えて、DS1 フラッシュ メモリ チップ、12 ボタン キーボード SB1 ~ SB12、および LCD HG1 が含まれています。 マイクロコントローラーのクロック周波数は、ZQ1 水晶振動子を 24 MHz に設定します。 ポート P0 は、iButton クロック (ソケット X1 に接続) および識別子 (X2 に接続) からの情報を入力し、ロック ソレノイドに電力を供給するリレー (トランジスタ キーを介して) を制御し、ロック ソレノイドの開放を信号で知らせる HL1 LED に使用されます。ドアを開き、リードスイッチに取り付けられている状態を登録します。 DS1 フラッシュ メモリ チップとの情報の交換は、ポート P1 を通じて実行されます。 キーボードはポート P2 によって使用され、インジケータ HG1 はポート РЗ によって使用されます。 このデバイスには、5 V の安定化電圧が供給されます。電磁石の動作を制御するリレーに電力を供給するには、16 ... 20 V の電圧源が必要です。

デバイスは適切な寸法の基板上に組み立てられます。 DD1 マイクロコントローラーと DS1 メモリ チップを接続するには、適切なソケットを使用することをお勧めします。 実装されたボードはプラスチックまたは金属のケースに入れられ、キーボードと LCD ディスプレイがフロントパネルに表示されます。 装置は保護された敷地内に設置されます。

マイクロコントローラーのファームウェアコードとプログラムのソーステキスト

デバイスの電源を入れると、LCD に表に示すメニュー項目のリストが表示されます。 2. インジケーターには XNUMX 行しかないため、水平方向の「スクロール」には「#」キーと「*」キーが使用されます。 これらのコマンドを実行するには管理者権限が必要です。対応するキーを押してメニュー項目を選択した後、管理者権限を持つキーを提示する必要があります。そうでないと、要求されたコマンドは無視されます。

自動アクセス制御システムの設計

このデバイスに取り組む過程で、開発のさまざまな段階で問題が発生しました。 以下の点に留意したい。

ハードウェア部分。 どのマイクロプロセッサにも、入出力ポートの入出力電流の最大許容値があります。 たとえば、システムで LED を使用する必要がある場合、アクティブ状態がログの場合、ほとんどのマイクロコントローラーは I/O ポートに必要な電流を供給できません。 1. このような場合には、ログ状態をアクティブにする必要があります。 LED のアノードを電源レールに接続することで 0 になります。 また、負荷と直列に約 2 kΩ の抵抗をオンにすることで電流を制限することも忘れてはなりません。 それでもログを使用する必要がある場合。 1 がアクティブ状態で、負荷が大きすぎる場合は、トランジスタ スイッチを使用して負荷をオンにする必要があります。

1-Wire バスを実装する場合、抵抗を介してデータ バスを電源電圧に「プルアップ」する必要があります。 これは、ローからハイへの遷移中に、ラインがログへの切り替えしきい値にすぐに到達するために必要です。 1. 抵抗の値は 4,7 ... 5,1 kOhm 以内である必要があります。 ワイヤの長さが十分に長い場合 (数メートル)、抵抗器の抵抗値を下げることができます。

マイクロコントローラーのポートに接続されているすべてのデバイスが消費できる最大電流を忘れてはなりません。 それらすべてがアクティブ状態にある場合を考慮し、マイクロコントローラーがそのような出力電力を提供できるかどうかを計算する必要があります。 最大許容値を超えると、デバイスは適切なタイミングでオンになりません。

ソフトウェア部分。 開発プロセスの多くは、どのコンパイラが使用されるか、コードがどの程度最適化されてメモリに割り当てられるか、独自のエミュレータでプログラムをデバッグできるかどうか、プログラムの実行時間を追跡できるかどうかなどによって決まります。

プログラムで文字列定数を使用する場合、RAM の量が限られているため、特別なディレクティブを使用して、文字列定数をプログラム メモリ領域に配置する必要があることをコンパイラに指示する必要があります。 たとえば、Keil uVision コンパイラの場合、これは次のようになります: 'const char code sz[6] = "Hello"'。ここで、「code」修飾子は、文字列をプログラム メモリに配置する必要があることをコンパイラに指示します。

時間が重要な操作の場合は、タイマーを使用することをお勧めします。この場合、クロック周波数への参照は XNUMX つの定数を導入することによって行われ、周波数が変化した場合に簡単に修正できるからです。

渡されるパラメータが多数ある関数は作成しないでください。関数は呼び出されるときにレジスタを介して渡されます (パラメータが多すぎる場合は、メモリ内の固定領域を介して渡されます)。 このような各呼び出しには、関数が呼び出される前にレジスタ値を保存し、関数内でそれらのパラメータを取得するための追加コードが必要です。 解決策はグローバル変数を使用することかもしれませんが、呼び出された関数が同じパラメーターを使用する関数を呼び出す場合には十分に注意する必要があります。

高級言語をプログラミングに使用する場合、結果のアセンブラ コードを最適性の観点から評価すると便利です (メモリ不足の問題が発生した場合)。

最新のコンパイラは、高級言語でプログラムを作成するときに非常にコンパクトで高速なアセンブリ コードを生成するため、すべてのコードをアセンブリで記述する必要はありません。 ただし、時間が重要な手順では (速度と精度の点で) アセンブラの使用が合理的です。

当然のことながら、この記事で説明されているシステムはいくつかの方向で改善することができます。 たとえば、時間帯によるアクセス制限を追加し、不正なアクセス試行をログに記録し(アクセス権のない識別子を提示する)、XNUMX 番目のオブジェクトへのアクセス制御のサポートを追加します(これには XNUMX つの追加 I/O ラインが必要になります)。 、完璧には制限がありませんが、ここでは マイクロコントローラー内のプログラムメモリの量には制限があります。 この記事の主な目的は、特定の例を使用して組み込みシステム作成の全サイクルを示し、開発の過程で遭遇する可能性のある問題を解決するための実践的なアドバイスを提供することです。

文学

  1. ダラス セミコンダクタの技術文書。 - .
  2. Sinyutkin A. キーの電子ロック - 「タブレット」iButton。 - ラジオ、2001 年、第 2 号、p. 31 - 33; No.3、p. 30.
  3. Atmel技術文書AT45D041。 - 。
  4. 日立ホワイトペーパー「HD44780U (LCD-11) (ドットマトリクス液晶ディスプレイコントローラ/ドライバ) ADE-207-272(Z) '99.9 Rev. CO」。
  5. Predko M. マイクロコントローラーのガイド。 第 1 巻。 - M.: ポストマーケット、2001 年。

著者:A。Rantsevich、ミンスク

他の記事も見る セクション マイクロコントローラー.

読み書き 有用な この記事へのコメント.

<<戻る

科学技術の最新ニュース、新しい電子機器:

庭の花の間引き機 02.05.2024

現代の農業では、植物の世話プロセスの効率を高めることを目的とした技術進歩が進んでいます。収穫段階を最適化するように設計された革新的な Florix 摘花機がイタリアで発表されました。このツールには可動アームが装備されているため、庭のニーズに簡単に適応できます。オペレーターは、ジョイスティックを使用してトラクターの運転台から細いワイヤーを制御することで、細いワイヤーの速度を調整できます。このアプローチにより、花の間引きプロセスの効率が大幅に向上し、庭の特定の条件や、そこで栽培される果物の種類や種類に合わせて個別に調整できる可能性が得られます。 2 年間にわたりさまざまな種類の果物で Florix マシンをテストした結果、非常に有望な結果が得られました。フロリックス機械を数年間使用しているフィリベルト・モンタナリ氏のような農家は、花を摘むのに必要な時間と労力が大幅に削減されたと報告しています。 ... >>

最先端の赤外線顕微鏡 02.05.2024

顕微鏡は科学研究において重要な役割を果たしており、科学者は目に見えない構造やプロセスを詳しく調べることができます。ただし、さまざまな顕微鏡法には限界があり、その中には赤外領域を使用する場合の解像度の限界がありました。しかし、東京大学の日本人研究者らの最新の成果は、ミクロ世界の研究に新たな展望をもたらした。東京大学の科学者らは、赤外顕微鏡の機能に革命をもたらす新しい顕微鏡を発表した。この高度な機器を使用すると、生きた細菌の内部構造をナノメートルスケールで驚くほど鮮明に見ることができます。通常、中赤外顕微鏡は解像度が低いという制限がありますが、日本の研究者による最新の開発はこれらの制限を克服します。科学者によると、開発された顕微鏡では、従来の顕微鏡の解像度の 120 倍である最大 30 ナノメートルの解像度の画像を作成できます。 ... >>

昆虫用エアトラップ 01.05.2024

農業は経済の重要な分野の 1 つであり、害虫駆除はこのプロセスに不可欠な部分です。インド農業研究評議会 - 中央ジャガイモ研究所 (ICAR-CPRI) シムラーの科学者チームは、この問題に対する革新的な解決策、つまり風力発電の昆虫エアトラップを考案しました。このデバイスは、リアルタイムの昆虫個体数データを提供することで、従来の害虫駆除方法の欠点に対処します。このトラップは風力エネルギーのみで駆動されるため、電力を必要としない環境に優しいソリューションです。そのユニークな設計により、有害な昆虫と有益な昆虫の両方を監視することができ、あらゆる農業地域の個体群の完全な概要を提供します。 「対象となる害虫を適切なタイミングで評価することで、害虫と病気の両方を制御するために必要な措置を講じることができます」とカピル氏は言います。 ... >>

アーカイブからのランダムなニュース

726 シリーズ高精度多機能プロセス校正器 26.01.2006

FLUKE CORPORATION は、726 シリーズ精密多機能プロセス校正器を発表しました。

このデバイスの精度は 0,01% で、電圧、電流、抵抗、周波数、圧力、および温度を測定します。 デバイスは、最大8つの測定値をメモリに保存し、パーセンテージ偏差を測定できます。

その他の興味深いニュース:

▪ Exynos 15 プロセッサを搭載した Voyo A5250 タブレット

▪ 地下トウモロコシ

▪ AMD Trinity APU

▪ 音声で家電を操作

▪ ソーラールーフ - 屋根の形をしたソーラーパネル

科学技術、新しいエレクトロニクスのニュースフィード

 

無料の技術ライブラリの興味深い資料:

▪ サイトのホームワークショップのセクション。 記事の選択

▪ 記事 不当な扱い。 人気の表現

▪ 人の爪や髪の毛は死後どれくらいの期間で生えてくるのでしょうか? 詳細な回答

▪ 記事の電気技師。 労働保護に関する標準的な指導

▪ 記事 電子自転車ベル。 無線エレクトロニクスと電気工学の百科事典

▪ 記事 スターターバッテリーの充電器。 無線エレクトロニクスと電気工学の百科事典

この記事にコメントを残してください:

Имя:


Eメール(オプション):


コメント:





このページのすべての言語

ホームページ | 図書館 | 物品 | サイトマップ | サイトレビュー

www.diagram.com.ua

www.diagram.com.ua
2000-2024