4Gネットワークをベースとした組み込み機器のリモートアップグレードシステムの設計と実装(研究1)

まとめ

無線通信技術の継続的な更新と開発により、組み込み機器のネットワーク応用分野は大幅に拡大しており、リモートアップグレード機能は製品開発に不可欠な部分となっています。

この論文は,組み込みデバイスのリモートアップグレードを研究し,デバイスのハードウェア統合を変更しないことに基づいて,別個のアップグレードリモートアップグレードシステムを設計および実装した。

新しいプログラムファイルの取得はアップグレードツールによって完了し、端末装置はUARTによって開発されたブートプログラムを通じて新しいプログラムのダウンロードと更新を実現します。

アップグレード ツールは、無線ネットワークと端末機器の間の中間アダプテーション層であり、下位ではさまざまなハードウェア インターフェイスに適応し、アプリケーション シナリオと機器の種類を拡張し、移植や移植に便利な上向きの統一されたアプリケーション開発インターフェイスをユーザーに提供します。拡張。

研究の背景と意義

組み込みデバイスのプログラムのバグ修正、更新の繰り返し、プログラムの更新、機能の追加にはすべてソフトウェアのアップグレードが必要です。
新しいアプリケーションのシナリオでは、オンサイト更新方法は、より便利な使用、より簡単な操作、より安定したアップグレード、およびより安全なシステムを求めるユーザーのニーズを満たすには程遠いです。
したがって、基盤となるデバイス構造から分離され、組み込みアップグレードおよびデバイスインテリジェンスと多機能拡張の実現に対して安定したパフォーマンスを備えた組み込みデバイスのリモートアップグレードシステムを設計することは、非常に重要です。

組み込みアップグレードは一般に、通信インターフェイスまたはネットワークに接続してプログラム ファイルを取得します。インターフェイス接続は実装が簡単ですが、手動操作が必要であり、特に取り付けや分解が難しい製品では時間と労力がかかります。 、監視カメラ、電力網給電設備、天体観測装置など。

現在、この機能の大部分は無線通信によって実現されており、デバイスと無線モジュールがネットワーク経由でデータ伝送を行い、アップグレードプログラムを取得するのがユーザーにとって最も簡単で便利です。

最近の研究のほとんどは、アップグレードする機器にリモート通信機能を追加することを選択しており、機器のソフトウェアとハ​​ードウェアを再設計する必要があるため、機器の不安定性が増大し、優れたシステムパフォーマンスを備えた組み込み機器に適しています。そして多くのリソース関数。

一般的な組み込みデバイスのほとんどは、オペレーティング システムの強力なリソース割り当てやタスク処理機能を持たないフロントエンドおよびバックエンド システムであり、ハードウェア リソースは比較的シンプルで、周辺モジュールも少なく、アップグレードも限られています。

リモート アップグレードのために無線モジュールを本装置に直接インストールする場合、ブート プログラム部分には無線モジュール ドライバー、リモート通信用のプロトコル解析プログラムなどが含まれている必要があります。さらに、ハードウェアプラットフォームのチップパラメータが異なり、使用される製品の性能やアップグレード通信インターフェースも異なり、ブートローダーは特定のチップの特定のインターフェース用であることが多く、複数のデバイスやチップに対応するソリューションの汎用性を備えていません。

本論文は,別個の2段階アップグレード方法を採用し,アップグレードツールを利用して下部端末をアップグレードする.下部通信インターフェースが変更される場合,アップグレードツールのプログラム構造を変更する必要はなく,いくつかのパラメータを変更するだけであるをクリックし、対応する通信インターフェイス ドライバーを追加し、新しいインターフェイスを入力します。プロトコル機能に従ってアプリケーション層への呼び出しインターフェイスを追加でき、対応する解析プロトコルをサーバーに追加できます。プロトコルを記述する必要があるのは 1 回だけであり、最下層には影響を与えないため、開発タスクの量が大幅に削減されます。

国内外の研究状況

アプリケーション プログラミングにおける IAP は、MCU がシステム内の新しいコードを取得して FLASH に書き込むことができるテクノロジー、およびプログラム プログラム自体を指します。
IAP テクノロジーは構造的に、プログラムの更新やジャンプを実行するブート プログラムと、通常動作時に特定の機能を実装するアプリケーション プログラムの 2 つの部分に分かれています。
ブート プログラムは通常、JTAG およびその他のインターフェイスを介してダウンロードされ、オンチップ フラッシュに書き込まれます。MCU は、電源投入時およびリセット時にブート プログラムを自動的に実行します。新しくダウンロードされたプログラムにジャンプして実行します。それ以外の場合は、プログラム ポインタが表示されます。アプリケーションプログラムに直接ジャンプして実行することで、IAP機能を実現します。

ISP は外部プログラムに接続して MCU の内部データを変更し、ソフトウェアと連携して手動操作を行う必要があります。
IAP 方式はより柔軟で、通常、マイクロコントローラーのシリアル ポートを使用して PC またはその他の通信方式に接続し、ブート プログラムを使用して内部メモリをプログラムしてアップグレードを実現できます。

主な研究内容

機器のハードウェアプラットフォームを変更せずに個別アップグレードを実現するリモートアップグレードシステムソリューションを提案します。
ハードウェア プラットフォームはモジュール化されており、4G モジュールとサーバーのリモート通信はアップグレード ツール上に構築されており、新しいプログラム ファイルの取得はアップグレード ツールによって完了します。
比較的標準化され、安定しており、完全に機能する通信プロトコルが策定されており、データは確立された通信プロトコルに従ってパッケージ化および暗号化されます。
無線伝送やプログラム動作中に発生する可能性のあるエラーや例外に対する解決策を提案します。
アップグレード対象のデバイスは、UART によって開発されたブート プログラムを通じて新しいプログラムのダウンロードとアップデートを実現します。

システム要件の分析

システムスキームの設計では、アップグレード ツールがリモート サーバーとの通信接続を確立し、アップグレード対象の機器とリモートかつリアルタイムでデータを送信できることが必要であり、その機能要件は次のとおりです。

  1. 通信プロトコルの信頼性
    アップグレードツールはサーバーやアップグレード対象の機器と頻繁に通信するため、分析や処理を容易にするために通信プロトコルは完全な機能と標準化されたフォーマットを備えている必要があります。ソフトウェア動作中のエラー状態については、動作状態に応じてプロトコルで異なるエラー メッセージを作成する必要があります。
  2. データの保存と送信の正しいパフォーマンス
    アップグレード対象の機器のアップグレードのためのデータ ファイルの長期保存。プログラムのアップグレード プロセス中、プログラム ファイルとバージョン番号の送信ではデータ エラーを回避する必要があり、データの検証と暗号化アルゴリズムが必要です。
  3. ハードウェア設計のスケーラビリティ
    ハードウェア プラットフォームは分解や変更が容易ではないため、ハードウェア設計はスケーラブルである必要があり、さまざまな産業用通信インターフェイスに接続し、プロジェクトの要件に応じてアップグレードできます。システムのハードウェア設計は安定性と信頼性が高く、アップグレードする機器を接続するインターフェイスは独立して設計する必要があります。
  4. デバイスのステータスの表示により、
    ユーザーはアップグレード ツールの実行ステータスとエラー ステータスを視覚的に確認できます。

ネットワーク通信プロトコルの選択

この論文では、物理層に UART インターフェイスを採用し、データリンク層は UART プロトコルの形式を設定し、ネットワーク層は IP プロトコルを使用し、トランスポート層プロトコルには TCP と UDP が含まれます。

TCP は伝送制御プロトコルであり、コネクション指向のトランスポート層プロトコルです。データ送信前に、クライアントとサーバーの間で 3 ウェイ ハンドシェイクが行われて接続が確立され、データ送信中に確認とウィンドウが表示されます。再送信。輻輳制御メカニズム。切断時に 4 つのウェーブも実行され、信頼性が大幅に向上しますが、遅延も増加します。
TCP は全二重通信と対応するデータ キャッシュを提供し、データにエラー、損失がなく、重複がないことを保証します。

UDP (User Datagram Protocol) はコネクションレス型のトランスポート層プロトコルであり、接続確立後、応答を待たずに送信を開始するため、メッセージ送信後のデータの安全性や完全性を保証できません。通信速度は TCP よりも高速ですが、ネットワークの品質が低い場合はセキュリティ上のリスクが発生します。

したがって、UDP プロトコルは信頼性ではなく時間を考慮します。TCPはUDPプロトコルに比べて通信速度は遅いですが、信頼性は高いです。本稿では、遠隔通信では主にプログラムファイルとプロトコル命令の送信を行うため、通信プロトコルの精度と信頼性が高く要求されるため、TCPプロトコルを採用します。

無線通信ソリューションの選択

GPRS (General Packet Radio Service) データ伝送テクノロジは、2G と 3G の間にあり、2.5G とも呼ばれます。GPRS 技術は常に更新され成熟しており、GPRS の伝送速度は約 100kbps で、アクセス時間が短く、接続が高速に確立され、オンラインでリアルタイムであるという特徴があります。

上記の方式の最大の違いは、ネットワーク速度、サービスの種類、伝送遅延です。
この記事では、アップグレード ツールは主にプログラム ファイルの転送を目的としており、画像や音声データの転送は必要ありません。また、プログラムのサイズは可変であり、高速な転送を必要としないサブパケット送信として設定されています。レート。ただし、信頼性の高い伝送、広いネットワーク カバレッジ、高いリアルタイム パフォーマンス、長時間のオンラインが必要です。

全体的なアーキテクチャ設計

ここに画像の説明を挿入
このシステムには主に、アップグレード対象の機器、アップグレード ツール、無線通信ネットワーク、リモート サーバー、PC が含まれます。

一方では、アップグレード ツールは、ワイヤレス モジュールを使用してデータを TCP/IP プロトコル パケットに形成し、ワイヤレス ネットワークを介してサーバーに送信します。BootLoader プロトコルはプログラムのアップグレードに使用され、さまざまなデバイスに適用できます
。シリアル通信インターフェイスでアップグレードできます。

MCUの選択

MCU は組み込みシステムの中核であり、中央スケジューリングの役割を果たします。STMicroelectronicsなどの幅広いMCUがあります。チップコアのほとんどはARMシリーズであり、ARM7、ARM9、ARM Cortex-Mなど、特定の製品に応じて異なるバージョンが使用されます。

ここに画像の説明を挿入
STM32F405 チップを MCU として選択し、UART のハードウェア データ フロー モードを通じて 4G モジュールに接続します。
MCU はカスタム データ通信プロトコルに従ってデータをメッセージにロードし、4G モジュールはネットワーク経由でメッセージをサーバーに送信し、サーバーは解析と処理後に応答メッセージをアップグレード ツールに送信します。

おすすめ

転載: blog.csdn.net/Caramel_biscuit/article/details/131909700