圏9研究所 工作室

圏9研究所の開発情報資料など

2023-01-01から1年間の記事一覧

STM32F411 BlackPill USB Speaker ISO(5) コード2/2

3)usbd_sp(1)<usbd_sp.h> /** Project Name: STM170_USB_SP_ISO File Name: usbd_sp.h Description: USB speaker with isochronous transfer Generation Information : Device : STM32F411CEU6 Version : 170 Created on : 2023/11/24 */ /** Copyright (c) 2023 l</usbd_sp.h>…

STM32F411 BlackPill USB Speaker ISO(5) コード1/2

1.コード1)main(1)<main.h> /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "usbd_sp.h” (2)<main.c> /* USER CODE BEGIN WHILE */ usbd_sp_iso(); while (1) { 2)USBD AUDIO(1)<usbd_conf.c></usbd_conf.c></main.c></main.h>…

STM32F411 BlackPill USB Speaker ISO(4) ファイル、定数、変数、シーケンス

1.ファイル一覧1)mainシーケンス関連 ファイル名 修正 追加 <main.h> ー ・#include "usbd_sp.h" <main.c> ー ・usbd_sp() 呼び出し <stm32f4xx_it.c> ・デバッグ用 <usbd_sp.h> 定数定義 <usbd_sp.c> メインシーケンス実装 2)usbd audio関連 ファイル名 関数/定義 修正追加内容 <usbd_audio.h> #define USB_AUDIO_CONFIG_DE</usbd_audio.h></usbd_sp.c></usbd_sp.h></stm32f4xx_it.c></main.c></main.h>…

STM32F411 BlackPill USB Speaker ISO(3) STM32CubeMX設定

1.設定一覧 2.ポートマップ 3.解説 前回比 ・TIM1はデバッグ専用 ・ポートにSWO追加 次のプロジェクトのデバッグでprintfを使うため コード未実装 次はファイル構成等

STM32F411 BlackPill USB Speaker ISO(2)アイソクロナス転送

アイソクロナス転送の詳細 1.エンドポイント1)仕様書 Universal Serial Bus Device Class Definition for Audio Devices Release 1.0 March 18, 1998 4.6 AudioStreaming Endpoint Descriptors 2)受信用エンドポイント Audio Data Endpoint Descriptor…

STM32F411 BlackPill USB Speaker ISO(1)概要

1.経緯 宿題のアイソクロナス転送 USB Speaker 2.システム概要・STM32F411 BlackPill USB Speaker をアイソクロナス転送にする・ハードウェアは変更なしソフトのみ変更 3.手順1)アイソクロナス転送実装・受信用エンドポイントをアイソクロナス転送タ…

STM32F411 BlackPill USB Speaker(9)まとめ

1.追加変更コード一覧 main.h と main.c に書いたメインシーケンス処理コードを別ファイルにしてまとめる dir File Function 内容 Core usbd_sp.h ー 追加定数等定義 usbd_sp.c usbd_sp_iso() メインシーケンス main.h ー 定数定義 include main.c ー メイ…

STM32F411 BlackPill USB Speaker(8)同期

1.データ数同期1)サンプリング数とDMA PWM出力数の同期・TIM1割込関数にTransferComplete_CallBack_FS() とHalfTransfer_CallBack_FS()を追記する 2)データ数調整(1)データ数のコード ・コードを見ると AUDIO_AudioCmd_FS() の size数が±4 調整され…

STM32F411 BlackPill USB Speaker(7)メインシーケンス

1.メインシーケンス seq 処理内容 次への遷移条件 SEQ_START AUDIO_CMD_START 処理後 初回audio data開始 SEQ_PLAY ・DMAバッファポインタ初期化 ・タイマー起動 ・DMA起動 SEQ_PLAY AUDIO_CMD_PLAY haudio->alt_setting == 0U 再生停止 audio data出力 SE…

STM32F411 BlackPill USB Speaker(6)USB audio data 転送処理

メインシーケンス作成のためデータハンドリング内容と定数を整理 1.オーディオデータ遷移1)オーディオデータバッファとDAC PWMデータ遷移 関数 バッファ クロック 処理 ホスト ー ー ホスト 1msec毎に1 PACKETオーディオデータを送信 デバイス USBD_AUDI…

STM32F411 BlackPill USB Speaker(5)USB接続ダウン対策

ホストとの接続が不安定なため対策しておきます 1. USB接続ダウン発生状況と対策1)USB接続ダウン状況(1)発生状況 発生するのは ・USBコネクタ接続直後 USBリセット解除から80msec後付近 ・再生停止 ・ホスト側でのスピーカー選択解除 概ね50%の確率で…

STM32F411 BlackPill USB Speaker(4)STM32CubeMX設定

1.設定一覧 2.STM32CubeMX タイマー設定 赤枠内:TIM2カウンタアップデートをTIM1クロックとして使うために必要な設定 3.ポートマップ(2)回路 に記載 4.解説・TIM2_TRGO(TIM2出力)をTIM1クロック源にする設定 TIM1のTrigger Source 設定でITR0を選…

STM32F411 BlackPill USB Speaker(3)PWM DAC構成

1.ブロック図 2.構成説明1)PWM ・周期 サンプリング周波数より 1/48kHz ・分解能 システムクロック96MHzをクロックとして 2000 2)オーディオデータ ・USBデータバッファ合計 Middleware実装値 48 * 80 パケット: 15360byte/ms ・仕様と変換 48kHz 16…

STM32F411 BlackPill USB Speaker(2)回路

1.ポートマップ PIN IO EX PU PD NAME Function OSC-IN ー ー ー ー ← 25MHz system clock OSC-OUT ー ー ー ー ← JTMS/SWDIO[PA13] ー ー ー ー ← Debug SWD JTCK/SWCLK[PA14] ー ー ー ー ← PA11/USBDM ー ー ー ー ← USB D- PA12/USBDP ー ー ー ー ← U…

STM32F411 BlackPill USB Speaker(1)概要

1.経緯 USBオーディオデータをリアルタイムでDSP処理するアプリを検討中です とりあえずUSB audio でデータを取込む部分をUSB Speaker として作ってみます 2.システム概要1)ボード:WeAct Black Pill V2.0 STM32F411CEU6 Arm Cortex-M4, RTC RTCチップ…

AT32F403A BlackPill:その4 FPU

Cortex-M4FのFPUを動かしてみる 1.手順1)コーディング: STM32CubeIDE(MX) ・STM32CubeIDE(MX)を使ってSTM32F103RGT6でプロジェクトを作成しコードを書く ・関数として math library と CMSIS-DSP を使う ・FPUを使えるようにコードを変える 2)コンパ…

AT32F403A BlackPill:その3 DAC

1.概要 BluePill や STM32F411 BlackPill にはないDACモジュールの動作確認 2.STM32CubeIDEプロジェクト作成1)MCU/MPU STM32F103RGT6 2)STM32CubeMX設定 クロックは外付け8MHz システム72MHz タブ 項目 設定 Pinout & Configuration System Core GPI…

AT32F403A BlackPill:その2 240MHz クロック設定(USB含む)

1.概要 システムクロックを240MHzに設定してLチカ USBのクロック設定も行う 2.クロック設定1)Clock configuration register 構成と設定(1)クロック設定レジスタ STM32Fx : RCC_CFGR AT32F4x : CRM_CFG ・名前は違うがアドレスは同じ 0x4002-1004 ・…

AT32F403A BlackPill:その1 Core Board とチップ

BlackPill は BluePill Core Board の上位ボードとしてSTMマイクロの STM32F411 を搭載したボードがありますここでは少々変わったチップが搭載されているBlackPill Core Board があるので調べてみます 1.概要 WeAct社製 Webact at32f403acgu7 at32f4 at32 …

STM32F103 BluePill USBマイク その3:マイク実装

1.概要 マイクを接続しSTM32CubeIDEに導入したTinyUSBで処理する 2.構成 コンデンサマイクモジュール → BluePillボード :ADC > DMA > TinyUSB → MacBook Air 3.仕様 項目 仕様 ボード BluePill:STM32F103C8T6/CBT6 USB USB Audio 2.0 LEDによる状態表…

STM32F103 BluePill USBマイク その2:TinyUSB audio_test

1.概要 STM32CubeIDEにTinyUSBを導入して audio_test を動かす 2.構成1)回路構成 BluePillボード : USB → MacBook Air audio_test はソフトで作った鋸波データをUSBに出力する example マイクが無くてもデータは出力される 3.STM32CubeIDEプロジェク…

STM32F103 BluePill USBマイク その1:構成と回路

1.概要 BluePillでUSBマイクを作ってみます STM32CubeIDEのSTM32F103 Middlewarでは動かないのでTinyUSBを使います 2.構成1)回路構成 コンデンサマイクモジュール → BluePillボード : ADC > USB → MacBook Air (1)コンデンサマイクモジュール 秋月 …

STM32F103 clone & BluePill  その7:SWD IDCODEコンバーター STM32F103版 ソフト編

1.概要 PIC16FからSTM32F103に移植する 2.ソフト構成1)構成・コンバーターについてはPIC16F仕様をそのままSTM32F103に移植するため構成は同じ・おまけのIDCODE等送信機能はEUART送信をUSB・VPCに変更・リソース、ポート及びUSB・VPCコードはSTM32CubeM…

STM32F103 clone & BluePill  その6:SWD IDCODEコンバーター STM32F103版 ハード編

1.概要 PIC16FからSTM32F103に移植する 2.ハード構成・MINI ST-LINK V2 が丁度いい具合に改造できそうなので使ってみる・ST-LINK内蔵ソフトを改造してコンバーター機能を追加できればベストではあるが内容が公開されていないので ST-LINKの機能は捨てて…

bilibili動画埋め込み 改訂版

埋め込みが出来るようになっていたので改訂版 1.詳細 https://player.bilibili.com 2.ID取得 動画のページをブラウザで開いて①マウスカーソルを合わせると貼り付け用ポップアップが表示される②水色のボタンを押すとクリップボードにIDがコピーされる 3…

STM32F103 clone & BluePill その5:SWD IDCODEコンバーター

1.概要 クローンチップはIDCODEが異なるため cfg ファイルを修正してopenOCDで書き込めるようになりました 次に cfg ファイルを修正しなくても使えるようにSWDで交信するIDCODE等を変換するコンバーターを作ってみます 2.構成 MINI ST-LINK V2 とターゲ…

STM32F103 clone & BluePill その4:STM32CubeIDEで使う

1.概要 STマイクロ社の開発環境 STM32CubeIDE で使ってみます ソフトのインストールや使い方等々はネットにたくさんあるのでクローンチップについて調べます 2.バージョンと周辺機器など1)STM32CubeIDE Version: 1.12.0 Build: 14980_20230301_1550 (U…

STM32F103 clone & BluePill その3:クローンチップ概要

1.概要 前回書いた通り安価なBluePillポードにはSTM32F103のクローンチップが実装されています このチップについていくつかボードを購入してあるので調べつつ使ってみようと思います 2.クローンチップの状況 よくまとめられているページがあるのでリンク…

STM32F103 clone & BluePill その2:BluePill

1.概要・STM32F103C8T,CBTに電源、水晶振動子、USBコネクタ等を実装したマイコンボード・LeafLabs社Maple miniのクローン・仕様 stm32-base.org 2.Maple mini・2009年にリリースされたメープルの省スペース版として2011年リリース・8ビットから32ビット…

STM32F103 clone & BluePill その1:STM32F103

マイクロチップ社のArm Cortex 32ビットマイコンとこれを実装したボードについて調べていきたいと思いますネットで調べるとボードにチップからライターまでクローンがあってかなり歯応えのあるテーマのようです何しろ安価なのでコスパは最高 1.概要・STマ…