嵌入式开发者社区

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

作者: librally    时间: 2018-9-5 20:16
标题: 对l138与fpga通信例程tl-devmem2的复现与使用
硬件平台:omapl38F核心板;9 K% O2 i5 w# g9 f
复现方式:按照pdf:omapl38基于emifa总线与FPGA的通信测试进行例程复现,并将写数据部分提取出来进行使用;6 Q: }8 I% P- |7 H3 E
问题:在对fpga这边数据进行抓包观察时发现:
4 M# w( j! ^+ F4 Z( }; v# W7 H1、16根数据线仅有低八位在使用,高八位置一,当传输16bit数据时,会将两个字节按先小端后大端的顺序从低八位数据线按序输出;
) m4 ]$ h8 [1 U) X1 q2、同时地址线只有addr1,addr2,addr3三根是有效的,其他线长期置一,并且地址线并不随数据变化而变化,而是每隔8到11个写使能而进一位;( j6 \" X" y* b
3、emifa_clk时钟线并不能作为时钟提供给fpga,在对fpga另加其他时钟并对emifa_clk进行抓包时现象为长期置高;2 P8 ]$ a) n; ^1 d5 }
4、片选emifa_cs2和写使能emifa_we的拉低时间比并不符合dsp与fpga通信时的2,3,2关系,请问arm与fpga通信时这个时序是什么,同时其依靠的时钟是多大,还是114MHz吗?
: ^  B' {; v6 G& j
作者: Tronlong-陈工    时间: 2018-9-7 15:39
你好,针对您的问题有一下疑问:* h9 q! v3 u5 n/ G
! W( {6 D4 D$ y9 J( w8 B
1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?
7 P1 V, V' t/ l* G2.是否有确认过FPGA端的程序与DSP端的程序数据传输的位数是否匹配?
4 T: Z" |" C0 P5 k4 ]3 A
2 W7 |& `  O; I' ?
作者: librally    时间: 2018-9-7 16:26
Tronlong-陈工 发表于 2018-9-7 15:390 K8 f% y" T: D5 x0 d  q4 ^
你好,针对您的问题有一下疑问:
0 S4 W8 k4 k$ P7 \  A' P
  M& K* S5 ^# i7 `1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?
9 m% ?6 n/ U1 `! i1 X
使用的是arm的例程tl_devmem2(贴的图是修改过的程序,写使能中间的长时间时序是由于arm端打印每次数据造成的);我没有用核心板上的DSP,只用了arm和fpga
作者: Tronlong-陈工    时间: 2018-9-7 17:06
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》
. k# G. g& ?' x$ {, D
作者: librally    时间: 2018-9-7 20:43
Tronlong-陈工 发表于 2018-9-7 17:064 ?2 y! F/ I2 n$ G( e; J
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...
( J' J% g7 l0 ~  h6 \
就是按照那个文档操作的,然后发现采用m或者h模式的时候数据线和地址线出现了上述现象。采用b时地址线出现上述现象9 m* n7 ^( `1 n# b9 P4 C. A: q) s

作者: librally    时间: 2018-9-17 17:09
Tronlong-陈工 发表于 2018-9-7 17:06# Z: K7 u0 h6 V$ Q7 P
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...

/ Y4 g  q& c8 [陈工,这个问题咱们创龙有没有解决方案啊,为什么ARM和fpga通信时只能用8根数据线啊,而且地址线完全和数据不匹配,而且arm进行写操作基于的时钟是多少啊?麻烦您解答一下呗
0 N' Q) t8 ]  `2 G" J
作者: 广州创龙莫工    时间: 2018-9-29 10:46
您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看一下。
作者: librally    时间: 2018-11-10 16:06
广州创龙莫工 发表于 2018-9-29 10:46
" |+ _  [( b( U: i* v1 R您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看 ...

1 K2 |; R+ O: }! Q采用的OMAP-L138F上ARM与FPGA数据传输程序基于文件《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》。
+ e) G, H! m. |; ^- g* l2 a0 w
9 l8 p5 r; r! t  I0 C# `现在遇到的问题:
; A$ I$ _$ T/ f0 V  @1、16bit数据线高八位没有初始化,传输只采用低八位数据线,且16bit的数据会在低八位数据线分成两个8bit数发出;
( y/ f4 f2 m2 ]" G; |# R$ s5 O2 N2、地址线仅有低三位初始化,且变化方式与读使能不同步;emifa_ba1无变化;" d& D+ U  }% a: {; p9 i( j

, m0 j& A$ u5 T8 U; O- V8 W  U现象:5 H$ F* p  C" l7 C
1、linux端运行./tl-devmem2 0x60000000 256 m 52428(1100110011001100)FPGA端现象
8 H4 c5 e$ k5 K) m# fG:\EMIF问题\输入(m52428)/ F4 n) D6 j' g, e
G:\EMIF问题\m52428addr
+ k! @: C3 P9 l2、linux端运行./tl-devmem2 0x60000000 256 h 52428(1100110011001100)FPGA端现象8 g3 D: [1 e- `) e. X
G:\EMIF问题\输入(h52428)G:\EMIF问题\h52428addr
$ o6 Z* H$ A3 H5 h& c
作者: librally    时间: 2018-11-10 16:09
[attach]4297[/attach][attach]4298[/attach]
9 c$ L( y0 W5 K6 [[attach]4299[/attach]
# ]( h5 X4 |" j- r/ t! X5 @[attach]4300[/attach]
; I& e# Y9 T- S
9 E9 p8 x% [" E  b+ W' q* p  ]
作者: 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日)# X( _' n4 k- R% Z/ }3 O
4 l" s6 e: n7 e! x
[attach]4376[/attach]
. {' ^5 i4 o( s% B5 x+ u
, s8 v5 v: j5 h1 t% h4 z4 H! d




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