Monday, 16 April 2018

pullup - SPI bus termination and pull-up resistors


My microcontroller (ATMEL series) needs to communicate to a slave device using SPI protocol. I am designing the hardware. The maximum SPI bus speed is 1 MHz. The distance between the master and slave is less than 50mm.


Q1) Do I need to add termination in series on the SPI bus to avoid reflection at this SPI speed (1MHz)? If so, how should I calculate its value and where should I put the termination resistor - near the master or near the slave?


Q2) I have seen other reference designs where sometimes people use pull-up resistors on all SPI signals, sometime only on a few signals (CS or MISO) and sometimes none. Do we need pull-up resistors on SPI signals (since the SPI port is push-pull configuration)? The only time pins will be floating is until the microcontroller get its power and can set pins as outputs. So should I need to use pull-up resistors or what will happen if I don't use any pull-up resistors in my design?




No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...