spi总线和i2c总线的区别 SPI 总线 和 IIC 总线 的区别

\u5355\u7247\u673a\u4e2d\u7684SPI\uff0cI2C\uff0c\u5355\u603b\u7ebf\uff0c\u603b\u7ebf\u4ec0\u4e48\u610f\u601d\uff0c\u4ec0\u4e48\u7528\uff0c\u4ec0\u4e48\u533a\u522b\uff0c

\u563f\u563f \u4f60\u63d0\u51fa\u7684\u95ee\u9898\u5f88\u591a\u5440 \u6211\u6765\u5e2e\u4f60\u89e3\u7b54\u5427
1 \u5148\u6765\u56de\u7b54\u4f60\u4ec0\u4e48\u662f\u603b\u7ebf\uff1a
\u603b\u7ebf\u5c31\u662f\u4e00\u4e2a\u516c\u5171\u7684\u8ba1\u7b97\u673a\u7684\u8fde\u63a5\u7ebf \u6240\u6709\u5916\u56f4\u8bbe\u5907 \u90fd\u53ef\u4ee5\u901a\u8fc7\u5b83\u4e0e\u8ba1\u7b97\u673a\u76f8\u8fde\u63a5 \u662f\u4fe1\u606f\u4f20\u9012\u7684\u901a\u9053 \u5728\u5b83\u4e0a\u9762\u53ef\u4ee5\u6302\u5f88\u591a\u4e2a\u5916\u8bbe\u5143\u4ef6\u3002
2 \u603b\u7ebf\u7684\u79cd\u7c7b\u5f88\u591a\uff1a
\u5982\u82af\u7247\u7ea7\u7684\u603b\u7ebf \u5982 SPI\uff0cI2C\uff0c\u5355\u603b\u7ebf \u8fd1\u8ddd\u79bb\u8fdb\u884cCPU\u4e0e\u5176\u5b83\u5916\u56f4\u82af\u7247\u7684\u8fde\u63a5
\u4ed6\u4eec\u591a\u662f\u91c7\u7528\u4e32\u884c\u65b9\u5f0f\u4f20\u9001 \u6570\u636e\u7684 \u5373\u4e00\u4f4d\u4e00\u4f4d\u4f20\u9001\u6570\u636e \u53ef\u4ee5\u8282\u7701\u4f20\u9001\u7ebf\u7684\u6761\u6570
SPI \u9700\u89813\u6761\u7ebf\uff1a \u4e00\u6761\u65f6\u949f\u7ebf \u4e00\u6761\u6570\u636e\u63a5\u6536\u7ebf \u4e00\u6761\u6570\u636e\u53d1\u9001\u7ebf
I2C \u9700\u89812\u8df3\u7ebf \u4e00\u6761\u65f6\u949f\u7ebf \u4e00\u6761 \u6570\u636e\u7ebf
\u5355\u603b\u7ebf \u5373\u662f\u7528\u4e00\u6761\u6570\u636e\u7ebf\u6765\u901a\u8baf \u5982DS18B20\u6570\u5b57\u6e29\u5ea6\u4f20\u611f\u5668
\u8fd8\u6709RS-232 \u7528\u4e8e\u8ba1\u7b97\u673a\u548c\u8ba1\u7b97\u673a\u6216\u5355\u7247\u673a\u8fdb\u884c\u6570\u636e\u901a\u8baf\u7684
\u8fd8\u6709RS-485 \u3001CAN\u7b49\u5de5\u4e1a\u73b0\u573a\u603b\u7ebf \u7528\u4e8e\u8fdc\u8ddd\u79bb\u901a\u8baf \u8ddd\u79bb\u53ef\u8fbe1000\u7c73\u3002
3 \u603b\u7ebf\u7684\u6982\u5ff5\u3001\u79cd\u7c7b\u3001\u533a\u522b \u90fd\u7ed9\u4f60\u4ecb\u7ecd\u4e86 \u5475\u5475 \u6ee1\u610f \u5c31\u7ed9\u52a0\u5206\u554a

SPI\u603b\u7ebf

----\u4e32\u884c\u5916\u56f4\u8bbe\u5907\u63a5\u53e3SPI\uff08serial peripheral interface\uff09\u603b\u7ebf\u6280\u672f\u662fMotorola\u516c\u53f8\u63a8\u51fa\u7684\u4e00\u79cd\u540c\u6b65\u4e32\u884c\u63a5\u53e3\u3002Motorola\u516c\u53f8\u751f\u4ea7\u7684\u7edd\u5927\u591a\u6570MCU\uff08\u5fae\u63a7\u5236\u5668\uff09\u90fd\u914d\u6709SPI\u786c\u4ef6\u63a5\u53e3\uff0c\u598268\u7cfb\u5217MCU\u3002SPI\u603b\u7ebf\u662f\u4e00\u79cd\u4e09\u7ebf\u540c\u6b65\u603b\u7ebf\uff0c\u56e0\u5176\u786c\u4ef6\u529f\u80fd\u5f88\u5f3a\uff0c\u6240\u4ee5\uff0c\u4e0eSPI\u6709\u5173\u7684\u8f6f\u4ef6\u5c31\u76f8\u5f53\u7b80\u5355\uff0c\u4f7fCPU\u6709\u66f4\u591a\u7684\u65f6\u95f4\u5904\u7406\u5176\u4ed6\u4e8b\u52a1\u3002
IIC\u603b\u7ebf\u662f\u8377\u5170\u98de\u5229\u6d66PHILIPS\u5f00\u53d1\u7684\u4e00\u79cd\u9ad8\u6548\uff0c\u5b9e\u7528\uff0c\u53ef\u9760\u7684\u53cc\u5411\u4e8c\u7ebf\u5236(\u4e5f\u67093\u7ebf\u5236\uff0c\u5bb6\u7535\u5f88\u5c11\u7528\uff09\u4e32\u884c\u6570\u636e\u4f20\u8f93\u7ed3\u6784\u603b\u7ebf\uff0c\u8be5\u603b\u7ebf\u4f7f\u5404\u7535\u8def\u5206\u5272\u6210\u5404\u79cd\u529f\u80fd\u7684\u6a21\u5757\uff0c\u5e76\u8fdb\u884c\u8f6f\u4ef6\u5316\u8bbe\u8ba1\uff0c\u5404\u4e2a\u529f\u80fd\u6a21\u5757\u7535\u8def\u5185\u90fd\u6709\u96c6\u6210\u4e00\u4e2aIIC\u603b\u7ebf\u63a5\u53e3\u7535\u8def\uff0c\u56e0\u6b64\u90fd\u53ef\u4ee5\u6302\u63a5\u5728\u603b\u7ebf\u4e0a\uff0c\u5f88\u597d\u7684\u89e3\u51b3\u4e86\u4f17\u591a\u529f\u80fdIC\u4e0eCPU\u4e4b\u95f4\u7684\u8f93\u5165\u8f93\u51fa\u63a5\u53e3\uff0c\u4f7f\u5176\u8fde\u63a5\u65b9\u5f0f\u53d8\u5f97\u5341\u5206\u7b80\u5355\u3002
IIC\u603b\u7ebf\u4e0a\u7684\u5668\u4ef6\u5206\u4e3a\u4e3b\u63a7\u5668\u548c\u88ab\u63a7\u5668\u4e24\u5927\u7c7b\u5b83\u4eec\u4e4b\u95f4\u53ea\u8981\u5728\u6b63\u5e38\u5de5\u4f5c\uff0c\u603b\u6709\u4e00\u4e2aIIC\u5728\u603b\u7ebf\u4e0a\u53d1\u9001\u4fe1\u606f\u6570\u636e\uff08\u4e00\u822c\u662f\u5728\u5f00\u673a\u540ecpu\u9996\u5148\u50cf\u5404\u4e2a\u529f\u80fd\u6a21\u5757\u7535\u8def\u53d1\u51fa\u81ea\u68c0\u4fe1\u53f7\uff0c\u5f97\u5230\u5404\u4e2a\u529f\u80fd\u6a21\u5757\u7535\u8def\u6b63\u5e38\u53cd\u9988\u7684\u6570\u636e\u4fe1\u53f7\u540e\u673a\u5668\u624d\u8fdb\u5165\u6b63\u5e38\u5de5\u4f5c\u72b6\u6001\uff09\u3002

1 iic总线不是全双工(半双工),2根线SCL SDA。spi总线实现全双工,4根线SCK CS MOSI MISO

2 iic总线是多主机总线,通过SDA上的地址信息来锁定从设备。spi总线只有一个主设备,主设备通过CS片选来确定从设备

3 iic总线传输速度在100kbps-4Mbps。spi总线传输速度更快,可以达到30Mbps以上。

4 iic总线空闲状态下SDA SCL都是高电平。spi总线空闲状态MOSI MISO也都是 SCK是有CPOL决定的

5 iic总线scl高电平时sda下降沿标志传输开始,上升沿标志传输结束。spi总线cs拉低标志传输开始,cs拉高标志传输结束

6 iic总线是SCL高电平采样。spi总线因为是全双工,因此是沿采样,具体要根据CPHA决定。一般情况下master device是SCK的上升沿发送,下降沿采集

7 iic总线和spi总线数据传输都是MSB在前,LSB在后(串口是LSB在前)

8 iic总线和spi总线时钟都是由主设备产生,并且只在数据传输时发出时钟

9 iic总线读写时序比较固定统一,设备驱动编写方便。spi总线不同从设备读写时序差别比较大,因此必须根据具体的设备datasheet来实现读写,相对复杂一些。

总结:

I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。

 





  • IIC鍜孲PI鏈変粈涔堝尯鍒?
    绛旓細涓銆佷紭鍔夸笉鍚岋細1銆両IC锛欼IC鎬荤嚎鏄弻鍚戙佷袱绾匡紙SCL銆丼DA锛夈佷覆琛屻佸涓绘帶锛坢ulTI-master锛夋帴鍙f爣鍑嗭紝鍏锋湁鎬荤嚎浠茶鏈哄埗锛岄潪甯搁傚悎鍦ㄥ櫒浠朵箣闂磋繘琛岃繎璺濈銆侀潪缁忓父鎬х殑鏁版嵁閫氫俊銆傚湪瀹冪殑鍗忚浣撶郴涓紝浼犺緭鏁版嵁鏃堕兘浼氬甫涓婄洰鐨勮澶囩殑璁惧鍦板潃锛屽洜姝ゅ彲浠ュ疄鐜拌澶囩粍缃戙2銆丼PI锛歋PI鍦ㄨ姱鐗囩殑绠¤剼涓婂彧鍗犵敤鍥涙牴绾匡紝鑺傜害...
  • 涓插彛閫氫俊,spi閫氫俊鍜宨^2c閫氫俊鐨勬暟鎹抚鏈変粈涔堜笉鍚?
    绛旓細2銆佷娇鐢ㄧ嚎鐨勬牴鏁颁笉鍚 涓插彛閫氫俊鍙互鍦ㄤ娇鐢ㄤ竴鏍圭嚎鍙戦佹暟鎹殑鍚屾椂鐢ㄥ彟涓鏍圭嚎鎺ユ敹鏁版嵁銆俿pi閫氫俊鏄竴绉嶉珮閫熺殑锛屽叏鍙屽伐锛屽悓姝ョ殑閫氫俊鎬荤嚎锛屽苟涓斿湪鑺墖鐨勭鑴氫笂鍙崰鐢ㄥ洓鏍圭嚎銆侷2C鎬荤嚎鏄竴绉嶇畝鍗曘佸弻鍚戜簩绾垮埗鍚屾涓茶鎬荤嚎锛屽畠鍙渶瑕佷袱鏍圭嚎鍗冲彲鍦ㄨ繛鎺ヤ簬鎬荤嚎涓婄殑鍣ㄤ欢涔嬮棿浼犻佷俊鎭3銆鍩烘湰鍗忚涓嶅悓 涓插彛杩涜閫氫俊杩...
  • spi鎬荤嚎鍜宨2c鎬荤嚎鐨勫尯鍒
    绛旓細鎬荤粨锛欼2C绾挎洿灏锛屾垜瑙夊緱姣擴ART銆丼PI鏇翠负寮哄ぇ锛屼絾鏄妧鏈笂涔熸洿鍔犻夯鐑︿簺锛屽洜涓篒2C闇瑕佹湁鍙屽悜IO鐨勬敮鎸侊紝鑰屼笖浣跨敤涓婃媺鐢甸樆锛屾垜瑙夊緱鎶楀共鎵拌兘鍔涜緝寮憋紝涓鑸敤浜庡悓涓鏉垮崱涓婅姱鐗囦箣闂寸殑閫氫俊锛岃緝灏戠敤浜庤繙璺濈閫氫俊銆係PI瀹炵幇瑕佺畝鍗曚竴浜涳紝UART闇瑕佸浐瀹氱殑娉㈢壒鐜囷紝灏辨槸璇翠袱浣嶆暟鎹殑闂撮殧瑕佺浉绛夛紝鑰孲PI鍒欐棤鎵璋擄紝鍥犱负瀹冩槸鏈...
  • 褰撶郴缁鎬荤嚎鍒嗕负鐗囧唴鎬荤嚎銆佺墖闂存荤嚎銆佸唴閮ㄦ荤嚎銆佸閮ㄦ荤嚎鏃,鍏朵腑鐗囧唴鎬...
    绛旓細瀹冩槸鍚屾閫氫俊鐨勪竴绉嶇壒娈婂舰寮忥紝鍏锋湁鎺ュ彛绾垮皯锛屾帶鍒舵柟寮忕畝鍖栵紝鍣ㄤ欢灏佽褰㈠紡灏忥紝閫氫俊閫熺巼杈冮珮绛変紭鐐銆傚湪涓讳粠閫氫俊涓紝鍙互鏈夊涓狪2C鎬荤嚎鍣ㄤ欢鍚屾椂鎺ュ埌I2C鎬荤嚎涓婏紝閫氳繃鍦板潃鏉ヨ瘑鍒氫俊瀵硅薄銆2銆丼PI鎬荤嚎 涓茶澶栧洿璁惧鎺ュ彛SPI锛坰erial peripheral interface锛夋荤嚎鎶鏈槸Motorola鍏徃鎺ㄥ嚭鐨勪竴绉嶅悓姝ヤ覆琛屾帴鍙c侻otorola鍏徃鐢...
  • 甯哥敤鎬荤嚎鏈夊摢浜
    绛旓細涓銆I2C鎬荤嚎 I2C锛圛nter-Integrated Circuit锛夋荤嚎鏄竴绉嶄富瑕佺敤浜庤繛鎺ュ井鎺у埗鍣ㄥ拰鍏朵粬澶栧洿璁惧锛堝浼犳劅鍣ㄣ佸瓨鍌ㄥ櫒绛夛級鐨勯氫俊鎬荤嚎銆傚畠鍏锋湁绠鍗曘佸弻鍚戦氫俊鑳藉姏锛屼笖浼犺緭閫熺巼杈冮珮銆傜敱浜庡叾鍔熻楄緝浣庯紝骞挎硾搴旂敤浜庡祵鍏ュ紡绯荤粺涓備簩銆SPI鎬荤嚎 SPI锛圫erial Peripheral Interface锛夋荤嚎鏄竴绉嶅悓姝ヤ覆琛岄氫俊鎬荤嚎锛岄傜敤浜庡井...
  • spi鎬荤嚎鍜宨2c鎬荤嚎鐨勫尯鍒
    绛旓細NSPI鎬荤嚎鍜孖2C鎬荤嚎鏄袱绉涓嶅悓鐨勯氫俊鍗忚锛屽畠浠殑涓昏鍖哄埆鍦ㄤ簬鍏惰璁$殑鐩殑鍜岀壒鎬с侼SPI鎬荤嚎閫氬父鐢ㄤ簬楂橀熸暟鎹紶杈撳拰澶у閲忓瓨鍌ㄥ櫒鐨勮闂紝鑰孖2C鎬荤嚎鍒欐洿閫傚悎杩炴帴浣庨熻澶囧拰浼犳劅鍣ㄣ侼SPI鎬荤嚎鏄敱Cypress鍏徃寮鍙戠殑涓绉嶄覆琛岄氫俊鍗忚锛屽畠鐨勮璁$洰鐨勬槸涓轰簡婊¤冻楂橀熸暟鎹紶杈撳拰澶у閲忓瓨鍌ㄥ櫒璁块棶鐨勯渶姹傘侼SPI鎬荤嚎鏀寔...
  • 涓夌涓茶鎬荤嚎鐨勫尯鍒
    绛旓細SPI銆I2C銆乁ART涓夌涓茶鎬荤嚎鍗忚鐨勫尯鍒 SPI锛圫erial Peripheral Interface锛氫覆琛屽璁炬帴鍙o級;I2C锛圛NTER IC BUS锛塙ART锛圲niversal Asynchronous Receiver Transmitter锛氶氱敤寮傛鏀跺彂鍣級SPI鎬荤嚎鐢变笁鏉′俊鍙风嚎缁勬垚锛氫覆琛屾椂閽燂紙SCLK锛夈佷覆琛屾暟鎹緭鍑猴紙SDO锛夈佷覆琛屾暟鎹緭鍏ワ紙SDI锛夈係PI鎬荤嚎鍙互瀹炵幇 澶氫釜SPI璁惧浜掔浉杩炴帴...
  • i2c鎺ュ彛鍜spi鎺ュ彛鍖哄埆
    绛旓細鈥滃畾涔涓嶅悓:SPI:SPI鏄覆琛屽璁炬帴鍙(SerialPeripheralInterface)鐨勭缉鍐,鏄竴绉嶉珮閫熺殑,鍏ㄥ弻宸,鍚屾鐨勯氫俊鎬荤嚎,骞朵笖鍦ㄨ姱鐗囩殑绠¤剼涓婂彧鍗犵敤鍥涙牴绾,鑺傜害浜嗚姱鐗囩殑绠¤剼,鍚屾椂涓篜CB鐨勫竷灞涓婅妭鐪佺┖闂,鎻愪緵鏂逛究,姝f槸鍑轰簬杩欑绠鍗曟槗鐢ㄧ殑鐗规,瓒婃潵瓒婂鐨勮姱鐗囬泦鎴愪簡杩欑閫氫俊鍗忚,姣斿AT91RM9200銆侷2C:I2C鎬荤嚎鏀寔浠讳綍IC...
  • SPI,UART,I2C閮鏈変粈涔堝尯鍒,鍚勮嚜鐨勭壒鐐规槸浠涔?
    绛旓細UART銆侷2C:鑳界敤浜庢浛浠f爣鍑嗙殑骞惰鎬荤嚎锛岃兘杩炴帴鐨勫悇绉嶉泦鎴愮數璺拰鍔熻兘妯″潡銆侷2C鏄涓绘帶鎬荤嚎锛屾墍浠ヤ换浣曚竴涓澶囬兘鑳藉儚涓绘帶鍣ㄤ竴鏍峰伐浣滐紝骞舵帶鍒舵荤嚎銆傛荤嚎涓婃瘡涓涓澶囬兘鏈変竴涓嫭涓鏃犱簩鐨勫湴鍧锛屾牴鎹澶囧畠浠嚜宸辩殑鑳藉姏锛屽畠浠彲浠ヤ綔涓哄彂灏勫櫒鎴栨帴鏀跺櫒宸ヤ綔銆傚璺井鎺у埗鍣ㄨ兘鍦ㄥ悓涓涓I2C鎬荤嚎涓婂叡瀛樸
  • 鍦ㄥ父瑙佺殑宓屽叆寮忕數璺郴缁熶腑,鎻忚堪鎬荤嚎鏈夊摢涓変釜涓昏鐗瑰緛
    绛旓細鎬荤嚎涓婏紝閫氳繃鍦板潃鏉ヨ瘑鍒氫俊瀵硅薄銆SPI 鎬荤嚎 涓茶澶栧洿璁惧鎺ュ彛 SPI 锛坰erial peripheral interface 锛夋荤嚎鎶鏈槸 Motorola 鍏徃鎺 鍑虹殑涓绉嶅悓姝ヤ覆琛屾帴鍙c侻otorola 鍏徃鐢熶骇鐨勭粷澶у鏁 MCU 锛堝井鎺у埗鍣級閮介厤 鏈 SPI 纭欢鎺ュ彛锛屽 68 绯诲垪 MCU 銆係PI 鎬荤嚎鏄竴绉嶄笁绾垮悓姝ユ荤嚎锛屽洜鍏剁‖浠跺姛 鑳藉緢寮猴紝鎵浠ワ紝...
  • 扩展阅读:i2c spi uart ... 部队通信用spi还是i2c ... sck sdo mr ... spi总线通信 至少需要几根 ... 串口i2c spi ... hc32f460 spi ... i2c数据帧大小限制 ... i2c完整时序图 ... iic和spi是全双工吗 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网