1. 程式人生 > >關於IO模擬時序(SPI)的註意事項

關於IO模擬時序(SPI)的註意事項

鎖定 是否 函數 spi 通過 返回 內部 穩定 dev

原則:有硬件I2C、SPI時盡量用硬件操作,省去IO模擬繁瑣的時序調試。但在內部資源不夠時就要用IO模擬總線了。

關於短延時:模擬時序時是否需要延時要看MCU與device的相對速度。比如I2C如果400K的速率和MCU動輒幾十M的速率不再一個量級,肯定要通過延時調整時序;但對於SPI因為其速度很高,甚至有的比單片機的速度還高,這時就沒必要延時了。

關於IO模擬的收發函數是否要合並成一個:對於SPI因為是全雙工,所以可以分開,當然也可以合並成一個(發送時不需要返回值,而接收時此時參數是要發送的數據,返回值是要讀的值)

關於在什麽跳變沿操作:比如芯片手冊中說到在上升沿采樣/鎖定(也就是在搞定平之後值必須穩定),那麽單個位bit的收發都應該在0->1之間進行操作。

關於時鐘極性和時鐘相位:CPOL時鐘極性只是說明了空閑時總線的電平狀態:CPOL=1表明空閑時時鐘是搞定平;否則是低電平。

            CPOA時鐘相位說明了在第幾個跳變沿進行采樣,CPOA=0表明在第一個沿進行采樣,否則在第二個沿。

關於IO模擬時序(SPI)的註意事項