-
コンピュータアーキテクチャ
メモリマップドIOとIOマップドIO
コンピュータは計算することだけでなく、接続されているIOデバイスを制御することも利用する目的です。特に組込み機器では、接続されているIOデバイスの制御が主目的です。例えば、モータの制御や各種センサ情報の読み取りなどです。 本記事では、これらの... -
stm32
HALとプロジェクト構成 【stm32】
stm32では、stm32マイコンのシリーズ間で、同じコードを利用するためのHAL(Hardware Abstraction Layer)が用意されています。 実際にマイコン開発をする際は、マイコンではレジスタ操作をして各ペリフェラルを操作するのですが、それらを抽象化したAPIがHA... -
stm32
開発環境の構築 【stm32 マイコン開発】
本記事では、smt32のマイコン開発のための開発環境構築について解説します。 本記事は2025年1月17日時点での情報です。 開発ボードの購入 stm32でのマイコンを開発する上で、評価ボードはいくつか選択肢がありますがNucleoボードがおすすめです。 Nucleoボ... -
アクティブノイズコントロール
アクティブノイズコントロール(ANC)【フィードフォワード制御】
本記事では、アクティブノイズコントロール(ANC)の制御方式について説明します。 制御方式 ANCには大きく分けて2つの制御方式が存在します。 フィードフォワード制御 現在の状況を取得せずに、システムのモデルに基づいて動作を予測しながら制御する方式... -
振動・波動
単振動
単振動 高校物理では、単振動は波として表現できる、ということを習ったかと思います。そのことについてなぜそうなるのかを解いていきます。 モデル化 まずは単振動という現象を数式としてモデル化することから始めます。 図に示すように、ばねにおもりを... -
ディジタル信号処理
線形畳み込みと循環畳み込み
畳み込み演算 線形畳み込み ここで、線形畳み込みについて説明しておきます。線形畳み込みは次の式で表されます。 $$h(n) * x(n) = \sum_{m=0}^{N-1} h(m) x(n-m)$$ \(x[n]\)、\(h[n]\)が下記のような場合を考えます。 $$h[n] = [1, 3, 1]$$ $$x[n] = [2, ... -
組込み
UART(Universal Asynchronous Receive Transmitter)通信
UART/USART UARTは(Universal Asynchrous Receive Transmitter)の略で、シリアル通信を行うためのデバイスあるいはプロトコルです。USARTは(Universal Synchrous Recieve Transmitter)の略で、こちらもシリアル通信を行うためのデバイスあるいはプロトコ... -
組込み
I2C(Inter-Integrated Circuit)通信
I2C 概要 I2C(Inter-Integrated Circuit)通信は主にIC間のシリアルデータ通信を実現するためのプロトコルで、フィリップス社(現Nxp)によって開発されました。I2Cという書き方で、アイスクエアドシーが正式名称ですが、単にアイツーシーと呼ぶことが多... -
組込み
GPIO(General Perpose Input Output)ポート
GPIOとは GPIOポートは、General Purpose Input/Ouputの略で、いくつかのI/O(Input/Output)ピンの集まりです。GPIOポートはその名前の通り、設定により入力として扱うことも出力として扱うことも可能です。以下の図のGPIOポートAは16本のIOピンの集まりで... -
参考書
機械学習 おすすめ参考書
Kaggle データ分析のコンペで世界的に有名なKaggleを対象に書かれた書籍を紹介します。 Kaggle スタートブック Kaggleを始めるならまずはこの本という位置付けのものです。Kaggleでの基本的なデータ分析の仕方を学ぶことができます。 リンク Kaggleで勝つ...