IIC通信协议

IIC(Inter-Integrated Circuit) ,简单说就是IC(芯片)之间通信的总线。总线的意思就是,各个器件都并联接到一组公共的线路上,然后共用这条线路来传输数据信息。总线的英文名字是BUS,所以这些数据的传输有点类似搭乘巴士的感觉。这样做的好处就是可以复用线路,大家都来坐巴士就好了,不用自己开车了。

IIC通信协议采用2条信号线,1条时钟线(SCL)和1条数据线(SDA),属于串行半双工通信。标准模式的传输速率为100Kb/s,快速模式为400Kb/s。总线上可以接多个从设备,从设备的地址必须不同。也可也接多个主设备,但同一时刻只能有一个主设备控制总线。最大设备数量受总线的最大负载电容400pf限制。

每个从设备有自己的设备地址,主设备发送START信号后,紧跟着发送想要通信的从设备地址字节,7位器件地址+1位读写标志位(0为写,1为读)。

START信号:当时钟线为高时,数据线下跳会产生启动信号。

STOP信号:当时钟线为高时,数据线上跳会产生停止信号。

1.总线空闲时,就是总线上所有器件都释放了总线,此时SCL和SDA因为有上拉电阻都为高电平。

2.主设备检测到总线当前处于空闲时,此时可以发START信号获得总线得控制权。

3.主设备通信完成后,发送STOP信号释放总线,总线处于空闲状态。

    1. 主控检测到总线处于空闲时,首先发送一个START信号来控制总线,此时总线进入忙状态;

    2. 主控发送一个设备地址字节,总线上所有的从设备都会收到;

    3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK);

    4. 主控收到ACK后开始发送第一个数据字节;

    5. 被控器收到数据字节后发送一个ACK表示继续传送数据,发送NACK表示传送数据结束;

    6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线;

1.主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线;

2.发送一个地址字节(包括7位地址码和一位R/W,最后1bit为0,表示写),将地址写入地址计数器;

3.当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK);

4.主控收到ACK后紧接着发送一个start状态,然后重复第一个地址字节(device code)最后1bit为'1',代表读。

5.释放数据总线,开始接收第一个数据字节;

6.主控收到数据后发送ACK表示继续传送数据,发送NACK表示传送数据结束;

  • iic鏄粈涔堟剰鎬
    绛旓細瀹冩槸涓绉嶄覆琛閫氫俊鎬荤嚎锛屼娇鐢ㄥ涓讳粠鏋舵瀯锛岀敱 椋炲埄娴 鍏徃鍦1980骞翠唬涓轰簡璁 涓绘澘 銆 宓屽叆寮忕郴缁 鎴 鎵嬫満 鐢ㄤ互杩炴帴浣庨熷懆杈硅澶囪屽彂灞曘侷 2 C鐨勬纭娉曚负鈥淚骞虫柟C鈥濓紙"I-squared-C"锛夛紝鑰屸淚浜孋鈥濓紙"I-two-C"锛夊垯鏄彟涓绉嶉敊璇絾琚箍娉涗娇鐢ㄧ殑璇绘硶銆傝嚜2006骞10鏈1鏃ヨ捣锛屼娇鐢↖ 2 C鍗忚宸茬粡涓...
  • IIC鍜孲PI鏈変粈涔堝尯鍒?
    绛旓細2銆丼PI锛歋PI鍦ㄨ姱鐗囩殑绠¤剼涓婂彧鍗犵敤鍥涙牴绾匡紝鑺傜害浜嗚姱鐗囩殑绠¤剼锛屽悓鏃朵负PCB鐨勫竷灞涓婅妭鐪佺┖闂达紝鎻愪緵鏂逛究锛屾鏄嚭浜庤繖绉嶇畝鍗曟槗鐢ㄧ殑鐗规э紝瓒婃潵瓒婂鐨勮姱鐗囬泦鎴愪簡杩欑閫氫俊鍗忚銆備簩銆佺‖浠剁粨鏋勪笉鍚岋細1銆IIC锛欼IC涓茶鎬荤嚎涓鑸湁涓ゆ牴淇″彿绾匡紝涓鏍规槸鍙屽悜鐨勬暟鎹嚎SDA锛屽彟涓鏍规槸鏃堕挓绾縎CL銆傛墍鏈夋帴鍒癐2C鎬荤嚎璁惧涓婄殑涓茶...
  • 浣跨敤IIC閫氫俊鍗忚,骞惰瀹 IIC鍐欏湴鍧鏄140,杞崲鎴7浣16杩涘埗鍦板潃鏄痏__鐧惧害...
    绛旓細140鏄0x8C銆傛渶鍚庝竴浣嶄负璇诲啓涓 鍓7浣嶆槸鍦板潃銆傛墍浠ュ皢0X8C鍙崇Щ1浣 10001100-->01000110灏辨槸0x46锛
  • 51 鍗曠墖鏈 I2C 閫氫俊鍗忚涓 搴旂瓟淇″彿涓彁鍒,绗9涓富鏈鸿緭楂樼數骞,浠庢満杈...
    绛旓細绛旀鏄細鍥犱负璇寸殑涓嶆槸涓鏉$嚎涓婄殑楂樹綆鐢靛钩銆備綘鑻ユ兂涓嶉氬簲绛斾俊鍙凤紝浣犲彲浠ユ濊冧竴涓嬭捣濮嬩俊鍙峰拰鍋滄淇″彿锛岄兘鏄皢SCL鎷夐珮锛岀劧鍚庡湪SDA涓婂彉鍖栫數鍘嬫潵鍙戝嚭涓嶅悓鍛戒护锛IIC閫氫俊鍗忚鏄庣‘瑙勫畾锛屽綋SCL涓洪珮鏃讹紝鏁版嵁瑕佹眰缁濆绋冲畾锛屽彧鏈夊湪SCL涓轰綆鏃舵暟鎹墠鍙互鍙樺寲锛屼篃灏辨槸鎵嶈兘寮濮嬩紶閫掓暟鎹紝涓轰粈涔堣姹係CL涓洪珮鏃舵暟鎹ǔ瀹氾紝灏...
  • 鐢靛瓙鍒朵綔鏄粈涔
    绛旓細灏辨槸鐢靛瓙鐖卞ソ鑰呯殑鎵嬪伐娲汇傜數瀛愬埗浣溿佸祵鍏ュ紡绯荤粺鏈甯哥敤鎬荤嚎I2C鍦ㄥ垱瀹㈠埗浣滄垨鏄祵鍏ュ紡绯荤粺涓紝鎴戜滑缁忓父鍦ㄥ悇绉嶉氳妯″潡涓婄湅瑙佹敮鎸乁ART锛孲PI锛IIC閫氫俊鍗忚绛夌瓑鐨勫瓧鐪笺侷IC锛圛2C锛夊氨鏄叾涓竴绉嶅簲鐢ㄩ潪甯稿箍娉涚殑閫氳鍗忚銆傚鑸垫満鐨勬帶鍒讹紝鏄剧ず灞忕殑鎺у埗锛屼紶鎰熷櫒淇″彿鐨勮鍙栫瓑绛夎繖浜涘姛鑳戒竴鏃︿娇鐢ㄤ笂IIC灏变細鏄惧緱闈炲父渚挎嵎锛屾渶...
  • IIC鎬荤嚎鍗忚涓殑鈥淕eneral call鈥濆叿浣撴寚浠涔?
    绛旓細骞挎挱瀵诲潃銆傚疄闄呬笂鏄iic涓绘満鍙戝嚭浜嗕竴涓湴鍧锛堜竴鑸负0x00锛夛紝濡傛灉浠庢満enable浜嗘帴鏀秅eneral call锛屽垯璇ヤ粠鏈 浼氬搷搴斾富鏈猴紝鐩稿綋浜庝粠鏈洪櫎浜嗘湁鑷繁鏈韩鐨勫湴鍧锛岃繕澶氫簡涓涓0x00鐨勫湴鍧浜嗐傛病鏈夋繁绌惰繃锛屼釜浜虹悊瑙c
  • 31.纭欢 - IIC
    绛旓細        鈶ャ佷竴涓笁鏋佺锛屼娇鐢ㄥ紑闆(鏋佺數闆嗗紑鍙戝嚭鍘讳綔涓鸿緭鍑)鐢佃矾銆        鈶︺佸彂閫佸師鐞嗭細    3銆IIC 鍗忚锛        鈶犮両2C鎬荤嚎涓婁紶閫佺殑鏁版嵁淇″彿鏄箍涔夌殑锛屾棦鍖呮嫭鍦板潃淇″彿锛屽張...
  • 銆愰洉鐖峰缂栫▼銆慉rduino鍔ㄦ墜鍋(158)---VL53L0X婵鍏夋祴璺濇ā鍧3
    绛旓細浠ュ疄璺垫帰绱㈢殑绮剧锛屾垜璁″垝杩涜168绉嶄紶鎰熷櫒妯″潡鐨勭郴鍒楀疄楠岋紝鏃ㄥ湪瀛︿範鍜屽垎浜傛湰绡囧疄楠屾槸绗158娆★紝鑱氱劍浜嶨Y-530鐨刅L53L0X婵鍏夋祴璺濇ā鍧楋紝璇ユā鍧楅噰鐢═oF娴嬭窛鎶鏈紝鍙祴閲忛琛屾椂闂淬傚疄楠屽唴瀹瑰寘鎷煡璇L53L0X涓嶴SD1306 OLED妯″潡鐨処IC鍦板潃锛岄氳繃IIC閫氫俊鍗忚鎿嶄綔妯″潡锛屽疄鐜拌寖鍥存祴閲忓苟鍦∣LED涓婃樉绀鸿窛绂伙紙浠ユ绫充负鍗曚綅锛...
  • 涓插彛骞跺彛浼犺緭鏁版嵁,RS232,IIC浠涔堢殑鍗忚浼犺緭,娴嬮噺杩欎簺浼犺緭鏁版嵁闇瑕佹祴閲忎粈 ...
    绛旓細濡侫ccessPort锛夈傜數鑴戜覆鍙d竴鑸槸2銆3銆5涓夋牴绾块氳锛2鏄痶xd锛3鏄痳xd锛5鏄疓ND锛屼絾鏄數鑴戠殑閫昏緫鐢靛钩涓庡崟鐗囨満鐨勯昏緫鐢靛钩涓嶅悓锛屽叿浣撶湅涓插彛閫氫俊鍗忚锛岀綉涓婂緢瀹规槗鎼滃埌銆侷IC鎬荤嚎涓婄殑鏁版嵁鍙互閫氳繃绀烘尝鍣ㄦ煡鐪嬶紝涓や釜鎺㈠ご锛屼竴涓繛鎺lk锛屽彟涓涓繛鎺da锛IIC閫氫俊鏃跺彲浠ヨ瀵熷埌浼犺緭鐨勬暟鎹
  • 姹傛暀:涓や釜51鍗曠墖鏈轰箣闂寸殑IIC閫氳
    绛旓細杩欎釜瑕佺湅浣犻夌殑51鍗曠墖鏈烘湁娌℃湁IIC鍔熻兘锛屽鏋滄湁鐨勮瘽锛屾寜瑕佹眰璁剧疆灏卞彲浠ラ氫俊锛屾病鏈夊氨瑕佽嚜宸辨ā鎷熶竴涓IIC閫氫俊浜嗭紝涓涓崟鐗囨満鍙戦侊紝涓涓崟鐗囨満鎺ユ敹锛屼竴鑸8浣嶆暟鎹竴鏉$嚎锛屾椂閽熻剦鍐蹭竴鏉$嚎
  • 扩展阅读:三种常用通信协议 ... iic通信协议是半双工 ... modbus三种通讯协议 ... i2c协议 ... uart串口通信 ... i2c通信协议简介 ... 串口通信协议有几种 ... 串口通信的三种方式 ... spi锡膏检测机 ...

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