Coder Social home page Coder Social logo

spi-master's Introduction

Description

Implementation of a SPI master component in VHDL.

The component controls the communication between one SPI master and one SPI slave device. It generates the clock signal (SCLK) and the data (MOSI) signals, and reads the incoming data from the MISO signal line. The chip select signal is not generated by this component. The user has to make sure the chip select is set according to the slaves requirements.

Usage

The image shows all the available signals.

Signal Name Length Direction Description
iSysClk 1 IN System Clock Signal
iSPIclkEN 1 IN spi clock enable signal (related to iSysClk)
iReset 1 IN clock synchronous, active high reset signal
odMOSI 1 OUT SPI MOSI signal
idMISO 1 IN SPI MISO signal
oSclk 1 OUT SPI Clock signal
icCPOL 1 IN icCPOL and icCPHA set the SPI Mode, refer to SPI documentation
icCPHA 1 IN icCPOL and icCPHA set the SPI Mode, refer to SPI documentation
odByteRead 8 OUT Data read from the SPI MISO line. Size according to GEN_DataLength
idByteWrite 8 IN Data written to the SPI MOSI line. Size according to GEN_DataLength
icStart 1 IN Start the transfer
ocReadyToSend 1 OUT Active high ready signal. When high the spiMaster is ready for the next transfer or has finished a transfer and odByteRead is valid.

One Generic (GEN_DataLength) is available to set the number of transfer bits per action.

The input clock to the spiMaster has to be twice the wanted SPI clock frequency; either by applying it directly via iSysClk or via iSPIclkEn as an iSysClk aligned clock-enable signal.

For more information look at the doxygen documentation or the comments within the VHDL file.

Contributors

You can contribute to this project in different ways:

  • find bugs and provide bug reports through githubs issue system
  • find bugs and provide solutions as pull requests through github
  • you want to actively improve the project and get access to our gerrit instance

For the last two ways just send an email to mailto:[email protected].

License

The SPI-Master project is licensed under GPLv2.

spi-master's People

Contributors

byterazor avatar hsu-dmeyer avatar

Watchers

James Cloos avatar  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.