嵌入式开发者社区

标题: 对l138与fpga通信例程tl-devmem2的复现与使用 [打印本页]

作者: librally    时间: 2018-9-5 20:16
标题: 对l138与fpga通信例程tl-devmem2的复现与使用
硬件平台:omapl38F核心板;9 @6 u; p+ z+ F6 V1 N4 J
复现方式:按照pdf:omapl38基于emifa总线与FPGA的通信测试进行例程复现,并将写数据部分提取出来进行使用;
$ J/ _. f2 g: u0 _" Z' N问题:在对fpga这边数据进行抓包观察时发现:
" Z. f, p& n9 z! t/ l# N1、16根数据线仅有低八位在使用,高八位置一,当传输16bit数据时,会将两个字节按先小端后大端的顺序从低八位数据线按序输出;
& |  T0 W5 k4 G2、同时地址线只有addr1,addr2,addr3三根是有效的,其他线长期置一,并且地址线并不随数据变化而变化,而是每隔8到11个写使能而进一位;
1 ~$ e+ j  `7 E1 o  c3、emifa_clk时钟线并不能作为时钟提供给fpga,在对fpga另加其他时钟并对emifa_clk进行抓包时现象为长期置高;8 M6 y+ G* k: a5 H  t
4、片选emifa_cs2和写使能emifa_we的拉低时间比并不符合dsp与fpga通信时的2,3,2关系,请问arm与fpga通信时这个时序是什么,同时其依靠的时钟是多大,还是114MHz吗?! w% Z3 O: x0 Z

作者: Tronlong-陈工    时间: 2018-9-7 15:39
你好,针对您的问题有一下疑问:
. Z3 V$ e9 Q/ ?0 s" N7 ]8 X8 B3 O) G- Z* i! i' g
1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?
: s* {0 w8 u5 x) b* l: V+ Q2.是否有确认过FPGA端的程序与DSP端的程序数据传输的位数是否匹配?
( i# n  d! n1 J% p
  W4 p& U0 D! X" \  C+ h! e
作者: librally    时间: 2018-9-7 16:26
Tronlong-陈工 发表于 2018-9-7 15:39- `% l' S0 {1 G& ?8 W1 m
你好,针对您的问题有一下疑问:0 ^! B/ C* n: j5 N

1 n' a) M% Z3 i$ u' g1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?

/ Z$ p  i! C5 C: D4 i0 O使用的是arm的例程tl_devmem2(贴的图是修改过的程序,写使能中间的长时间时序是由于arm端打印每次数据造成的);我没有用核心板上的DSP,只用了arm和fpga
作者: Tronlong-陈工    时间: 2018-9-7 17:06
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》7 p- q# I+ c- x5 E: u8 Z

作者: librally    时间: 2018-9-7 20:43
Tronlong-陈工 发表于 2018-9-7 17:06! ^3 p. l3 B* b3 i# q0 }
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...
( j/ P* H, L0 @6 W* S
就是按照那个文档操作的,然后发现采用m或者h模式的时候数据线和地址线出现了上述现象。采用b时地址线出现上述现象1 J" o% Z, _# x; H; G

作者: librally    时间: 2018-9-17 17:09
Tronlong-陈工 发表于 2018-9-7 17:06
# @0 N! s5 H. ~% _9 o" s7 G8 \7 P6 B0 q数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...

2 X5 l5 O0 X# g4 R9 U3 ~陈工,这个问题咱们创龙有没有解决方案啊,为什么ARM和fpga通信时只能用8根数据线啊,而且地址线完全和数据不匹配,而且arm进行写操作基于的时钟是多少啊?麻烦您解答一下呗
" y) l2 p# d8 c% b0 `5 ?
作者: 广州创龙莫工    时间: 2018-9-29 10:46
您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看一下。
作者: librally    时间: 2018-11-10 16:06
广州创龙莫工 发表于 2018-9-29 10:46
* N! s2 ~/ |" \( P. s+ J您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看 ...

2 l9 t8 ~1 ^7 l) ?采用的OMAP-L138F上ARM与FPGA数据传输程序基于文件《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》。
& f$ g6 v9 R% g( ~" Y2 |% X* _- O6 [6 U) g+ w  M, X) h7 S
现在遇到的问题:
4 k0 u8 |; Z* t" x6 T1、16bit数据线高八位没有初始化,传输只采用低八位数据线,且16bit的数据会在低八位数据线分成两个8bit数发出;
$ C4 M# r# g. K/ r9 q2、地址线仅有低三位初始化,且变化方式与读使能不同步;emifa_ba1无变化;5 a; y8 a( o- u9 A2 M  O6 r
+ ~, T5 Z9 E5 W' U( G% ~9 o/ d
现象:0 r8 C+ H0 w" |. [/ B, \% m/ i
1、linux端运行./tl-devmem2 0x60000000 256 m 52428(1100110011001100)FPGA端现象
  h" k+ o8 \. w7 D8 SG:\EMIF问题\输入(m52428)# b5 {: I5 o% q. }+ E
G:\EMIF问题\m52428addr
. A7 s8 C  y, b( t2、linux端运行./tl-devmem2 0x60000000 256 h 52428(1100110011001100)FPGA端现象
, e: R2 O3 K! K; `, [, uG:\EMIF问题\输入(h52428)G:\EMIF问题\h52428addr' i; o, `0 b% Q7 a1 s2 C; S! A

作者: librally    时间: 2018-11-10 16:09
[attach]4297[/attach][attach]4298[/attach]* M. p. w  M0 `
[attach]4299[/attach]
# u/ F' n2 {4 |8 V! u[attach]4300[/attach]
6 c) a4 g5 F  S2 ^. R& |+ w' \/ v; D" P- ~' U; @& M. \- u7 M, c

作者: Tronlong-陈工    时间: 2018-11-22 12:02
你好,emif的问题我们这边基本确认了。除了fpga端下载bit文件之后运行这几条指令再发送数据以外,需要加载这个驱动:tl138evm-emifa-sram,还有两个情况::1.tl138evm-emifa-sram这个驱动有bug,导致地址发送出错。2.FPGA端的程序也有点问题,频率太高,通信会出错。。以上的问题我们会在V2.1版本(目前使用的是2.0内核)更新完善上去。并且修改emif的FPGA端程序。新版本的内核发布时间是下周五(11月30日)
5 z' P9 y% X0 s2 @- x6 z2 ~2 W/ P# R/ _" D; V5 S9 z0 f. A! e
[attach]4376[/attach]7 F- m% {/ Z7 y# ~: ?; ]3 Z+ M/ o

0 E$ Y+ [4 ~4 p3 Q/ b- K5 Z




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