嵌入式开发者社区

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

作者: librally    时间: 2018-9-5 20:16
标题: 对l138与fpga通信例程tl-devmem2的复现与使用
硬件平台:omapl38F核心板;
+ z' `/ a, I# J, N7 N$ |复现方式:按照pdf:omapl38基于emifa总线与FPGA的通信测试进行例程复现,并将写数据部分提取出来进行使用;
7 Q. }! f) V0 j0 C$ J5 M: \% \问题:在对fpga这边数据进行抓包观察时发现:
3 d4 v- W5 [/ [) j" s( V1、16根数据线仅有低八位在使用,高八位置一,当传输16bit数据时,会将两个字节按先小端后大端的顺序从低八位数据线按序输出;3 m/ G! u' ]- z+ A
2、同时地址线只有addr1,addr2,addr3三根是有效的,其他线长期置一,并且地址线并不随数据变化而变化,而是每隔8到11个写使能而进一位;$ g5 K" g4 B- N6 o
3、emifa_clk时钟线并不能作为时钟提供给fpga,在对fpga另加其他时钟并对emifa_clk进行抓包时现象为长期置高;
/ n" \1 K$ M, |  u9 S( q1 B) ^4、片选emifa_cs2和写使能emifa_we的拉低时间比并不符合dsp与fpga通信时的2,3,2关系,请问arm与fpga通信时这个时序是什么,同时其依靠的时钟是多大,还是114MHz吗?5 g0 N; j5 t. @% e( n

作者: Tronlong-陈工    时间: 2018-9-7 15:39
你好,针对您的问题有一下疑问:
* j, \  @& u1 g, v! f/ c$ K0 I
1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?) Z7 [3 }! g0 S" Z
2.是否有确认过FPGA端的程序与DSP端的程序数据传输的位数是否匹配?
: E  h7 ]2 g; T5 x- g' v
" P: {1 @/ E) R9 f+ ?
作者: librally    时间: 2018-9-7 16:26
Tronlong-陈工 发表于 2018-9-7 15:39
0 e% p/ t# {) X8 `: j# O& X5 v2 j你好,针对您的问题有一下疑问:0 \0 P" U+ T* N# x; q

- \+ \0 Q2 d9 |- m1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?
# S3 ?8 L' }. W0 B
使用的是arm的例程tl_devmem2(贴的图是修改过的程序,写使能中间的长时间时序是由于arm端打印每次数据造成的);我没有用核心板上的DSP,只用了arm和fpga
作者: Tronlong-陈工    时间: 2018-9-7 17:06
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》" y; H0 r! s% V

作者: librally    时间: 2018-9-7 20:43
Tronlong-陈工 发表于 2018-9-7 17:065 M4 s. |0 {( `5 Z8 Y9 X, l
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...
% V/ `% @/ V* E" T3 J! n4 m" Z
就是按照那个文档操作的,然后发现采用m或者h模式的时候数据线和地址线出现了上述现象。采用b时地址线出现上述现象+ V4 d- R: P0 B3 x. X! \/ F, T  O, y6 I0 F

作者: librally    时间: 2018-9-17 17:09
Tronlong-陈工 发表于 2018-9-7 17:06
  K2 d- r8 R  ?! v  P) X数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...

; G" J; }- [* Q  e' X陈工,这个问题咱们创龙有没有解决方案啊,为什么ARM和fpga通信时只能用8根数据线啊,而且地址线完全和数据不匹配,而且arm进行写操作基于的时钟是多少啊?麻烦您解答一下呗) L* R! k3 u- e- f4 y7 x

作者: 广州创龙莫工    时间: 2018-9-29 10:46
您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看一下。
作者: librally    时间: 2018-11-10 16:06
广州创龙莫工 发表于 2018-9-29 10:46
8 r1 o' [" G& ]: [# n- N3 t. J, B您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看 ...
; o8 D$ K( H' D, S, b* e+ n
采用的OMAP-L138F上ARM与FPGA数据传输程序基于文件《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》。& n- F$ K  n) d. k
  F8 L, O3 h4 M0 i8 X# {: G. ~% H
现在遇到的问题:
* H9 F& V1 q* T9 V4 f( K1 t1、16bit数据线高八位没有初始化,传输只采用低八位数据线,且16bit的数据会在低八位数据线分成两个8bit数发出;
  _' e" V' @* _/ P3 C3 |2、地址线仅有低三位初始化,且变化方式与读使能不同步;emifa_ba1无变化;/ I  s; I/ a& Q0 e

+ M3 q0 C5 @, G, ?现象:
) R$ y/ A% E$ t4 }1、linux端运行./tl-devmem2 0x60000000 256 m 52428(1100110011001100)FPGA端现象
( ^# f; ?8 W% I3 z- q6 mG:\EMIF问题\输入(m52428)- Z5 J( ~: T$ {* _" f
G:\EMIF问题\m52428addr
. g% K6 f* R9 E% W2 ~: [- |' B2、linux端运行./tl-devmem2 0x60000000 256 h 52428(1100110011001100)FPGA端现象, H+ `& l% a+ X( n0 O+ @: u! u
G:\EMIF问题\输入(h52428)G:\EMIF问题\h52428addr9 v0 Q" u- }) [" `( K; ^" X) K

作者: librally    时间: 2018-11-10 16:09
[attach]4297[/attach][attach]4298[/attach]
6 {) v) V2 x6 n& Z2 j: z[attach]4299[/attach]5 P- l- w2 X. J8 V+ c9 T# F
[attach]4300[/attach]
6 m% m0 `1 C$ \; v" ~
3 x' D8 ^! I7 I
作者: 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日)
6 J7 n, J' ~- [5 _& C0 _. l
( h1 d; G. l/ N. ^8 c1 B$ G* s[attach]4376[/attach]: ?8 O. }; M7 \5 u5 L6 y
# c) D5 U( q3 p) m0 |, f





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