>100 Views
July 02, 20
スライド概要
2020/7/2 Azure Sphere Online Training 2020 July
SeeedKKの中の人。Microsoft MVP for Internet of Things。
Azure Sphere リアルタイム処理 2020/7/3 Takashi Matsuoka
Takashi Matsuoka (@matsujirushi12) 「e」3つ 2017~ MVP for Windows Development Wio LTE MT3620 DevBoard de:code 2020
MT3620 ブロック図 HLCore Cortex-A7 RTCore Cortex-M4F x2 https://d86o2zu8ugzlg.cloudfront.net/mediatek-craft/documents/mt3620/MT3620-Datasheet-v1.2.pdf
OS と アプリケーション、サービス HLCore HLApp RTApp アプリケーション ランタイム OS サービス Networking management Application management OTA update client Device Authentication client カスタム Linux カーネル セキュリティ モニター ハードウェア I/O RTCore
RTAppのサンプル / フレームワーク Azure/azure-sphere-samples https://github.com/Azure/azure-sphere-samples • マイクロソフト提供のサンプルコード。 • OSはベアメタル。 • RTAppは他社に委ねる模様。ほとんどのRTAppサンプルコードが削除された。 Azure-Samples/Azure-RTOS-on-Azure-Sphere-Mediatek-MT3620 https://github.com/Azure-Samples/Azure-RTOS-on-Azure-Sphere-Mediatek-MT3620 • マイクロソフト提供のサンプルコード。(ドライバはMediaTekを使用) • OSはAzure RTOS。 CodethinkLabs/mt3620-m4-drivers https://github.com/CodethinkLabs/mt3620-m4-drivers CodethinkLabs/mt3620-m4-samples https://github.com/CodethinkLabs/mt3620-m4-samples • Codethink提供のドライバとサンプルコード。(リポジトリはそれぞれ) • OSはベアメタル。 • インターフェースはADC, GPIO, GPT, I2C, I2S, PWM, SPI, UART。 MediaTek-Labs/mt3620_m4_software https://github.com/MediaTek-Labs/mt3620_m4_software • MediaTek提供のドライバとサンプルコード。(リポジトリは1つ) • OSはベアメタルとFreeRTOS。 • インターフェースはADC, GPIO, GPT, I2C, I2S, PWM, SPI, UART, WDT, MBOX。
デモ・デバイス マイクロフォン 音の大きさを計算、表示する。 4KHz(250μ秒毎)でサンプリング 1秒間(4000件)の音の大きさを算出 結果をPCに表示 アナログ電圧(0~2.5V) Azure Sphere MT3620 開発キット USB通信 12.34 PC https://github.com/matsujirushi/azure-sphere-thief-detector
HLCore メインスレッド • アナログ-デジタル変換 250μ秒周期 • 4000件溜まったら通知 計算スレッド • 4000件から大きさを計算 • 結果をログ出力 1秒周期 Calculate Trigger Capture リアルタイム処理 デモ = HLCore =
リアルタイム処理 デモ = HLCore =
HLCore メインスレッド • アナログ-デジタル変換 250μ秒周期 • 4000件溜まったら通知 計算スレッド • 4000件から大きさを計算 • 結果をログ出力 1秒周期 Calculate Trigger Capture リアルタイム処理 デモ = HLCore + RTCore = RTCore 優先度高 キャプチャタスク • アナログ-デジタル変換 250μ秒周期 • 4000件溜まったら通知 優先度中 計算タスク • 4000件から大きさを計算 1秒周期 • 結果を通知 メールボックスタスク 優先度低 • HLCoreのアプリへ通知 メールボックス メインスレッド • 結果をログ表示 HLCore
リアルタイム処理 デモ = HLCore + RTCore =
MT3620 ブロック図(簡略版) HLApp ネットワーク コネクティビティ • SSL/TLS通信やAzure IoTといった高度な処理 を実行できます。(Linux Kernelが有るため) Pluton セキュリティ - Cortex-M4 - Wi-Fi - N9 HLApp HLCore - Cortex-A7- RTApp RTCore - Cortex-M4 - • 不正な行為が実行できないよう、プロセス区 分化されています。 RTApp • 処理の実行時間が安定しています。(実行す る都度、変化することが無い。) ハードウェア I/O • 高速に実行できるよう密結合メモリ(TCM) が用意されています。
https://github.com/matsujirushi/azure-sphere-thief-detector
https://www.seeed.co.jp/ https://algyan.connpass.com/