用verilog语言写的cpld和mcu通讯的spi接口程序

用verilog语言写的cpld和mcu通讯的spi接口程序

ID:22549318

大小:88.00 KB

页数:5页

时间:2018-10-30

用verilog语言写的cpld和mcu通讯的spi接口程序_第1页
用verilog语言写的cpld和mcu通讯的spi接口程序_第2页
用verilog语言写的cpld和mcu通讯的spi接口程序_第3页
用verilog语言写的cpld和mcu通讯的spi接口程序_第4页
用verilog语言写的cpld和mcu通讯的spi接口程序_第5页
资源描述:

《用verilog语言写的cpld和mcu通讯的spi接口程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用Verilog语言写的CPLD和MCU通讯的SPI接口程序2010-04-1221:32近H,在调试Altera的MAXII系列的-款CPLD,做了一个SPI接门同MCU通讯,MCU做主机通过SPI对CPLD做读写操作,经过测试验证,效果不错。程序代码如下,独立模块,可以根据实际应用直接实例化使用。说明:代码屮的*"注释不能在网页上显示出来,源文件可在链接博客屮直接下载.rjwrjwrj*rjwrj*rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^rj*rj*rj^rj*rj*rj%rj*rj*rj%rj*rj^rj*rj*rj^rj^rj^rj^rj^

2、rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^rj^*spi氺*Filename:spi.v*Programmer:jose.huang*Project:*Version:VI.0*TOPMODULE:SpiModule.v*Describel:spi总线,数据移位处理模块;*发送,接收均为8位数据;*接收时,上升沿移入数据;*发送时,上升沿来之前放上数据*用于SPI从动模式•£>•丄••£>•tf•又扇^2^•又扇•又扇•又扇«(>•又扇•又扇•又扇«(>*t>麝«(>•上••丄••丄••**•**•**^T*^T*^T*^T*^T*^

3、T*^T**T^*T>^T**T>*y**T»<1^>2^•丄'•!*<1^<1^<1^<1^^Tw^Tw^Tw^Tw^Tw^Tw^7w^7w^7w^7w^7w^Tw^Tw^Tw^T、^T、^T、^T、^T、modulespi(rst,clk,sdi,sd

4、o,sck,cs,ODataJData,ReceiveFlag,TransFlag,TransEndFlag);inputrst;//异步清零inputsdi;//spidatainputinputsck;//spiclk,MAX25MHzinputcs;//spienableinputelk;//cpldmainelk,MIN50MHzinput[7:0]IData;//Input8bitDatawanttotransmittomeuinputTransFlag;//发送标志outputreg$do;//spidataoutputoutputreg[7:0]OData;//Rec

5、eive8bitData命令字或数据outputregReceiveFlag;//收到8bitData标志outputregTransEndFlag;//发送结束林志reg[2:0]CPLDPort;reg[2:0]TempPort;reg[2:0JBufferPort;//samplingCPLDIODatatoBufferPortreg[7:01samplnum;always@(posedgeelk)beginCPLDPortLOJ<=sdi;CPLDPortllJ<=sck;CPLDPort[21<=cs;endalways@(posedgeelkornegedgerst)b

6、eginif(!rst)//异步清零beginsamplnum<=8*b0;endelseif(TempPort==CPLDPort)beginsamplnum<=samplnum+l’bl;endelsebeginsamplnum<=8'bO;TempPort<=CPLDPort;endendalways@(posedgeelkornegedgerst)beginif(!rst)//异步清零beginBufferPort[0]<=1'bO;//CPLDPort[0]<=sdi;BufferPort[l]<=FbO;//CPLDPortllJ<=sck;BufferPort[2]<

7、=l'bl;//CPLDPort[2]<=cs;endelsebeginif(samplnum>10)//setbycpldmainelkandspielkbeginBufferPort<=TempPort;endelseBufferPort<=BufferPort;endendwirew$di;wirewsck;wirewes;assignwsdi=BufferPortfO];//CPLDPort[0]<=sdi;assignwsck=BufferPort[l];/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。