搜索
bottom↓
回复: 7

[讨论]68013串口调试出现的问题

[复制链接]

出0入0汤圆

发表于 2012-8-10 16:54:49 | 显示全部楼层 |阅读模式
68013固件用slavefifo模式进行数据发送,通过控制传输将设置参数,命令等少量数据让68013的串口1发送,现在用两块板子测试固件,一块只有68013的开发板,一块是带FPGA和68013板子。前者已经实现与pc通讯,后者出现了奇怪的现象:上电Cypress EZ_USB FX2(68013)-EEPROM missing,正确,烧68013固件出现sample usb,正确,再烧FPGA程序,又出现Cypress EZ_USB FX2(68013)-EEPROM missing,这是为什么?然后又做了另外个测试,不烧FPGA程序直接和PC通信,发现也通信不了,上位机点了发送之后就挂了,还有我不添加串口初始化及收发,固件和FPGA正常通信,找不到原因了。贴固件代码:
//串口,时钟初始化
void TD_Init( void )
{
    //时钟设置
    CPUCS = 0x12;  //48MHZ CLKOUT ENALBE
       
        IFCONFIG =0x43;//使用外部时钟,IFCLK输入不反向

        SYNCDELAY;
        EP2CFG=0xA2; //需要设定为四缓冲,每个缓冲区大小为512字节
        SYNCDELAY;
        EP4CFG=0x00;
        SYNCDELAY;
        EP6CFG=0xE2;
        SYNCDELAY;
        EP8CFG=0x00;
       
        SYNCDELAY;
        FIFORESET = 0x80;             // activate NAK-ALL to avoid race conditions
        SYNCDELAY;                    // see TRM section 15.14
        FIFORESET = 0x02;             // reset, FIFO 2
        SYNCDELAY;                    //
        FIFORESET = 0x06;             // reset, FIFO 6
        SYNCDELAY;                    //
        FIFORESET = 0x00;             // deactivate NAK-ALL
       
        SYNCDELAY;
        PINFLAGSAB = 0xE6;          // FLAGA - fixed EP6PF, FLAGB - fixed EP6FF
        SYNCDELAY;
        PINFLAGSCD = 0xf8;          // FLAGC - fixed EP2EF, FLAGD - reserved
        SYNCDELAY;
        PORTACFG |=  0x00;  //0x40;             // SLCS, set alt. func. of PA7 pin
        SYNCDELAY;
        FIFOPINPOLAR = 0x00;          // all signals active low,
        SYNCDELAY;

         OEA |= 0xFF;                                 
        // handle the case where we were already in AUTO mode...
        EP2FIFOCFG = 0x01;            // AUTOOUT=0, WORDWIDE=1
        SYNCDELAY;
       
        EP2FIFOCFG = 0x11;            // AUTOOUT=1, WORDWIDE=1
        SYNCDELAY;
       
       
        EP6FIFOCFG = 0x09;            // AUTOIN=1, ZEROLENIN=0, WORDWIDE=1
        SYNCDELAY;

        //IO设置
        PORTCCFG=0x00;
        PORTCCFG=0x00;
        PORTECFG=0x00;
        OEA=0xff;
        OEC=0x00;
        OEE=0xff;
        //串口初始化
        EA=1;       
        SCON1 = 0x50;
        SMOD1 = 0;
                 UART230 = 0x02;           //115200和时钟无关


        enum_high_speed=FALSE;

}

//控制传输的厂商请求
  case VEND_info:
        {
          EP0BCH = 0;
          EP0BCL = 0;
          while(EP0CS & bmEPBUSY);
          bc = EP0BCL;
          for(i=0;i<bc;i++)
          {               
                    
                          TI1 = 0;
                          SBUF1 = EP0BUF[ i ];
                        while( !TI1 );  
                        TI1 = 0;  

          }

          EP0CS |= bmHSNAK;
          break;
         }
另外 感谢amobss的大哥们,给了我很多帮助,在这里非常感谢大家

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2012-8-10 17:01:51 | 显示全部楼层
在串口初始化话的漏了一句ES1=1;开串口1中断

出0入442汤圆

发表于 2012-8-10 18:47:27 | 显示全部楼层
不烧FPGA果断挂啊。你是不是还没把FX2的手册看N遍?还有做的实验少?FX2启用外部时钟时,外部时钟必须先建立好!也就是说,FX2必须等待外部时钟稳定之后才能进入Slave FIFO模式,否则直接挂。

出0入0汤圆

 楼主| 发表于 2012-8-11 09:18:10 | 显示全部楼层
wye11083 发表于 2012-8-10 18:47
不烧FPGA果断挂啊。你是不是还没把FX2的手册看N遍?还有做的实验少?FX2启用外部时钟时,外部时钟必须先建 ...

IFCONFIG配置的外部时钟和内部时钟应该是针对slavefifo传输时的时钟吧?和串口应该没关系吧?我把它配置成48M内部的,照样挂。。。。

出0入0汤圆

 楼主| 发表于 2012-8-11 09:56:38 | 显示全部楼层
wye11083 发表于 2012-8-10 18:47
不烧FPGA果断挂啊。你是不是还没把FX2的手册看N遍?还有做的实验少?FX2启用外部时钟时,外部时钟必须先建 ...

先烧FPGA程序之后,重枚举都正常,感觉问题是出在厂商请求那边,应该是挂在厂商请求循环,上位机没收到控制传输的握手信号才挂的,可是中断我都开了,TI1应该会自动置1

出0入442汤圆

发表于 2012-8-11 17:47:04 | 显示全部楼层
我没遇到过你的情况。厂商请求那里不会挂。你还是哪里没配置好。你检查你的循环是否正确。同样是FX2,为什么我的就没有一点问题?就你的老是这那那这的毛病?还是你的程序有问题。

出0入0汤圆

 楼主| 发表于 2012-8-13 15:44:57 | 显示全部楼层
wye11083 发表于 2012-8-11 17:47
我没遇到过你的情况。厂商请求那里不会挂。你还是哪里没配置好。你检查你的循环是否正确。同样是FX2,为什 ...

经过排查,程序停在while(!TI);这里,TI1没自动置一,串口是方式1,怎么会没发完呢?的确我是初学,个人问题比较多,但是这些提出来的问题我自己也推敲过,实在没思路了才拿上来的,麻烦到你了,不好意思

出0入0汤圆

发表于 2012-12-29 09:21:06 | 显示全部楼层
楼主,您好,在阿莫上看到你也遇到了68013串口的问题,我现在也碰到了串口与固件框架一起调试用的时候,不进入串口中断,现在串口可以发,但不能串口中断进行收数据,框架内需要做些什么设置吗,还望指教。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 07:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表