现在我们需要在TM4C 外接一块FLASH, 使用SSI接口。 有个关于FSS片选的问题麻烦指教。
我先前做过SPI接口外界FLASH,所以一直按照原先的理解在做SSI的驱动。
我首先参考了spi_master.c 的demo代码,所以在项目中也使用了ssi legacy mode. 但是在demo代码中,
SSI发送数据前并没有拉低FSS片选信号,可是我测过信号,在数据传输时, FSS确实被拉低了。
麻烦请教一下 在TM4C中 不需要在传输数据前 手动的拉低FSS信号 进行片选么?
如果是,那么如果一主多从的环境下,应该怎么控制片选,操作不同的slave device呢?
多谢
xyz549040622:
如果一主多从的话,是通过从机的CS引脚控制从机的,当CS引脚为符合的电平时,从机被选择。可以通过一个MCU的IO接N选1数据选择器接从机的IO,也可以通过单独的IO连接从机的CS引脚,只要注意同一时间,只有一个从机的CS是有效的即可。
至于你说的SSI发送数据前并没有拉低FSS片选信号,可是我测过信号,在数据传输时, FSS确实被拉低了。这个应该是自动实现的。
yihui sun:
回复 xyz549040622:
您好,多谢您的帮助,但是我有一点不明白。
在一主多从的环境中, 多个从设备共享 master 的 CLOCK 以及 TX RX,只是片选信号不同。
那么如果FSS自动拉低, 是没有办法进行片选的, 只能默认的选择其中一个slave device 进行操作。
请问一下 这个FSS自动拉低的操作是不是有寄存器可以disable啊, 我找了很长时间,但是好像没有。
是不是我的理解有错误呢?
xyz549040622:
回复 yihui sun:
那么在多从的结构中,不用这个FSS引脚接从机,用其他IO接从机的CS引脚即可。把这个IO做普通IO用不知道可不可以,这个需要试试。