嵌入式开发者社区

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

作者: librally    时间: 2018-9-5 20:16
标题: 对l138与fpga通信例程tl-devmem2的复现与使用
硬件平台:omapl38F核心板;
3 N$ F& j% d( [  l4 G复现方式:按照pdf:omapl38基于emifa总线与FPGA的通信测试进行例程复现,并将写数据部分提取出来进行使用;
# y7 H2 a1 c; }4 z8 ]+ G! `; z问题:在对fpga这边数据进行抓包观察时发现:
+ ]9 p; o: t9 K: s1、16根数据线仅有低八位在使用,高八位置一,当传输16bit数据时,会将两个字节按先小端后大端的顺序从低八位数据线按序输出;/ [+ P% U  {6 G7 f0 H
2、同时地址线只有addr1,addr2,addr3三根是有效的,其他线长期置一,并且地址线并不随数据变化而变化,而是每隔8到11个写使能而进一位;1 q, F- {0 E) d
3、emifa_clk时钟线并不能作为时钟提供给fpga,在对fpga另加其他时钟并对emifa_clk进行抓包时现象为长期置高;3 l- m, F9 |2 {  U5 N
4、片选emifa_cs2和写使能emifa_we的拉低时间比并不符合dsp与fpga通信时的2,3,2关系,请问arm与fpga通信时这个时序是什么,同时其依靠的时钟是多大,还是114MHz吗?! Y& K; _1 ~8 o* Q6 y

作者: Tronlong-陈工    时间: 2018-9-7 15:39
你好,针对您的问题有一下疑问:
4 {. T$ F+ d1 M* f8 d
+ Y1 J0 y$ M0 v; s, D1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?; Q5 n4 E2 S. X0 c0 C" B) Y
2.是否有确认过FPGA端的程序与DSP端的程序数据传输的位数是否匹配?
( i" u4 b$ y! \0 E3 E$ P- k# N0 n" ?% _, m$ `# v' I4 W3 m

作者: librally    时间: 2018-9-7 16:26
Tronlong-陈工 发表于 2018-9-7 15:39# }7 W! b! i- ^0 l' {; v( Q
你好,针对您的问题有一下疑问:  ]& j6 z- _5 }
4 W- y6 {) ?" B( \% ~; Q# R9 V7 x
1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?

# ^  m* k0 B& z* x" A8 A使用的是arm的例程tl_devmem2(贴的图是修改过的程序,写使能中间的长时间时序是由于arm端打印每次数据造成的);我没有用核心板上的DSP,只用了arm和fpga
作者: Tronlong-陈工    时间: 2018-9-7 17:06
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》
2 f3 A% [) D2 p; Q7 I- d4 N$ g- E
作者: librally    时间: 2018-9-7 20:43
Tronlong-陈工 发表于 2018-9-7 17:06
" _  d9 e/ K; P  `# [4 h数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...
8 S' J' B! r9 M- b) v! x' o
就是按照那个文档操作的,然后发现采用m或者h模式的时候数据线和地址线出现了上述现象。采用b时地址线出现上述现象4 i# J: S" o* }! E, l

作者: librally    时间: 2018-9-17 17:09
Tronlong-陈工 发表于 2018-9-7 17:062 n) N. [# ?  H7 L7 L
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...
% ^; Z; P9 l0 i" S2 o
陈工,这个问题咱们创龙有没有解决方案啊,为什么ARM和fpga通信时只能用8根数据线啊,而且地址线完全和数据不匹配,而且arm进行写操作基于的时钟是多少啊?麻烦您解答一下呗, ^4 @3 {& k2 A9 c$ I, R  }+ {

作者: 广州创龙莫工    时间: 2018-9-29 10:46
您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看一下。
作者: librally    时间: 2018-11-10 16:06
广州创龙莫工 发表于 2018-9-29 10:460 f6 L# ?0 j8 w  K
您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看 ...
3 J' S1 e, `" P2 w# ^
采用的OMAP-L138F上ARM与FPGA数据传输程序基于文件《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》。' W$ Y) k' _) j5 C; _  v

0 g8 Y. M9 k* u现在遇到的问题:
/ Q* K+ u$ A" ^* R6 }  F1、16bit数据线高八位没有初始化,传输只采用低八位数据线,且16bit的数据会在低八位数据线分成两个8bit数发出;
/ F1 y' O! a; X6 |2、地址线仅有低三位初始化,且变化方式与读使能不同步;emifa_ba1无变化;6 V5 p# j, h' S4 p5 j

. c! D: ]$ N" h3 |现象:0 v2 ?! V( X- x5 F3 M$ j& S" Y
1、linux端运行./tl-devmem2 0x60000000 256 m 52428(1100110011001100)FPGA端现象) ~& X- S8 @# L+ j  }( A
G:\EMIF问题\输入(m52428)
' r- R; Y, P; lG:\EMIF问题\m52428addr
/ ^" t5 [: e; T: ~  K1 ?2、linux端运行./tl-devmem2 0x60000000 256 h 52428(1100110011001100)FPGA端现象% c+ u6 ~6 B7 Y/ C' k7 @
G:\EMIF问题\输入(h52428)G:\EMIF问题\h52428addr
$ S0 u& c, \0 U1 }3 e% _+ q4 {
作者: librally    时间: 2018-11-10 16:09
[attach]4297[/attach][attach]4298[/attach]
3 I1 z1 Q/ ~7 Q( a% ~3 F[attach]4299[/attach]0 H7 b- x9 a' g
[attach]4300[/attach]5 O7 h4 {  M+ w; }5 }7 f

# Y! e4 d" X7 |5 k3 S+ f
作者: 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日)
: S1 A- I: C& r2 w2 m, G
. r, W& r4 y2 C0 p. v$ [[attach]4376[/attach]& V$ d7 v- _/ f! J6 G
$ I& v6 W) a3 |- u





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