jiming5233 发表于 2011-8-24 10:50:11

STC单片机的SPI从机问题,求助

目前用STC的 12LE5A08S2。想做个SPI和FPGA数据传送的应用。用主机FPGA给STC通过SPI发送一组6字节数据,STC处理后再返回一串22字节数据。
因为FPGA已经固定了的,收发数据都是由FPGA打时钟,时钟频率为800kHz,字节之间时钟连续打出,STC配置为从机,收数据是中断处理。收数据正常。

现在的问题是STC从机发数据会出错

按SPI协议,我设置的是时钟常态为高,下降沿(前跳变)装数据,上升沿采样,但是第一个字节的最后一位在上升沿的时候数据被错误的拉高,中间的间隔只有20ns,这直接影响FPGA读数据的准确性。(本来是0的读成1了)
如果我把STC的晶振换低,这个间隔时间就长一些,FPGA就能正确读这个bit,但这样的话STC装数据就会来不及...

水平有限啊,弄这个SPI好几天了,还是没有搞明白。

在坛子里翻了很多SPI相关的帖子看了,没有解决,STC的datasheet也没有提示,是不是我哪里设置的不对?

各位大大有比较熟悉SPI和STC单片机的,帮忙看下,指点下。这是不是STC的问题啊,换别的牌子的单片机会不会就没有这个问题了呢?

下面是图,数据是0xa0,00,08,00
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670645IQ7D5Q.JPG
小图 (原文件名:001.JPG)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_670646JDFARK.JPG
放大的 (原文件名:002.JPG)

jiming5233 发表于 2011-8-24 15:45:52

帖子要沉了,自己顶一下,麻烦朋友们帮个忙分析一下是什么原因啊,先谢过了~~~~
页: [1]
查看完整版本: STC单片机的SPI从机问题,求助