嵌入式开发者社区

标题: upp通信 行大小问题 [打印本页]

作者: lzmonkey    时间: 2018-8-30 10:19
标题: upp通信 行大小问题
#define upp_line_size        (1024)
#define upp_line_count       (1024)
#define upp_frame_size       (upp_line_size * upp_line_count)
#define upp_line_offset      (upp_line_size)

使用上面的设置接收fpga发送的数据,fpga一个start信号发送32768字节的数据,超过linesize的部分会丢失,想要把upp_line_size  的值调大一些,upp手册上只说明 upp_line_offset  必须小于65528(Line Offset Address (UPxD2.LNOFFSET) – The offset address between the first byte in successive lines. The line offset address cannot exceed 65528 (FFF8h) bytes, and must be aligned to a 64-bit boundary in memory (that is, the 3 LSBs must equal 0).   )
是不是可以认为upp_line_size       小于65528就是可以的?

试着把upp_line_size  设置成32768 ,观察内存中的值都是0,一次数据都没接收到,请问是哪里的问题。     


作者: human    时间: 2018-9-4 16:48
看看是不是DMA中断没有产生,数据没有搬运。
作者: lzmonkey    时间: 2018-9-5 09:05
human 发表于 2018-9-4 16:48
看看是不是DMA中断没有产生,数据没有搬运。

您好,确实是没有中断产生,我试了自己的过程和例程代码,把行的长度设置的偏大我自己的代码只有一次中断,例程没有中断产生,实际的数据量应该可以触发10次eow中断,比较纳闷为什么修改行大小会影响中断,现在我是把行大小设置小了看起来是正常的,想问下有没有办法能查出没有中断的原因。
作者: lzmonkey    时间: 2018-9-5 09:12
human 发表于 2018-9-4 16:48
看看是不是DMA中断没有产生,数据没有搬运。

您好,确实是没有中断产生,我试了自己的过程和例程代码,把行的长度设置的偏大我自己的代码只有一次中断,例程没有中断产生,实际的数据量应该可以触发10次eow中断,比较纳闷为什么修改行大小会影响中断,现在我是把行大小设置小了看起来是正常的,想问下有没有办法能查出没有中断的原因。




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4