路人甲被注册了 发表于 2014-9-5 15:00:56

关于烧录FPGA的疑问。

大致是这样的,。

通过MCU配置PFGA。
FPGA是xilinx的Spartan 3E

首先我捕捉到了fpga配置芯片xcf02 的数据和时序。
然后我完全仿照该芯片的时序(SPI),用mcu发送数据,用逻辑分析仪看,数据和时序都正确。,可是烧录总是失败(数据发送后,fpga没运行程序)

我看手册上有个done引脚和 init_b引脚。
说INIT_B引脚在置高的时候检测M0 M1 M2然后确定FPGA模式。

FPGA配置完成后,DONE引脚会输出一个高电平。。
可是我用逻辑分析仪看了一下,DONE一直都是低电平,
用万用表测了一下,INIT_B是高电平。

不解,坛子有无前辈做过MCU配置FPGA

路人甲被注册了 发表于 2014-9-5 15:05:58

本帖最后由 路人甲被注册了 于 2014-9-5 20:27 编辑

................................

浮华一生 发表于 2014-9-5 15:20:37

ISE 很烂我承认,但是时序应该没错吧?

wye11083 发表于 2014-9-5 17:09:24

呵呵,劳资用遍天下各种串行时序烧录,还没见过烧不进去的。LZ好好反省反省自身问题吧。

zkf0100007 发表于 2014-9-5 17:46:52

xilinx有mcu配置的文档,源码都提供了,自己去官网搜吧

qinxg 发表于 2014-9-5 17:48:34

1. PROG_B 先发一个低电平脉冲.'1' ->'0'->'1'.   10ms即可.
2. 把数据发给FPGA:clk上升沿有效,bit7还是bit0先发, 试试吧. 我的先发高位,可能和数据格式有关.
3. 发完后, 检测done.'1' OK.
(无视init_b)

zkf0100007 发表于 2014-9-5 19:39:17

XAPP058 Xilinx In-System Programming Using an Embedded Microcontroller

NJ8888 发表于 2014-9-5 20:30:17

上面文档没看,反正我是从外部FLASH中读出,然后用从串模式下载

路人甲被注册了 发表于 2014-9-9 11:10:00

本帖最后由 路人甲被注册了 于 2014-9-9 11:15 编辑

qinxg 发表于 2014-9-5 17:48
1. PROG_B 先发一个低电平脉冲.'1' ->'0'->'1'.   10ms即可.
2. 把数据发给FPGA:clk上升沿有效,bit7 ...

时序完全这样的,但是还是不行。检测不到done信号。
mcu做SPI主机,数据是从MCS里面取出来 末尾多余的补0xff(去掉地址和CRC位)。
时序参照配置芯片的时序。

路人甲被注册了 发表于 2014-9-9 11:20:36

捕捉到配置芯片的时序

路人甲被注册了 发表于 2014-9-11 10:29:52

可以烧录了,发现xilinx的烧录有两个坑,这两个坑,坑了我这么久。

1正常的发送数据是 8位 8位的依次发,我观摩 配置芯片时序发现第一帧明明是7位,所以之后就少了一位
2.............

mcucow 发表于 2014-9-11 11:19:32

第两个坑呢?
想起同事用2Byte来检错,数据手册明明写的是8位, 巧就巧在部分发送命令式对的, 呵呵
页: [1]
查看完整版本: 关于烧录FPGA的疑问。