LoginSignup
0
0

More than 5 years have passed since last update.

CP2114のライブラリの使い方

Last updated at Posted at 2018-06-19

CP2114はSilicon Labs社のUSB I2Sブリッジチップです。このチップのMac用SDKのCP211x_InterfaceLibraryというフォルダーにライブラリ(dylib)とヘッダーが入っています。このディレクトリで以下のコードで動作確認できました。

Mac OS Xの雪豹で試しましたが、10.5以降のHIDインターフェース使っているようなので、10.5でも使えるようです。dylibにはppc7400(G4)なバイナリも入っています。

main.c
#include "Types.h"
#include "SLABHIDtoUART.h"
#include "CP2114_Common.h"
#include "SLABCP2114.h"

main()
{
HID_UART_DEVICE dev;
BYTE api, fw;
BYTE ramconf[32];       // for B1 revsion
HID_UART_STATUS stat;
        stat = HidUart_Open(&dev,0,0x10c4,0xeab0);
        if (stat == HID_UART_SUCCESS) {
                CP2114_GetVersions(dev, &api, &fw);
                printf("MORI MORI %d %d¥n", api, fw);
                CP2114_GetRamConfig(dev, (PCP2114_RAM_CONFIG_STRUCT)&ramconf);
                printf("MORI MORI %02x %02x %02x %02x¥n",
                    ramconf[0], ramconf[1], ramconf[2], ramconf[3]);
                ramconf[3] = 0;
                CP2114_SetRamConfig(dev, (PCP2114_RAM_CONFIG_STRUCT)&ramconf);
                CP2114_GetRamConfig(dev, (PCP2114_RAM_CONFIG_STRUCT)&ramconf);
                printf("MORI MORI %02x %02x %02x %02x¥n",
                    ramconf[0], ramconf[1], ramconf[2], ramconf[3]);
                HidUart_Close(dev);
        }
}
bash-3.2$ cc -o main main.c -lSLABHIDtoUART -L.
bash-3.2$ ./main
MORI MORI 5 7
MORI MORI 20 00 01 ff
MORI MORI 20 00 01 00

関数の説明はAN433にあります。

RAM Configurationでコンフィグレーション試してOTPに焼くって感じみたいですが、USBCLK,SYSCLK,SYSCLKはRAM Configurationで設定しても無効なのでOTPに焼いて、そのコンフィグレーションでbootする必要があるようです。

CP2114(B1)は若松通商のページに在庫ありになっていたのですが、探してもらってどうにか入手できました。パッケージがQFNですが、がんばって秋月で購入した変換基板に手半田しました。

当初ライブラリを使わず自力でHIDを叩いていたのですが、うまく動かないところがあって、ライブラリを試してみました。

CP2114はCQ出版の「音遊び!Blackfin DSP基板でディジタル信号処理初体験」という雑誌に同梱された基板でも使われているようです。

いろいろいじってみようと思っていたのですが、PIC32MXなDAIができたので、あまりいじってません。

後から気がついたのですが、サンハヤトさんがCP2112を使ったUSB I2C変換モジュールを作られているようです。このモジュールでもこのライブラリは使えるような気がしますが、試してません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0