2013-02-14 3 views
2

У меня есть OMIM-L138 Experimenter Kit, и я хочу общаться с одним из периферийных устройств, установленным на SPI 1 chip select 1 (есть также флэш-память на чипе SPI1, выбирает 0).Какие регистры OMAP-L138 следует использовать для выбора другого чипа SPI?

Я смущен, какие регистры следует использовать для выбора чипа 1?

Согласно OMAP-L138 Technical Reference Manual, я должен

  • Режима установки 4-контактного

    С> SPIPC0 = SOMI | SIMO | CLK | SCS0; // 4-контактный режим с выбором микросхемой

  • набор 1 бит SPIPC0.SCS0FUN, чтобы показать, что SPI_CS1 - это функциональный пин SPI

    SetBit (С> SPIPC0, 0x00000002);

  • установить 17 битый SPIDAT1.CSNR (Это означает, что SPI_CS1 штифт на высоком уровне.)

    С> SPIDAT1 = 0; SETBIT (spi-> SPIDAT1, 0x20000); // устанавливает 17-го бита (соответствует SPI_CS1)

  • набора 1 битого SPIDEF.CSDEF (Это означает, что SPI_CS1 штифт на высоком уровне.)

    С> SPIDEF = 0; SETBIT (spi-> SPIDEF, 0x00000002); // установить 1-й бит (соответствует SPI_CS1) в поле CSDEF

  • , наконец, перед чтением данных из SPI1_CS1 устройства, следует установить SPIDAT1.CSHOLD к активному провел сигнал выбора чипа

    SetBit (С> SPIDAT1, 0x10000000); // установить 28-й бит, который представляет CSHOLD

Это правильно или я что-то пропустил? Может быть, мне также нужно что-то сделать с PINMUX5 (Pin Multiplexing Control 5 Register)? Спасибо!

ответ

1

Кажется, что я понял это.

  • Настройка 0-го бита в регистре PINMUX5 - выбирает функцию SPI1_SCS [1]
  • Настройка 4-й бит в регистре PINMUX5 - выбирает функцию SPI1_SCS [0]

    EVMOMAPL138_pinmuxConfig (5, 0x00FFFFF0, 0x00111101); // включить выбор микросхемы 1 EVMOMAPL138_pinmuxConfig (5, 0x00FFFFF0, 0x00111110); // включение выбора микросхемы 0

Смежные вопросы