找回密码
 注册
关于网站域名变更的通知
查看: 522|回复: 1
打印 上一主题 下一主题

M5的MCU通信总线(EMIF)学习

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-10-10 14:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
学校里学习单片机还是很常见的,大家对单片机都是使用起来得心应手的。另外学习VHDL语言也好,工作后学习verilog也好,对FPGA相信也都是能编写些简单的应用。然后总在说SOC多么好,但很少把两者放在一个片子内编程的经历。
3 K+ h1 j  c# q7 p! }
) `  W) S5 L5 t# {7 a# i  X今天对京微雅格的SOC方案比较感兴趣,京微雅格是国内第一家能把FPGA和mcu合并在一起实现SOC功能的芯片,话不多说,直接进入主题。
+ f+ U) |, V2 L) p; x3 W5 A* `; s3 |8 f5 O
把FPGA和MCU放在一个芯片里,我们最关心的是两者是如何协同工作的,如果是以前,两者会通过MCU的BUS进行通讯,这样就要占用P0和P2,要么通过其它接口进行通讯。但是两者都放在一起了,如何实现数据和资源共享呢?
, R& M9 F, w* ?  {! R6 b) D! b* j9 R
, w  J: {7 w  _% j4 E- r先说一下京微雅格M5中的MCU的特性。M5中的51单片机是不含P0和P2这组BUS的,也就是说P0、P1、P2都是正常的输入输出口,P0和P2不再复用总线和地址功能。为了解决数据传输,设计了External Memory InteRFace(EMIF)接口总线。7 Z, m( a# r/ _( o' w
# N$ b9 ]. d* A8 x* g0 e( [: v
EMIF接口分为同步时序和异步时序:
& v/ ?( l  @4 |* t6 ]% C: I3 A8 v9 K6 B: L
在EMIF接口中,输入与输出都是以MCU为中心的,memdatai对MCU来说是输入,对存储器来说就是输出了,同理memdatao对MCU是输出。
clkemif:emif接口的时钟,可以用MCU的时钟,也可以用FPGA的时钟。
memdatai: 对MCU来说输入数据总线,8位宽,MCU用来读入数据。
memdatao: 对MCU来说输出数据总线,8位宽,MCU用来写入数据。
memrd:MCU发出的读信号
memwr:MCU发出的写信号
memack:存储器反馈给MCU的信号,在MCU进行读时,反馈的信号表示数据有效;在MCU进行写时,反馈的信号表示数据已收到并锁存。
# p0 _) ]* G9 |* \如上图EMIF接口读时序,MCU先给出地址,然后给出读信号,存储器应该在送出有效数据的时候,把memack脉冲也送出。如图中的时钟4和时钟9的上升沿。
% ^* ?1 x: K0 R. B$ R$ \0 y7 f$ f9 T, m2 X( L4 S6 a. y
如上图EMIF接口写时序,MCU先给出地址和数据,在数据有效的时候,发出memwr的写指令。存储器在收到数据锁存时,把memack脉冲也送出。如图中的时钟4和时钟9的上升沿。
+ j# a0 B, D% z, U+ x  b$ k1 {; C) e% q2 X! v8 ]
无论读还是写,memack都需要至少比memwr或memrd晚一拍,不能跟读写信号同时有效。控制信号“memrd”,“memwr”和“memack”位于clkemif 域中,在clkemif上升沿中产生。“memrd”,“memwr”和“memack”为控制信号,如果操作时,没有有效的memack发送至8051核中,“memrd”,“memwr”和“memack”控制信号以及memaddr和memdatao总线将被延长。
. S% C1 i9 q1 V$ ^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-28 12:37 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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