Posts tagged ‘SPI’

September 2, 2008

SPI Daisy Chain

Cascading beberapa chip/module SPI untuk mengontrol N buah chip/modul SPI memerlukan pin I/O sebagai pin enable sebanyak N pin. Jadi misalnya suatu prosesor ingin mengontrol 32 chip SPI, maka diperlukan 32 pin I/O dari prosesor. Dan, jika pin I/O terbatas dan jumlah chip yang perlu dicascade banyak (misalnya 128 chip/module), adakah alternatif lain yang lebih efisien? Jawabnya adalah gunakan SPI daisy-chaining. Syaratnya adalah chip atau modul tersebut mendukung untuk daisy chain, yang ditandai dengan adanya pin SDI_THROUGH.

Note: SDI di gambar merupakan sinyal input bagi chip.

Iklan
Agustus 29, 2008

Cascading SPI Devices

Katakanlah kita punya beberapa device atau modul dengan interface SPI, misalnya modul X100P (hehehe, Digium FXO module untuk VoIP gateway). Tiap modul telah dapat berfungsi dengan baik dan dapat diinterfacekan ke prosesor (atau mikrokontroler). Bagaimana untuk menggandengkan beberapa modul dengan menggunakan single controller?

Untuk mengakses sebuah modul SPI, setidaknya dibutuhkan 10 jalur + 2 jalur untuk VDD dan GND, yang dapat dibagi menjadi 3 tipe sinyal ,yaitu 1) 4 jalur sinyal SPI data asinkron (nCS, SDI, SDO, SCLK), 2) 4 jalur sinyal Serial/stream data sinkron (DTX, DRX, nFSYNC (yang ini biasanya 8kHz untuk audio), PCLK (N x frekuensi nFSYNC), dan 3) 2 sinyal kontrol (nINT, nRESET).

Cascading beberapa modul/chip SPI bisa dilakukan dengan menggunakan sharing jalur sinyal, selain nCS. Jadi untuk menambah menjadi 4 modul, yang diperlukan hanya menambah 3 jalur yang akan digunakan sebagai sinyal enable untuk 3 modul lainnya. Sinyal dapat diperoleh dari pin GIO (General Input Output) biasa di mikroprosesor/controller. Jadilah cascade 4 modul dengan akses secara bergantian yang diatur secara software dengan mengaktifkan sinyal enable masing-masing modul (hanya 1 modul yang aktif dalam satu waktu).

April 17, 2008

Using CPLD to Decoding Large Number of Device’s Enables

Ini adalah postingan di blog saya terdahulu yang sudah mati… Mungkin masih relevan.

This article is adapted from David’s telephony project on how to expand blackfin STAMP SPORT select lines so that we can access multiple SPI devices across multiple cards using only a small number of SPI lines available on the SPORT connector. However, the CPLD design basically has been changed from its David’s origin version as it’s purposed for 8fx. This 8fx is SPORT daughter board to support upto 8 telephony ports, SD card, and 8 LED line-drivers.
You can use this article as an example implementation of cpld on which may targeted to other boards.

Introduction

On the 8fx card a Xilinx CPLD is used to (i) expand the number SPI select lines available and (ii) provide a register to drive the LEDs. The blackfin STAMP SPORT connectors have only a limited number of SPI select lines available. However on the 8fx design we have many SPI devices:

read more »