Git Product home page Git Product logo

avr-dram's Introduction

DRAM LIBRARY FOR AVR

  • linear addressing
  • can work from single 8 bit port + 5 control lines
  • support for EDO read sequences
  • requires 8 bit (also 2x4, 4x2, 8x1) memories with CBR refresh capability

Setup

Before setting up memory several conditions must be met:

  • define DRAM_ADDRESS_PINS to value corresponding with used memory (eg. 12 for 16MB simms - 2^2n)
  • define DRAM_INIT_SEQUENCE_CYCLES to value given by the datasheet of used memory
  • define all control pins and full 8 bit port for data operation
  • define DRAM_EDO_MODE if memory is EDO type
  • OE signal have to be tied to ground

Optional

  • modify RefreshTimerInt() with corresponding DRAM_REFRESH_INTERRUPT macro for most optimal refresh peroid corresponding to datasheet of given memory (example code uses timer 0 with 256 prescaler and overflow interrupt which should be safe but not optimal)
  • in case of using EDO memory (especially with FPM-read sequence), to prevent possible shot throught, address lines have to be separated from data lines (define DRAM_SEPARATE_L_ADDR)
  • if you prefer to have one latch less at a cost of half of the another port (pins 0,1,2 up to DRAM_ADDRESS_PINS - 8) define DRAM_SEPARATE_H_ADDR macro
  • if memory doesn't want to work correctly add some delays to DRAM_t*_WAITSTATE or define DRAM_FORCE_SLOW_STROBES macro
  • All parallel ports/pins can be reused for other purposes (data, address, and latches (ADDRH latch may need modification in code)), in this case all pins have to be set back to their output states before entering Dram* functions.

avr-dram's People

Contributors

jnk0le avatar

Stargazers

Frederico C Wilhelms avatar

Watchers

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