PIC

ムライボックス (23)

PIC16F18313 用のムライボックス・プログラムのパッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。

ムライボックス (22)

PIC16F18325 用のムライボックス・プログラムのパッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。

ムライボックス (19) --- ムライシールド (3)

2017 年 12 月 08 日付けの記事 (→こちら) では、「ムライシールド(仮)」の回路図を示しました。 これは、Arduino 本体の基板の面積と同程度の基板上に作成するという制約、および「SparkFun」製の「MIDI シールド」と同様な機能を持たせるという制約のため…

ムライボックス (18) --- ソフトウェア (10)

8 ピン・パッケージである PIC16F18313 には CLC (Configurable Logic Cell) が 2 個しか搭載されていないので、単体では 2 ポートしか実現できません。 外部に "OR" ゲートを設けることにより、8 ピンの制限内であと 2 ポート追加することが可能です。 つま…

ムライボックス (16) --- ソフトウェア (8)

前回の記事では省略した、システム・エクスクルーシブ・メッセージ処理部のプログラム・リストを下に示します。 「0xf8u」のようにわざわざ「unsigned」を指定していたり、(uint8_t) などのキャストをしているのは、8 ビット PIC 用の XC8 コンパイラで warn…

ムライボックス (15) --- ソフトウェア (7)

PIC 版のソフトウェアでは 8 ビット幅に削減していますが、本来のビットマスク・テーブルは 1 エントリあたり 16 ビット幅のデータを 16 エントリ持つ配列として構成されています。 このデータ量 (32 バイト) を一度に転送できるシステム・エクスクルーシブ…

ムライボックス (14) --- ソフトウェア (6)

今回は PIC16F18325 を使用した場合の話です。 ハードウェア回路としては 2017 年 12 月 12 日付けの記事 (→こちら ) に掲載してあります。 MPLAB X IDE に付属の MCC (MPLAB Code Configurator) を利用して作成しています。 プログラム・サイズは 820 ワー…

ムライボックス (11) --- CLC

Microchip 社の 8 ビット PIC の最近の品種 (PIC16F1… で始まる 4 桁あるいは 5 桁型番) には、CLC (Configurable Logic Cell) と呼ばれる小規模な PLD (Programmable Logic Device) が含まれているものがあります。 代表的な品種としては、「全部入り」(ful…

PIC18F14K50 (22) / PIC16F145x (4) --- USB-MIDI コンバータ (4)

PIC18F14K50 / PIC16F1455 /PIC16F1459 を使って USB-MIDI コンバータとして動作させるためのファームウェア・パッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。 (2017 年 9 月 7 日追記: PIC16F1459 での動作が…

PIC16F145x (3) --- USB-MIDI コンバータ (3)

「最小構成」版の USB-MIDI コンパータを、秋月・片面ユニバーサル基板 D タイプ (47 × 36 mm) (通販コード P-08241) 上に組んでみました。 写真を下に示します。

PIC18F14K50 (21) / PIC16F145x (2) --- USB-MIDI コンバータ (2)

USB - MIDI コンバータのプログラムが大体できあがりました。 元ネタにしたのは Microchip アプリケーション用ライブラリ MLA (Microchip Libraries for Applications) に含まれる USB オーディオクラス・MIDI ストリーミング・サブクラスに関するデモ・プロ…

PIC18F14K50 (20) --- USB-MIDI コンバータ (1)

Microchip アプリケーション用ライブラリ MLA (Microchip Libraries for Applications) には、USB オーディオクラス・MIDI ストリーム・サブクラスに関するサンプルプログラムが含まれています。 それに手を入れて、USB-MIDI コンバータとして機能するプログ…

PIC16F145x (1) --- クロックの周波数変動

PIC16F1454/1455/1459 (以下 PIC16F145x と略記) は、Enhanced Mid-Range (14 ビット・コア) に属するマイコンで、USB (デバイス) モジュールを内蔵していることが特長です。 それぞれ、 PIC16F1454 — 14 ピン、アナログ・モジュールなし PIC16F1455 — 14 ピ…

PIC18F14K50 (19) --- aitendo USB-GPIO

先日 (3 月 24 日)、aitendo の店頭 (出入り口前の廊下に置かれたダンボールの中) で PIC18F14K50 使用の小さなマイコン・ボードを見つけ (単価 199 円)、2 つほど買ってきました。 そのままでは動作しませんでしたが、水晶発振回路のコンデンサを換装して正…

PIC18F14K50 (18) --- USB-Blaster もどき

Altera の FPGA/CPLD に書き込むための「JTAG ケーブル」として、現在はパラレル・ポート接続の「Byte Blaster MV」相当の自作品を使用しています。 「メイン・マシン」の PC にはパラレル・ポートがなく、「サブ・マシン」のノート PC のパラレル・ポートに…

PIC18F14K50 (17)

PIC の内部モジュールを使った VCO の 3.3V 電源化を進めました。 当初は、リセット回路に 74HC シリーズの CMOS アナログ・スイッチを試してみたのですが、高性能で高価なアナログ・スイッチとは違って、3.3 V 電源では ON 抵抗は十分低くならず、結局は PN…

PIC18F14K50 (16)

今回は、「組み合わせ 1」の Q1, Q2 にノーマルタイプであるトランジスタ・アレイ TD62507 を使い、 Q3 にスーバーベータの 2SC3113 を使った 場合です。 つまり、以前から実験している基本回路の Q3 だけを 2SC3113 に置き換えたものです。 Q3 の hFE は 18…

PIC18F14K50 (15)

今回は、「組み合わせ 3 」の Q1, Q2, Q3 すべてをスーバーベータトランジスタにした場合の測定を行います。 Q3 の hFE は 1800 程度です。 測定結果のグラフを下に示します。

PIC18F14K50 (14)

トランジスタを 3 個使用するベース結合アンチログ回路で、Q1 と Q2 はマッチングが取れている必要がありますから、同種のトランジスタを使わなければなりません。 そんなわけで、少なくとも 1 個スーバーベータトランジスタを使う組み合わせは、 Q1 Q2 Q3 …

PIC18F14K50 (13)

2SC3113 を 2 個使ったアンチログ回路に Franco の補償を施した場合の測定を行いました。 補償抵抗の値は、計算上は R = T / C = 40 [μs] / 22 [nF] = 1.8 [kΩ]となりますが、実際に 1.8 kΩ で測定したところ、少し補償量が足りない結果となり、2 kΩ にする…

PIC18F14K50 (12)

以前から試してみたいと思っていた、ベース結合アンチログ回路の実験をしてみました。 それは、いわゆる「スーパー β (ベータ) トランジスタ」という、直流電流増幅率 (hFE) の非常に大きいトランジスタを使って、アンチログ回路のトランジスタを 1 個減らし…

PIC18F14K50 (11)

リセット・パルス幅を決める時定数回路を別に持つ形式の、PIC18F14K50 の内蔵モジュールを利用した VCO で、「Franco の補償」のための抵抗値を変えながら特性を測定しました。 まずは、抵抗なしでの、裸の特性を下に示します。 例によって、連続4回の測定…

PIC18F14K50 (10)

PIC18F14K50 の内蔵モジュールを利用した VCO で、リセットパルス幅を決定する時定数回路を別に持つタイプの回路の、リセット期間付近の波形写真を下に示します。 電源電圧 Vdd = 5 V の場合です。

PIC18F14K50 (9)

PIC18F14K50 の内蔵モジュールを利用した VCO で、リセット・パルス幅を決める時定数回路を、のこぎり波発生回路とは別に持つ形式の構成の VCO を試してみました。 内部モジュールの構成および外部回路の図を下に示します。

PIC18F14K50 (8)

PIC18F14K50 の内蔵モジュールを利用した VCO で、「Franco の補償」のための抵抗を挿入して特性を測定しました。 抵抗値を順に、270 Ω、300 Ω、330 Ω と変えた場合の測定結果のグラフを下に示します。 例によって、連続4回の測定結果を重ねてプロットして…

PIC18F14K50 (7)

2 月 3 日付けの記事の回路の構成では、Franco の補償が効かないことが分かり、回路を変更しました。 下に PIC18F14K50 内部のモジュールの構成と共に表示した回路図を示します。

PIC18F14K50 (6)

PIC による VCO を Pakurino (Arduino) につないで、CV と出力周波数の特性を自動測定してみました。 PIC 側と Pakurino 側とは 20 cm 程度のフラット・ケーブルで接続します。 のこぎり波のバッファを設けていないので、周波数の測定は「SRQ」端子のパルス…

PIC18F14K50 (5)

前回の記事で書き忘れましたが、固定基準電圧 (FVR: Fixed Voltage Reference) に関する DC スペックでは、4.096 V を選択する場合は、 VDD >= 4.75 V という条件が付いています。 いつも使っている USB ハブでは、セルフ・パワーで使っても、「+5V」 の電圧…

PIC18F14K50 (4)

Microchip 社の USB フレームワークのコンパイルには同社の「C18」コンパイラが必要ですが、無償でダウンロードできる「評価版」には、60 日経過すると最適化機能が制限されるという制約があります。 そのため、対象のチップに関する経験が少ないままコンパ…

PIC18F14K50 (3)

PIC

PIC18K14K50 には、コンパレータ 2 個と SR (セット・リセット) ラッチが内蔵されているので、定番のタイマ IC である「555」と同様な外部回路でオシレータを構成することができます。 ただし、555 のオープンコレクタ/オープンドレインの Discharge 端子 (7…