- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to communicate with hyperflash through microblaze connected with hyperbus IP. But neither read nor write operation is taking place. I have simulated it and observed Command address field out from HYperbus IP. There is difference between the Hyperflash datasheet mentioned waveform and the one observed by me during simulation. I have attached images of code, waveform from simulation and from the datasheet
Can someone please let me know what mistake is causing problem in communicating with the hyperflash?
- Labels:
-
Memory Hyper Flash
- Tags:
- Hyper
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Thank you for contacting Cypress Semiconductor.
Please initiate the READ operation, first, and provide waveform the screen capture,
which should be identical as the waveform from the datasheet detailed directly below.
If the READ operation is unsuccessful, all other command operation will also be unsuccessful.
The READ operation (w/ waveforms) should be the simplest to to determine what may be wrong, if any.
Best regards,
Albert
Cypress Semiconductor Corp.
An Infineon Technologies Company
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Albert for the response.
I have attached screen capture for read operation. Since it is only simulation , data field is not present in waveform after command-address field is transmitted.
1. In Write operation: CA2 =0x 6005(in waveform); CA2 = 0x0005(In datasheet). In read operation also 0x60 is present. Is this acceptable?
2. When I tried to read from address 0x123457, values mentioned in datasheet and waveform are different. Any issues here?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello ,
Since this issue may be related to the HyperBus IP, I am enlisting the assistance of the
HyperBus team to add insight as to this issue.
Please await for their response...
Best regards,
Albert
Cypress Semiconductor Corp.
An Infineon Technologies Company
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please find attached the response from (HyperBus) Applications Engineering:
- In Write operation: CA2 =0x 6005(in waveform); CA2 = 0x0005(In datasheet). In read operation also 0x60 is present. Is this acceptable? :
The 0x60 is an artifact from HyperBus controller design. It is harmless and acceptable to the HyperBus memories.
- When I tried to read from address 0x123457, values mentioned in datasheet and waveform are different. Any issues here? :
Can you try :
ValueRead = *( ( (volatile u16 *)0x20000000 ) + 0x123457);
Best regards,
Albert
Cypress Semiconductor Corp.
An Infineon Technologies Company.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Albert for the response.
When I tried to read from address 0x123457, as you suggested (ValueRead = *( ( (volatile u16 *)0x20000000 ) + 0x123457);) values mentioned in datasheet and waveform are still different. In resulted waveform one extra transaction before the expected value is obtained(i.e 0x00 at beginning) one extra cycle of 0x07 is obtained at end. Any issue here?
Refer Below waveform
But according to waveform in datasheet results should be as below.
CA2 value in read waveform in datasheet is 0x80 but the obtained result is 0x60. But according to Command/Address bit assignment table mentioned in datasheet. 15th bit should be 0 and 13 and 14th bit should be 1. hence the value of CA2 should be 0x60. refer below table for detail.
what is the correct value?