« 2025年8月 | トップページ | 2025年10月 »

2025.09.30

1GHzのトランジスタ増幅回路

1GHzくらいで動く高速なトランジスタ回路を考えているのですが、やっぱりエミッタ接地はだめですね。

増幅率1倍にすればミラー効果も起きないと思ったのだけど、トランジスタがOFFの状態でベースに入力が立ち上がるとBC間の容量を通じてコレクタ電圧が上昇してヒゲが出ることがわかりました。

1gamp_1

エミッタ接地を使わずに論理を反転させるには差動増幅するしかないのかもしれないし、だがこれはエミッタ接地なのかもしれない。とにかく動作点の設定が難しいなあ。

1gam_2

ベース接地回路やエミッタ接地回路はBC間のトランジスタを抜けてくることはないのだけど、反転ができません。

ベース接地はエミッタ電位が揺さぶられるのでベース電位もそれなりに揺さぶられるのでインピーダンスが低い回路は結構ムズイ。

| | コメント (0)

2025.09.27

Raspberry Pi Zero 2Wを使ってサイネージを作る

Raspberry Pi Zero 2Wを使って、SDカード内の動画を延々と流し続ける装置ができました。

いわゆるサイネージです。

簡単そうに見えますが、CPUパワーは思っているほど高くないのでパフォーマンスを出すために工夫が必要です。

ポイントは4つあります。

まず、

① GUI環境は重すぎてダメ

GUI環境にVLCプレイヤーというアプリがありますが、そもそもGUIが重すぎるので使い物になりませんでした。

起動までに10分くらいかかり、再生も秒間0.2コマくらいで飛び飛びになります。

② CUIからffmpegを使う

そのため、GUI環境の入っていないRaspberry Pi OSのLiteを使います。

コンソールからMPEG動画を再生するためのアプリにはffpmegを使います。

書式は

ffmpeg -re -i <ファイル名> -pix_fmt rgb565 -f v4l2 -f fbdev /dev/fb0

です。

-reを付けないと再生速度が1倍になりません。

-pix_fmt rgb565は必須です。

-f v4l2 の効果はよくわかりません。

-f fbdev /dev/fb0 は、フレームバッファに対して出力するためのコマンドです。

フレームバッファというのはメインメモリ上にある単純なバッファをそのまま画像として出力するためのものです。

Raspi zero 2Wを起動しただけでは、/dev/fb0は存在していないのですが、config.txtに

hdmi_drive=2

を追記し、起動時にHDMIが接続されていると/dev/fb0が出現します。

③ 動画のサイズは画面サイズに合わせて

パソコンで動画再生をするならWindowのサイズは自由自在に拡大縮小できますが、RaspiではフレームバッファにCPUがゴリゴリと計算しながら書かなければならないので、拡大縮小にものすごいCPUパワーを使います。

拡大縮小するためのオプションは

-vf scale=1920x1080:force_original_aspect_ratio=decrease

-vf scale=1920x1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2

とすると中央に配置されるそうですが、オプションの位置は-pix_fmt rgb565の次あたりに書いておかないと効果がありません。

これで画面いっぱいに拡大して表示してくれるのですがCPUパワーで200万ピクセル分の計算をすることになるのでかなり大変です。カクカクした動作になると思います。

そのため、動画のサイズはあらかじめサイネージの画面サイズに合わせておいたほうが良いと思います。

あと、撮影したスマホによって動画のフレームレートはまちまちです。Raspiではどうしても等速で再生できないような動画ファイルもあるので、無理ならあきらめるか、パソコンで再編集してください。

④ 音はあきらめる

Raspiの音はalsaというドライバの上にpulseというドライバがあって2段構成になっています。

このalsaというのが何もしてくれなくて44.1kHzとか48kHzとかサンプリングレートが合わないと動きません。おそらくpulseというのがサンプリングレートの変換とかをしてくれるのでしょう。動画の音声の速度はまちまちですから、ffmpegの音声出力先はpulseに向けるようにします。

ffmpeg -re -i <ファイル名> -pix_fmt rgb565 -f v4l2 -f fbdev /dev/fb0 -f pulse default

これで音を鳴らすことはできますが、かなりCPUパワーを食うので、動画がカクカクになったり音声が飛んだりするなら、すっぱりとあきらめたほうが良いでしょう。

そもそもサイネージなので無音でも構わないのかと思います。

 

というわけで、RaspiZero2Wをサイネージ化することはできたのですが、思っていたほどCPUパワーが無いですね。サイネージを作ることでちょうどフルパワーです。パソコン用のCPUのパワーとGPUの偉大さを改めて気づかされました。

| | コメント (1)

2025.09.26

RaspiのSDカードのパーティションを分ける方法

RaspiのSDカードは512MByteのFAT領域があり、その後ろはSDカードの最後までext4のパーティションとなっています。

どのようなサイズのSDカードであっても自動的に拡張してext4を最大化し、Linuxのファイル用に最大の領域が使えるようになっています。

これはすごい仕組みなのですが、ユーザが第3のパーティションを作りたくてもできなくなってしまいます。

そこで、本記事ではRaspiのSDカードにユーザ用の第3パーティションを作る方法を説明します。

 

① Raspi Imagerでカードを作った後

Raspi ImagerでSDカードを作ると512MByteのbootfsと、数GByteのex4tの第2パーティションができ、その後ろは未使用領域となります。

(Raspi OSなら5GByte、Raspi OS Liteなら2.3GByte)

Linuxでは自分自身のパーティションを拡大することはできますが、縮小することはできません。別のLinuxマシンを使って縮小することになります。

Linuxが動く別のマシン・・・というのはWindowsで動くWSL2でも大丈夫です!

② WSL2でマウントして読んでみる

Raspi Imagerで作成したRaspi OSのSDカードをusbipdでアタッチしてWSL2でマウントします。

そして、WSL上のUbuntuからfdisk -lで見てみます。

Wsl_fdisk_l

512MByteのLinux領域と2.1GBのLinux領域がありました。

SDカードは32GBのものなので後ろはすべて未使用領域です。

また、全部で61896704セクタ(=31,691,112,448バイト)あるということがわかります。

次に、

sudo fdisk /dev/sde3

で、このディスクを編集します。

Wsl_fdisk_edit

使ったコマンドは、

n
p
3
開始セクタ
終了セクタ
t
3
c
w
q

です。

解説すると、nは新規パーティションを作ることを意味し、pはプライマリのパーティション、3は3番目のパーティション、開始セクタは40925184としています。

次の終了セクタは何も数字を書かずENTERを押せば自動的に末尾までいきます。

それから、t 3 cは、パーティションのフラグをMS-DOSにすることを意味します。

最後にwコマンドでディスクへの変更を書き込みます。

この40925184という数字はどこから出てきたかというと、SDカードの末尾に10GByteのパーティションを作りたい場合、全パーティションが61896704セクタで、10GByteは10×1024×1024×1024÷512=20971520なので、61896704-20971520を開始セクタにすれば末尾の10GByteを取ることができます。

 

これでパーティションを見てみると・・

Wsl_fdisk_done

となって、2番目のパーティションの後ろに5390336~40925184セクタの広大な未使用領域があり、末尾の10GByteをFAT32で取れていることがわかります。

usbipdでdetachをしてSDカードを抜き、Raspiに挿します。

③ Raspiを起動してparted

Raspiの最初の起動時には自動的にパーティションの拡大が行われるのですが、細工をしたSDカードでは自動拡大が行われないようでした。

そこで、手動でパーティションの拡大を行います。まず、

sudo parted /dev/mmcblk0

で現状のSDカードの状態を見て、パーティションを書き換えます。

sudo parted /dev/mmcblk0
(parted) u s
(parted) p free
Number Start End Size Type File system Flags
63s 16383s 16321s Free Space
1 16384s 1064959s 1048576s primary fat32 lba
2 1064960s 5390335s 4325376s primary ext4
5390336s 40925183s 35534848s Free Space
3 40925184s 61896703s 20971520s primary lba
(parted) resizepart 2
40925183

こんな感じです。

partedでp freeとすると未使用パーティションも含めて一覧を見ることができます。

ext4の第2パーティションは1064960~5390335セクタまでで、5390336~40925183までは空いています。

なので、partedの中でresizepart 2と打って、第二パーティションの末尾を40925183に設定することでFree Spaceを詰めます。

なお、WSLのUbuntuにはデフォルトではpartedは入っていませんが、Raspiには入っています。パーティションの拡大はRaspi上でやったほうが楽です。

詰めた後はもうfreeのspaceはありません。きっちりと、fat32(537MB)→ext4(20GB)→fat32(10GB)と埋まりました。

Raspiparted

③ Resize2fsを行う

パーティションのサイズとファイルシステムのサイズは整合が取れていなければならないそうです。

そのため、パーティションを拡大したらRaspi上で

sudo resize2fs /dev/mmcblk0p2

と打ち、ファイルシステムのサイズを現在のパーティションのサイズに合わせて拡大します。

 

④ mkfs.vfatでフォーマットする

第3パーティションは作ったばかりなので、mkfs.vfatを使ってフォーマットします。

sudo mkfs.vfat -F 32 /dev/mmcblk0p3

 

⑤ /etc/fstabに書く

/etc/fstabにmmcblk0p3のことを書いて自動的にマウントできるようにします。

/dev/mmcblk0p3 /var/storage vfat uid=1000,gid=1000,umask=000,relatime,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

ここで、uid=1000,gid=1000,umask=000が結構重要で、rootでない一般ユーザやUSBメモリとして使う場合に書き込みができるようにするにの必要です。

 

まとめ

RaspiのSDカードを自分でパーティションを分けて、Windowsからファイル共有できるための下地ができました。

| | コメント (0)

2025.09.25

Raspberry Pi Zero 2WをUSBストレージにする

Raspberry Pi Zero 2Wのcmdline.txtに g_mass_storage と書くとUSB大容量メモリになると言われていますが、書いただけでは動作しませんでした。

本記事では、Raspberry Pi Zero 2Wを使って確実にUSB大容量メモリを作る方法を紹介します。

 

① cmdline.txt に書いただけでは機能しない

よく見かけるのは、config.txtに

dtoverlay=dwc2

と書き、cmdline.txtに

modules-load=dwc2,g_mass_storage

と書くやり方です。

実際にこの方法でやってみると「不明なデバイスに」なってしまいます。

G_mass_ng

modules-loadに書くやり方ではシステム起動時にmass_storageのドライバが動作しますが、どこのファイルにUSBメモリを割り当てるかが機能していないからです。modules-loadに書くやり方ではmass_storageになるのが早すぎるのではないかと思われます。

cmdline.txtには、 modules-load=dwc2 とだけ書いておきます。

② modprobeで起動する

g_mass_storageはmodprobeを使ってドライバとして組み込まれ起動します

コマンドの書式は

modprobe g_mass_storage file=/dev/mmcblk0p3 removable=1 stall=0

です。

私は file=/dev/mmcblkp3 として、SDカードの第3パーティションをUSBメモリ用のエリアにしています。

私の環境ではfstabに

/dev/mmcblk0p3 /var/storage vfat uid=1000,gid=1000,umask=000,relatime,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

と書いて、/dev/mmcblkp3はLinuxの/var/storageにマウントしていますが、modproge g_mass_storageのfile=に指定するのはマウント先のディレクトリではなく、/dev/mmcblk0p3のほうです。

これを間違えたり、有効なデバイスファイルでない場合にはUSBを挿したときに「不明なデバイス」として認識されてしまいます。

③ systemdに登録して起動する

g_mass_storageを組み込むのに最適なタイミングは、Linuxが起動した後です。Linuxが起動した後ではSDカードの特定のパーティションをマウントしたり、loopファイルシステムを使えるようになっているので、このタイミングがベストです。

やり方としては、まず、

sudo vi /etc/systemd/system/mass-storage.service

でファイルを作ります。中身は、

[Unit]
Description=Enable USB Mass Storage Gadget
After=network.target local-fs.target
Wants=network.target local-fs.target
[Service]
Type=oneshot
ExecStartPre=/bin/sleep 5
ExecStart=/sbin/modprobe g_mass_storage file=/dev/mmcblk0p3 removable=1 stall=0
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

とします。

そして

sudo systemctl enable mass-storage

で有効化します。

sudo systemctl status mass-storage

で見てみてactiveとなっていればOKです。

G_mass_ok

これで、Raspiを起動するたびに大容量メモリが認識されるようになります。

G_mass_view

 

④ loopファイルシステムはリアルタイムに更新されない?

多くの場合RaspiをUSBメモリにする動機は、Windowsとのファイル共有をやりやすくするためだと思います。

よく見かけるのはddでデバイスの入れ物となるファイルを作ってloopファイルシステムとしてLinuxにマウントしつつ、WindowsからもUSBメモリとして見えるようにするやり方です。

例えば、

dd bs=1M count=64 if=/dev/zero of=/piusb.bin
sudo mount -o loop -t msdos /piusb.bin /mnt/msd
sudo modprobe g_mass_storage file=/piusb.bin

といった感じです。

これは動作はするのですが、Windowsから書き込んだはずのファイルがLinuxですぐに見えるということはありませんでした。

同期とか理解するという修行が必要なようです。

 

⑤ g_multiは動かない

cmdline.txtにg_multiと書くと、g_serialとg_etherとg_mass_storageの3つが同時に使えるようなことが書かれていますが、何度やってもうまくいきませんでした。まだまだ修行が足りなかったようです。

 

まとめ

RaspiのSDカードにUSB大容量メモリ用のパーティションを作り、systemdを使ってmodprobe g_mass_storageを起動するのがベストだと思います。

Raspiのディスクのパーティションを分ける方法は次回説明します。

| | コメント (0)

2025.09.24

Raspi Zero 2WでUSBイーサネットを使う

Raspi Zero 2WではUSBを通じたイーサネットを使うことができます。

いろいろな情報を総合すると dtoverlay=dwc2 と modules-load=dwc2,g_ether を追加すればよいようなことが書かれていますが、これだけではダメなのです。

 

本記事では、RaspiZero2WのUSBイーサネットを有効にして、Windowsからファイル共有やSSHするまでの手順を説明します。

① config.txtとcmdline.txtの設定

まずは、config.txtに

dtoverlay=dwc2

を追記し、cmdline.txtに

modules-load=dwc2,g_ether

を追記してください。

② USB COMポートになっているのを直す

そうしてRaspiを再起動すると、USB COMポートが見えるようになるはずです。

Rndiscomport

USBイーサネットを有効化したはずなのに、WindowsではなぜかCOMポートとして認識されてしまいます。

ハードウェアは正常に動作していますじゃねーよと思いつつ、プロパティのハードウェアIDを見ると、

0525a4a2

0525:A4A2と出ていました。これはUSB IDです。

Windowsアップデートでは自動的には更新できません。なぜかCOMポートと思われてしまっているからです。

このUSB IDで検索するとドライバが見つかるのですが、カーネルモードに変なものを入れてしまうと危険なので、マイクロソフトのドメインと思われるサイトからダウンロードしてきます。

https://www.catalog.update.microsoft.com/Search.aspx?q=usb%5Cvid_0525%26pid_a4a2

Msupdate

8.1 and laterのほうをダウンロードして解凍します。

sysファイルがなく、infとcatしかないですね。

Rndisdrivers

つまり、ドライバの本体のバイナリはWindowsが元から持っているバイナリを使うようですね。安心安全。

これでUSB Ethernet/RNDISドライバが正しく入りました。

Rndisok

③ USBイーサが有効になっていない!?

これでUSB/RNDISが使えるようになったかというと・・実はまだ使えません。

「コントロールパネル/ネットワークと共有センター/アダプタ設定の変更」から見ると、

Rndisnotconnected

USB RNDISなのにケーブルが接続されていませんと出てしまうのですね。

間違いなくUSBは続されているのに・・

④ DHCPクライアントを有効にする

この問題はRaspiZero2WのイーサネットポートにIPアドレスが設定されていないため起こります。

昨日の手順で書いたとおりのやりかたで、dhcpcdを有効にすれば、Windows PCとRaspiの間でIPアドレスがやりとりされ、お互いのアドレスが決まり、通信ができるようになります。

Rndisconnected

アドレスは169.254.0.0/16のリンクローカルなものとなります。

Rndisipa

 

 

| | コメント (0)

2025.09.23

Raspi Zero 2 WのWLANを有効化し、使いやすくする

Raspi Zero 2Wの無線LANはRaspberry Pi Imagerで設定しただけでは接続できないようです。

 

Raspberry Pi ImagerというソフトではSSID等を設定できる項目はありますが、なんだか実際には反映されないようでした。

Raspiimager

そこで、本記事ではRaspi Zero 2Wの無線LANを使えるようにする手順を書きます。

 

① wpa_suppulicant-wlan0の作成

様々なページでは/bootにwpa_suppulicantを書いておけばつながるようなことが書かれていますが、実際にはダメです。

初期状態ではwlan0はDOWNしています。

Wlan0down

詳しくはわかりませんが、起動するサービス名はwpa_suppulicantではなく、wpa_supplicant@wlan0であるため、/etc/wpa_supplicant/wpa_supplicant-wlan0というファイルが使われるためだからではないかと思われます。

私は、/etc/wpa_supplicant/wpa_supplicant-wlan0.conf というファイルを作成することで接続できるようになりました。

やりかたは、まず、

sudo vi /etc/wpa_supplicant/wpa_supplicant-wlan0.conf

でファイルを作成します。中身は

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="SSID"
psk="パスワード"
key_mgmt=WPA-PSK
}

です。このファイルはRaspiに限らず様々なシステムで同様かと思います。

まずはこのファイルを作っておきます。

② wpa_supplicantの手動起動

WiFiを自動認識・自動起動させるまえに一度手動で起動してIPアドレスを設定し、apt installが使えるようにします

まず現在動いているwpa_supplicant (接続できない)を止めます。

sudo killall wpa_supplicant
sudo systemctl stop wpa_supplicant

そして、

sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant-wlan0.conf -B -d

で、wpa_supplicant-wlan0.confを読み込む形で手動で起動します。

そうしてip aをしてみると、wlan0がupになっているはずです。

Wpa_supplicantd

③ 仮のDHCPクライアントを実行

wlan0はUPになりましたが、DHCPクライアントが動いていないのでIPアドレスが割り当てられておらず、まだ使えません。

sudo dhclient wlan0

で、DHCPクライアントを動かし、IPアドレスを取得します。

Dhcpcd

④ 自動でWiFiが起動するようにする

システム開始時に自動的に接続できるようにするため、dhcpcdをインストールし、それから、wpa_supplicantをwlan0で動くようにシステムに登録します。

sudo apt install dhcpcd5
sudo systemctl enable wpa_supplicant@wlan0
sudo systemctl enable dhcpcd

これで起動時に自動的にWiFiネットワークにつながるようになります。

⑤ SSHが使えるようにする

sudo touch /boot/firmware/ssh

で空のファイルを作っておいてください。さもないとSSHでログインができなくなります。

⑥ 名前解決ができるようにする

ここからはオプションです。Windowsから名前解決できるようにするため、Sambaをインストールします。
必要なのはSambaの中のnmbdですが、一応Samba全体を入れておきます。

sudo apt update
sudo apt install samba samba-common-bin

そして、Sambaの設定ファイルを開き、

sudo vi /etc/samba/smb.conf

以下の内容を追記します。

[global]
workgroup = WORKGROUP
server string = Raspberry Pi
netbios name = RASPI
wins support = yes
local master = yes
preferred master = yes
os level = 65

 

これで、\\raspi のような名前でアクセスできるようになります。

 

| | コメント (0)

2025.09.22

Raspberry Pi Zero 2 WのUSBコンソールを有効にする方法

Raspberry Pi Zero 2 Wは、デフォルトでコンソールが出ておらず、有線LANもないので、最初のセットアップで意外とてこずりました。

このガジェットは本来はUSB Micro BのコネクタにUSB HUBを挿して、キーボードやマウスを接続し、HDMI出力で画面を出してGUIで設定するような設計思想なのだと思います。しかし、ヨドバシに行ってもMicro BのOTG対応のUSB HUBなんてものは今日日売ってないんです。

Amazonで買わなければならない。すぐに試したい。

そんな方のために、USBコンソールを使えるようにする方法をまとめます。

① Raspberry Pi OSをインストール

選んだOSと、バージョン、日付は以下のものです。

Raspi64

② config.txtを書き換え

出来上がったSDカードにあるconfig.txtを書き換えます。config.txtに

dtoverlay=dwc2

の1行を書き加えます。

書き加える場所は何行目でもよいのですが、[cm4]と[cm5]と書かれたセクションではないところに書きます。

とりあえずは、arm_boost=1の後ろに書いておけばよいでしょう。

Dtcover

③ cmdline.txtに追記

同様にcmdline.txtに、

console=serial0,115200 console=tty1 root=PARTUUID=********-** rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles modules-load=dwc2,g_serial

の記述を加えます。SDカードを作って最初の状態ではもう少し長くなっていますが、末尾にmodules-load=dwc2,g_serialを付け加えます。

config.txtとcmdline.txtを書き換えてSDカードを挿して起動すると、COMポートが認識されるようになります。

Comport

 

④ ttyGS0の有効化

上の手順でCOMポートとして認識されるようになりますが、TeraTerm等で開いても何も表示されません。

なぜならば、ただのCOMポートだからです。

このCOMポートをコンソールとして利用するには、Raspiにログインして

sudo systemctl enable serial-getty@ttyGS0.service

で設定するのですが、HDMIのGUI環境もWifi接続も使えないという状況ではログインできないので設定できません

ここが一番の難関です。

この設定がされないとCOMポートとして認識されているけれどもコンソールの文字列が表示されず使えません。WifiからSSHでログインするにはコンソールが使っていろいろ設定が必要なので、厳しいでしょう。

 

この状況を打開するには、RaspiのSDカードをWindowsでマウントして修正するしかありません。昨日の記事を読んで、WSL2環境でSDカードをマウントし、

sudo mount /dev/sde2 /media/
sudo mkdir /media/etc/systemd/system/getty.target.wants
cd /media/etc/systemd/system/getty.target.wants
sudo ln -s /lib/systemd/system/serial-getty@.service serial-getty@ttyGS0.service
cd
sudo umount /media

とします。このコマンドの例はSDカードがWSLで/dev/sde2として見えていて、/mediaというマウント用のディレクトリがあることを想定したものです。

このコマンドでは、Raspberry Piの/etc/systemd/system/getty.target.wants/というディレクトリに、/lib/systemd/system/serial-getty@.service からのシンボリックリンクをserial-getty@ttyGS0.serviceというファイル名で張るという操作をしています。

 

⑤ USB ポートからのコンソール

そして、COMポートが認識されたらTeraTermで開いてしばらく待つと・・

出たー!

Raspiconsole

ようやくUSB COMポートからコンソールが使えるようになりました。

モニタやキーボード、マウスを使わずに、USBケーブル1本で開発できるので手軽さMAXです。

 

ちなみに、COMポートが認識されるまで30秒くらい。COMポートが開いてからログイン画面になるまで10秒くらい(体感)です。

起動時のメッセージは表示されませんのでdmesgで読んでください。

| | コメント (2)

2025.09.21

Windows(WSL)からLinuxのSDカードを読み書きする方法

多くの組み込みLinuxはSDカードにext4のファイルシステムを入れていますがWindowsからは直接操作できません。

本記事では、SDカードに格納されたLinuxのファイルを書き換えたい場合に、WSL2から行う方法を紹介します。

まず、パソコン本体のSDカードスロットやUSB SDカード変換アダプタを使って認識させようとしても、WSL2からは/devの下に見えません。これが面倒なことが起きる元凶です。

 

これを見えるようにするにはPowerShellを使って操作する必要があるのですが、Microsoftのページにあるように

Get-CimInstance -Query "SELECT * from Win32_DiskDrive"

として、

Powershell

wsl --mount \\.\PhysicalDrive1 --bare

でマウントしようと思っても、うまくいきません。

このやり方はUSB SDカードに対応していないためです。

指定されたドライブが見つかりません。
エラー コード: Wsl/Service/AttachDisk/MountDisk/0x8007000f

というエラーが出てしまいます。

8007000f

どうすればよいかというと、usbipdというツールを使います。

usbipdをインストールするには、下記のページから

https://github.com/dorssel/usbipd-win/releases

usbipd-win_5.2.0_x64.msiをダウンロードしてインストールします。

そして、PowerShell(管理者モード)からusdipd listコマンドを入力すると、

PS C:\windows\system32> usbipd list
Connected:
BUSID VID:PID DEVICE STATE
1-7 413c:2105 USB 入力デバイス Not shared
1-11 0bda:0177 Realtek USB 2.0 Card Reader Not shared
1-13 30fa:0300 USB 入力デバイス Not shared
1-14 0489:e134 MediaTek Bluetooth Adapter Not shared
Persisted:
GUID DEVICE
b490492e-a86d-497c-821c-8a2c0f943d2c USB 大容量記憶装置

のように認識されます。

Usbipdlist_20250924030101

私のPCではパソコンに内蔵されているSDカードスロットが0bda:0177 Realtek USB 2.0 で、このバスアドレスが1-11です。

この場合、

(powershell) usbipd attach --busid 1-11 --wsl

と入力すると、ピコッと音が鳴って認識され、wslから使えるようになります。

もしアタッチがうまくいかない場合は

(powershell) usbipd bind --busid 1-11

で先にバインドしておきます。

そうしたら、wslを起動して、lsblkでデバイス名を確認し、

Lsblk

(wsl2) sudo mount /dev/sde2 /media

でマウントします。

作業が終了したら

(wsl2) sudo umount /media

でマウントを解除し、PowerShellで

(powershell) usbipd detach --busid 1-11

としてアタッチを解除します。

こうすることで、得体の知れないツールをインストールせずに、WSL2からLinuxのファイルを読み書き編集できるようになります。

 

| | コメント (0)

2025.09.20

そろそろ本気で2次試験の勉強を・・

中小企業診断士の2次試験まで約1カ月になったので本気で勉強を始めます。

1次合格発表後にちょこっと過去問を読みましたが、すぐに力尽きてしまいました。
あんな難しい解答は考えたって出てこないって。

2次試験は中小企業診断士ならではの視点で書かなければならないので、言い回しとか着眼点が独特です。
いくら知識をいれたって解けない。診断士になっていない者がいくら考えたって正解は出てこない。
それなら過去問をひたすら暗記してパターンを学習したほうが良いんじゃないかという結論です。

私にぴったりの勉強法は、たぶん過去問解答丸暗記。

自分で解くのではなく、まずは模範解答を5年10年暗記してみます。

Niji1

 

読んでて思った。令和2事例I。また世襲かよ。

事例Iは、問題文の中に回答要素が書かれている問題と、書かれていない問題がありますね。

書かれている問題は「国語」の試験で、配点が4割とするとこれを確実に取り、書かれていない問題(つまり1次試験で身に着けた知識)で1/3を解ければよいのでしょうか。

 

| | コメント (0)

2025.09.19

Cosmo-Z VMEのプラン

次世代Cosmo-Zのプランとして、VME側のCosmo-Zを作りたいと考えています。

VMEバスという1980年からある古いバスがあるのですが、このVMEバスのスロットにガチャンと嵌る、Cosmo-Zを作りたいと考えています。

Wikiperiaに写真があって、

Vmebus

こんな感じのです。

タカチさんのVMEラックはこんな感じ。

Takachivme

セイコーEG&Gさんのクレートは

Seikoegg

こんな感じです。

こういったラックに差し込めるCosmo-Zを作りたいと思います。

 

なんでわざわざこんな古いバスに対応させるのかというと、放射線計測の分野ではまだまだ現役だからです。

ラックにガチャコンガチャコンと挿していくCosmo-Zを作りたいとかねがね考えていたのですが、NIMにしようかCAMACにしようか、VMEにしようかと迷っていました。

どうやらNIMやCAMACよりもVMEのほうが寿命が長そうですね。

VMEバスの形状でZYNQ搭載のADCボードを作れば、見る人が見れば、何をするものか一発でわかる。そんな製品を目指しています。

カード1枚で16chか32chかの計測ができるCosmo-Zのカードにして、そういうCosmo-Zを16台とか並べられるようにします。

VMEの後ろにあるバスは使わずに電源だけいただきます。

 

| | コメント (0)

2025.09.18

「IC真贋判定サービス」事業化段階4クリア!

事業再構築補助金で始めた「IC真贋判定サービス」ですが、今年もご注文をいただきサービスを提供しました。

わずかですが売上が立ちました。今年も事業化第4段階クリアです。新事業やってます!

Jigyouka4

| | コメント (0)

2025.09.17

MITOUJTAGを通じたVivadoからの操作

MITOUJTAGにはXVCサーバが内蔵されているので、Vivadoからリモート接続することができます。

Mitoujtagxvc

この方法を使うと、Vivadoに対応していないようなJTAGケーブルでもMITOUJTAGを介してVivadoから操作することができるようになります。MITOUJTAG Free版でも使えます。

ただし作りこみが中途半端なので接続が切れると面倒なことになります。要望が多ければ直します。

 

詳しいやり方はPDFの資料をお読みください。

ダウンロード - mitoujtage38292e9809ae38198e3819f.pdf

 

 

| | コメント (0)

2025.09.16

ALTERA FLEX6000のバウンダリスキャン

ALTERA FLEX6000の真贋判定案件が来ました。

1日でできるだろうと思っていたのですが、このFPGA(CPLD?)はあまりにも古いデバイスなので非常に苦労しました。

まず、QFPパッケージなのですが、今のQFPよりも若干サイズが大きいのです。体感で0.2mmくらい。
だから、QFPのソケットに刺さりません。

 

そのためQFPソケットを削るという荒業で何とかICをソケットに挿すことはできたのですが、JTAGで自動認識しない・・・

 

それもそのはず。FLEX6000にはIDCODEが無いのです。

結局のところ、IRの長さとDRの長さをオシロで見て判別するくらいのことしかできませんでした。

 

でも、事業再構築補助金の今年度のサービス提供実績が1件できました。

事業は鋭意続けています!

 

 

| | コメント (0)

2025.09.13

お祭り当日!名札が大活躍!

今日は町会のお祭りでした。

この日のために作った電光掲示木札が大活躍!

Nafuda1

粋でしょ!?

Nafuda2

 

| | コメント (0)

2025.09.12

電光掲示名札ができました!

お祭り用の電光掲示木札基板を実装しました。

縦60mm、横26mm、厚さ11mmに納まりました。リチウムイオン電池も内蔵です!

表面には紫色のLEDがびっしりと実装されています。

Nafuda1_20260105010501

裏面にはマイコンとMOSFET、抵抗などが乗っています。

Nafuda2_20260105010501

3Dプリンタで作った箱(木質PLAフィラメント)に入れて、もはやどこから見ても木札。ちゃんと紐をかけるところもあります。

Nafuda3

 

| | コメント (0)

2025.09.10

MPPCの測定結果

MPPCとプラシンでモナザイト&塩化カリウムで測ったスペクトラムを見ると、特にピークは出ていないですね。

Mppc4

たしかこのプラシンとMPPCではピーク出なかったような気がするんだが、なぜだったか。

薄すぎて全エネルギーを落とせないんだったかな。

コンプトンでちょっと失って突き抜けていくだけなんだろうな。厚さ1cmしかないし。

で、Knoll本を読むと、書いてあった。

プラスチックシンチレータは原子番号が小さくてコンプトン散乱しかしないからピークが出ないんだわ。

ガンマ線スペクトル測定には決して使われないとまで書かれてる。

Mppc3

プラシンはガンマ線スペクトル測定には向かない。

| | コメント (0)

2025.09.09

電光掲示木札基板が届いた

JLCPCBから電光掲示木札基板が届きました。

実装するのが楽しみです。

Mokufuda10

Mokufuda11

 

| | コメント (0)

2025.09.08

数年ぶりにMPPCを動かしてみる

夜中に会社に来て、昔作ったMPPCアレイを動かしています。

いま引き合いが来ている放射線計測の仕事がMPPCを使うということらしいので、どういった特性だったかを思い出すためです。

Mppc1

久しぶりに動かしたわりには信号がちゃんと出ていますね。

Mppc2

同じ部屋でX線CTスキャンを動かすとNaI+PMTには信号が出てくるので100keV程度に対する感度はありそうだけど、プラシン+MPPCのほうは出てこなさそうです。ノイズに埋もれているのか、100keVの感度が無いのか。

とりあえず、塩化カリウムとかモナザイトとか仕掛けて帰ることにします。

| | コメント (0)

2025.09.06

電光掲示木札の設計

RL78マイコンを使って「電光掲示木札」というのを作っています。木札というのはお祭りのときに首からかける名札のことです。

Mokufuda

これを電光掲示にしてしまおうという壮大なプロジェクトです。

Mokufuda2

Mokufuda3

Mokufuda4

「そ、そうだ。俺は忘れていたぜ。電子工作は楽しいものなんだ・・・」

Mokufuda5

Mokufuda6

配線引けた。26mm×60mmサイズで収まった。

あとは電池とスイッチを付ければ完成。

Mokufuda7

Mokufuda8

JLCPCBに4層金フラッシュで出図完了!

Mokufuda9

 

 

 

| | コメント (0)

2025.09.04

Cosmo-Zの1Gサンプル対応版企画

Cosmo-Zの新しい1Gサンプリング対応版というのを考えています。

だいたい10cm四方くらいのサイズで、

Csz1g

高速なADCと基板上のZYNQをJESD204で接続するというものです。

Csz1gblock

AD9680は14bitで、500Msps~1250Msps、2chのADコンバータです。

あまりチャネル数は多くなくてよいから高速にサンプリングしたいという用途のために作ろうと思います。

外部からトリガを入れたり、外部へトリガやクロックを出したりといった連携もできるようにしたいと思います。

目標としては2026年1月にサンプル出荷するくらいのペースで考えています。

| | コメント (0)

2025.09.03

RLマイコンを使った回路設計のスタート

RL78マイコンを使ってLEDチカチカ基板を作ることにしました。自分用です。
納期は1週間。使うマイコンはR5F104BEGFP#10にします。

このマイコンの書き込みは汎用のUSB-UART変換ICでできるらしいのですが、USB UART変換器から来るTXD/RXDをP50とP51にあるTXD,RXDにつないで通信やデバッグに使用するか、TOOL0とRESETにつないでフラッシュ書き込みするかという選択があるようです。

同時には選べないのかな。

回路図シンボルを作成。VDDとGNDは1個だけでよさそうですね。すばらしい。

Rl78_1

RL78/G14は高速オンチップオシレータを内蔵しているらしいので、外部発振器は不要っぽいです。REGCはコンデンサでGNDにつなぐだけでよさそう。P40/TOOL0は書き込みに使い、常時1kでプルアップ。RESETも書き込みで使う。

つまり、TOOL0とRESETの2本だけあれば書き込みできて、TOOLRxDとTOOLTxDを使えばエミュレータもできるようなのですが、特に使わなければ使わないようです。

Rl78_2

TOOL0は双方向の通信端子で、USB UARTのTXDのH/LをオープンドレインのZ/Lに変換してつなぐ。TOOL0から送信されるデータはRXDにつなげばよい。リセット信号はRTS#を反転して与える。TOOL0とP51TXD/P50RXDの共存は考えないほうがよい。

Rl78_3

この部分の回路は基板の裏面だけで余裕で作れました。

Rl78_4

 

 

 

| | コメント (0)

2025.09.02

中小企業診断士1次試験に合格しました

中小企業診断士の1次試験に合格しました。424点。ギリギリだー。

2日間連続徹夜で一夜漬け。

一夜漬けというと誤解を生じるので、JIT(ジャスト・イン・タイム)勉強法と呼ぶことにします。

試験当日の午前3時から勉強を始めた運営管理は55点。

ちなみに経営情報システムの試験では受験番号は書いたけど生年月日を書き忘れました。生年月日はチェック用っぽいですね。書かなくても合格できました。

 

Goukaku1

さて、2次試験、何すればいい?

| | コメント (0)

2025.09.01

重力磁場

電子が動くと磁界が生じますが、それってローレンツ変換によって電界が磁界に見えるとも解釈できます。

2乗に反比例する力を動く人から見れば垂直成分が出てくるというなら、重力も同じように質点が動いたり観測者が動くとローレンツ変換のようなことが起きるのかというと、起きるらしいですね。

gravitomagnetic 重力電磁気学というらしいです。

https://en.wikipedia.org/wiki/Gravitoelectromagnetism

しかも重力磁場っていう言葉があるようです。

重力に対する磁場のように見える成分。

世の中には知らないことがいっぱいです。

 

| | コメント (0)

« 2025年8月 | トップページ | 2025年10月 »