NIOS II spi详解
1、说明
本文是依据笔者阅读《Embedded Peripherals (ver 9.0, Mar 2009, 4 MB).pdf》参考文档所作的个人理解,可以看做是笔记吧。
本文只讲NIOS II嵌入式外设SPI的原理与使用,关于IP-CORE的使用,请读者参考《SPI Slave JTAG to Avalon Master.pdf》。
在下一篇文章中将用实例说明如何用SPI驱动ADS1256。
2、功能描述
Spi通讯包括两条数据线(进、出)、一条同步时钟线和一条控制线。
(1)Master Out Slave In (mosi)—主设备输入数据到从设备的数据线。
(2)Master In Slave Out (miso)—从设备输出数据到主设备的数据线。
(3)Serial Clock (sclk)—主设备驱动从设备的同步时钟。
(4)Slave Select (ss_n)—主设备驱动,用于选择从设备。置低时有效。最多可以设置32个从设备。
Sclk与Avalon—MM是同步的。当配置为主设备,spi-core将Avalon—MM的时钟分频得到sclk。若配置为从设备,接收逻辑是与sclk的输入同步的。
3、发送逻辑
发送逻辑包含发送保持寄存器(txdata)和发送移位寄存器,各有n位宽度,可配置1~32位。当某主外设写txdata,值会自动被复制到移位寄存器,并在下个操作开始时传输。
Txdata和移位寄存器提供两个存储空间。当有数据在移位寄存器传输时,可以往txdata中写入数据,并且在移位寄存器处理完当前数据时会自动加载txdata中数据&#x