組み込みシステムおよびSOC(システムオンチップ)設計者は特定のものを選択します マイクロプロセッサコア 、ライブラリ、およびマイクロプロセッサベースのアプリケーションを開発するためのさまざまなツール。 ARMプロセッサは、組み込みシステムの設計者が入手できる最良の選択肢の1つです。過去数年で、ARMアーキテクチャは非常に人気があり、これらはさまざまなICメーカーから入手できます。 ARMプロセッサのアプリケーションには、携帯電話、自動車のブレーキシステムなどが含まれます。グローバルなARMコミュニティパートナーが半導体を開発し、製品設計企業にはエンジニア、設計者、開発者などの従業員が含まれています。この記事は、ARM7ベースのLPC2148マイクロコントローラ、アーキテクチャ、およびピン構成について説明しています。この記事は、マイクロコントローラーの基本を理解するのに役立ちます。
ARM7ベースのLPC2148マイクロコントローラー
ARMの完全な形式は、高度な縮小命令セットコンピュータです。 (RISC)マシン 、およびこれはARMホールディングスによって拡張された32ビットプロセッサアーキテクチャです。 ARMプロセッサのアプリケーションには、プロセッサだけでなくいくつかのマイクロコントローラが含まれます。 ARMプロセッサのアーキテクチャは、ARMプロセッサベースのSoC製品とCPUを設計するために多くの企業からライセンス供与されました。これにより、企業はARMアーキテクチャを使用して製品を製造できます。同様に、すべての主要な半導体企業は、Samsung、Atmel、TIなどのARMベースのSOCを作成します。
ARM7プロセッサとは何ですか?
ARM7プロセッサは、組み込みシステムアプリケーションで一般的に使用されています。また、それは古典的なものと新しい皮質のシーケンスの間のバランスです。このプロセッサは、NXPセミコンダクターズが提供する優れたドキュメントを使用して、インターネット上に存在するリソースを見つけるのに非常に役立ちます。見習いがハードウェアとソフトウェアの設計実装を詳細に取得するのに完全に適しています。
LPC2148マイクロコントローラー
LPC2148マイクロコントローラーは、フィリップス(NXPセミコンダクターズ)によって設計されており、いくつかの機能と周辺機器が組み込まれています。これらの理由により、アプリケーション開発者にとってより信頼性が高く、効率的なオプションになります。 LPC2148は、ARM7ファミリに基づく16ビットまたは32ビットのマイクロコントローラです。
LPC2148の特徴
LPC2148の主な機能は次のとおりです。
- LPC2148は、16ビットまたは32ビットのARM7ファミリベースのマイクロコントローラであり、小さなLQFP64パッケージで提供されます。
- オンチップブートローダーソフトウェアを使用するISP(システムプログラミング)またはIAP(アプリケーションプログラミング)。
- オンチップスタティックRAMは8kB〜40 kB、オンチップフラッシュメモリは32 kB〜512 kB、ワイドインターフェイスは128ビット、またはアクセラレータは60MHzの高速動作を可能にします。
- フルチップでデータを消去するのに400ミリ秒の時間がかかり、256バイトのプログラミングに1ミリ秒の時間がかかります。
- EmbeddedTraceインターフェイスとEmbeddedICE RTは、命令実行の高速トレースとオンチップRealMonitorソフトウェアを使用したリアルタイムデバッグを提供します。
- 2kBのエンドポイントRAMとUSB2.0フルスピードデバイスコントローラーを備えています。さらに、このマイクロコントローラーは、DMAを備えたUSBの近くに8kBのオンチップRAMを提供します。
- 1つまたは2つの10ビットADCは、2.44μs/チャネルという短い変換時間で6または14のアナログi / psを提供します。
- 10ビットDACのみが変更可能なアナログO / Pを提供します。
- 外部イベントカウンター/ 32ビットタイマー-2、PWMユニット、およびウォッチドッグ。
- 低電力RTC(リアルタイムクロック)および32kHzクロック入力。
- 2つの16C550UART、400 kbit / sの速度の2つのI2Cバスなどのいくつかのシリアルインターフェース。
- 小さなLQFP64パッケージの5ボルト耐性のクイック汎用入力/出力ピン。
- 外部割り込みピン-21。
- プログラム可能なオンチップフェーズロックループから分解時間によって得られる最大60MHzのCPUCLKクロックは100μsです。
- チップに組み込まれた発振器は、1 MHz〜25MHzの範囲の外部水晶で動作します
- 省電力のモードは、主にアイドルとパワーダウンで構成されます。
- 追加の電力最適化のために、周辺機能と周辺CLKスケーリングの個別の有効化または無効化があります。
記憶
LPC2148マイクロコントローラには、512kBのオンチップフラッシュメモリと32kBのオンチップSRAMが搭載されています。また、このマイクロコントローラーには、最大2kBのフィニッシュポイントUSBRAMの固有のサポートが含まれています。このメモリは、すべての マイクロコントローラアプリケーション。
オンチップフラッシュメモリシステム
このマイクロコントローラには512kBのフラッシュメモリシステムが含まれており、このメモリはデータストレージとコードの両方に役立つ可能性があります。このメモリのプログラミングは、次の方法で実行できます。
- JTAGインターフェースをシリアルに組み込むことにより
- UARTまたはISPの使用(システムプログラミング)
- IAPの機能(アプリケーションプログラミング)
IAP機能ベースのアプリケーションプログラムは、プログラムの実行中に削除される場合もあります。マイクロコントローラLPC2148オンチップブートローダーを使用する場合は常に、コンシューマコード用に500kBのフラッシュメモリを取得できます。このマイクロコントローラのフラッシュメモリは、最小量の100,000回の書き込み/消去サイクルと20年間のデータ保存を提供します。
オンチップSRAM
このマイクロコントローラーは、32 kBのスタティックRAMを提供し、データストレージやコードに非常に役立ちます。 8ビット、16ビット、および32ビットでアクセスできます。
入力/出力ポート
LPC2148マイクロコントローラには2つの入力/出力ポートがあり、これらはP0&P1と呼ばれます。すべてのポートピンにはPX.Yのブランドが付いています。ここで、「X」は0や1などのポート番号を示し、「Y」はピン番号0〜31を示します。すべてのピンは代替タスクを実行することもできます。たとえば、P0.8はUART1、AD1.1、PWM4のGPIOおよびTxピンとして提供します。 RST(RESET)では、すべてのピンがGPIOとして配置されます。
プログラミングを始める方法は?
lpc2148プログラミングに向けた最初のステップは、GPIOピンの配置です。だからここにも関連する概念があります レジスタとして 。 LPC2148の汎用I / Oポートピンには、P0.0〜P0.31およびP1.16〜P1.31が含まれ、実際には、これらのピンは代替機能の使用率に基づいて使用できます。
ポート0とポート1は32ビットの入出力ポートであり、これらのポートのすべてのビットを個別の方向で制御できます。ポート0とポート1の動作は、ピン接続ブロックを使用して選択されたピンの機能に依存します。ポート0では、P0.24、P0.26、P0.27などのピンは取得できませんが、ポート1では、ピン0〜15は取得できません。ここでは、ポート0とポート1のような両方のピンが、以下で説明する2つのレジスタグループによって制御されます。
LPC2148ピン構成
ARM7ベースのマイクロコントローラー(LPC2148)のピン構成
ピン1-(P0.21 / PWM5CAP1.3 / AD1.6)
- P0.21はGPIOピン(汎用I / Oピン)です。
- AD1.6は、LPC2144 / 46/48マイクロコントローラーでのみ入手できます。AD1.6はADC-1、i / p-6を示します。
- PWM5は、パルス幅変調器の出力5です。
- CAP1.3は、Timer-1、チャネル3のキャプチャi / pです。
ピン2-(P0.22 / CAP0.0 / AD1.7 / MAT0.0 2
- P0.22はGPIOデジタルピンです
- AD1.7ピンはLPC2144 / 46/48でのみ使用可能で、AD1.7はADC-1、入力7を示します。
- CAP0.0は、Timer-0、channel-0のキャプチャ入力ピンです。
- MAT0.0は、Timer-0、channel-0の一致o / pです。
ピン3-RTXC13
これはRTC発振器回路へのI / pです
ピン4-TRACEPKT3 / P1.19
- TRACEPKT3は、内部プルアップによるトレースパケット、ビット3、標準入出力ポートです。
- P1.19はGPIOデジタルピンです
ピン5-RTXC2
これはRTC発振回路からの出力ピンです
Pin6、Pin18、Pin25、Pin42、およびPin50
これらのピンはグランドリファレンスです
ピン7-VDDA
このピンはアナログ電圧電源(3.3V)であり、この電圧はオンチップに非常に役立ちます アナログ-デジタルコンバーター そしてデジタルからアナログへのコンバーター。
ピン8-P1.18 / TRACEPKT2
- P1.18はGPIOデジタルピンです
- TRACEPKT2は、内部プルアップによるトレースパケット、ビット2、標準入出力ポートです。
ピン9-P0.25 / AOUT / AD0.4
- P0.25はGPIOデジタルピンIです
- AD0.4はADC-0、入力4を示します
- Aout-DACの出力であり、LPC2142 / LPC2144 / LPC2146 / LPC2148でのみアクセス可能
ピン10-D +
このピンはUSB双方向D +ラインです
ピン11-D-
このピンはUSB双方向Dラインです
ピン12-P1.17 / TRACEPKT1
- P1.17はGPIOデジタルピンです
- TRACEPKT1は、内部プルアップによるトレースパケット、ビット1、標準入出力ポートです。
ピン13-P0.28 / CAP0.2 / AD0.1 / MAT0.2
- P0.28はGPIOデジタルピンです
- AD0.1はADC-0、入力1を示します
- CAP0.2は、Timer-0、channel-2のキャプチャi / pです。
- MAT0.2は、Timer-0、channel-2の一致o / pです。
ピン14-P0.2 / CAP0.3 / AD0.2 / MAT0.3
- P0.29はGPIOデジタルピンです
- AD0.2はADC-0、入力2を示します
- CAP0.3は、タイマー0、チャネル3のキャプチャi / pです。
- MAT0.3は、Timer-0、channel-3の一致o / pです。
ピン15-P0.30 / EINT3 / AD0.3 / CAP0.0
- P0.30はGPIOデジタルピンです
- AD0.3はADC-0、入力3を示します
- EINT3は外部割り込み3入力です。
- CAP0.3は、Timer-0、channel-0のキャプチャi / pです。
ピン16-P1.16 / TRACEPKT0
- P1.16はGPIOデジタルピンです
- TRACEPKT1は、内部プルアップによるトレースパケット、ビット0、標準入出力ポートです。
ピン17-P0.31 / UP_LED / CONNECT
- P0.31はGPIOデジタルピンです
- UP_LEDは、USBグッドリンクLEDインジケーターです。デバイスが配置されている場合はローになり、デバイスが配置されていない場合はハイになります。
- CONNECT-この信号は、ソフトウェア制御の制御下で外部抵抗(1.5kΩ)を制御するために使用され、SoftConnectの機能によって使用されます。
ピン19-P0.0 / PWM / TXD0
- P0.0はGPIOデジタルピンです
- TXD0は、UART0の送信機o / pです。
- PWM1はパルス幅変調器o / p-1です。
ピン20-P1.31 /トリエステ
- P1.31はGPIOデジタルピンです
- TRSTは、JTAGインターフェイスのテストリセットです。
ピン21-P0.1 / PWM3 / RXD0 / EINT0
- P0.1はGPIOデジタルピンです
- RXD0は、UART0のレシーバーi / pです。
- PWM3はパルス幅変調器o / p-3です。
- EINT0は外部割り込み0入力です
ピン22-P0.2 / CAP0.0 / SCL0
- P0.2はGPIOデジタルピンです
- SCL0はI2C0クロックI / O、およびオープンドレインO / Pです。
- CAP0.0は、Timer-0、channel-0のキャプチャi / pです。
ピン23、43、および51-VDD
これらのピンは、I / Oポートとコアの電源電圧です。
ピン24-P1.26 / RTCK
- P1.26はGPIOデジタルピンです
- RTCKは、返されるテストCLK o / pであり、JTAGポートに追加される追加信号です。プロセッサの周波数が変わると、デバッガの同期に役立ちます。
ピン26-P0.3 / SDA0 / MAT0.0 / EINT1
- P0.3はGPIOデジタルピンです
- SDA0は、I2Cバス監視用のI2C0データI / OおよびオープンドレインO / Pです。
- MAT0.0は、timer-0、channel-0のo / pと一致します。
- EINT1は外部割り込み1-i / pです。
ピン27-P0.4 / CAP0.1 / SCK0 / AD0.6
- P0.4はGPIOデジタルピンI / Oです
- SCK0は、マスター/ i / pからスレーブへのSPI0およびSPICLK o / pのシリアルCLKです。
- CAP0.1は、timer-0、channel-0のキャプチャi / pです。
- IAD0.6はADC-0、入力6を示します
ピン28-P1.25 / EXTIN0
- P1.25はGPIOデジタルピンI / Oです
- EXTIN0は外部トリガーi / pであり、内部プルアップを備えた標準入力/出力です。
ピン29-P0.5 / MAT0.1 / MISO0 / AD0.7
- P0.5はGPIOデジタルピンI / Oです
- MISO0は、SPI0のマスターインスレーブ出力であり、SPIスレーブからSPIマスター/データo / pへのデータi / pです。
- MAT0.1は、timer-0、channel-1の一致o / pです。
- AD0.7はADC-0、入力7を示します。
ピン30-P0.6 / MOSI0 / CAP0.2 / AD1.0
- P0.6はGPIOデジタルピンI / Oです
- MOSI0はSPI0のマスター出力スレーブ入力であり、SPIマスター/データi / pからSPIスレーブへのデータo / pです。
- CAP0.2は、Timer-0、channel-2のキャプチャi / pです。
ピン31-P0.7 / PWM2 / SSEL0 / EINT2
- P0.7はGPIOデジタルピンI / Oです
- SSEL0はSPI0のスレーブ選択であり、SPIインターフェイスをスレーブとして選択します。
- PWM2は、パルス幅変調器の出力2です。
- EINT2は外部割り込み2入力です。
ピン32-P1.24 / TRACECLK
- P1.24はGPIOデジタルピンI / Oです。
- TRACECLKは、トレースCLKであり、内部プルアップを備えた標準入力/出力ポートです。
ピン33-P0.8 / TXD1 / PWM4 / AD1.1
- P0.8はGPIOデジタルピンI / Oです
- TXD1はUART1の送信機o / pです。
- PWM4はパルス幅変調器o / p-4です。
- AD1.1はADC-1、input-1を示し、LPC2144 / 46/48でのみ取得できます。
ピン34-P0.9 / PWM6 / RXD1 / EINT3
- P0.9はGPIOデジタルピンI / Oです
- RXD1は、UART1のレシーバーi / pです。
- PWM6はパルス幅変調器o / p-6です。
- EINT3は外部割り込み3入力です
ピン35-P0.10 / RTS1 / CAP1.0 / AD1.2
- P0.10はGPIOデジタルピンI / Oです
- RTS1は、UART1およびLPC2144 / 46/48のo / pの送信を要求しています。
- CAP1.0は、timer-1、channel-0のキャプチャi / pです。
- AD1.2はADC-1、入力2を示し、LPC2144 / 46/48でのみ取得可能です。
ピン36-P1.23 / PIPESTAT2
- P1.23はGPIOデジタルピンI / Oです
- PIPESTAT2は、パイプラインステータス、ビット2、および内部プルアップを備えた標準入出力ポートです。
ピン37-P0.11 / CAP1.1 / CTS1 / SCL1
- P0.11はGPIOデジタルピンI / Oです
- CTS1はUART1のi / pを送信することは明らかであり、これらはLPC2144 / 46/48でのみアクセス可能です。
- CAP1.1は、timer-1、channel-1のキャプチャi / pです。
- SCL1 — I2C1 CLK I / O、およびI2Cバスの遵守のためのオープンドレインO / P
ピン38-P0.12 / MAT1.0 / AD1.3 / DSR1
- P0.12はGPIOデジタルピンI / Oです
- DSR1はUART1用のデータセット対応i / pであり、これらはLPC2144 / 46/48でのみアクセス可能です。
- MAT1.0は、timer-1、channel-0の一致o / pです。
- AD1.3はADC入力-3を示し、LPC2144 / 46/48でのみアクセス可能です。
ピン39-P0.13 / DTR1 / MAT1.1 / AD1.4
- P0.13はGPIOデジタルピンI / Oです
- DTR1は、UART1およびLPC2144 / 46/48専用のデータターミナルレディo / pです。
- MAT1.1は、timer-1、channel-1の一致o / pです。
- AD1.4はADC入力-4を示し、これらはLPC2144 / 46/48でのみアクセス可能です。
ピン40-P1.22 / PIPESTAT1
- P1.22はGPIOデジタルピンI / Oです
- PIPESTAT1は、パイプラインステータス、ビット1、および内部プルアップを備えた標準入出力ポートです。
ピン41-P0.14 / DCD1 / EINT1 / SDA1
- P0.14はGPIOデジタルピンI / Oです
- DCD1は、UART1のデータキャリア検出i / pであり、LPC2144 / 46/48のみです。
- EINT1は外部割り込み1入力です。
- SDA1は、I2C1データI / Oであり、I2Cバス監視用のオープンドレインO / Pです。
ピン44:P1.21 / PIPESTAT0 44
- I / OP1.21はGPIOデジタルピンI / O
- PIPESTAT0は、パイプラインステータス、ビット0、および内部プルアップによる標準入力/出力ポートです。
ピン45:P0.15 / EINT2 / RI1 / AD1.5 45
- I / OP0.15はGPIOデジタルピンI / O
- RI1はUART1のリングポインタi / pであり、LPC2144 / 46/48でのみアクセスできます。
- EINT2は外部割り込み2入力です。
- AD1.5はADC1、入力5を示し、LPC2144 / 46/48でのみ使用可能
ピン46:P0.16 / MAT0.2 / EINT0 / CAP0.2
- P0.16はGPIOデジタルピンI / Oです
- EINT0は外部interrupt0-入力です。
- MAT0.2は、Timer-0、チャネル-2の一致o / pです。
- CAP0.2は、Timer-0、channel-2のキャプチャi / pです。
ピン47:P0.17 / SCK1 / CAP1.2 / MAT1.2 47
- P0.17はGPIOデジタルピンI / Oです
- CAP1.2は、タイマー1、チャネル2のキャプチャi / pです。
- SCK1は、マスターからスレーブへのSSPおよびCLK o / pのシリアルCLKです。
- MAT1.2は、Timer-1、channel-2の一致o / pです。
ピン48:P1.20 / TRACESYNC
- P1.20はGPIOデジタルピンI / Oです
- TRACESYNCはトレース同期です。
ピン49:VBAT
RTC電源:このピンはRTCに電源を供給します。
ピン52:P1.30 / TMS
P1.30はGPIOデジタルピンI / Oです
TMSは、JTAGのインターフェイス用に選択されたテストモードです。
ピン53:P0.18 / CAP1.3 / MISO1 / MAT1.3
- P0.18はGPIOデジタルピンI / Oです
- CAP1.3は、タイマー1、チャネル3のキャプチャi / pです。
- MISO1は、SSPのマスターインスレーブアウトであり、SPIマスターへのデータi / pです。
ピン54:P0.19 / MOSI1 / MAT1.2 / CAP1.2
- P0.19はGPIOデジタルピンI / Oです。
- MAT1.2は、タイマー1、チャネル2の一致o / pを示します。
- MOSI1は、SSPマスターのマスターアウトスレーブです。
- CAP1.2は、タイマー1、チャネル2のキャプチャi / pです。
ピン55:P0.20 / SSEL1 / MAT1.3 / EINT3
- P0.20はGPIOデジタルピンI / Oです。
- MAT1.3は、タイマー1、チャネル3の一致o / pです。I
- SSEL1は、SSP用に設計されたスレーブセレクトです。ここでは、SSPのインターフェースをスレーブとして選択します。
- EINT3は外部割り込み3入力です。
ピン56:P1.29 / TCK
- P1.29はGPIOデジタルピンI / Oです
- TCKは、JTAGのインターフェイスのテストCLKです。
ピン57:外部リセット入力
デバイスは、このピンのLOWによって再配置でき、入力/出力ポートと周辺機器に影響を与えてデフォルトの状態で取得し、プロセッサの実行はアドレス0から始まります。
ピン58:P0.23 / VBUS
- P0.23はGPIOデジタルピンI / Oです
- VBUSはUSBバス電源の存在を指定します
ピン59:VSSA
“ショットキーバリアとは ”
VSSAはアナロググランドであり、これはVSSと同様の電圧である必要がありますが、エラーとノイズを減らすために分離する必要があります
ピン60:P1.28 / TDI 60
- P1.28はGPIOデジタルピンI / Oです
- TDIピンは、JTAGとのインターフェースに使用されるテストデータです。
ピン61:XTAL2
XTAL2はオシレータアンプからのo / pです
ピン62:XTAL1
XTAL1は、内部CLKジェネレータおよび発振回路へのi / pです。
Pin63:VREF-ADCリファレンス
このピンは、ノイズだけでなくエラーを減らすために分離する必要がありますが、公称電圧VDD以下である必要があります。
Pin64:P1.27 / TDO 64
- P1.27はGPIOデジタルピンI / Oです
- TDOは、JTAGとのインターフェースに使用されるテストデータです。
したがって、これはARM7ベースのLPC2148マイクロコントローラのピン構成に関するものです。電子工学の学生の場合、この情報は、ピン構成、I / Oポートのメモリ、およびレジスタに関する基本的な知識を提供します。ここにあなたへの質問があります、LPC2148マイクロコントローラーのアプリケーションは何ですか?