打印
[DSP编程]

F28335 SPI低电平为什么是2V?

[复制链接]
8681|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mountainest|  楼主 | 2014-10-3 21:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序

#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File

//#define          LedReg        (*((volatile  Uint16 *)0x41FF))
//Uint16    *ExRamStart = (Uint16 *)0x100000;

void spi_xmit(Uint16 a);
void spi_fifo_init(void);
void spi_init(void);

void main(void)
{
   Uint16 sdata;  // send data
   Uint16 rdata;  // received data

   InitSysCtrl();


   InitXintf16Gpio();        //zq

   InitSpiaGpio();

   DINT;

   InitPieCtrl();

// Disable CPU interrupts and clear all CPU interrupt flags:
   IER = 0x0000;
   IFR = 0x0000;
   
   InitPieVectTable();

   spi_fifo_init();          // Initialize the Spi FIFO
   spi_init();                  // init SPI

   sdata = 0xAAAA;
   for(;;)
   {   
     // Transmit data
        spi_xmit(sdata);
     // Wait until data is received
     while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { }                        
     // Check against sent data
     rdata = SpiaRegs.SPIRXBUF;
     
     //sdata++;

   }
}        
void spi_init()
{
        SpiaRegs.SPICCR.all =0x000F;                     // Reset on, rising edge, 16-bit char bits
        SpiaRegs.SPICTL.all =0x0086;                         // Enable master mode, with phase delay,
                                                 // enable talk, and SPI int disabled.
        SpiaRegs.SPIBRR =0x006;                                        //波特率7.5MHz
    SpiaRegs.SPICCR.all =0x008F;                         // Relinquish SPI from Reset
    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission
}

void spi_xmit(Uint16 a)
{
    SpiaRegs.SPITXBUF=a;
}

void spi_fifo_init()
{
// Initialize SPI FIFO registers
    SpiaRegs.SPIFFTX.all=0xE040;
    SpiaRegs.SPIFFRX.all=0x205f;
    SpiaRegs.SPIFFCT.all=0x0;
}
(顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了)

相关帖子

沙发
wangch_sh| | 2014-10-4 16:08 | 只看该作者
不会吧

使用特权

评论回复
板凳
mountainest|  楼主 | 2014-10-5 20:13 | 只看该作者
wangch_sh 发表于 2014-10-4 16:08
不会吧

原来做的东西,当时没注意,反正读AD结果是对的。现在拿出来测波形,低电平是2V,再读原来的AD也不对了,不知道哪里出问题了,悲剧的是原来的程序也找不到了

使用特权

评论回复
地板
zhangmangui| | 2014-10-7 20:06 | 只看该作者
肯定不是5V  你看看硬件上哪儿加入了直流分量没

使用特权

评论回复
5
mountainest|  楼主 | 2014-10-8 16:05 | 只看该作者
zhangmangui 发表于 2014-10-7 20:06
肯定不是5V  你看看硬件上哪儿加入了直流分量没

我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯片里直接引出的,什么都没接

使用特权

评论回复
6
zhangmangui| | 2014-10-8 22:42 | 只看该作者
mountainest 发表于 2014-10-8 16:05
我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯 ...

这就搞不懂了  测试的参考地不知道是否合理

使用特权

评论回复
7
mountainest|  楼主 | 2014-10-10 15:46 | 只看该作者
zhangmangui 发表于 2014-10-8 22:42
这就搞不懂了  测试的参考地不知道是否合理

参考DGND应该没问题吧,感觉写DSP的代码老是出一些莫名其妙的问题,新手

使用特权

评论回复
8
zhangmangui| | 2014-10-10 21:45 | 只看该作者
mountainest 发表于 2014-10-10 15:46
参考DGND应该没问题吧,感觉写DSP的代码老是出一些莫名其妙的问题,新手

这个确实有感触    刚开始会遇到各种问题
慢慢就好了   加油吧

使用特权

评论回复
9
mountainest|  楼主 | 2014-12-7 21:56 | 只看该作者
zhangmangui 发表于 2014-10-10 21:45
这个确实有感触    刚开始会遇到各种问题
慢慢就好了   加油吧

能不能问一下你can初始化的问题,一直没初始化成功啊。

使用特权

评论回复
10
悦待伊人| | 2014-12-23 15:26 | 只看该作者
TI官方有资料的

使用特权

评论回复
11
sunwen_xaut| | 2021-4-24 16:39 | 只看该作者
哥们,你的问题解决了没有。   我调试CAN也遇到同样的问题了,   低电平进CANRX就被拉高到了2V以上

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

13

帖子

0

粉丝