所有关于电路

从FPGA读取SPI EEPROM

线程启动

mos_6502

2017年12月11日加入
37
大家好,

我正在尝试使用Altera Cyclone IV FPGA读取SPI EEPROM 25LC1024。我不能。

我使用不同的SPI Master组件所有的开源,我做和重做不成功的一个FSM读取这个EEPROM。
我在哪里可以找到这个EEPROM的主SPI和FSM(可能在VHDL中)的示例?
有人对这项工作有什么建议吗?我只对读取单个字节感兴趣,而不是写入!

谢谢!
Papabravo.

Papabravo.

2006年2月24日加入
15691年
大家好,

我正在尝试使用Altera Cyclone IV FPGA读取SPI EEPROM 25LC1024。我不能。

我使用不同的SPI Master组件所有的开源,我做和重做不成功的一个FSM读取这个EEPROM。
我在哪里可以找到这个EEPROM的主SPI和FSM(可能在VHDL中)的示例?
有人对这项工作有什么建议吗?我只对读取单个字节感兴趣,而不是写入!

谢谢!
你有25LC1024的数据表吗?
这是微芯片部分的链接:

https://ww1.microchip.com/downloads/en/DeviceDoc/22064D.pdf

在里面你会发现时钟相位和极性的细节。有四种可能性。主器件必须选择正确的相位和极性组合,以便成功读取器件。如果没有数据表,我认为您可以尝试所有四种选项。

有关时钟偏振性和相位的解释,请参阅下面文章中相应的部分

https://en.wikipedia.org/wiki/Serial_Peripheral_Interface
最后的编辑:
模拟地面

模拟地面

加入2019年4月24日
448.
我搜索了“VHDL中的SPI master”,找到了几个。正如文章#2所述,您必须确定使用什么SPI“模式”。有四种模式。

Andrewmm.

2011年2月25日加入
1212年
FPGA芯片配置这个EEPROM或它是独立的?

如果是这样检查英特尔/ Altera网站,如果这些引脚可以通过“正常”代码读取,

在这种情况下,通过编程工具可以访问配置PROM。
除非芯片安全,否则一种方法是,读取内容。

说到这,如果它的配置代码,你是否拥有代码的版权?

如果是这样,你为什么需要读回来?您可以使用您的代码再次编程。

线程启动

mos_6502

2017年12月11日加入
37
你能详细说明了尝试了不成功吗?你有任何有意义的回复吗?例如,您是否阅读了所有零,或所有无法解者的混合字符串,或者zeros?
sclk的速度是多少?
我总是读$FF(所有的)在所有地址。
我的FPGA时钟是50MHz,SCLK是它的1/10(5MHz),但我也尝试了较低的频率。
EEPROM芯片工作良好;我可以读和写它与CH 341 EEPROM程序员在PC上。

事实上,我试着改编一个在digikey网站上找到的代码(串行外设接口(SPI)Master(VHDL) - 逻辑 - EEWIKI(Digikey.com)

我的代码是基于SPI加速计(Accelerometer ADXL345 PMOD控制器(VHDL) - 逻辑 - EEWIKI(Digikey.com)

我附加了我的VHDL文件作为。asm文件,但是一个。VHDL文件!

附件

线程启动

mos_6502

2017年12月11日加入
37
FPGA芯片配置这个EEPROM或它是独立的?

如果是这样检查英特尔/ Altera网站,如果这些引脚可以通过“正常”代码读取,

在这种情况下,通过编程工具可以访问配置PROM。
除非芯片安全,否则一种方法是,读取内容。

说到这,如果它的配置代码,你是否拥有代码的版权?

如果是这样,你为什么需要读回来?您可以使用您的代码再次编程。
这是一个外部EEPROM。

我正在制造我自己的计算机与一个专有的CPU和芯片(FPGA)读取/存储数据在内存(RAM)和读取我的个人操作系统从EEPROM启动。
EEPROM是我在普通PC上编程,然后从FPGA读取的。

删除会员440916

1969年12月31日加入
0
在你的asm文件中没有SPI主代码,你可以让所有的代码都可用,请不要只是脱节的片段,换句话说,告诉我们到底什么是不工作的。可以给我们一份样机的原理图和图片吗,也许你们的布局不好?

线程启动

mos_6502

2017年12月11日加入
37

线程启动

mos_6502

2017年12月11日加入
37
你说"实际上我试着修改了digikey网站上的代码"你到底对它做了什么?
原始代码,如在第7章链路中发布,从加速度计读取数据。

我修改了它以读取来自EEPROM的数据,在读取命令之后立即发送地址3个字节(24位,如我的EEPROM的数据表中指定的)。
我将修改后的代码附加到注释#7中。

删除会员440916

1969年12月31日加入
0
啊,现在我明白我会在我有一段时间的时候读它:)
我假设你使用Quartus,他们告诉你如何配置引脚或者你自己完成了吗?
编译期间有任何警告吗?
最后由主持人编辑:

线程启动

mos_6502

2017年12月11日加入
37
如何回答我问你的问题?
我只是看到你后来又增加了一些问题。

你说的“配置引脚”是什么意思?我从未以特定的方式配置过任何引脚。
我应该怎么办?
我收到了几个警告,但很多也是针对SD卡的第二个(更复杂的)SPI控制器,这工作没有任何问题。它完全独立于EEPROM。

不管怎样,如果你问我这些问题,我猜你已经看过我的代码了我假设这是正确的,所以问题肯定是在别的地方,对吧?
线程启动 类似的线程 论坛 回复 日期
C 技术修复 3.
GettinBetter 微控制器 12
E 编程语言 16
E 通用电子聊天 2
devjeetmandal. 微控制器 1