2014年9月23日

ug585-Zynq-7000-TRM 看里面的can controller 部分根本无从下手,英文缩写,专有名词看的头疼。

 

ZYNQ中的PS部分PL部分是独立的,可以独立运行,那么我们对于ZYNQ的学习研究就可以结合嵌入式学习的方法来进行。

首先是GPIO的使用,基于ZYNQ的特殊性,其GPIO分为MIO(multiuse I/O)EMIO(extendable multiuse I/O)两种,GPIO的相关信号被分为了4个bank,bank0与bank1为MIO信号,bank2与bank3为EMIO信号,MIO具有54根三态GPIO引脚,EMIO可以达到192根信号,64根输入,128根输出。由XILINX的官方文件还可以看出,EMIO是与PL部分直接相连的。

MIO与EMIO的控制寄存器主要有以下部分

控制寄存器的位宽及每个寄存器的作用均给出了详细的解释。

APB简介(百度百科)

APB(Advanced Peripheral Bus),外围总线的意思。该总线协议是ARM公司提出的AMBA总线结构之一,几乎已成为一种标准的片上总线结构。

APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。APB上的传输可以用如图2所示的状态图来说明。

1)系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。

2)当有传输要进行时,PSELx=1,PENABLE=0,系统进入SETUP状态,并只会在SETUP 状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE 状态。

3)系统进入ENABLE状态时,维持之前在SETUP 状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。

posted @ 2014-09-23 15:16  Pejoicen  阅读(841)  评论(0编辑  收藏  举报