タグ付けされた質問 「pic」

PICは、マイクロチップ社が製造した8、16、32ビットRISCマイクロコントローラーのブランドです。「PIC」は、もともとは「Peripheral Interface Controller」の頭字語でした。

4
マイクロコントローラの異なるポートの個々のピンをレジスタにマッピングし、レジスタ値を変更するときにそれらの値を変更できますか?
Q:マイクロコントローラーの異なるポートの個々のピンをレジスタにマッピングし、レジスタ値を変更するときにそれらの値を変更できますか? シナリオ:マイクロコントローラーの各ポート(8ビット)からいくつかのピンを使い果たしました。次に、8ビットバスを必要とするデバイス(D0〜D7 IN SEQUENCEを想定)をインターフェイスさせます。つまり、1対1で接続できるように、コントローラーから8ピンが必要です。 portx0 -> D0 // x is the name of port followed by bit location on that port portx1 -> D1 ... portx7 -> D7 しかし、このデバイスと接続できる8ピンのポート全体ではなく、portxのピン、portyのピン、portzのピンがあります。新しい接続シナリオは次のとおりです(それぞれマイクロコントローラーからデバイスへの接続)。 portx0 -> D0 portx1 -> D1 portx2 -> D2 porty4 -> D3 porty5 -> D4 porty6 -> D5 porty7 -> D6 …

10
趣味にやさしいマイクロコントローラーでRAMから命令を実行する
私のプロジェクトの1つは、マイクロコントローラーに保存されていない(代わりにSDカードに保存されている)プログラムを実行できることから大きな恩恵を受けます。 そのため、SDカードからRAMにコードをロードし、RAMからコードを実行できるデバイスを探しています。現在、私はPicKit2に付属しているプログラマーしかいないので、PICを使い続けたいと思っています。 誰がこれを行うことができるかを知っていますか?これに対応できるPICがない場合、これに対応するマイクロコントローラーは何ですか?できればブレッドボード互換パッケージで利用できるもの。

5
FPGAはそのようなプロジェクトに実行可能ですか?
私は現在、画面表示プロジェクトであるSuper OSDに取り組んでいます。http://code.google.com/p/super-osdにすべての詳細があります。 現在、私はdsPIC MCUを使用して仕事をしています。これは非常に強力なDSP(40 MIPS @ 80 MHz、3レジスタシングルサイクル操作およびMACユニット)であり、重要なことには、DIPパッケージで提供されます(ブレッドボードを使用してプロトタイプを作成しているため)。 OSDを実行することにより、パフォーマンスの最後のすべてのビットが本当に得られます-チップの出力ステージでピクセルあたり約200nsまたは10サイクルあるため、この部分でコードを非常に最適化する必要があります(このため、常に書き込まれますアセンブリ。) このようなチップの並列アーキテクチャにより、OSDを実行する単純なロジックプログラムを使用できるため、FPGAの使用を検討していました。線の描画やアルゴリズムコードのようなものはMCUで処理されますが、実際の出力はFPGAで行われます。そして、速度を向上させるために、FPGAに統合したいピクセルの設定や水平線と垂直線の描画などの簡単なこともあります。 いくつか質問があります: 大幅に費用がかかりますか?私が見つけた最も安いFPGAはそれぞれ£5で、dsPICはそれぞれ£3です。それでもっと費用がかかりますが、いくらですか? dsPICはSO28パッケージに収まります。SO28やTQFP44よりも大きくなりたくありません。私が見たほとんどのFPGAは、BGAまたはTQFP> 100パッケージで提供されていますが、せん断サイズと自分ではんだ付けするのが難しいため、現時点ではオプションではありません。 FPGAはどのくらいの電流を使用しますか?dsPICソリューションは現在約55mA +/- 10mAを消費しますが、現時点では問題ありません。FPGAは多かれ少なかれ消費しますか?それは可変ですか、それともdsPICのようにほとんど静的ですか? OSDグラフィックを保存するには、少なくとも12KBのグラフィックメモリが必要です。FPGAはチップ上でこの種のメモリを利用できますか、それとも外部チップでのみ利用可能ですか?

3
PICチップに組み込みのシリアル番号はありますか?
私は数十のPIC16チップを持っています。識別のために、チップから何らかの固有のシリアル番号を取得したいと思います。私はそれが手動でできることを知っています。しかし、それは退屈です。 質問: PICにはシリアル番号が組み込まれていますか? 答えが「いいえ」の場合、Microchipにチップを注文するときに、一意のシリアル番号が付いたコードを各チップにアップロードする簡単な方法はありますか?
12 pic  microchip 

5
寿命の長い回路の設計
私はpicマイクロコントローラーについて一定期間学び、デジタル電子機器の取り扱いについてかなりの知識を持っています。私は基本的な電子プロジェクトに取り組んできましたが、今ではいくつかの商用アプリケーションに取り組む必要があります。 私の質問は、信頼性が高く長持ちする回路を設計および構築する方法についてです。LDRから入力を取得し、7セグメントパネルにアナログ読み取り値を表示する自動照明コントローラー回路を構築しました。次に、いくつかの計算を行い、リレーを介してライトを制御します。この回路は常時オンにする必要があります(24時間)。最初の数ヶ月間、回路は完全に機能しましたが、約6か月後には誤動作し始めました。7セグメントディスプレイに無意味なものを表示し(数字の一部のみを表示)、インジケータLEDの電球を点灯しますが、リレーはオンになりません。これは予想された動作ではありません。問題は、常にそのように機能するとは限らないということです。時にはそれは完全に動作します。その後、再び誤動作を開始します。正確な順序はありません。 さて、私の質問は、これらの回路がこのように動作する理由です。これは、間隔を空けずに終日機能するためだと思います。この種のアプリケーションは、終日機能する必要があります。PICのみを知っているので、PICを使用します。picよりもatmalの方が信頼性がありますか?(写真が使用されるよりも頻繁にatmalがほとんどのオートメーションアプリケーションで使用されるため、私は尋ねました)デジタルエレクトロニクスの専門家からいくつかのアドバイスが必要です。この種の産業用アプリケーションはどのように構築されますか?従うべき特別なルールはありますか?より信頼性の高い回路を設計する方法は?専門家からのアドバイスやガイダンスは大歓迎です。ありがとうございました... 編集 回答で示唆されているように、デザインのバグを把握するのに役立つ追加のリソースを提供して、回答を編集します。 以下は、構築後の回路の様子を説明する画像です。回路に電力を供給する12Vのセンタータップトランスで、半波整流器を使用して整流し、次に7805 ICを使用して調整します。 以下は回路図設計です。 追加情報が必要な場合は、必要なものをすべて提供します。プログラムが必要な場合は追加します。プログラムはやや長く、割り込みを使用します。

3
20V信号を3v3マイクロコントローラーとインターフェースするためのこの回路はどのようになっていますか
12〜20Vの信号を3.3ボルトで動作するマイクロコントローラに接続する次の回路を設計しました。信号は20Vまたは開回路です。 回路の弾力性を可能な限り高めたい。EMIおよびESDを処理できる必要があります。 R1は、電流を制限し、トランジスタにバイアスをかけるためのものです。 C1はローパスフィルターを実装することです。 R2は、トランジスタのベースをプルダウンし、コンデンサC1を放電するために使用されます。20V入力は20Vまたは開回路です。 D1は、ベースの負電圧からトランジスタを保護するために使用されます。 R3は、マイクロコントローラピンをプルアップすることです。 この回路に関するコメントや改善は歓迎します。 副次的な質問:このトランジスタが許容できる最大の正電圧は?データシートには、ピークベース電流が100mAと記載されています。ベースが0.7ボルトに維持されている場合、入力は1000ボルト(10kオーム* 100mA)になります。ただし、入力が1000ボルトの場合、分圧器は電圧を500ボルトのベースにします。データシートによると最大Vcbは60ボルトです。

1
dsPIC33とPIC32
元々、PIC32の利点は、LinuxベースのRTOSなど、より高度なRTOSを処理できることだと考えていました。残念ながら、メモリ管理ユニット(MMU)と十分なRAMがありません。 だから今、私はあなたがいつdsPIC33よりもPIC32を選ぶのか理解しようとしていますか?、32ビットプロセッサが必要な場合は別として dsPICはより有望なようです。DSPエンジンを搭載し、pic32の2倍以上(最大14)のPWMを使用する機能があり、直交エンコーダーを搭載できます。 どちらのアーキテクチャにも、DMA、DAC、デジタル通信(I2C、SPI、UART)、およびリアルタイムクロックとカレンダーが付属しています。
11 pic  microchip 


6
PIC16マルチタスクRTOSカーネルが機能しない理由は何ですか?
PIC x16マイクロコントローラー用のセミプリエンプティブ(協調)RTOSを作成しようとしています。私には、前の質問、私は、ハードウェアスタックポインタにアクセスすると、これらのコアは不可能であることを学びました。私はPIClist でこのページを見てきましたが、これはCを使用して実装しようとしているものです。 私のコンパイラはMicrochip XC8で、現在、構成ビットで4MHzの内部RC発振器が選択されたPIC16F616で作業しています。 コンパイラのヘッダーファイルを確認しながら、CでPCLATHおよびPCLレジスタにアクセスできることを学びました。そこで、簡単なタスクスイッチャーを実装してみました。 カーソルが最初の行(TRISA=0;)ではなく別の行(などANSEL=0;)にあるときに、再起動後にデバッガを一時停止してリセットし、カーソルにPCを設定すると、デバッガで必要に応じて機能します。デバッガーの最初の起動時に、これらのメッセージがに表示されますDebugger Console。 Launching Programming target User program running No source code lines were found at current PC 0x204 編集:私はそれがうまくいった理由はわかりませんが、デバッガは完全に動作するようになりました。したがって、上記の出力と段落は省略してください。 編集:このようにメイン定義を変更すると、以下のコードが機能します。これはプログラムアドレスでメイン機能を開始します0x0099。何が原因なのかわかりません。これは実際の解決策ではありません。コンパイラ固有のエラーがあると思います。 void main(void) @ 0x0099 { これが私のCコードです: /* * File: main.c * Author: abdullah * * Created on 10 Haziran 2012 Pazar, 14:43 */ #include …

2
このRAMのピン順序は重要ですか?
pic32チップを128kB SRAMにルーティングしようとしていますチップと17本のアドレスラインと8本のデータラインすべてを接続するのに少し苦労しました。最初の16個のアドレスピンをポートBのピン0〜15に、データピンをポートDの0〜7に接続しようとしています。しばらく考えてみたところ、rb0をa0に、rb1をa1に合わせようとすると、自分の人生をより困難にしていることに気づきました。本当にできることは、16ビット値をportBに書き込むことだけです。そして、アドレスの大部分がロードされ、準備されています。配線のしやすさに基づいてピン割り当てを行うと、論理アドレスはmcuとramで異なりますが、少なくとも一貫している必要があります。他にRAMと通信する必要がないので、mcuがアドレス0x101を要求し、RAMがアドレス0x110を与える場合、それは問題にならないと思います。 でも、いいアイデアかなぁ。順次読み取りをより効率的にするために設計されたRAMの内部に何らかの構造がある場合、またはそのようなものであれば、それらを1:1でルーティングする問題に行きたいと思うかもしれません。両方のチップのピン配置はいくぶんランダムであるので、特定の数字を無視できれば私にはずっと楽になります。私がそれをしなければならない、またはすべきでない理由はありますか?
11 pic  routing  sram 

6
PICがリセットし続ける:ブレッドボードの使用による副作用はありますか?
PIC18F4680を使用していますが、40 MHzの外部クロックソースまたはHSPLLモードの10 MHzクリスタルからの実行に問題があります。HSモードで10 MHzクリスタルを使用しても問題ないようで、HSPLLモードで5 MHzクリスタルも問題なく動作します。 何が起こるかは、PICが起動して数秒間動作し、その後しばらくシャットダウンしてから再び起動することです。サイクルの合計期間は約5秒で、PICの動作は2秒の早い段階で動作を停止します。 また、ブレッドボードの電源バスに十分に大きな放電コンデンサを追加すると、PICが正常に動作することもあります。興味深い点は、これは、PICが既に実行されているときにコンデンサを追加した場合にのみ発生することです。そこにコンデンサを付けてブレッドボードに電力を供給したり、完全に放電されていないコンデンサを配置したりすると、問題が残ります。 私はいくつかのサイトで、より高い周波数と最も低い動作電圧でのPICの消費電力の増加により、私のような問題が発生する可能性があることを読みました。これらの場合、電源でいくつかの短い電圧降下がある場合、それらはその周波数でPICの最低動作電圧に到達する可能性が高いので、その問題を解決するためにブレッドボードにコンデンサを追加することをお勧めします。40 MHzで全負荷の下で以来、64ミリアンペアの周りの回路全体の用途は、私の最初のアイデアはいくつか入れていた彼らは十分に大きいことや、問題を解決するために十分に低いESRを持っているだろうと期待してタンタルコンデンサを。1つは役に立たず、2つ目も役に立たなかった。だから私は、追加100 μ F10 μF10 μF10 \mbox{ } \mu F 100 μF100 μF100 \mbox{ } \mu Fアルミコンデンサとそれも助けにはならなかった。それから私は、追加影響なしにアルミ電解コンデンサを。最後に、1 mFのアルミ電解コンデンサを追加し、電源をオフにしてからオンにするまで、回路が初めて正常に動作しました。また、テストの目的で、このマイクロコントローラーの最大定格電圧である5.5 VのVccを使用していることにも注意してください。これにより、40 MHzで最低の動作電圧である4.2 Vまでの余裕ができるはずです。470 μF470 μF 470 \mbox{ } \mu F 10 kΩ10 kΩ10 \mbox{ }k \Omega10 MΩ10 MΩ10 \mbox{ }M \Omega PICの発振器出力から発振器入力までの配線が長いため、問題が発生することが予想されましたが、PICの発振器ピンに非常に近い10 MHzクリスタルでは問題は発生しませんでした。また、水晶の場合、ブレッドボードによる発振器信号の歪みが問題であった場合、HSモードでも問題が発生すると予想しますが、HSモードでは、PICは正常に動作します。 通常、クリスタルには33 pFのコンデンサを使用しますが、15 …


1
PIC18F4550 Cコンパイラはオープンソースでクロスプラットフォームですか?
私は長い間AVRユーザーです。AVR-GCCが私が使用する2つの主要なOS(Mac OS XとLinux)で動作し、オープンソースであり、Atmelでサポートされていることが本当に気に入っています。PIC18F4550クラスのチップのようなかなり良いPICが世の中にあるので、私はPICプログラミング(90年代に使用)に戻りたいと思います。 残念ながら、PIC18のほとんどすべてのコンパイラは、Windows専用で有料のようです。そしてほとんどの場合、私には必要のないIDEがあります。私はコマンドラインコンパイラとMakefileを好むので、コードがどのように構築されるかを1つのファイルで一目で確認できます。(そしてダイアログボックスの曲がりくねった迷路を通り抜けないでください) 私は周りに突きSDCCが、PIC18F4550のサポートを持っており、それがなかったとしても、それがそのPIC18をサポートように聞こえるネットメイクのgrumblingsが弱い、または最高の状態で非常に使用に混乱して表示されません。 それでは、PIC18F4550をサポートするクロスプラットフォームのコマンドラインCコンパイラは何でしょうか。 それができない場合、PIC18F4550に最適なCコンパイラは何ですか?Makefileでどのように使用しますか?
11 pic  c  compiler 

1
I2Cのスルーレートとは何ですか?
ドキュメントのセクション2.4で説明されているように、C18コンパイラの組み込み関数を使用して、PIC18でI 2 Cを構成しています。 void OpenI2C2( unsigned char sync_mode, unsigned char slew ); どうすればよいかわかりませんslew。で定義されている2つのオプションから選択できますi2c.h。 SLEW_OFF:100 kHzモードではスルーレートが無効 SLEW_ON:スルーレートは400 kHzモードで有効 257ページのレジスタ15-1 のデータシートでは、2つのオプションについてもう少し詳しく説明しています。 1 =標準速度モード(100 kHzおよび1 MHz)のスルーレート制御が無効 0 =高速モード(400 kHz)のスルーレート制御が有効 私にはわかりませんが、いくつか質問があります。 スルーレートとは何ですか? 私にとって、2つのオプションは意味がありません-400kHzのスルーレートを無効にし、100kHzで有効にしたい場合はどうなりますか?どうしてこれなの? いつSLEW_OFF、いつを選択すればよいSLEW_ONですか?
10 pic  c  i2c  software  c18 

5
ArduinoまたはPICマイクロコントローラー?
私は監視移動ロボットを作ることを考えていました。PICまたはArduinoマイクロコントローラーの選択に問題があります。監視移動ロボットは、ワイヤレスフィデリティ(Wi-Fi)を介して制御されます。PICを選択した場合、イーサネットモジュールは必要ですか? Arduinoボードがインターネットに接続するために必要であると私は検索しました。私はPICについて少し経験がありますが、Arduinoは初心者に適していると言う人もいます。プロジェクトにArduinoとPICのどちらを使用するのが良いですか?それともArduinoとPICの両方で行うべきですか?また、ロボットのコントローラーとしてAndroidフォンを使用することも考えています。 私は何をすべきか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.