原创 NIOS ii spi 作为从口的使用

2011-3-28 10:03 3956 10 13 分类: FPGA/CPLD

      在调试NIOS II 的SPI 接口,与网上其他不同的是,此次SPI 接口是作为slave使用,网上大多数资料都是针对master来讲解的,对slave模式都是认为非常简单一笔带过的,我在调试初期也是这样认为的,但实际调试起来,却不是如此,如果单字节传输的话,那是没有什么问题,如果用查询的方式的话检测status 寄存器里的RRDY 或者TRDY 位,如果用中断方式的话只需要配置成接收中断或者发送中断即可,然后读取 rxdat中的数值 或者向txdat 寄存器发送数值,


  下面具体列举一下过程, 首先查看 Embedded Peripherals文档的第七章SPI CORE 中关于寄存器的描述 如下图


 0afc3a90-2b1c-466a-a632-c87069b9bf54.jpg  


 rxdat 和txdat 是两个数据寄存器,status 和 contro 寄存器是两个控制寄存器,如果只是用查询模式的话那么直接查询status中的RRDY或者TRDY 即可,如果接收到数据则RRDY为1 如果发送完数据则TRDY 为1,读出RRDY中的数据或者写满TRDY 中的数据则它们都置0,由此便可实现简单的数据传输,


    如果用中断模式的话,需要先配置一下中断,在control 寄存器中的IRRDY和ITRDY 这两个寄存器是接收和发送中断控制的,其他几个寄存器则是出错中断控制的,在使用中断前,先要注册中断


void init_spi_redata(void)
{
      SPI_ADC->CONTROL.BITS.IRRDY=1; 
    // SPI_ADC->CONTROL.BITS.ITRDY=1; 
     alt_irq_register(SPI_0_IRQ,NULL,Spi_redata_interrupts);      
}
这里我首先配置成接收中断,因为NIOS II 的SPI口是slave 口,不能主动发送,所以首先配置成接收中断


然后再中断处理程序里面,根据传输协议,在接收到特定命令需要发送大量数据时候,更改成发送中断,这样便可以实现SPI slave模式下大量数据流的传输

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

用户1836975 2015-5-5 11:01

图片网页已经有了

用户1655933 2015-3-25 11:22

正好用到这部分,学习中

用户419433 2012-5-16 15:54

博主可否分享从机的收发数据完整代码呢?我生成有slave spi接口的sof文件下载进板子后,只要有接线接上那3个连slave spi输入的gpio口就会有无规律的信号跳变,导致时序错乱,这个时候还没有run代码呢。请问可能有哪里出了问题
相关推荐阅读
用户248376 2013-04-03 09:47
两个0.1uf 电容造成的两个BUG
近期碰到两个BUG ,一个是我自己造成的,一个是帮别人解决的,都是跟0.1uf 电容有关 第一个BUG ,是在调试单线CAN 的时候遇到的,由于项目需求中有单线CAN 功能,于是找代理推荐了一...
用户248376 2013-03-29 12:18
思维与表达
思维的速度总是快过表达思路的整理,大脑中想法一闪而过,总是想不出表达的语言, 整理一下,这段时间的思路,今天头脑里面突然冒出了“ 温水煮青蛙”这个想法,或许是目前现状吧,在一个公司呆久了,最初...
用户248376 2013-03-06 14:05
看似一个小问题,
    单线CAN的波形问题今天总算结束,用一句话总结便是,世间本无事庸人自扰之 好久未写博客,今天特有感慨,算是记录一下 用的是ON 的NCV7356,从周立功技术支持那里获得基本原理图...
用户248376 2011-08-08 14:00
dxp 使用小结
 最近一段时间一直在画板子,似乎有无穷无尽的板子,到今天应该算是最后两块投出去了,能稍稍喘口气,protel dxp 是从我大学二年级开始学的,到今天算算已经四年了,以前用都是小打小闹,囫囵吞枣,能搞...
用户248376 2011-07-08 16:52
好文章转载
RO段、RW段和ZI段 --Image$$??$$Limit 含义---实例//------------------------------------------------------------...
用户248376 2011-06-14 14:41
无聊的调试记录
看了一个星期的wifi资料,依然没有一点头绪,发出地址后接受到的依然只有FF静下心来,写篇日志算是整理整理思路手上有好几个文档,但是没有一个是针对我这种裸机调试的,没办法一点一点看,在第一手册里面,4...
EE直播间
更多
我要评论
3
10
关闭 站长推荐上一条 /3 下一条