嵌入式开发者社区

标题: omapl138 双核后DSP端的EMIF不能通信了?? [打印本页]

作者: 小石    时间: 2017-5-25 18:22
标题: omapl138 双核后DSP端的EMIF不能通信了??
大家不知道有遇到过没有,对于omapl138 ,当只使用DSP单核时,使用EMIF模块和FPGA通信是可以的,但是当我3 j; x# f! n$ Y2 D/ b, }
将ARM核开启使用linux后,在linux中启动dsp程序,EMIF模块就不能通信了" `1 {9 J& N- ^. r2 K% r  X
,是不是 ARM核已经开启了EMIF模块用于NandFlash通信,所以在DSP开启EMIF冲突了,不知还有别的原因吗?
- i" M3 Q5 f) x+ W, X谢谢!
  t* b2 e0 e; ^; e
作者: human    时间: 2017-5-25 21:26
有片选区分,如果你的程序有数据写到nand就可能用冲突
作者: 小石    时间: 2017-5-26 17:45
human 发表于 2017-5-25 21:26
9 r! V& r3 }6 t0 t有片选区分,如果你的程序有数据写到nand就可能用冲突

8 o- u' x: c% L" x6 w  d* b我没有对NandFlash操作,我就是有DSP单核的时候是可以但是当双核都启动时,就不可以了,不知道创龙在开发 案例 syslink/ad7606_dsp案例的时候,有没有做其他更改(和在单核时的案例StarterWare\Application\EMIF_AD7606初始化有没有不同之处)
作者: 小石    时间: 2017-6-1 18:56
解决了,代码是对的0 ?* ?( {- S9 s" H% |
和DSP单核的区别就是EMA_A_RW引脚(EMIFA异步读写控制,读期间为高,写期间为低电平)输出的问题:
8 E$ _5 `3 @" _+ b, ?3 {下图是DSP单核运行时的在FPGA端获取的时序图:& J& T9 `& l5 K/ n) x
  E; c% _+ P/ J* J' R
具体对应的引脚时EMA_CS4,EMA_WE,  EMA_OE , EMA_A_RW[attach]2392[/attach]6 y) e6 y# f# l6 P" Z

8 F2 q5 B5 Z, S; x2 [' n下图是 ARM启动linux后,DSP端运行EMIF后的时序图:
7 P% P3 D" C3 ~9 @6 y5 M8 h[attach]2393[/attach]. u0 P8 N: E5 Z, g7 _- @7 J
可以看到 比较为EMA_A_RW(EMIFA异步读写控制,读期间为高,写期间为低电平),没有变化。$ ~4 P# h4 ?4 P8 ?+ a8 T
因为FPGA端有当EMA_A_RW为低电平时是写数据,所以我向FPGA传递数据,一直是高电平,所以FPGA就一直获取不到数据,
, `' W( \, y4 @$ y+ C6 c最后的办法就是让FPGA工程师,把这个条件去掉,就可以了,直接用EMA_WE引脚的变化来判断写。这样就OK了。
: ]& r# B/ t: d
作者: 小石    时间: 2017-6-1 18:59
是上贴的- d- i* M" z) g
DSP单核运行时的在FPGA端获取的时序图:
, k3 V& |, Q* x- T8 q4 L  g[attach]2394[/attach]
: h) }. l/ D8 U4 d* F/ i




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