999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于主控模式下的I2C通信從動模式軟件設計

2019-12-11 10:00:03周首杰
物聯網技術 2019年11期

周首杰

摘 要:以I2C通信主控方的要求為基礎,討論I2C通信從動方的程序編寫。內容包括I2C通信的起始部分(握手部分)、數據傳送部分以及停止部分的程序編寫,以三部分通信波形要求為準,總結軟件編寫流程。I2C通信的數據格式靈活多樣,可以一次傳送8位二進制數據,也可以一次傳送8的倍數的二進制數據,從機在通信中必須按照主機的要求進行數據傳送。總結從機的數據傳送程序流程,以期滿足主機的通信要求,從而得出I2C通信從動模式的詳細總結。

關鍵詞:I2C通信;主控模式;從動模式;起始信號;停止信號;數據格式;數據傳送

中圖分類號:TP39文獻標識碼:A文章編號:2095-1302(2019)11-00-02

0 引 言

在嵌入式系統設計中存在著大量的IC間通信,目前使用較多的為I2C通信。當前大部分單片機均可采用硬件方式的I2C模式進行通信,但也有少部分單片機為降低成本,并未設計硬件方式的I2C通信,因此只能采用軟件方式來實現芯片間通信。目前已有大量文獻討論了I2C通信時主控方的軟件編寫,但作為通信的另一方,從控方的程序編寫很少有相關資料涉及,特別是從控方的程序相較于主控方的程序更為復雜。因此從主機通信要求出發,總結了一套從機的通信軟件編寫流程[1-3]。

通過主機發出的信號請求,要求從控機采取相應應答信號。為了實現從機的實時性,要求從機的SCL線輸入采用外部中斷方式進行,可將中斷方式設置為上升沿觸發方式。

1 起始信號

圖1所示為主控機發送I2C起始信號的波形圖。I2C總線通過上拉電阻連接電源的正極,當總線空閑時,兩根線均為高電平。連到總線上的任一器件輸出的低電平都將使總線的信號變低,即各器件的SDA及SCL均為線“與”關系。進行I2C通信時,首先要確認總線是否空閑。圖1中,主機先將數據線拉高,再將時鐘線拉高,但需注意在拉高時鐘線時從機的響應,其中時間t1為從機響應時間。從機應立即釋放時鐘線,轉為輸入狀態。主機只有檢測到從機釋放時鐘線控制權時才能進行下一步操作。主機在拉高時鐘線后,檢測時鐘線的狀態,只有從機為輸入,時鐘線變高后,主機才可以發出起始命令[4]。

時鐘信號線為高電平時,主機將數據線拉低以發送起始命令,此時從機檢測到數據信號線產生由高到低的信號變化后,從機立即檢測時鐘信號線是否產生由高到低的變化,如若產生,則說明通信起始信號已發出,主機準備與從機通信[5]。從機控制流程如圖2所示。

2 停止信號

停止信號的產生比起始信號簡單,從機對停止信號的要求也比起始信號簡單。

圖3所示為主機停止信號波形圖,對應從機在主機時鐘信號進入中斷服務程序后,通過檢測主機在數據線上發出的由低到高的電平變化來確認通信結束。

3 應答信號

主機發送1 B數據后,在第九個時鐘(CLOCK)脈沖時必須釋放數據線,由從機產生一個應答信號。從機回復低電平為有效應答(ACK),表示從機已成功接收到該字節;從機回復高電平為非應答信號(NACK),表示從機未成功接收該字節。如果是有效的應答信號位,要求從機在第九個時鐘脈沖之前的低電平時間將數據線拉低,并確保在第九個時鐘的高電平期間為穩定的低電平。如果主機從從機讀取信息,則在讀完1 B數據后,主機向從機發送一個應答信號ACK,讀完最后一個數據后,主機向從機發送一個NACK信號,通知從機結束數據發送,并在最后發送一個停止信號給從機。應答信號波形如圖4所示。在每8位數據傳送完成后,第九個時鐘脈沖傳送一個應答信號。向從機中寫信息即由從機發出應答信號;從從機中讀信息,即由主機發出應答信號。應答信號為低即為成功,為高則為失敗。

從機必須配合主機工作,從機在第九個時鐘脈沖上升沿產生中斷時,將根據自己的接收情況產生應答信號。從機工作程序流程如圖5所示。

4 數據傳送

4.1 字節傳送與應答格式

數據傳送時先高位后低位,9位為一幀。如果從機未應答主機信號,如從機正在進行其他工作而無法接收總線上的數據,則此時從機在應答時必須將數據線置于高電平,產生一個非應答信號,主機產生一個終止信號以結束總線的數據傳送。每傳送完一個8位數據,主機都要與從機通過應答與非應答信號進行溝通以確定是否繼續進行數據傳送。

在主機從從機中讀取數據時,主機收到最后一個數據字節后,必須向從機發出一個非應答信號(此時的應答信號由主機發出)作為線束標志。從機釋放SDA線,允許主機產生終止信號。

4.2 數據幀格式

從機地址為7位,分別占據一個字節的D7~D1位。D0位為讀寫標志位,D0=0為寫入從機操作;D0=1,為從從機讀取數據操作。從機地址格式與讀寫格式如圖6所示。

(1)主機向從機寫數據,以8位數據加一位應答為一幀,從機負責應答。主機先寫入從機地址,再寫入從機存儲器地址,后面為要寫入的數據,以一個字節加一個應答位(非應答位)為一幀寫入。如果只寫一個字節,寫完后主機可發停止信號,如果繼續寫入數據,則主機繼續寫入數據即可,不必再次輸入存儲器地址,從機會在上一地址上自動加1進行數據存儲。此時要特別注意的是:從機一定要有應答信號(ACK),否則主機將終止數據的繼續傳送。從機無論是產生非應答信號還是在規定時間內未產生應答信號,主機都視為無應答,將終止數據傳送。寫數據格式如圖7所示。

從機接收數據時程序較簡單,只要在CLOCK時鐘線上升沿產生的中斷中依次接收數據,并在接收完8位數據后產生應答信號即可。然后對數據進行判斷,如果為從機地址數據,則判斷此數據是否與己方地址相同,相同則繼續接收,不同則放棄接收。然后接收存儲器地址,并接收數據,在接收數據時將所接收的數據依次存儲。從機程序流程如圖8所示。

(2)主機從從機讀數據

讀取數據與寫入數據時的格式存在一定區別,從機地址信息需寫2次,且需發2次起始信息。數據框圖如圖9所示。

由于接收數據時從機程序比較簡單,在此不再討論。

5 結 語

I2C通信是單片機與單片機之間,或單片機與存儲器之間的通信,對于經濟型單片機而言,能有效節省單片機的I/O口,因此I2C通信也在通信領域得到廣泛應用。本文是長期編程過程中的經驗總結,希望能給讀者提供一定參考。

參 考 文 獻

[1]賴麒文. 8051單片機C語言徹底應用[M].北京:科學技術出版社,2002:289-311.

[2]張毅剛.單片機原理及接口技術(C51編程)[M].北京:人民郵電出版社,2011.

[3]鄒益民.單片機C語言教程[M].北京:中國石化出版社,2010.

[4]孫余凱,吳鳴山.I2C總線數控彩色電視機維修技能與數據大全[M].北京:電子工業出版社,2010.

[5]張軍才,茹偉,趙臘才,等. I2C總線測試系統的設計與實現[J].儀表技術與傳感器,2016(12):118-120.

[6]桑任仲,蔡艷波,徐萌,等. I2C總線在強干擾環境下的應用[C]// 2018中國汽車工程學會年會,2018-11.

[7]李蔭瓏,丘珊珊. I2C總線設計技術及其死鎖的探討[J].家電科技,2018(7):65-67.

[8]黃淑蓉.通過I2C總線接口的MCU固件升級方法[J].單片機與嵌入式系統應用,2018(7):20-24.

[9]陳春行,林春生,翟國君.基于MSP430的模擬I2C串口通信的實現[J].計算機與數字工程,2018(5):1029-1032.

[10]林倩. I2C協議解析及實測波形[J].數字技術與應用,2016(11):57-58.

主站蜘蛛池模板: P尤物久久99国产综合精品| 日本黄色不卡视频| 国产美女自慰在线观看| 国产精品xxx| 国产色婷婷| 9啪在线视频| 一级高清毛片免费a级高清毛片| 亚洲一区二区三区中文字幕5566| 欧美午夜在线视频| 国产一区二区三区日韩精品| 国产成人精品视频一区视频二区| 精品久久久久久久久久久| m男亚洲一区中文字幕| 亚洲精品视频在线观看视频| 在线va视频| 蜜臀AV在线播放| 亚洲av日韩综合一区尤物| AV老司机AV天堂| 欧美第一页在线| 超级碰免费视频91| 国产成人亚洲精品蜜芽影院| 黄色三级网站免费| 精品伊人久久久久7777人| 人人看人人鲁狠狠高清| 中文字幕亚洲精品2页| av无码久久精品| 呦系列视频一区二区三区| 黄色网址免费在线| 成人福利在线视频| 久久无码av三级| 无码aaa视频| 亚洲视频欧美不卡| 亚洲精品日产精品乱码不卡| 制服丝袜在线视频香蕉| 国产情侣一区二区三区| 国模粉嫩小泬视频在线观看| 欧美国产日韩在线| 午夜一区二区三区| 国产全黄a一级毛片| 亚洲精品你懂的| 刘亦菲一区二区在线观看| 日韩免费毛片视频| a毛片免费在线观看| 91在线精品免费免费播放| 国产美女视频黄a视频全免费网站| 一级毛片免费高清视频| 激情综合网址| 日本欧美一二三区色视频| 亚洲综合在线网| 在线国产毛片| 欧美精品另类| 亚洲欧美日韩动漫| 最近最新中文字幕免费的一页| 在线观看国产小视频| 日韩激情成人| 国产成人av大片在线播放| 精品国产www| 欧美v在线| 亚洲成a人片7777| 国产91熟女高潮一区二区| 国产毛片片精品天天看视频| 91香蕉视频下载网站| 亚洲婷婷在线视频| 手机永久AV在线播放| 欧美另类精品一区二区三区| 另类欧美日韩| 久草视频精品| 国产成人无码Av在线播放无广告| 中文字幕不卡免费高清视频| 91久久精品日日躁夜夜躁欧美| 国产高清在线精品一区二区三区 | 亚洲免费播放| 草草影院国产第一页| 亚洲国产成人久久精品软件 | 亚洲国产亚综合在线区| 老色鬼欧美精品| 色噜噜在线观看| 成人日韩欧美| 尤物特级无码毛片免费| 刘亦菲一区二区在线观看| 中文字幕永久视频| 丝袜高跟美脚国产1区|