1.zynq芯片本身的SPI控制器支持主模式和从模式,但是官方自带的linux系统支持主模式,不支持从模式。
2.官方自带驱动:spi-cadence.c (控制器)、spidev.c(spi设备)。寄存器地址:0xe0006000
特点:支持3个从设备(可扩展),支持中断。
工作中遇到的问题:在linux系统中,SPI通信的CS信号每次都是平滑下降,拉低。而正常的CS信号应该是通信时低有效,不通信时拉高?
解决:在vivado工程中将SPI的cs管脚定义为output类型,vivado自动默认cs信号为三态I/O。而三态会导致zynq失去对cs信号的控制权。