搜索
bottom↓
回复: 2

请教各位大侠,FPGA和单片机模拟SPI通信的问题

[复制链接]

出0入0汤圆

发表于 2010-8-18 01:21:05 | 显示全部楼层 |阅读模式
我近期也在研究FPGA和单片机的模拟SPI通信的问题,我用的是PIC18F452,有SPI接口,所以只要FPGA模拟即可,写的代码仿真貌似是对的,但对于用到和单片机通信却发现自己不会写了
module spi(sclk ,cs ,data_Tx,data_Rx,miso,mosi);
parameter n=8;
input sclk,cs;
input  mosi; //单片机的数据通过串行方式一位一位通过此端口进入FPGA
input [n-1:0]data_Tx; /*FPGA要发送出去的数据,
此数据来源可以是FPGA内部其他模块输出来的数据,
通过此端口进入SPI模块,发送给单片机*/

output miso;//FPGA的数据通过此端口以串行方式输出到单片机

output [n-1:0]data_Rx;//FPGA已接收数据,N位_参数化
reg miso;
reg [n-1:0]data_Rx;
reg  [2:0]i;
always @(posedge sclk )
begin  
if(cs==1)
begin
i<=n-1'b1;
miso<=1'bz;
end
else   
begin
   
data_Rx<=mosi;
miso <= data_Tx;
i <= i-3'b1;

if (i==0)  
i <= n-1'b1;

end

end

endmodule


我想实现的一个简单的功能,就是将单片机发送的数据写到FPGA的RAM里,将RAM理的数据读到单片机里,请教各位大侠

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2010-8-18 02:38:19 | 显示全部楼层
写到RAM里你应该做些对应的协议方面的处理。
我以前也没做过这个,提下自己的看法,假设数据是8位的,地址线8位,则可以发送9为的数据。最高位用来指示地址或是数据。在FPGA中做个接口来做协议的处理。应该不难。

出0入0汤圆

 楼主| 发表于 2010-8-18 14:21:34 | 显示全部楼层
回复【1楼】semonpic
-----------------------------------------------------------------------

是SPI模块和RAM的借口协议吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-4 07:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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