Giter Club home page Giter Club logo

spimux's Introduction

Shiftreg MUX

SCHEMATIC See board construction in Assembly IBOM

Specifications

Parameter Description
Input voltage 12v relay, 5v shiftreg/buffer
Current 150ma@12 relays active
Communication spi shiftreg
Baudrate 1hz-10khz
PCB size 100x160mm (Eurocard compatible

Description

Quick design prototype for a shift registrer based expandable mux, in theory the board should be infinitely stackable, but you will encounter some interferance and delay issues with she shiftregisters if you use too many boards.

The board has a SPI-input j1, a 2.54mm dual row idc header with a pinout:

pin type Description
1 +5v 5v bus for shift reg and buffers
2 +12v 12v bus for relays
3 serial_return a return path for the serial, can be used to check how many boards are attatched
4 serial_in serial input to device
5 serial_clock serial clock signal to device
6 transfer transfers the shift reg data to outputs
7 syncronous_clear clears entire shift register
8 device_enable chip enable spi signal
9 gnd gnd
10 gnd gnd
11 output_p voltage output to mux channel
12 output_n voltage output to mux channel
13 gnd gnd
14 gnd gnd
15 analog_p analog positive differential
16 analog_n analog negative differential

The spi shift register is daisy chained so the output of each 8 channel register is connected to the next in line, and the last register is buffered and sent out SPI-output j2, enabling the possibility to stack as many boards you want without any customisation of the boards.

There are 8 shift registers daisy chained on the board, each shift register has 8 output channels, SPI and each register is connected to two relay banks, using output 1,2,3 for relay bank 1 and 5,6,7 for relay bank 2, channel 4 and 8 are left open to get a full byte for each relay group.

Channel Selector

Sending 1110 value to the shift register would turn on the three first relays in the mux (channel 1)

Each relay bank has the following posibilities

On/off bit, this connects/disconnects the channel from the output ai/pow bit, Analog input/ power, this selects if the channel is used for power or analog in/out bit, This decides if the channel is an "positive" or "negative".

bits Output Type Polarity channel
b100 On analog read negative side ch 1.
b101 On analog read positive side ch 1.
b110 on power negative ch 1.
b111 on power positive ch 1.
b0XX off does not matter Does not matter ch 1.

the fourth bit is not used, and the fift bit is the first bit of the next channel and on the second channel the eight bit is not used. This pattern repeats through all the 16 channels on the board.so if you send b00001110, that makes the second channel route to power with positive polarity. If you connect another boards J1 (spi input) to the first boardds J2 (Spi output) with an idc cable, the second boards first channel would be bit number (4*16+1) = bit 65.

Using this method, any channel on any daisychained board can be connected to the output_p,output_n,analog_p or analog_n on the idc connector just using a bit sequence sent through an SPI output.

Read about the shift register here

FRONT

Front

BACK

Back

spimux's People

Contributors

fredriknk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.