《Adam Taylor玩转Microzed系列第81部分.docx》由会员分享,可在线阅读,更多相关《Adam Taylor玩转Microzed系列第81部分.docx(6页珍藏版)》请在第一文库网上搜索。
1、AdamTay1or玩转Microzed系列第81部分到目前为止的文章中,我们己经研究了MiCroZed开发板上使用以太网的数据传输问题。我们还没有涉及片上外设通信的问题:实时时钟,非易失内存以及独特的传感器。这些通信涉及到些或者SP1总线。下面我们就来看看两者:I2C(内部集成电路,通常发音为“I方C”)接旦是一个多主机、2线的串行总线,由飞利浦公司于20世纪80年代开发,目的是开发出和SP1有类似作用的总线。由于2线的特征,其只有半双工模式。它的优势在于:你减少了2个管脚一一在20世纪80年代,40管脚的D1P封装就被认为“很大”了,在当时减少2个管脚起到的作用比如今可大的多了。I2C标准
2、得以延续至今源于它的经济和实用性。ZynqSOC的PS(处理番系统)结合了两个I2C和两个SP1外设接口,其可以和M1o或者ZynqP1(可编程逻辑)上的EM1O接口,如下图所示:驱动和配置O1ED显示模块是在ZedBoard上演示SPI使用的最佳范例。然而MiCroZed板上并没有O1ED模块,我们可以方便的使用一个Digi1entO1EDPMOD0我们所要做的仅仅是映射I/O管脚即可。Digi1entO1EDPMOD模块MicroZed板通过SPI总线和O1ED模块通信。然而它还需要一些其它的控制信号来正确地和设备接口:一个电遮使能、O1ED使能和一个数据/命令标志线。通信协议如下图所示:
3、正确的驱动O1ED需要以下管脚:名称ZedBoard板管脚功能VDD控制器PSU使能VBATU11O1EDPSU使能RESU9低电平复位D/CU1O数据/控制(低电平)SCKSPI时钟SDO12SPI数据为了实现O1ED显示,我实例化了一个基于ZedBoard板的Vivado设计,使能SPIO,并且将其连接到EM10,而不是GPIO。我也定义了四个GP1oEM1O管脚用作O1ED的保留接口。P9tNvotQMorZynqB1odcDMignPS*1ConteiXfttonPtHsherdVOPtnsIf1OCo*fi9r1i0-PWR3zOIODDRIOFIXED。ZYNQSPIO.MOSIU
4、SBIND-O-TTCOMAVE(1OUTTrCoMAVE1oUTCO,WAVE2-OUTFcKC1KO1ZYNQ7ProcessingSystemFCuCRESro在我们创建系统、输出到硬件、开发软件来控制我们的SP1应用之前,我们必须定义SP1时钟频率。该任务被ViVado和SDK分割了,因此我需要解释必要的东西:从模块图中打开Zynq处理器系统自定义界面,选择“时钟配置”。在基本时钟标签页,处于IO外设之下,你会看到SP1时钟。该选项使你拥有选择锁相环(本例中为IOP1D所需频率和真实频率的能力。在我的系统中,所需频率和真实频率分别是166MHZ和160MHz。点击“高级时钟”显示更多信
5、息。ZYNQ7ProcessingSystem(5.4)OoafncyiMonPreKtSU)FIocebanIrTPQrtXPSSettngsP9geNM9tDfZrq9CkDesiPS41ConrMonPeicherai1/3MOCorAgurattanOodcC0n9attonOCROMgrtonSMC1M0CikutogInternes/etyrwCdr*CottpontHtOMiCSOtfSRrCtDMKrSeccadDMeorArt.-cctmr/MmorOodxAftMPU2NAM6.MM87SO-O:MZODOROORPU2HAS33.S33742M.oooooo:Smoooo
6、oo二IOPervherddodsSMCIOM1HAKtaXnoOM.OOOOOO:K0.000000QsP1IOR1SNA200.000000XhOCOOOC:300.000000-WETOIOR111SaOC00000.1:I2SBTT1BOK111so.ocoooo0.1:12SS(MOIOR132NA90.CC0000)0.000000:125.000000SPtK)K110NAScoOX)OO.OOCOOO7200000000DaOoRpU353PCAPBOPU.SNA川CMiCMiIOK111IOEoIfi0.10C00018000000本例中为了获得一个1600MHz的P11频率,IO锁相环将33.333MHz的输入时钟频率(显示在图中最上面)倍频48倍,之后进行10分频一一如上表SP1外设时钟行中的“Fi型tdivisorv栏所示来产生一个160MHz的SPI时钟。选择“重载”来更改这些数字。然而进行该操作的时候必须小心。结合波特率分频器,我们在SP1配置寄四中设置它,我们可以设置最适合目标外设的SP1频率。以O1ED为例,我们需要操作在3MHz以下,因此我们使用一个最小为64的分频器来把160MHz降到3MHz0本系列的下一期博客中将会研究相关的软件开发。