MSP430F149 - USB

提供: MochiuWiki : SUSE, EC, PCB

2025年12月19日 (金) 23:02時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <br><br> == 使用可能なUSBコントローラ == MSP430F149はUSBコントローラを内蔵していないため、USB通信を実装するにはPDIUSBD12等の外付けのUSBコントローラチップが必要となる。<br> # MSP430マイコンとPDIUSBD12 (USBコントローラIC) はパラレルバス接続 (8ビットデータバス + 制御信号) [MSP430F149] <--> [PDIUSBD12] <--> [USBコネクタ] <br> ただし、PDIUSBD12は現在…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

概要



使用可能なUSBコントローラ

MSP430F149はUSBコントローラを内蔵していないため、USB通信を実装するにはPDIUSBD12等の外付けのUSBコントローラチップが必要となる。

# MSP430マイコンとPDIUSBD12 (USBコントローラIC) はパラレルバス接続 (8ビットデータバス + 制御信号)

[MSP430F149] <--> [PDIUSBD12] <--> [USBコネクタ]


ただし、PDIUSBD12は現在入手が難しくなってきており、新規設計では推奨されない。
そのため、USBコントローラ機能が内蔵されているMSP430F5xxxシリーズやMSP432シリーズに移行、あるいは、USB-UARTブリッジIC (FT232RL等) を使用する。

特に、USB-UARTブリッジICを使用する方法は実装が容易であり、MSP430F149のUART機能 (USART0 / USART1) を利用できる。
また、USB-UARTブリッジICでは、ホスト側のドライバも広くサポートされている。

入手可能な主なUSBコントローラチップを以下に示す。

Microchip

  • MCP2200
    USB-UARTコントローラ
  • MCP2221/A
    USB-UART/I2Cコントローラ
  • USB2512B / USB2513B
    USBハブコントローラ


FTDI

  • FT232RL / FT232H
    USB-UARTコントローラ (産業標準的な製品)
  • FT2232H
    デュアルUSB-UART/FIFO
  • FT4232H
    クワッドUSB-UART/FIFO


WCH

  • CH340
    低コストのUSB-UARTコントローラ
  • CH375
    汎用USBインターフェースコントローラ


Silicon Labs

  • CP2102N
    USB-UARTブリッジ
  • CP2130
    USB-SPIブリッジ


※注意

  • インターフェース要件
    UART接続が必要な場合は、FT232RLやCP2102Nがよく使用されている。MSP430F149はUSART0 / USART1を搭載しているため、容易に接続可能である。
    SPI / I2C接続が必要な場合は、MCP2221AやCP2130が適切である。MSP430F149はUSART1をSPIモードで使用できる。

  • 価格帯
    CH340は低コスト
    FTDI、Microchipの製品は信頼性重視の中価格帯

  • 入手性
    FTDI、Microchip、WCHの製品は世界的に流通が安定

  • 開発サポート
  • FTDI、Microchipの製品は豊富な開発ツールとドキュメントが利用可能であり、サポート体制が充実している。



MSP430F149の特徴

MSP430F149は、Texas Instrumentsの16ビットRISCマイコンで、以下に示す特徴を持つ。

  • 60[KB] Flash ROM
  • 2[KB] RAM
  • 最大8[MHz]動作 (外部クロック使用時)
  • USART0 / USART1 (UART、SPI、I2C対応)
  • 12ビットADC
  • タイマA/B
  • 48ピン (LQFP、DIP)
  • 低消費電力設計


※注意
MSP430F149は古い世代のマイコンであるため、新規設計ではMSP430F5xxxシリーズやMSP432シリーズへの移行を推奨する。


USBコントローラIC

PDIUSBD12

PDIUSBD12は、フィリップス社 (現NXPセミコンダクターズ) が開発したUSBペリフェラルコントローラICである。

このICは、特に、マイコンベースのシステムにUSB機能を追加する時のインターフェースコントローラとして使用されてきた。
ただし、このICは古い世代の製品であり、現在は新しい設計には一般的にUSB機能を内蔵したマイコンを使用することが多い。

  • USB 1.1規格に準拠しており、フルスピード (12[Mbps]) をサポートしている。
  • 8ビットパラレルインターフェースを介してマイコンと接続可能。
  • 内蔵のUSBトランシーバ
  • エンドポイント・バッファメモリを搭載 (Main Endpoint、Endpoint 1、Endpoint 2)
  • 低消費電力設計
  • サスペンド/レジューム機能


PDIUSBD12とMSP430F149の接続

PDIUSBD12とMSP430F149は、8ビットパラレルバスで接続する。

接続ピン

  • D0-D7:
  • データバス (MSP430F149のP1.0〜P1.7 または P2.0〜P2.7)
  • A0
    アドレス選択 (MSP430F149の任意のGPIO 例: P3.0)
  • RD#
    リード信号 (MSP430F149の任意のGPIO 例: P3.1)
  • WR#
    ライト信号 (MSP430F149の任意のGPIO 例: P3.2)
  • CS#
    チップセレクト (MSP430F149の任意のGPIO 例: P3.3)
  • INT_N
    割り込み信号 (MSP430F149のP1.2等の割り込み対応ピン)



PDIUSBD12のレジスタとコマンド

PDIUSBD12は、コマンドベースのインターフェースを持つ。

主要なコマンドを以下に示す。

  • 0x00 : Set Address / Enable
  • 0x01 : Endpoint Enable
  • 0x02 : Set Mode
  • 0x03 : Set DMA
  • 0x0A : Read Interrupt Register
  • 0x0F : Read Last Transaction Status
  • 0x40 : Select Endpoint (Main Endpoint)
  • 0x41: Select Endpoint (Endpoint 1)
  • 0x42 : Select Endpoint (Endpoint 2)
  • 0xF0 : Read Buffer
  • 0xF1 : Write Buffer


読み出し / 書き込み手順を以下に示す。

  1. コマンドを送信
    A0=0、データバスにコマンドコード、WR#をパルス
  2. データを読み書き
    A0=1、RD#またはWR#をパルス



USBコントローラ搭載のMSP430マイコン

TIのMSP430シリーズには、USB機能を内蔵したマイコンがいくつか存在する。

MSP430F5xxxシリーズ

  • MSP430F5527 / MSP430F5528 / MSP430F5529
    USB 2.0フルスピード (12[Mbps]) 対応
    USBブートローダ機能搭載
    内蔵LDO (USB用の3.3[V]電源回路)
    豊富なペリフェラル (ADC、タイマ、UART等)
    128[KB] フラッシュROM
    8〜10[KB] RAM



VBUSラインの電源フィルタ

USBコネクタにおいて、VBUS端子にLCフィルタ等の電源フィルタを構成する場合がある。
これは、入力電源のリップル除去、負荷変動による電圧変動の抑制、デカップリング (高周波ノイズの除去) が目的である。


  • USB 1.1 / 2.0の場合
    フルスピード (12[Mbps])、ハイスピード (480[Mbps]) では比較的低周波であり、電源ノイズの影響が比較的少ないため、数10[uH]程度。
    一般的に47[uH]〜100[uH]のインダクタと、100[uF]程度のコンデンサを使用する。
  • USB 3.x
    電源の応答性確保および大きな電流 (900[mA]以上) に対応する必要があり、高速信号 (5[Gbps]以上) のため、より小さい値 (数十〜数百[nH]) を選択する。
    インダクタの自己共振周波数 (SRF) にも注意が必要となる。


インダクタ選定の注意

  • シールドインダクタまたはフェライトコアを使用したインダクタを選定する。
  • 定格電流は使用する電流の1.5倍以上を確保する。
  • EMI規制への適合
  • 寄生容量による影響