打印
[FPGA]

68013数据传输不稳定,求解!!!

[复制链接]
1016|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 kangqiao004 于 2020-5-14 11:20 编辑

大神们,
    问题描述:
    1 、原理图参照黑金的板子设计。FPGA+68013采集ADC数据,音频数据(192Khz采样率,1Khz波形,32bit,双声道),数据量不大。
   2、PCM接口采集1Khz的波形,送到FIFO,再到68013,最终送到PC处理绘制出1Khz波形。 持续采集时,会出现多数据的现象。(如附件图示。)     3、68013晶振用的24Mhz 10ppm,12pF电容,示波器上看波形还算正常。IFCLK输出48Mhz频率到FPGA。(FPGA侧接SRCC n脚,设置约束后可以使用)。
    4、FPGA板载50Mhz晶振,经过两级PLL,50Mhz--->48Mhz--->24.576Mhz(音频所需)。
    5、PCM 接口MCLK=24.576Mhz,BICK=12.288Mhz,LRCK=192Khz,FIFO写侧时钟用BICK,读侧时钟用IFCLK。
    求解,有哪些点可以排查此问题? (PS:异常点通常在采集十几万个数据或者几十万个数据才会出现)

2.JPG (337.07 KB )

2.JPG

使用特权

评论回复

相关帖子

沙发
kangqiao004|  楼主 | 2020-4-1 08:02 | 只看该作者

问题还是在FPGA和68013通信代码上。修改后没有再出现多数据现象。但是出现新的问题,无法清除残余在68013中的少量数据。

使用特权

评论回复
板凳
kangqiao004|  楼主 | 2020-5-11 10:10 | 只看该作者
问题:FPGA中pkt_end处理不合理导致的。
解决方法:不提供pkt_end信号,pkt_end一直给HIGH,数据以512字节为单位发送,不够512字节的补零。只要填满68013内的fifo,上位机就可以读取到数据。

使用特权

评论回复
地板
GavinZ| | 2020-5-12 23:15 | 只看该作者
kangqiao004 发表于 2020-5-11 10:10
问题:FPGA中pkt_end处理不合理导致的。
解决方法:不提供pkt_end信号,pkt_end一直给HIGH,数据以512字节 ...

使用pkend可以提前让68013上传数据,我就是这么用的,比如我有时只上传2Byte,就得用pkend。没遇到过错误数据。

使用特权

评论回复
5
kangqiao004|  楼主 | 2020-5-13 10:02 | 只看该作者
GavinZ 发表于 2020-5-12 23:15
使用pkend可以提前让68013上传数据,我就是这么用的,比如我有时只上传2Byte,就得用pkend。没遇到过错误 ...

我还没有掌握好怎么使用pkt end信号。望指教
如果用了pkt end信号传输少量数据,比如几个byte。再切换到持续传大量数据,就会出错。

另外,我想68013是不是可以更改固件以清空内部fifo,比如利用INT管脚产生中断以清楚所有fifo?

使用特权

评论回复
6
触觉的爱| | 2020-5-13 17:22 | 只看该作者
CY68013看着眼熟 CY7C68013…… 这芯片出来 N久了,也没个国产的能完美替换吗?

这讨论中说到芯片型号,要么省掉前缀或者后缀,如68013。 要么就说完整的型号,这省掉中间部分……

使用特权

评论回复
7
kangqiao004|  楼主 | 2020-5-13 18:50 | 只看该作者
GavinZ 发表于 2020-5-12 23:15
使用pkend可以提前让68013上传数据,我就是这么用的,比如我有时只上传2Byte,就得用pkend。没遇到过错误 ...

是否有固件工程可以分享一下,我用的黑金的固件工程

使用特权

评论回复
8
kangqiao004|  楼主 | 2020-5-13 19:48 | 只看该作者
触觉的爱 发表于 2020-5-13 17:22
CY68013看着眼熟 CY7C68013…… 这芯片出来 N久了,也没个国产的能完美替换吗?

这讨论中 ...

有道理,改正

使用特权

评论回复
9
wsmysyn| | 2020-5-14 17:01 | 只看该作者
触觉的爱 发表于 2020-5-13 17:22
CY68013看着眼熟 CY7C68013…… 这芯片出来 N久了,也没个国产的能完美替换吗?

这讨论中 ...

完美替换,可能不行,有可以替换的国产,之前我们做过,
可以用,就这样

全称是CY7C68013A,再往后就是-56PVXC/-56LTXC/-100AXC/-128AXC
说这么长太麻烦了

使用特权

评论回复
10
GavinZ| | 2020-5-14 20:16 | 只看该作者
kangqiao004 发表于 2020-5-13 10:02
我还没有掌握好怎么使用pkt end信号。望指教
如果用了pkt end信号传输少量数据,比如几个by ...

它是可以编程的。不知道你的固件怎么配置了它,网站有技术参考手册,里面有寄存器配置说明,看一下你的固件,得清楚它的参数。你跟我使用的固件很可能不同,所以我的操作方式可能不适合你的固件。

使用特权

评论回复
11
GavinZ| | 2020-5-14 20:18 | 只看该作者
kangqiao004 发表于 2020-5-13 18:50
是否有固件工程可以分享一下,我用的黑金的固件工程

官网上就有固件的。不用我共享,原厂已经放在那里了。

使用特权

评论回复
12
GavinZ| | 2020-5-14 20:25 | 只看该作者
本帖最后由 GavinZ 于 2020-5-14 21:00 编辑
kangqiao004 发表于 2020-5-13 10:02
我还没有掌握好怎么使用pkt end信号。望指教
如果用了pkt end信号传输少量数据,比如几个by ...

黑金的固件我几个星期前第一次用68013使用的就是这个,不过后来我重新配置了一下。
黑金的配置我知道,flagA是out端点的有数据标识;但是没有in端点的full标识,所以你必须512B长度传输,并且下一次传输需要上位机给出指令,不然可能fifo被你灌满了。
还有你描述问题不清楚:比如多用数字说话,大数据量是多大?在什么位置出错等等。

使用特权

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

本版积分规则

20

主题

61

帖子

3

粉丝