<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title><![CDATA[ タグ「PIC」を含む投稿［30件］ - 電装工芸日記 - 舞台照明機器の製作とか - ]]></title>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi</link>
	<description><![CDATA[ 今年は開発案件を進めたい ]]></description>
	<language>ja</language>
	<copyright>Copyright 2026</copyright>
	<lastBuildDate>Mon, 20 Apr 2026 06:10:27 +0900</lastBuildDate>
	<generator><![CDATA[ <!-- てがろぐ Version: -->Powered by <a href="https://www.nishishi.com/cgi/tegalog/" target="_top">てがろぐ</a> Ver 3.4.0 ]]></generator>
	<!-- BEGIN ENTRIES -->
	<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　PIC16F18326 についてはヘッダーファイルを書いて… ]]></title>
	<description><![CDATA[ 　PIC16F18326 についてはヘッダーファイルを書いています。<br />　書きながら勉強になっているのでいいのですが、パラメータが増えているのでなかなか終わらない。<br />　Pickit(書き込み機)も新調しました。最新のMPLABXではPickit3が対象外になっているためです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔143文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1029</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1029</guid>
	<category>tegalog</category>
	<pubDate>Fri, 21 Mar 2025 09:03:52 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　PIC16F18326 の勉強をしています。 ]]></title>
	<description><![CDATA[ 　PIC16F18326 の勉強をしています。<br />　データシートを機械翻訳し、見開きで原文(英文)と翻訳(日本語)を読めるように印刷しました。496ページもあるので1,000ページ近い印刷になりましたが、英文は苦手だし機械翻訳は奇妙なところがあったりなので両方見比べられるとわかりやすい。<br />　拡張ミッドレンジ(16F1823など)と概ね同じですが、機能が増えたためかレジスタやフラグビットに違いがあります。この辺りの違いが細かくて微妙なので把握するのが大変だったりして・・・。俺様ヘッダーファイルを作ることでその違いを把握しています。<br />　まずはI/Oポートからです。驚いたのは、すべてのポートをオープンドレイン出力に出来ることと入力特性をST(シュミットトリガー)か一般的なTTLか選べることです。これは助かる。<br />　オープンドレインには様々な使い方があり、5v駆動から3.3v駆動へ信号を送ることが代表株かもしれませんが、自分は複数のPICの間でセマフォの様なフラグを持たせる場合に使うことが多いです。プルアップしておいてL出力で権利を宣言するのです。<br />　シュミットトリガーは入力の閾値判断をあえてヒステリンス特性にしていますので入力検知の正確さを期待できます。キー入力のチャタリング対策や外部入力の信号のパルスエッジに傾斜がある場合などに信頼性向上の効果があります。誤認識を減らせるってことです。<br />　機能が増えて複雑になってますがいい感じです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔628文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1028</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1028</guid>
	<category>tegalog</category>
	<pubDate>Thu, 13 Mar 2025 17:31:39 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　PIC16F18326 のデータシートを翻訳しました。 ]]></title>
	<description><![CDATA[ 　PIC16F18326 のデータシートを翻訳しました。<br />　もちろん自力ではありません。以前も利用した「<a class="url" href="https&#58;//www.onlinedoctranslator.com/ja/" target="_blank" title="https&#58;//www.onlinedoctranslator.com/ja/">Doc Translator</a>」にお世話になりました。<br />　一気に496ページは翻訳出来ませんので100ページくらいに分けて実施。PDFのページ体裁の編集はフリーウェアの「CubePDF Page」と「CubePDF Utility」を使うと便利です。<br />　完璧な翻訳では無さそうですが意図を読み取るには十分な翻訳をしてくれます。<br />　もちろん翻訳を確認した後に寄付をしました。フリーウェアでも恩恵を受けたら寄付をしましょう。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔267文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1026</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1026</guid>
	<category>tegalog</category>
	<pubDate>Tue, 11 Mar 2025 07:12:50 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　現場の日程も緩んできたので開発を始めています。 ]]></title>
	<description><![CDATA[ 　現場の日程も緩んできたので開発を始めています。<br />　今はDMX切替器のファームウェアの更新とそれに実装するDMX-HOLDです。<br />　他社の先輩に頼まれて作ったモノですが、当時の技術力ではHOLDを作れずに無い々々で納品したのを忘れていました。<br />　流石にこれではいけませんし、2kBの目盛りを持ったPICが入手できるようになったので作ろうと思ったワケです。<br />　14ピンのPIC16F18326を使う予定です。データシートを見たら初期の拡張ミッドレンジの頃とは細かい違いがあります。ヘッダーファイルも含めて再検討が必要でしょう。<br />　驚いたのはシリアル通信の出力ポートが見当たらないこと。なんのことやとデータシートを読んだところPPSという機能が入っていました。以前にもI/Oポートのピンを変更する機能が搭載されていましたがこれが拡充されたようです。シリアル通信の出力ポートはこれで定義できます。あとは、プログラムマブルロジックが搭載されています。ピンが余っている場合にこれは便利かもしれません。<br />　ともかく、新しい世代のPIC16を勉強しましょう。データシートが英文で450ページもあるので読むだけで一苦労ですけど。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔512文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1024</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1024</guid>
	<category>tegalog</category>
	<pubDate>Thu, 06 Mar 2025 17:59:52 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　MPLABXv5.5 にて PIC の書き込みが出来ました… ]]></title>
	<description><![CDATA[ 　MPLABXv5.5 にて PIC の書き込みが出来ました。<br />　以前はその場しのぎの成り行きでやっていたので、今回は設定と手順をまとめた次第です。<br />　MPLABX の操作・設定、コンフィゲーションビットの設定、XC8 の書式がわかれば MPLABv8 と大差ありません。この辺りがモヤモヤしていると言えばそれまでなんですけどね。<br />　ただ、Pickit3 は動くのですが Pickit4 はダメ。PIC を見つけてくれないし、Pickit4 とは別に不明なシュミレータ/プログラマも表示される。壊れているのか設定が間違っているのか、新品を買って比べるのがいいのでしょうが、Pickit3 で当面はしのげるので様子見です。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔316文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=887</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=887</guid>
	<category>tegalog</category>
	<pubDate>Tue, 04 Jun 2024 09:15:14 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　MPLABv8とMPLABXを共存させる場合、「MPLAB… ]]></title>
	<description><![CDATA[ 　MPLABv8とMPLABXを共存させる場合、「MPLAB driver switcher」を用いてUSB接続されるデバイスのドライバを切り替えなければならないらしい。<br />　ただし、MPLABXの後にMPLABv8をインストールするとスッキリしない。バージョン順にインストールするのがいいらしい。<br />　バージョンによる境界だが、MPASM が付属し使えるのは MPLABXv5.35 まで、Pickit3 が使えるのは MPLABX6.2 までらしい。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔231文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=886</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=886</guid>
	<category>tegalog</category>
	<pubDate>Tue, 04 Jun 2024 07:30:40 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　今更ですが、PIC の開発環境を MPLAB-X に完全移… ]]></title>
	<description><![CDATA[ 　今更ですが、PIC の開発環境を MPLAB-X に完全移行しています。このところ PIC のソースコードを書いていなかったので取り急ぎの必要がなかったのですが、DMX のスプリッターを増産することになったのでこの際といったところです。<br />　問題点はアセンブラが MPASM から XC8 になったためソースコードの記述が違うことです。<br />　以前にも少し書いたのですが、整理したので改めて揚げてみます。<br /><br /><small class="decorationS"><span class="decorationF deco-code">１）ラベル文字の最後に &apos; &#58; &apos; をつける<br />例：<br />--- MPASM ---<br />LOOP<br />　NOP<br />　GOTO　LOOP<br />--- xc8_asm ---<br />LOOP&#58;<br />　NOP<br />　GOTO　LOOP<br /><br />２）0x以外の数値識別子が異なる<br />例：<br />--- MPASM ---<br />2進数　 B&apos;01001111&apos;<br />8進数　 O&apos;72&apos;<br />10進数　D&apos;34&apos; または .34<br />16進数　H&apos;4F&apos; または 0x4F<br />--- xc8_asm ---<br />2進数　 01001111B<br />8進数　 72Q<br />10進数　34<br />16進数　04FH または 0x4F<br /><br />３）cblock は使えないので equ を使用する<br /><br />４）org の代わりに、psect を使用する<br />　コードの開始アドレスを指示するのだが、二か所に記述する。これまで ORG を書いた本文の位置と Linker に記述。<br />例１：<br />　インデックスの名前を Code_Start としアドレスを 0x0000 とする場合。<br />(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。<br />PSECT Code_Start,class=CODE,delta=2<br />(2) &lt;project properties ダイアログ&gt; &lt;pic-as Linker&gt; &lt;Custom linker options&gt; に以下を記述する。<br />-pStart_Code=0h<br /><br />例２：<br />　インデックスの名前を Int_Vec としアドレスを 0x0004 とする場合。<br />(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。<br />PSECT Int_Vec,class=CODE,delta=2<br />(2) &lt;project properties ダイアログ&gt; &lt;pic-as Linker&gt; &lt;Custom linker options&gt; に以下を記述する。<br />-pInt_Vec=4h<br /><br />例３：<br />　インデックスの名前を Tables としアドレスを 0x0400 とする場合。<br />(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。<br />PSECT Tables,class=CODE,delta=2<br />(2) &lt;project properties ダイアログ&gt; &lt;pic-as Linker&gt; &lt;Custom linker options&gt; に以下を記述する。<br />-pTables=400h<br /><br />５）コンフィグ指定は、xc8 の形式とする<br />MPLABX のメニュー &#91;Production&#93; &#91;Set Configuration Bits&#93; を用いると各項目の設定から以下のようなコードの生成まで出来るので本文の冒頭にコピペする。<br />例：<br />; CONFIG1<br />　CONFIG　FOSC = EXTRCCLK　　　 ; Oscillator Selection bits (EXTRC oscillator; CLKO function on RA6/OSC2/CLKO)<br />　CONFIG　WDTE = ON　　　　　　 ; Watchdog Timer Enable bit (WDT enabled)<br />　CONFIG　PWRTE = OFF　　　　　 ; Power-up Timer Enable bit (PWRT disabled)<br />　CONFIG　MCLRE = ON　　　　　　; RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is MCLR)<br />　CONFIG　BOREN = ON　　　　　　; Brown-out Reset Enable bit (BOR enabled)<br />　CONFIG　LVP = ON　　　　　　　; Low-Voltage Programming Enable bit (RB3/PGM pin has PGM function, Low-Voltage Programming enabled)<br />　CONFIG　CPD = OFF　　　　　　 ; Data EE Memory Code Protection bit (Code protection off)<br />　CONFIG　WRT = OFF　　　　　　 ; Flash Program Memory Write Enable bits (Write protection off)<br />　CONFIG　CCPMX = RB0　　　　　 ; CCP1 Pin Selection bit (CCP1 function on RB0)<br />　CONFIG　CP = OFF　　　　　　　; Flash Program Memory Code Protection bit (Code protection off)<br />; CONFIG2<br />　CONFIG　FCMEN = ON　　　　　　; Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor enabled)<br />　CONFIG　IESO = ON　　　　　　 ; Internal External Switchover bit (Internal External Switchover mode enabled)<br /><br />６）オペランドでの SFR の表記に注意する<br />　詳細が長すぎるのでここでは割愛</span></small><br /><br />追記<br />　不思議な現象が発生。<br />　MPLABXv5.5ではアセンプルが通るのにv6.2ではエラーが出て通らないプロジェクトがある。アセンブラはどちらも同じバージョンのXC8。<br />　エラーメッセージを見ると書いたソースコードではなく内部的なツールにエラーが起きているとある。<br />　さて、とこから詰めていきましょうか。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔2662文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=885</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=885</guid>
	<category>tegalog</category>
	<pubDate>Sun, 02 Jun 2024 10:12:03 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　Open DMX USB の BreakTime について… ]]></title>
	<description><![CDATA[ 　Open DMX USB の BreakTime について考えていたところ PIC の BreakTime についてもアイデアが出ました。<br />　拡張ミッドレンジPIC16系の EUSART には Break 機能があります。ただし、11bit分の L を出力して StopBit(H) を出すまでが一連の動作なので２回繰り返しても DMX512 の BreakTime にはなりません。今は I/O ピンをプルダウンしておき、入出力設定(TRIS)を Input(Hi-Z) にしてから捨て送信をすることで BreakTime を作っています。<br />　本題です。DMX512 の BreakTime は 最小 88usec ですから 250kbps なら 22bit 分の連続した L を出力すれば成立します。PIC16系の EUSART の Break が DMX512 の BreakTime に使えないのはこれが理由ですが、BaudRate を変更した Break を出力したらよくね？ってのが今回のアイデアです。手段を問わず、L 送信が 88usec 以上ならいいのです。私の理解が間違っていなけば、アイドル時なら BaudRate をバイト送信毎に変更しても EUSART は正しく動くハズです。単純計算なら BaudRate を半分にすれば規格値が出ます。現状でも BaudRate の調整だけで 1/50 くらいには出来ますから十分な BreakTime を作れると思われます。もちろん、BaudRate を 1/3 以下にして Break ではなく 0x00 を通常出力しても同じことです。こちらの方が汎用性が高いかも。受信も併用する構成ではＮＧですけどね。<br />　この方法が成立すればプルダウン抵抗は不要です。たった一つの抵抗ですが、部品を減らすことは絶対の正義ですので検討する価値はありそうです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e5%99%a8%e5%85%b7%e3%81%ae%e8%a3%bd%e4%bd%9c" class="taglink" title="器具の製作">#器具の製作</a> -- Posted by 電装工芸 〔817文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=723</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=723</guid>
	<category>tegalog</category>
	<pubDate>Fri, 15 Sep 2023 17:35:50 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　まだまだ途中ではあるものの使えるっちゃ使える LTC_Pl… ]]></title>
	<description><![CDATA[ 　まだまだ途中ではあるものの使えるっちゃ使える LTC_Player で本業の音源チェックをしています。<br />　思いっきり自画自賛ですが、コレ、便利です。<br />　作った本人だからってのが８１%くらいありそうですけど、こうやって実務で使うと完成イメージが具体的になります。<br />　今は設定変更のロックを機能別にしていますが、Play_Mode という括りで良さそうです。本番モード、リハモード、机上作業モード、プレイリスト編集モードって感じです。各種設定のロックの組み合わせがモードの違いとなりますが、機能単位でロックを掛けられるようにしていますので変更するのは簡単です。<br /><br />　私のプログラムの書き方を整理しますと「状態を把握」「処理の振り分け」「パラメータとフラグの設定」「パラメータとフラグを見て最終処理」ってのを１フェーズ単位にして管理しています。バグが多く発生する書き方は処理を振り分ける際に一部の最終処理までしてしまう書き方だったので、幾重にも重なったふるいにかけて粉を落とすイメージでフラグを立て、最後に落ちて来たフラグを見て最終処理をするのです。その都度結果を求めると整合性を取るのが大変になり、それこぞバグの原因になるのでした・・・私の場合ですけどね。完全独学ですから王道の書き方なんて知りませんが、一本筋の処理フェーズしかないPICのアセンブラで染みついた構築の仕方です。ガチガチで汎用性が狭い感じがしますが、発展させると疑似的なマルチスレッドも構成出来ます。PICではタイマー１個でポーリングによる複数の時間分岐を得る書き方をレギュラー化していますが、これって精度は低いけどRTOSっぽくね？とか思いながら使っています。タイムスレッドと勝手に呼称している書式ですが、余程のレスポンスを求めないなら割込みを使わずタイムスレッドとモジュールの割込みフラグによるポーリング処理で複数の処理をPICの中で実現出来ています。特別なレスポンスを求める要素にだけ割込みを使い、高級言語で言うところの sleep を絶対に使わない方針です。<br />　ソフトウェアは時間の管理が一番大事だと思う今日この頃。適切に時間が管理されていればインプットもアプトプットも整合性を持って管理出来ます。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔949文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=674</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=674</guid>
	<category>tegalog</category>
	<pubDate>Thu, 27 Jul 2023 20:24:08 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Generator は24fpsも他のfpsと同様… ]]></title>
	<description><![CDATA[ 　LTC Generator は24fpsも他のfpsと同様の誤差に収まりました。現在稼働中の30fpsも確認出来れば LTC Generator はヒト段落です。<br />　本業もそこそこ忙しくなってきたので工作に使える時間は限られますが、LTC Player まで出来るだけ早く到達したいところです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔162文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=645</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=645</guid>
	<category>tegalog</category>
	<pubDate>Tue, 13 Jun 2023 18:31:08 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Generator のタイマーを修正してみました。 ]]></title>
	<description><![CDATA[ 　LTC Generator のタイマーを修正してみました。<br />　８時間経過で約１秒ズレていますが、以前より良くなっていますし、SMPTEが求める精度には十分収まっています。何よりも比較に使っている時計の精度がどこまでなのかわかりませんからこんなもんでしょう。<br />　PICに与えている水晶発振子の精度は30ppmですから(ppmは100万分の１を表す単位なので比率だと0.00003)、１日(86,400秒)あたり±2.592秒の誤差がありえます。実測値は想定される誤差相当なのでソフトウェアは間違ってなさそうです。<br />　現在値以上を求めるなら、ソフトウェアの修正ではなく個体差に対する補正となりそうですし、もっと精度の高い発振子を使うべき話です。<br />　補正計算が無い25fpsでテストしていますが、補正計算が入る他のfpsも同等に収まればいいでしょう。<br /><br />　秋月電子通商さんで手に入る高精度な発振子は最高で1ppmです。高精度に越したことはありませんが、ここまで必要か、これで十分か、30ppmに比べてメリットがあるかは別問題です。<br />　求めているのは数分間の音楽の時間座標を表す信号です。卓がエラーを出さない条件を満たし、目視でズレを感じない繰り返し精度があればいいのです。高精度の時計や放送用の基準を作っているワケではありませんから、無制限に高精度を求めても意味がありません。十分に使えて低価格も大切な精度です。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔618文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=642</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=642</guid>
	<category>tegalog</category>
	<pubDate>Mon, 12 Jun 2023 07:41:47 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Generator は24時間カウントの関数をPy… ]]></title>
	<description><![CDATA[ 　LTC Generator は24時間カウントの関数をPythonで書いてみました。限りなく本チャンに近いモノです。<br />　期待通りの動作をします。卓への接続テストはまだですが、オシロスコープには波形が出ます。<br />　ただ、24時間で約40秒の遅れが出ます。１時間あたり約1.7秒ですから無視出来ません。<br />　時間のクリックカウントはPICで行っていますが、TMR1のコンペア値が１個多いと仮定すると辻褄が合います。そういえば、TMR2でコンペアと同様の機構と思われるPWMを作る場合は折り返しで１カウント余計にかかるハズ。データシートには記載が見受けられなかったけど、TMR1のコンペアモードでも同様なのかもしれません。<br />　コンペアの定数値を変更して改めてテストしましょう。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔348文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=640</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=640</guid>
	<category>tegalog</category>
	<pubDate>Sun, 11 Jun 2023 08:43:26 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　今後のこともあり、移動時間にPICのI2Cを勉強し直してみ… ]]></title>
	<description><![CDATA[ 　今後のこともあり、移動時間にPICのI2Cを勉強し直してみました。<br />　これまではイマイチ理解出来なかったのですが、ボチボチ使い方がわかってきました。わからなかったのはハードウェアとソフトウェアの棲み分けとソフトウェアの手順です。<br />　I2Cの規格を頑張って説明するのはありがたいのですが、一番知りたいソフトウェアの手順がボンヤリした文書ばかり。ちょっと複雑な手順を踏むので突っ込んだ理解が望ましいのはわかるのですが、その説明で力尽きしまうのか、どとのつまりどうすればいいの？に応えてくれる資料が少ないように思います。特に、I2Cの特徴的な要素である「ACK」を扱うのがハードウェアなのかソフトウェアなのかが見えないのです。<br />　正直、Pythonなどではライブラリを使うだけで済んでしまいますので、いくらPICマイコンでもそこまでローレベルの機構まで理解しないといけないのか不思議です。<br /><br />　わかったことは、設定さえしてしまえばソフトウェアの手順はUARTと大差ないことです。<br />　マスタが送信する場合はスレーブアドレスを先頭にしたバイトリストをハードウェアモジュールに渡す(PICではバイト単位で渡す)。<br />　マスタが受信する場合はスレーブアドレスを送り、返信されたバイトデータを取り込んだら取り込み済みのフラグを立てる。<br />　スレーブは、自分のアドレスを設定しておけば自分向けの通信かハードウェアが判断してくれるので、マスターの要望に従って受信値を取り込むか返信値を投げる。<br />　データの終りのストップコンディションは、マスター/スレーブ・送信/受信の立ち位置で違うけどフラグを立てるだけ。<br />　波形をコマンド操作で作るワケじゃありませんし、前後関係で調整することもありません。規格はザックリ概要がわかっていれば十分なのに、ソフトウェアの手順の説明がボンヤリしているのはイマイチ理解不能なワケです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔801文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=638</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=638</guid>
	<category>tegalog</category>
	<pubDate>Wed, 07 Jun 2023 17:43:22 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Generator は入荷した修正基板を用いてプリ… ]]></title>
	<description><![CDATA[ 　LTC Generator は入荷した修正基板を用いてプリアンプが完成。+4dB(1.23Vp-p)の波形を出しています。<br />　まだPythonプロンプトのレベルですが、シリアルでデータを送ると波形が変化します。Pythonからデータを送る場合、バイト毎ではなく、配列にバイナリを格納してpyserialに渡すのが良さそうです。<br />　タイミングが正しいかは確認出来ませんが、PICからの送信要求も受信出来ています。これを受けてデータを送る段取りです。<br /><br />　本業が詰まっていますのであまり長い時間は出来ませんが、１日0.5課題くらいの気持ちで少しずつ行きましょう。<br /><br />　明晩は仮のLTCデータを送出するPythonプログラムを書いてみます。<br />　あらかじめ2-3秒分の配列データを作っておいて送信要求があれば１フレーム分送出する物ですが、卓に接続してLTCがカウントされれば最大の山場を越えます。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔409文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=637</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=637</guid>
	<category>tegalog</category>
	<pubDate>Wed, 07 Jun 2023 01:17:13 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　今後はLTCをMTCに変換する方法も考えましょう。 ]]></title>
	<description><![CDATA[ 　今後はLTCをMTCに変換する方法も考えましょう。<br />　LTCをバイトデータとして受信し、MTCのパケットに書き直して31,250bpsのUARTで送出すればMTCになります。<br /><br />　オレメモです。　<br /><br />　PICには「変化割込み」と呼ばれるI/Oピンの入力が変化すると割込みが発生する機能があります。これとタイマーを組み合わせれば波長の計測が可能です。<br />　PICのクロックを32MHzにした場合、LTCの波長は命令ステップ(Fosc/4)換算でビットが１なら1,666から2,083、０なら倍の3,332から4,166です。誤差10%としても１の最大値(2,291)と０の最小値(3,029)は被りませんしグレーゾーンも広いので、波長の判別はfpsの種類に関係なく可能です。<del class="decorationD">fpsやフォーマットの種類はLTCのデータに書かれているので計測した波長から判断する必要はありません。</del><br />　差動バイフェーズのビットは短い波長が２つ続けば１、長い波長が１つで０です。ビットデータが取れたら80bitのシフトレジスタに入れていきます。短い波長は必ず２回続きますから、長い波長の直前の短い波長が奇数回ならエラーとして仕切り直しです。80bitのシフトレジスタの末尾16bitにシンクワードが認められれば正常なLTCパケットが取得できたことになります。<br />　LTCパケットが取得出来ればMTCパケットを作り、入力されたLTCに基づいたタイミングで31,250bpsに設定したPICのUARTから送出します。後は電気的にMIDIにすればMTCです。<br />　必ず３フレーム遅れますが、欲しいのは絶対値ではなく相対値ですからいいかなと。<br /><br />　プログラムが求めるメモリサイズ次第ですが、8pinの12F1822で作る予定です。<br /><br />追記<br />　LTCにはfpsフォーマットを記載する領域はありません。訂正します。NDF/DFは記載されます。<br />　fpsフォーマットをデータに記載するのはMTCです。<br />　ですので、LTCの場合は波長からfpsフォーマットを推測します。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔876文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=635</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=635</guid>
	<category>tegalog</category>
	<pubDate>Tue, 06 Jun 2023 12:10:53 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　あまりにすんなり動いたので忘れてましたが、FT232RL凄… ]]></title>
	<description><![CDATA[ 　あまりにすんなり動いたので忘れてましたが、FT232RL凄いです、便利です。こんな素晴らしいデバイスをナゼ今まで使わなかったのか自分にクレームです。<br />　Pythonのシリアルも無茶苦茶簡単、PICのシリアルも設定が少し分かりにくいけど数行のアセンブラで送受信できて簡単。<br />　先人が作ってくれた素晴らしいシステムたちに感謝です。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e9%9b%bb%e5%ad%90%e5%b7%a5%e4%bd%9c" class="taglink" title="電子工作">#電子工作</a> -- Posted by 電装工芸 〔184文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=634</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=634</guid>
	<category>tegalog</category>
	<pubDate>Tue, 06 Jun 2023 01:16:55 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　困ったことに LTC Generator が一発で動いてし… ]]></title>
	<description><![CDATA[ 　困ったことに LTC Generator が一発で動いてしまいました。デバグのために本業を途中で切り上げ、午前様を覚悟していたのに実作業15分で終わってしまいました。ここまでデバグせずに進んだのは初めてかもしれません。<br />　何をしたかと言うと、Pythonからシリアルでデータを送り、それに則した波形を出し、コマンドコードで波長を切り替えるというもの。実験用に一部書き換えましたが、どうやっても想定の結果が出ます。<br />　予想より早いですが、実際にタイムコードを出してみる段階になってしまいました。プリアンプの改修基板は明日入荷なのでいいか。<br />　仕方ないのでPythonのプログラムの構想を始めましょう。まずは固定値のリストで2-3秒出すところからです。<br /><br />　そりゃ嬉しいけど、機械たちにスルーされているみたいでなんだか寂しい。<br />　こんなにすんなりいくと何かありそうで怖い。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔399文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=633</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=633</guid>
	<category>tegalog</category>
	<pubDate>Mon, 05 Jun 2023 22:35:02 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Generator の今の課題はPCのPython… ]]></title>
	<description><![CDATA[ 　LTC Generator の今の課題はPCのPythonからデータを送ってそれに則した差動バイフェーズの波形を出すことです。<br />　シリアル通信とコマンド処理を書き加えました。シュミレータでは思った通りの挙動をしたので次は実機テストです。<br />　ですが、この時間なので流石に寝ないといけません。デバグがすんなり終わればいいのですが、夜明けを迎えたら明日に差し障りそうです。<br />　いささか力尽きましたし、シュミレータでの確認が済んで気分的にも区切りが付いたので今夜は終わりにします。<br />　明晩、Pythonでシリアル通信して挙動を確認します。思った様に動けばPICのファームウェアは投了です。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔305文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=629</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=629</guid>
	<category>tegalog</category>
	<pubDate>Mon, 05 Jun 2023 01:04:36 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Generator のPICはFIFOにデータを突… ]]></title>
	<description><![CDATA[ 　LTC Generator のPICはFIFOにデータを突っ込んで波形が出力するまでまとまりました。<br />　内部のテストルーチンによるものですが、データのリレーはシュミレーターで、波形はオシロスコープで確認出来たので、最も面倒な部分が成立した模様です。<br />　昨日一見動いたものの波形が安定せず悩みましたが、バグを手直しして今は期待した波形が出ています。0x00や0xFFはもちろん他の数値もＯＫ。オシロスコープのトリガが引っかからず波形が読み取れない数値もありますが、この値が確認出来ればいいでしょうって値はいけたので、デバイスドライバ的なところが終わったと言えます。<br /><br />　今後の課題はパソコンとの通信です。PIC側は過去実績、パソコン側はライブラリに頼れば左程難しくないハズ・・です。パソコンから受信した値をFIFOに突っ込んで期待した波形が出れば重要な機能は完了です。<br />　完成に至るには、PICからパソコン側にデータ送信の要求を送ったり、コマンドでfpsのモードを切り替えたりと課題は残っていますが、ハードウェアとデバイスドライバ的な部分がまとまればハードルは低くなります。<br /><br />　ちなみに、今作っているのはシリアルで受信したバイトデータを差動バイフェーズで出力するだけの物ですから、TASCAMのプレーヤーのリモコンと組み合わせることも可能(正しくは不可能ではない)です。曲ごとのタイムコードをユニークする方法を考えなければなりませんが、これはこれで欲しい一品です。<br />　当然リモコンはフルスクラッチとなりますが、出来るだけ音響さんの環境を変えないためにこういった発想もありかなと。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔704文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=627</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=627</guid>
	<category>tegalog</category>
	<pubDate>Sun, 04 Jun 2023 10:24:30 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Generator のプリアンプは回路を手直しして… ]]></title>
	<description><![CDATA[ 　LTC Generator のプリアンプは回路を手直ししてＯＫになりました。<br />　バイアス電圧を当て、反転増幅回路の出力端子とマイナス端子の間の抵抗と並列に20pFのコンデンサを入れて解決しました。<br />　波形を示さないとわかりにくいのですが、コンデンサを入れる前は妙なノイズが出ていたのです。音声ではなく矩形波ですから周波数特性はそれほど気にしませんが、ノイズというか別波形が足されている状態はいただけない。<br />　回路修正用の基板も発注したので、プリアンプはとりあえずＯＫかな。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔251文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=626</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=626</guid>
	<category>tegalog</category>
	<pubDate>Fri, 02 Jun 2023 21:42:07 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　FIFOなど、諸々書き加えたファームウェアも正常に動きまし… ]]></title>
	<description><![CDATA[ 　FIFOなど、諸々書き加えたファームウェアも正常に動きました。<br />　自分で書いた送出停止処理の扱いを間違えて信号が出ないことに悩んでしまいましたが、テストプログラムが間違っていただけでした。肝心のモジュール本体は一発ＯＫです。<br />　今回のPICはパソコンから送られてきたデータを淡々と差動バイフェーズで送り出すだけです。難しいことはパソコンでやれと、PICの名前の由来を考えろと。そんな作りです。<br />　データを差動バイフェーズで送出することは出来た。データのタイミング緩衝となるFIFOもどうやら正常に動く。残るはパソコンとの通信です。FT232RLを経由したシリアル通信ですが、PIC側はDMXで散々やったことですし、パソコン側はPythonなのでほんの数行で書けます。10分の空き時間で進められるものでもありませんけどね。<br /><br />　あとはラインセレクタも必要です。<br />　音響さんからもらう本線LTCと自分のパソコンから送るチェック用LTCの２系統を切り替える必要があるからです。<br />　セレクタには<a class="url" href="https&#58;//akizukidenshi.com/catalog/g/gI-11346/" target="_blank" title="https&#58;//akizukidenshi.com/catalog/g/gI-11346/">JRCさんのNJM2750</a>が良さそうです。単電源で動く電子ロータリースイッチってイメージですね。<br />　NJM2750はアンバランスのLRを４系統から１つ選ぶって構成ですが、バランスのモノ４系統として使っても良さそう。<br />　今回はそこまで使わないけど、４系統のラインセレクタ基板を作っておけばいいかな？<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e9%9b%bb%e5%ad%90%e5%b7%a5%e4%bd%9c" class="taglink" title="電子工作">#電子工作</a> -- Posted by 電装工芸 〔612文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=625</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=625</guid>
	<category>tegalog</category>
	<pubDate>Fri, 02 Jun 2023 01:49:44 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　FIFOの動作チェックをしました。 ]]></title>
	<description><![CDATA[ 　FIFOの動作チェックをしました。<br />　バク無し・・・嬉しいような怖いような。<br />　FIFOはループメモリです。例えば10個のメモリを使うなら10個目を書いた後は１個目から書きます。これを続けます。読出しも同じ。<br />　ただ、読出しと書き込みはタイミングがシンクしませんので、読出しが書き込みを追い越さないこと、書き込みは一周以上先行しないことが重要です。これらの確認も出来ました。<br />　処理のタイミングとしては、読出しはLTCの送出に合わせてになりますが、書き込み(パソコンへのデータ要求とも言う)はメモリが空いたら行います。<br />　パソコンとの通信速度がLTCの送信速度より十分に速く、パソコン側のレスポンスも十分に早ければタイミングがズレることはありません。たぶん。<br />　読出しが書き込みに追いついてしまえばデータが無いことになりますので、新しいデータが入るまでLTCを送出しないだけです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔405文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=624</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=624</guid>
	<category>tegalog</category>
	<pubDate>Thu, 01 Jun 2023 19:59:47 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　気分転換にFIFOを書いてみました。初期設定を含めても50… ]]></title>
	<description><![CDATA[ 　気分転換にFIFOを書いてみました。初期設定を含めても50行くらいです。<br />　ループメモリを非同期で読み書きする構造ですから、それぞれのアドレスカウンタの扱いが肝です。当初悩んだものの、条件を整理すれば案外簡単でした。アルゴリズムの設計大事です。<br />　こういったモジュールは例外も想定して慎重に動作確認をしなければなりませんが、実機だと確認が難しいのでMPLABXのシュミレータの出番です。ステップ毎のレジスタの変化を観察したいのです。<br />　MPLABXのシュミレーターは使い方がイマイチわからんのですが、操作メニューが違うだけでやることはv8.92と同じでしょうから、先達の書き込みを参考に探ってみます。<br /><br />追記<br />　シュミレーターの使い方は次のサイトがわかりやすい。というか、この通りにやったらシュミレート出来ました。<br />　<a class="url" href="http&#58;//www.ops.dti.ne.jp/~yanaka/mplabx_sim.html" target="_blank" title="http&#58;//www.ops.dti.ne.jp/~yanaka/mplabx_sim.html">MPLAB X の使い方（Simulator編）</a><br />　MPLABv8.92とはデザインが違いますが、やっていることは同じなので慣れればいいかなと。PICの中身を知らないと何が何やらですけど・・・<br />　テスト用に少し書き換えればFIFOの挙動をチェック出来ます。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔494文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=623</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=623</guid>
	<category>tegalog</category>
	<pubDate>Thu, 01 Jun 2023 15:43:13 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　LTC Generator のPICのファームウェアを書い… ]]></title>
	<description><![CDATA[ 　LTC Generator のPICのファームウェアを書いています。<br />　今日の課題は「バイトデータ送出モジュール(補正機能付)」です。信号を出す要の部分でしょうか。<br />　30fps、29.97fps、25fps、24fpsに対応する予定ですが、それぞれに適したパルス波長を作る部位です。<br />　１時間単位の計測方法が無いので精度の確認は出来ませんが、オシロスコープで確認する限りは適切なパルス長です。<br />　データ送信も確認しました。0x00と0xFFを繰り返し送出するテストですが、ちゃんと差動バイフェーズの波形が出ています。そこそこ面倒なアルゴリズムですが一発で動いてしまい嬉しいやら寂しいやら。<br />　データに応じた波形が出せる状態になったのでファームウェアは一旦お休み。<br />　この後は、プリアンプの手直し、パソコンからFT232RL経由でデータを送るテストプログラムの作成と続きます。<br /><br />追記<br />　そういやFIFOモジュールを書いてない。<br />　これは先にやっておきましょう。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔446文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=621</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=621</guid>
	<category>tegalog</category>
	<pubDate>Wed, 31 May 2023 21:53:21 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　MPLABX-IDEv5.50、XC8_pic-as、PI… ]]></title>
	<description><![CDATA[ 　MPLABX-IDEv5.50、XC8_pic-as、PICkit3 の組み合わせでPICが動きました。<br />　今までは古い古いMPLABv8.92を主に使ってきましたが、MPLABXへの引っ越しが終わった感じです。出来るだけ新しいMPLABXを使わないと対応デバイスやら動作クロックの制限があって不便だったのです。<br />　PICに対して行う要点は同じですが、大事なところが微妙に違うのには難儀しました。特に、プログラムメモリアドレスの指定とコンフィゲエーションビットの設定という超重要項目の設定方法が全く違うのには泣かされました。先達の情報に感謝です。<br />　TMR1をコンペアモードで動かして所定の基底パルスが出ています。25fps向けの4,000Hzなので折り返しは250usec.です。オシロスコープにしっかりと波形が出ています。<br /><br />　基本的なところがクリア出来ましたので、試行錯誤で散らかったソースコードを掃除して次のステップです。<br /><br />追記<br />　音声信号に変換するプリアンプ回路が思った様になりません。<br />　アナログは苦手です。<br /><br />追記<br />　先達の情報にこんなんがありました。<br />　<a class="url" href="http&#58;//settembre21x.blogspot.com/2015/04/blog-post_27.html" target="_blank" title="http&#58;//settembre21x.blogspot.com/2015/04/blog-post_27.html">単電源でアンバランス-バランス変換 その２</a> <br />　単電源でオペアンプを使う際の注意点というか基本が読み取れる回路図です。自分は単電源での使い方を間違って覚えているかもしれません。<br />　試しにブレッドボードで組んでみましょう。<br />　つか、苦手な要素はテストしてから基板作れよっ・・<br /><br />追記<br />　上記のサイトの回路を参考に、プリアンプ回路の修正基板を描いてみました。オペアンプを搭載するDIP8ピンのパターンに被せる基板です。<br /><img class="embeddedimage" src="https&#58;//www.densokogei.jp/tegalog/images/20230531131752-admin.jpg" alt="20230531131752-admin.jpg"> <img class="embeddedimage" src="https&#58;//www.densokogei.jp/tegalog/images/20230531132020-admin.jpg" alt="20230531132020-admin.jpg"><br />　全てを作り直してもいいのですが、無駄になる物が多いので、すでに入荷済みの基板にはこの手で使おうかなと。聴くものじゃありませんので多少ノイズが出ても支障ありませんし。<br />　オーダーするのはブレッドボードでのチェックの後にしますケドね。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%b3%e3%83%bc%e3%83%89" class="taglink" title="タイムコード">#タイムコード</a> -- Posted by 電装工芸 〔827文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=619</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=619</guid>
	<category>tegalog</category>
	<pubDate>Tue, 30 May 2023 23:13:12 +0900</pubDate>
</item>

	<!-- END ENTRIES -->
</channel>
</rss>

