请教一个SPI通讯的问题

[复制链接]
3128|8
 楼主| kokoromi 发表于 2011-3-30 15:29 | 显示全部楼层 |阅读模式
本帖最后由 kokoromi 于 2011-3-31 15:44 编辑

现在正在做一个单片机和ENC28J60通讯的东西,单片机和ENC28J60通过SPI通讯,他们的时序图如下两图所示,我想问的是:根据ENC28J60的时序图,单片机应该怎样设置CKPLCKPH?多谢了~


单片机的硬件SPI时序图:




ENC28J60的SPI时序图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
iC921 发表于 2011-3-30 16:54 | 显示全部楼层
没搞过,每次看都是生生的:'(
xmar 发表于 2011-3-30 17:40 | 显示全部楼层
单片机设置:

CKPL = 0;
CKPH = 1;
zjp8683463 发表于 2011-3-30 18:31 | 显示全部楼层
ENC28J60你是怎么设置的?
 楼主| kokoromi 发表于 2011-3-31 08:50 | 显示全部楼层
ENC28J60你是怎么设置的?
zjp8683463 发表于 2011-3-30 18:31

这个没法设置啊,手册上说只支持SPI的0,0模式,而且要求SCK在空闲状态时为低电平...
fastolf 发表于 2011-3-31 11:38 | 显示全部楼层
单片机如果支持硬件SPI,那就直接配置寄存器就行啊。
以前调试过STM32的SPI,我感觉主要还是掌握好时钟信号,配置好是上升沿有效还是下降沿有效这些参数,如果支持0,0模式,那你就直接把单片机也配置成那样的就没问题。
yuyi21ic 发表于 2011-3-31 12:13 | 显示全部楼层
你那个芯片上应该有提到单片机怎么配置CKPL和CKPH吧,我记得上次弄CH376的时候,这个芯片就说了。
 楼主| kokoromi 发表于 2011-3-31 13:58 | 显示全部楼层
单片机设置:

CKPL = 0;
CKPH = 1;
xmar 发表于 2011-3-30 17:40


今天仔细想了想,感觉你说的差不多...
batsong 发表于 2011-3-31 15:28 | 显示全部楼层
哈哈,MSP430吧,这图似曾相识,下面是操作25LC eeprom的初始化,下降沿改变,上升沿采样

  UCB0CTL1 |= UCSWRST;                      // **Put state machine in reset**
  UCB0CTL0 |= UCMST+UCSYNC+UCCKPL+UCMSB;    // 3-pin, 8-bit SPI master
                                            // Clock polarity high, MSB
  UCB0CTL1 |= UCSSEL_2;                     // SMCLK
  UCB0BR0 = 0x02;                           // /2
  UCB0BR1 = 0;                              //
  UCB0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

344

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部