对l138与fpga通信例程tl-devmem2的复现与使用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 656|回复: 9

[已解决] 对l138与fpga通信例程tl-devmem2的复现与使用

[复制链接]

4

主题

21

帖子

138

积分

注册会员

Rank: 2

积分
138
发表于 2018-9-5 20:16:08 | 显示全部楼层 |阅读模式 |文章模式
硬件平台:omapl38F核心板;! X+ W, Q! m8 [6 @( F& E" k
复现方式:按照pdf:omapl38基于emifa总线与FPGA的通信测试进行例程复现,并将写数据部分提取出来进行使用;
9 `& H& m( c# A. z( G) p7 j1 \问题:在对fpga这边数据进行抓包观察时发现:
- j6 o. ?3 a% q1 T3 v* M1、16根数据线仅有低八位在使用,高八位置一,当传输16bit数据时,会将两个字节按先小端后大端的顺序从低八位数据线按序输出;
' ?1 M( f7 H  O2 s# A2、同时地址线只有addr1,addr2,addr3三根是有效的,其他线长期置一,并且地址线并不随数据变化而变化,而是每隔8到11个写使能而进一位;7 W! R* s. \0 w8 R5 o! W$ Y! ~( {
3、emifa_clk时钟线并不能作为时钟提供给fpga,在对fpga另加其他时钟并对emifa_clk进行抓包时现象为长期置高;4 e, K) S* Z+ H# q8 j4 t" @2 b
4、片选emifa_cs2和写使能emifa_we的拉低时间比并不符合dsp与fpga通信时的2,3,2关系,请问arm与fpga通信时这个时序是什么,同时其依靠的时钟是多大,还是114MHz吗?* `5 r; H6 y5 O0 ~; B

最佳答案

你好,emif的问题我们这边基本确认了。除了fpga端下载bit文件之后运行这几条指令再发送数据以外,需要加载这个驱动:tl138evm-emifa-sram,还有两个情况::1.tl138evm-emifa-sram这个驱动有bug,导致地址发送出错。 ...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最近访问 头像模式 列表模式
回复

使用道具 举报

17

主题

190

帖子

1585

积分

广州创龙

Rank: 8Rank: 8

积分
1585
发表于 2018-9-7 15:39:11 | 显示全部楼层
你好,针对您的问题有一下疑问:8 ?9 L, l2 K! i" d: L' V8 v
7 D% Y& V4 R; a7 \3 Y) ~
1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?
9 |% a3 F: j% V0 }2.是否有确认过FPGA端的程序与DSP端的程序数据传输的位数是否匹配?
$ p& w/ \' g- T* x
0 i: S& f" S8 s% w5 t
回复 支持 反对

使用道具 举报

4

主题

21

帖子

138

积分

注册会员

Rank: 2

积分
138
 楼主| 发表于 2018-9-7 16:26:05 | 显示全部楼层
Tronlong-陈工 发表于 2018-9-7 15:39
, l. ]* o# y2 w6 ?" `% v你好,针对您的问题有一下疑问:1 p8 `1 J( a4 v7 q6 k' {
7 I2 ^& V5 b. g& O) \- [- R
1.请问你使用的程序都是用我公司提供的吗?还是自行有做修改?

  G3 x% z' S' e# o! j; |4 ?5 v+ v使用的是arm的例程tl_devmem2(贴的图是修改过的程序,写使能中间的长时间时序是由于arm端打印每次数据造成的);我没有用核心板上的DSP,只用了arm和fpga
回复 支持 反对

使用道具 举报

17

主题

190

帖子

1585

积分

广州创龙

Rank: 8Rank: 8

积分
1585
发表于 2018-9-7 17:06:59 | 显示全部楼层
数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》
) F9 V: M. `2 l3 ?; S
回复 支持 反对

使用道具 举报

4

主题

21

帖子

138

积分

注册会员

Rank: 2

积分
138
 楼主| 发表于 2018-9-7 20:43:44 | 显示全部楼层
Tronlong-陈工 发表于 2018-9-7 17:06
# }5 U- q6 ]5 B- o8 |数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...

( D4 [+ p) N: M就是按照那个文档操作的,然后发现采用m或者h模式的时候数据线和地址线出现了上述现象。采用b时地址线出现上述现象8 J: y6 ?: k8 |7 R; F% j( J% Z
回复 支持 反对

使用道具 举报

4

主题

21

帖子

138

积分

注册会员

Rank: 2

积分
138
 楼主| 发表于 2018-9-17 17:09:55 | 显示全部楼层
Tronlong-陈工 发表于 2018-9-7 17:06
! P; N/ F+ Z9 e1 N数据的问题核对过ARM和FPGA端的数据宽度是否匹配?光盘资料中也有使用tl_devmem2的部分讲解文档《13-3-OMAP ...

+ }3 r# x" C; W$ l* W陈工,这个问题咱们创龙有没有解决方案啊,为什么ARM和fpga通信时只能用8根数据线啊,而且地址线完全和数据不匹配,而且arm进行写操作基于的时钟是多少啊?麻烦您解答一下呗4 w8 E/ O0 t/ C+ t% r
回复 支持 反对

使用道具 举报

2

主题

167

帖子

610

积分

广州创龙

Rank: 8Rank: 8

积分
610
发表于 2018-9-29 10:46:15 | 显示全部楼层
您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看一下。
回复 支持 反对

使用道具 举报

4

主题

21

帖子

138

积分

注册会员

Rank: 2

积分
138
 楼主| 发表于 2018-11-10 16:06:15 | 显示全部楼层
广州创龙莫工 发表于 2018-9-29 10:46" Z) F! {7 L0 U0 Q. t
您好,您如果是按照我们提供的例程和文档进行测试的话,测试的结果如果是不一样的话,您这边可以截图过来看 ...
+ n2 {% @2 w/ W: L$ l
采用的OMAP-L138F上ARM与FPGA数据传输程序基于文件《13-3-OMAPL138基于EMIFA总线与FPGA的通信测试》。# b( r+ A3 R" @* \% ]" }
3 R$ f- l7 |# u. V! B( ]$ H
现在遇到的问题:
1 r$ Q1 o$ E0 u+ _  w, d) ]1、16bit数据线高八位没有初始化,传输只采用低八位数据线,且16bit的数据会在低八位数据线分成两个8bit数发出;, Q3 j% c$ f5 F) R/ x; `  s( E
2、地址线仅有低三位初始化,且变化方式与读使能不同步;emifa_ba1无变化;+ S1 f5 ^; q1 P3 u1 I/ j  C
0 |, l! W( c" N- d& a! o+ o, l
现象:) H7 k* F7 `9 Y* G' x. ^( O7 ]
1、linux端运行./tl-devmem2 0x60000000 256 m 52428(1100110011001100)FPGA端现象
0 h/ D8 I$ u8 o5 G$ U: F: S3 rG:\EMIF问题\输入(m52428)3 Y; R6 x+ h9 ?5 P+ |3 {, l0 K
G:\EMIF问题\m52428addr7 _+ v; i6 A3 s& D# n
2、linux端运行./tl-devmem2 0x60000000 256 h 52428(1100110011001100)FPGA端现象
! o! k+ {) Q* @9 nG:\EMIF问题\输入(h52428)G:\EMIF问题\h52428addr3 B0 p3 R% V/ s& v; L
回复 支持 反对

使用道具 举报

4

主题

21

帖子

138

积分

注册会员

Rank: 2

积分
138
 楼主| 发表于 2018-11-10 16:09:43 | 显示全部楼层
* C6 K0 \) q2 F- _9 j

' B& }( D, ~" k! {! Q* M* g  X" [9 z: y+ _0 @8 \) H% N
" S0 f3 h+ S9 G  J/ b

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

17

主题

190

帖子

1585

积分

广州创龙

Rank: 8Rank: 8

积分
1585
发表于 2018-11-22 12:02:47 | 显示全部楼层
你好,emif的问题我们这边基本确认了。除了fpga端下载bit文件之后运行这几条指令再发送数据以外,需要加载这个驱动:tl138evm-emifa-sram,还有两个情况::1.tl138evm-emifa-sram这个驱动有bug,导致地址发送出错。2.FPGA端的程序也有点问题,频率太高,通信会出错。。以上的问题我们会在V2.1版本(目前使用的是2.0内核)更新完善上去。并且修改emif的FPGA端程序。新版本的内核发布时间是下周五(11月30日)8 o  J9 {1 O. V, ^1 f& B
" `2 f, W+ [! q& Q$ \
$ j0 }) j( t& {1 t! o& R& P( H

, B) h1 b: }: V. H

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  回帖提醒

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号-1  

GMT+8, 2018-12-19 06:20 , Processed in 0.152773 second(s), 62 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表