Using Shift Register 595 for more Module

More
03 May 2013 08:38 #9496 by xCometz



It is just another way to connect more module with out making universal module and just use one extra pin (can be TMS or TCK) but it needs more clock cycle to run.

It is simple to do and with one IC (ex. SN74HC595 from Texas Instrument), we can connect 8 more module.


code example if A7105 module chipselect connected to bit 0 (QA) and LOAD connected to TCK.


#define LOAD_HI() gpio_set(GPIOA, GPIO13)
#define LOAD_LO() gpio_clear(GPIOA, GPIO13)

void CS_HI(void)
{
LOAD_LO();
spi_xfer(SPI2, 0xFF);
LOAD_HI()
}


void CS_LO()
{
LOAD_LO();
spi_xfer(SPI2, ~(1<<0)); // only LSB low
LOAD_HI()
}
Attachments:

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
03 May 2013 10:57 #9501 by rbe2012
Replied by rbe2012 on topic Using Shift Register 595 for more Module
Looks like easy implementable (hard- and software). Good idea in my eyes...
Should not the clear pin connected to 3.3V via a resistor?
Should it be connected to some reset line to avoid a unwanted startup condition? Maybe this does not matter because the rf modules are not initialized at this time and no worry about multiple modules taking commands...

Please Log in or Create an account to join the conversation.

More
03 May 2013 19:28 #9513 by xCometz
Replied by xCometz on topic Using Shift Register 595 for more Module
SRCLR ist reset for serial shift register and it wont be loaded before rising edge of LOAD signal. SRCLR can be hard connected to 3V3.

I didn't see any register in CYRF6936, A7105, CC2500 or NRF24L01 with address 0xFF, 0xFF is the first byte to write in SPI communication to make all ChipSelect in high logic, so the startup condition doesnt matter.

With this implentation, we can let original walkera module in its position and add another 8 module as addon. We still have even one more free pin (TMS)

Please Log in or Create an account to join the conversation.

Time to create page: 0.041 seconds
Powered by Kunena Forum