Electrical – Why use a buffer in/output for a RAM memory
buffermemoryram
I was reading about the architeture of a RAM memory but now I'm confused about the use of buffer for input and output. Why I need to use this?
Best Answer
The data lines are used for more than one RAM module, so it it necessary to transfer data to/from the storage cells only when appropriate, hence the presence of chip select inputs to the buffers.
Voltage level translation is likely necessary, another function of the buffers.
The data to/from the storage cells may not all arrive at precisely the same time, so the buffers allow for some settling time, in conjunction with the output enable signal.
The write enable signal prevents data being written instead of read.
It's not clear what you are really asking, but it is common to store binary values that are wider than the addressable unit of memory. For example, if you want to store 16 bit words in a byte-addressed memory, then you use two bytes. That also means the software has to know which byte is stored first.
In your case you seem to have native 4 bit words. To store a 16 bit value, use 4 words. Again, your software will have to know what convention you are using, like low word first or high word first.
Since your memory only has 4 address lines, its size is limited to 16 native words. Your native word size appears to be 4 bits, so your memory can hold only 64 bits. That means it will be completely used up by two 32 bit values or four 16 bit values, for example.
The only thing you have to do is, before you start reading values at ADC, create the FAT 16 system and a text file. Then once you start reading, simply send the data to that text as simple byte.
I have done similar thing with PIC18F458 at a clock rate of 1Kb per second. Here is a link with sample code for same controller with generation of FAT system. This helped me a lot. I hope it would help you too.
This method was best for me as all the values were written in a text file and was easy to convert it in any other format or readable for other software as MATLAB.
Best Answer
The data lines are used for more than one RAM module, so it it necessary to transfer data to/from the storage cells only when appropriate, hence the presence of chip select inputs to the buffers.
Voltage level translation is likely necessary, another function of the buffers.
The data to/from the storage cells may not all arrive at precisely the same time, so the buffers allow for some settling time, in conjunction with the output enable signal.
The write enable signal prevents data being written instead of read.