歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Linux中SPI子系統圖解和mini2440下的SPI驅動移植

1.SPI子系統框圖詳解:

SPI總線上有兩類設備:一類是主控端,通常作為SOC系統的一個子模塊出現,比如很多嵌入式MPU中都常常包含SPI模塊。一類是受控端,例如一些SPI接口的Flash、傳感器等等。主控端是SPI總線的控制者,通過使用SPI協議主動發起SPI總線上的會話。而受控端則被動接受SPI主控端的指令,並作出響應的響應。

如圖1所示,linux下的spi子系統主要涉及3個部分:spi核心、spiprotocol驅動和spi主控制器驅動。如圖1.1,spi核心負責抽象出所有控制器都具備的功能代碼,同時向上為spiprotocol驅動提供接口比如spi_message、spi_transfer,spi_async等,具體可參見linux/spi/spi.h文件,需要自己寫客戶驅動的可以詳細了解一下spi.h文件。

spi控制器驅動負責與具體的控制器硬件溝通,進行bit級的數據傳輸。

spi客戶驅動,即protocol驅動負責從控制器端接收數據,然後按照“protocol”將其解釋為有意義的數據格式。

圖2則顯示了Linux下SPI子系統所涉及的大部分結構和函數調用,其中一些細節可以在這裡找到你想要得。

Copyright © Linux教程網 All Rights Reserved