Non Volatile RAM (F-RAM & NVSRAM) Forum Discussions
Hi
CY14B101Q2A-SXIの推奨洗浄条件を教えてください。
Thanks and regards,
As the datasheet "001-84499_FM25V10_1_Mbit_128K_X_8_Serial_SPI_F_RAM.pdf" describes :
The read access is as on the attached picture.
So Bit 23 (the 24th) is the last bit written, on the rising slope of SCK. The 1st read data bit D7 is available upon the falling slope of the same SCK pulse, which is somewhat unusual. Especially since the last bit read (D0) is available on the falling 6th read-SCK. The 7th read-SCK is for nothing.
In my opinion, SO line should be shifted by one SCK to the right. Such that the bit D7 is available after the falling 0th read-SCK. And eventuall the last bit, D0, is available after the falling read-SCK7.
Please confirm and adjust the datasheet.
Dear Sirs,
I have just started to use these FRAM memories. My test software for writing and reading is working 99% of the time.Occasionally I get a corrupted read immediately after power up. The memory contents is not corrupted as a further power cycle gives the correct results.
I have noticed that the power up conditions are specified in the data sheet. There is no problem with tPU, as my first read is at least 100ms after Vdd is stable. However there may be a problem with tVR. I have measured the rise time from 0V to 2V as 95us/V. My Vdd fall time is much slower than the spec, being 2.7ms/V.
Could you please explain the significance of these specifications. The memories are part of a complex design, and it would be difficult to change the Vdd rise and fall times without powering the memories from a special supply.
Is there a software solution to reset the memories after power up?
regards
Cosmo Little
Show LessSometimes it is useful to have a simple and easy-to-use development & test platform at hand. The popular Raspberry Pi platform meets these needs. It is inexpensive, popular and easy to set up.
The SPI controller that is integrated into the Pi's Broadcom SOCs supports single I/O SPI with frequencies of up to 125 MHz. Two chip selects are available on the 40-pin expansion connector. DMA from and to SPI devices is supported as well. Supply and I/O voltages are normally 3.3V.
The following instructions summarize how to set up the Cypress SPI Memories Driver for Linux on a Raspberry Pi.
1. Kernel Compilation
Pick a suitable Linux kernel (e.g. branch rpi-4.14.y) and follow the official kernel build instructions. Apply the Cypress SPI Driver patch to the kernel tree and enable CONFIG_MTD_CY_SPIMEM and CONFIG_MTD_CY_HAL_GENERIC in the configuration menu.
2. Device Tree Settings
Edit the device tree file of your Raspberry Pi (e.g. arch/arm/boot/dts/bcm2710-rpi-3-b.dts for the Raspberry Pi 3 Model B). In the SPI device section, reduce the SPI clock frequency from 125 MHz to e.g. 25 MHz and change the driver from “spidev” to “cy-spimem”) as highlighted in the following dts snapshot:
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
spidev0: spidev@0{
compatible = "cy-spimem";
reg = <0>; /* CE0 */
#address-cells = <1>;
#size-cells = <0>;
spi-max-frequency = <25000000>;
};
3. Hardware Setup
Attach a SPI memory device to the SPI pins of the 40-pin expansion connector.
4. Boot the System
If everything has been set up correctly, the SPI memory device is probed and reported in the kernel boot log
Found Cypress CY15B104Q (F-RAM)
and registered as a MTD device
# cat /proc/mtd
dev: size erasesize name
mtd0: 00080000 00000200 "CY15B104Q"
Afterwards, it can be accessed via standard Linux tools.
Show LessDear Cypress team,
I wonder if there is any compatible driver for this device at the space of U-Boot,
and U-Boot is release of 2016.07 on ARM platform.
Thanks.
Walter
Show LessHello,
I'm trying to read the device ID in FM25V20A-PG by sending 1001 1111b using an Arduino nano.
The problem is that all I get back is 0xFF on the MISO line. Can some help me find a solution?
I have all my connections according to the datasheet. I have pin WP and DNU connected to VDD. I also tried changing the SPI frequency speed but nothing helped.
Settings in my code:
SPI_MODE0
MSBFIRST
Here is my Arduino code: (In the code I'm trying to see the first 3 bytes of the device's ID)
#include<SPI.h>
const int chipselect=10;
const byte RDID=0b10011111;
byte v=0x00;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(chipselect, OUTPUT);
digitalWrite(chipselect, HIGH);
Serial.print("Chip Select: "); Serial.println( digitalRead(chipselect), BIN); //To show Chip select pint status in the serial monitor
delay(20);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV128);
digitalWrite(chipselect, LOW);
delay(1);
Serial.print("Chip Select: "); Serial.println( digitalRead(chipselect), BIN); //To show Chip select pint status in the serial monitor
v=SPI.transfer(RDID);
Serial.println(v, BIN);
v=SPI.transfer(0x00);
Serial.println(v, BIN);
v=SPI.transfer(0x00);
Serial.println(v, BIN);
v=SPI.transfer(0x00);
Serial.println(v, BIN);
digitalWrite(chipselect, HIGH);
Serial.print("Chip Select: "); Serial.println( digitalRead(chipselect), BIN); //To show Chip select pint status in the serial monitor
SPI.end();
}
void loop() {
// put your main code here, to run repeatedly:
}
Here is the output I get
Hello community,
is there any Chance to replace a 5V SRAM 1to1 with the FM28V100 without the levelshifting things?
If i will reduce the circuit Voltage for the FRAM to 4V (ZDIODE ?) ?
In the Datasheets Maximum Ratings is stated as follows:
VDD relative toVSS -1V to 4.5V
and Input Voltage -1V to 4.5V and Vin<VDD+1V
Thank you in Advance for your answers.
Michael
Show Less
Hello,
What is the technology size for the FRAM CY15B102Q? Also, has this part (or similar FRAM parts) been tested for Single Event Upsets and Single Event Latchup? If so, what would be the associated SER?
Show LessHi,
We are currently experiencing high rates of data corruption in a CY15B104Q-LHXI device on our design. We see corruption occur only when we write at a high temperature (up to +85C), power cycle and then read at low temperature (down to -40C).
Corruption appears to be at random locations in the device, and we see bits transition in both directions. The failure rate increases with the delta in temperature between write/read cycles.
We're currently investigating, and have started looking for potential reasons for the corruption. We have a come across a few questions, would it be possible for one of the Cypress folks to take a look?
1. We find that if we replace the part with CY15Q102Q-S, OR FM25V20A the corruption does not occur. Are there any significant architectural differences between the 4Mb part and these 2Mb parts which may be causing the effect?
2. We have connected the centre pad to 0V on our design, although I noticed a note in the datasheet instructing it to be left floating. What are the implications of connecting this pad to ground? Is this is possible reason for the corruption?
3. I have been looking at App notes AN304 and AN302, which give recommendations about holding chip select inactive during power transitions, and we are currently investigating this. However, I noticed that AN302 is marked as obsolete. What is the reason for that? Is there any information in the note which is incorrect?
I'd be very interested to hear your thoughts, and know if you can suggest any reasons for the corruption.
Many thanks,
Bryan.
Show LessI am using a CY14B101PA, NvRAM/RTC device.
I remove the RTC backup battery. After powerup, I see the OSCF and BPF asserted. I clear them and wait 10 msec. I see the OSCF remain at 0, which makes sense. However, the BPF flag remains 0 even though there is no RTC battery.
Is this expected behavior?
Thank you for any input.
Show Less