嵌入式开发者社区

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

作者: librally    时间: 2018-9-5 20:16
标题: 对l138与fpga通信例程tl-devmem2的复现与使用
硬件平台:omapl38F核心板;
4 S7 E1 z3 M1 }6 o复现方式:按照pdf:omapl38基于emifa总线与FPGA的通信测试进行例程复现,并将写数据部分提取出来进行使用;
# b9 N+ m% J/ M2 [问题:在对fpga这边数据进行抓包观察时发现:
! O. u2 f0 M) K/ C( ], o, j1、16根数据线仅有低八位在使用,高八位置一,当传输16bit数据时,会将两个字节按先小端后大端的顺序从低八位数据线按序输出;
- M, K: v  F9 q, j2、同时地址线只有addr1,addr2,addr3三根是有效的,其他线长期置一,并且地址线并不随数据变化而变化,而是每隔8到11个写使能而进一位;3 a6 W- t+ I3 |) y; G6 ]
3、emifa_clk时钟线并不能作为时钟提供给fpga,在对fpga另加其他时钟并对emifa_clk进行抓包时现象为长期置高;  A! f+ t- |; s5 D$ @
4、片选emifa_cs2和写使能emifa_we的拉低时间比并不符合dsp与fpga通信时的2,3,2关系,请问arm与fpga通信时这个时序是什么,同时其依靠的时钟是多大,还是114MHz吗?% x+ W$ }7 [7 I# S- r

作者: Tronlong-陈工    时间: 2018-9-7 15:39
你好,针对您的问题有一下疑问:
7 d5 J2 ^' h" e4 H
3 e1 G. g! L5 P5 S* k6 U1 I1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?
+ Z( L: B/ g' _9 H$ T' j5 N: d7 Q2.是否有确认过FPGA端的程序与DSP端的程序数据传输的位数是否匹配?
" u' N! z# ^8 o; y6 H( Z
) S' v3 {/ O, m! ]2 q/ ]- e
作者: librally    时间: 2018-9-7 16:26
Tronlong-陈工 发表于 2018-9-7 15:39
" [5 l4 @) Z2 r+ I( C* ?你好,针对您的问题有一下疑问:$ `2 b0 H2 G# I, R- c
5 ^3 S9 y7 O1 d6 z
1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?
0 Y( k6 W( X8 F, w6 @, U+ C/ b
使用的是arm的例程tl_devmem2(贴的图是修改过的程序,写使能中间的长时间时序是由于arm端打印每次数据造成的);我没有用核心板上的DSP,只用了arm和fpga
作者: Tronlong-陈工    时间: 2018-9-7 17:06
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》2 y% `2 u/ z0 l/ R* F5 Q; o

作者: librally    时间: 2018-9-7 20:43
Tronlong-陈工 发表于 2018-9-7 17:06* K, B, G+ ]3 _; a6 k" Y& n
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...

3 y8 l& l5 t! E  P就是按照那个文档操作的,然后发现采用m或者h模式的时候数据线和地址线出现了上述现象。采用b时地址线出现上述现象
$ D3 @4 O$ V8 ?% k4 I
作者: librally    时间: 2018-9-17 17:09
Tronlong-陈工 发表于 2018-9-7 17:064 Q4 y  T- r2 S3 b$ z5 S
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...

, P* y4 R/ y% m. v$ O$ X& y  `% W$ N陈工,这个问题咱们创龙有没有解决方案啊,为什么ARM和fpga通信时只能用8根数据线啊,而且地址线完全和数据不匹配,而且arm进行写操作基于的时钟是多少啊?麻烦您解答一下呗
6 _' O; T  N( B* g& v" Z  @, j* ]. n" Q
作者: 广州创龙莫工    时间: 2018-9-29 10:46
您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看一下。
作者: librally    时间: 2018-11-10 16:06
广州创龙莫工 发表于 2018-9-29 10:46
6 T4 P3 _0 n3 }4 [7 E$ {您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看 ...
! c, N+ h: w3 d
采用的OMAP-L138F上ARM与FPGA数据传输程序基于文件《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》。
; ^3 I* |1 Z' N. P* D0 f$ f* M. M. d/ a) u
现在遇到的问题:
' [( L% W$ k: J( R7 N; K, A1、16bit数据线高八位没有初始化,传输只采用低八位数据线,且16bit的数据会在低八位数据线分成两个8bit数发出;6 a' H# n/ R: j8 y  ?
2、地址线仅有低三位初始化,且变化方式与读使能不同步;emifa_ba1无变化;
% P9 R/ x2 {  E/ z% F  @
  q( k; o. z3 D, Y5 Y现象:/ Z( J; K& V$ C$ D+ Y
1、linux端运行./tl-devmem2 0x60000000 256 m 52428(1100110011001100)FPGA端现象  O& {9 b! g( G4 n
G:\EMIF问题\输入(m52428)
3 g# @, N( D' M# PG:\EMIF问题\m52428addr
* |& Z# |9 R5 M0 {2、linux端运行./tl-devmem2 0x60000000 256 h 52428(1100110011001100)FPGA端现象5 D6 \- _; r3 N, v, v- `4 c. l
G:\EMIF问题\输入(h52428)G:\EMIF问题\h52428addr
1 ?4 h$ Y% x/ t0 c9 e2 ^
作者: librally    时间: 2018-11-10 16:09
[attach]4297[/attach][attach]4298[/attach]9 {9 U; z  z  U/ t; [
[attach]4299[/attach]" z5 J! I, r  _
[attach]4300[/attach]* U5 l, `$ x/ J, _

! A% r$ s; D- K' n
作者: 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日)
! Q5 q; K( R+ W; S8 X2 B) P; [' I- L; r$ Y3 d% n& F
[attach]4376[/attach]  `' p3 H( n% D* v/ Q* |
$ x1 D8 N; ^! \2 U) ~% l  Q





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