Submit Search
MBEDへのオーディオフレームワークの実装
Download as PPTX, PDF
0 likes
117 views
S
Seiichi Horie
2016年11月 割り込みベースの低遅延オーディオ。
Technology
Read more
1 of 35
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
More Related Content
PDF
ネットワーク構築訓練 入門
株式会社 NTTテクノクロス
PDF
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
株式会社 NTTテクノクロス
PPTX
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
シスコシステムズ合同会社
PPTX
IoTハンズオン
Takashi Ariyama
PDF
WebRTC研修
株式会社 NTTテクノクロス
PDF
IoTハンズオン資料(おうちハック)配布用
Takashi Ariyama
PDF
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
PDF
CML-Personal (VIRL2)のインストールと基本機能
akira6592
ネットワーク構築訓練 入門
株式会社 NTTテクノクロス
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
株式会社 NTTテクノクロス
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
シスコシステムズ合同会社
IoTハンズオン
Takashi Ariyama
WebRTC研修
株式会社 NTTテクノクロス
IoTハンズオン資料(おうちハック)配布用
Takashi Ariyama
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
CML-Personal (VIRL2)のインストールと基本機能
akira6592
What's hot
(20)
PDF
Node-RED勉強会(20160826)追補
Takashi Ariyama
PDF
#RouterBOARD 勉強会 OSPF検証班 appendix1.1
de foggge
PDF
IOS/IOS-XE 運用管理機能アップデート
シスコシステムズ合同会社
PDF
あいぽん落としたと聞いたので!
Kouhei Maeda
PDF
.NET GadgeteerでプロトタイピングするEnOceanエネルギーハーベスティングシステム
Atomu Hidaka
PPTX
組込みAndroid入門実習
ksk sue
PPTX
July techfesta2014 f30
Motoki Kakinuma
PPTX
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
シスコシステムズ合同会社
PPTX
Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識
marsee101
PDF
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
株式会社 NTTテクノクロス
PDF
【Interop Tokyo 2016】 キャンパス LAN の作り方 2016
Juniper Networks (日本)
PPT
Android™組込み開発基礎コース BeagleBoard編
OESF Education
PDF
iMulvery -Mulveryの新機能のご紹介-
Daichi Teruya
PPTX
プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)
Yasushi Osonoi
PDF
Cisco Connect Japan 2014: シスコ ユニファイド コミュニケーションのサーバ構築ファースト ステップ
シスコシステムズ合同会社
PDF
NHNグループ合同勉強会 ライブドア片野
livedoor
PPT
IBM SoftLayer @ Osc tokyo-2014-fall
Yasushi Osonoi
PDF
第39回「Windows Server 2003 EOSに備えよう -SQL Serverはどうする?-」(2014/12/18 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
PDF
【Interop Tokyo 2016】 SDN/Cloud 仮想環境に、この二つさえあれば、他のファイアウォールはもういらない!
Juniper Networks (日本)
PDF
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
nishio
Node-RED勉強会(20160826)追補
Takashi Ariyama
#RouterBOARD 勉強会 OSPF検証班 appendix1.1
de foggge
IOS/IOS-XE 運用管理機能アップデート
シスコシステムズ合同会社
あいぽん落としたと聞いたので!
Kouhei Maeda
.NET GadgeteerでプロトタイピングするEnOceanエネルギーハーベスティングシステム
Atomu Hidaka
組込みAndroid入門実習
ksk sue
July techfesta2014 f30
Motoki Kakinuma
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
シスコシステムズ合同会社
Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識
marsee101
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
株式会社 NTTテクノクロス
【Interop Tokyo 2016】 キャンパス LAN の作り方 2016
Juniper Networks (日本)
Android™組込み開発基礎コース BeagleBoard編
OESF Education
iMulvery -Mulveryの新機能のご紹介-
Daichi Teruya
プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)
Yasushi Osonoi
Cisco Connect Japan 2014: シスコ ユニファイド コミュニケーションのサーバ構築ファースト ステップ
シスコシステムズ合同会社
NHNグループ合同勉強会 ライブドア片野
livedoor
IBM SoftLayer @ Osc tokyo-2014-fall
Yasushi Osonoi
第39回「Windows Server 2003 EOSに備えよう -SQL Serverはどうする?-」(2014/12/18 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
【Interop Tokyo 2016】 SDN/Cloud 仮想環境に、この二つさえあれば、他のファイアウォールはもういらない!
Juniper Networks (日本)
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
nishio
Ad
Similar to MBEDへのオーディオフレームワークの実装
(20)
PDF
組込エンジニアにも役立つ!Node-RED活用術(for Node-RED Con. Osaka)
ShigekiInatama
PDF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
PDF
Hyper-V エンタープライズ設計の現実解:2015 年版
Daichi Ogawa
PDF
Microsoft Intelligent Edge Technologies
Takeshi Fukuhara
PPTX
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
PDF
20160924 mbed elementary Workshop
祐介 高橋
PPTX
Raspberry piと.net coreのstandardな関係
Masuda Tomoaki
ODP
Debian emdebian 20100817
Toshihisa Tanaka
PPTX
これから始める Windows io t core
Masuda Tomoaki
PPTX
Node-RED v1.3新機能紹介
Hitachi, Ltd. OSS Solution Center.
PPTX
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
SORACOM,INC
PDF
【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション
Juniper Networks (日本)
PDF
.NET Micro Framework の基礎
Yoshitaka Seo
PDF
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
Aya Tokura
PDF
Prd008 日本初!“windows 10_team”_os_
Tech Summit 2016
PDF
2013 1019osc-fallnetmf
Atomu Hidaka
PDF
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Shohei Hido
PPTX
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
PDF
止めないためのWEBインフラ入門
Sho Okada
PDF
エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~
Takumi Kurosawa
組込エンジニアにも役立つ!Node-RED活用術(for Node-RED Con. Osaka)
ShigekiInatama
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
Hyper-V エンタープライズ設計の現実解:2015 年版
Daichi Ogawa
Microsoft Intelligent Edge Technologies
Takeshi Fukuhara
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
20160924 mbed elementary Workshop
祐介 高橋
Raspberry piと.net coreのstandardな関係
Masuda Tomoaki
Debian emdebian 20100817
Toshihisa Tanaka
これから始める Windows io t core
Masuda Tomoaki
Node-RED v1.3新機能紹介
Hitachi, Ltd. OSS Solution Center.
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
SORACOM,INC
【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション
Juniper Networks (日本)
.NET Micro Framework の基礎
Yoshitaka Seo
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
Aya Tokura
Prd008 日本初!“windows 10_team”_os_
Tech Summit 2016
2013 1019osc-fallnetmf
Atomu Hidaka
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Shohei Hido
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
止めないためのWEBインフラ入門
Sho Okada
エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~
Takumi Kurosawa
Ad
MBEDへのオーディオフレームワークの実装
1.
MBEDへのオーディオ・フレームワークの実 装 堀江誠一
2.
オーディオフレームワークを実装すると 誰が喜ぶか
3.
今日のお話 MBEDとは何か インターフェース考察
フレームワークの設計
4.
MBEDとは何か
5.
簡単な紹介 元はARM社内のプロジェク ト 開発リソースを全部クラウ ド化する
ゼロ・インストール ターゲットはUSB接続 歴史 1.0で人気に火が付く 2.0でソース公開、マルチプ ラットホーム化 3.0でARMが2.0を見捨てる 3.0の開発が難航、5.0が発表 される 2.0復活 クラウド ストレージ& コンパイラ MBED IDE
6.
利点 ゼロ・インストール よくあるペリフェラルに 対応
直感的なAPI ほとんど同じAPIのまま RTOSに移行できる MBED-RTOS IDEにバージョン管理シ ステムが組み込まれてい る SPI Async Serial I2C GPIO ADC DAC File MBED-SDK Application
7.
直感的なピン指定 GPIOのAPI指定がピン番 号になっている。 データシートをひっくり 返す必要がない。 MBED
LPC1768
8.
欠点 ペリフェラルAPIがポーリング方式 割り込みが全く考慮されていない
APIの解説に踏み込みが足りない
9.
ARMの無関心 個人コミュニティに人気があるのはMBED2.0 ARMはMBED2.0に対する関心が薄い
MBED3.0 (MBED OS)でIoT向け産業用OSを目指した。 MBED 2.0とは非互換 結局、MBED2.0を捨てられず、5.0を発表した 2.0 + 3.0 = 5.0
10.
統制の甘さ NUCLEO F746 !!!!
11.
MBEDとは何か 特徴をまとめる メンテがずさんで全貌を把握しにくい
屋上、屋をかさねる拡張 持ち主の熱意が薄れている 古くさいが、使いやすいインフラ つまり、どういうことだってばよ? これ、 廃墟じゃないの?
12.
MBEDをどう使うか 持ち主の熱意 が薄れている 古くさいが、 使いやすいイ ンフラ 秘密基地 に ぴったり
13.
インターフェース・レイヤーについ て
14.
誰に従い、何を押しつけるか インターフェースとは約 束 上と下、双方が守る
インターフェースが従う 約束もある マイコン デバイス・ドライバ ミドルウェア アプリケーション Hardware HAL API
15.
上が約束を守るメリット 約束を守るとは、イン ターフェースを利用する こと インターフェースを使う ことで、それより下の層 の構造を意識しなくて良 くなる
抽象化 逆に抽象化を提供しない インターフェースを使う 意味はほとんど無い インターフェース インターフェースの 提供者 インターフェースの 利用者
16.
下が約束を守るメリット 約束を守るとは、イン ターフェースを変えない こと インターフェースを固定 することで、改良を自由 に行うことができる
リファクタリング 異なる実装であっても、 インターフェースを統一 しておけば、既存のアプ リに利用してもらえる ポータビリティ インターフェース インターフェースの 提供者 インターフェースの 利用者
17.
API ユーザーはアプリケーション APIはアプリケーションに対してアルゴリズムを隠す
アルゴリズムはAPIに従うことで、ポータビリティを 確保できる 例: ファイルシステムAPI ファイル・システムの種類を隠しきっている 新しいファイル・システムを実装しても、ユーザー・プ ログラムは変えなくてよい
18.
HAL ユーザーはアルゴリズム HALはアルゴリズムに対してハードウェアを隠す
ハードウェアはHALに従うことで、ポータビリティを 確保する 例: ストレージ・デバイス・ドライバ ストレージ・デバイスを取り替えても、ファイル・シス テム・アルゴリズムを変えなくて良い
19.
インターフェースが従うこともある 「隣」のインターフェー スとあまりに異なったイ ンターフェースを実装す ると、ユーザーが混乱す る Read
⇔ Receive ライブラリ⇔クラス シリアル SPI I2C EthernetMAC
20.
「雲仙」 オーディオ・フレームワークの設計
21.
目標 ユーザーが使いやすいこ と mbedをOSとして、異 なるMPUで動作すること
mbed SDK 2.0, mbedRTOS 2.0で動作すること 複数のサンプルレートに 対応すること
22.
Unzen API mbed
の作法に従い、Classとして実装する Doxygen文書 Mbedサイトに文書とサンプルをアップロード DataOutなどのmbed APIと同じ作法で使える Singletonはやめた ユーザー初期投資の低減
23.
『雲仙』フレームワークが提供するもの APIとHALの二層を提供し て、オーディオ制御を ユーザーから隠す。 ユーザーにはオーディオ 信号処理の利用インター フェースを提供する mbed
SDK / RTOS デバイス制御 割り込み番号 ダブル・バッファ 割り込みハンドラ アプリケーション Hardware Unzen HAL Unzen API
24.
『雲仙』フレームワークの各API Unzen API
mbed作法 オーディオ・処理のス タート デバッグ・フック ダブルバッファの遮蔽 Unzen HAL ハードウェアの抽象化 LPC4337 LPC4088 STM32F746 mbed SDK / RTOS アプリケーション Hardware Unzen HAL Unzen API デバイス制御 割り込み番号 ダブル・バッファ 割り込みハンドラ
25.
MBEDプログラマから見た雲仙 Block Size
= 1, 2, 3… Fsに縛られない 信号処理コールバック デバッグ用コールバック mbedの作法に従い、フ レームワークをクラス化 信号処理は割り込みコン テキストで行う バックグラウンド メイン関数では通常の mbed SDKを利用できる
26.
MBEDプログラマから見た雲仙 雲仙は信号の流れだけに 対応する オーディオ・コーデック の制御は島原に任せてい る
I2Cチャンネル サンプル・レート ゲイン 島原雲仙 SoC マイコン I2S I2C
27.
制御の流れ ( blocksize
= 1 ) main() process_irq() i2s_irq() i2s_irq()一回毎にprocess_irq()をトリガ
28.
制御の流れ ( blocksize
= 3 ) main() process_irq() i2s_irq() ブロックサイズ分貯まったらprocess_irq()
29.
HAL HALのほうが面倒くさい どいつもこいつも好き勝 手なハード作りしやがっ て
mbed SDKに依存してい る IRQ関連 mbedは割り込み関係の サポートが無いので、や や苦心した。
30.
使い方:コールバックの定義 二つのコールバックを定 義する アルゴリズム初期化
信号処理アルゴリズム 関数の名前はご自由に
31.
使い方: 島原コーデック・ドラ イバのインスタンスを 作る Fsを指定
雲仙オーディオ・フ レームワークのインス タンスを作る コーデック・スタート オーディオ・スタート あとはmbedアプリと 同じ
32.
まとめと今後の目標
33.
まとめ Mbed SDK上で動作する オーディオ・フレーム ワークを開発した
Mbed作法に従った造り 複数のSoCマイコンに対 応 柔軟なブロック・サイズ 複数のオーディオCODEC に対応可能 ドキュメント完備 https://developer.mbed.org /users/shorie/notebook/un zen_audio_framework/
34.
今後の目標 ホストマイコンやホスト PCからシリアル経由で操 作できるようにしたい。 実物のボリュームを並べ るのが面倒
Python Qt JASON いろいろ勉強する口実に なる
35.
ご静聴ありがとうございました と、書くと不機嫌になる方がいらっしゃるそ うです
Download