cci的名字叫, camera control interface, 他由兩部分組成,一是i2c ,而另一個部分是 gpio。也就是說,cci 包含i2c。一般情況下,我們只是用到了i2c 部分,沒有用到gpio 部分。
cci 在硬件上設計更加抽象,他使用命令的方式操作i2c,或 gpio, 而不是同常的寄存器方式。 這樣的好處是對於一個硬件,我們使用的接口更加集中,硬件模塊隱藏了具體的硬件細節。
比如cci, 他就有i2c的命令隊列,我們只是需要把相關的命令寫到命令隊列中就可了。 如果寫一個終止命令,復位命令, 寫命令, 然后開始執行, 這樣的硬件實現了軟件
做的事情,驅動開發更加容易,也更加穩定,效率也更高。
cci 還有一個隊列是gpio的隊列,往這個隊列中寫cmd,可以控制gpio的配置。
可以想一下,這樣的硬件模塊,也更容易集成。或許是個趨勢。