日韩欧美视频一区-日韩欧美三区-日韩欧美群交P内射捆绑-日韩欧美精品有码在线播放免费-成人免费一区二区无码视频-成人免费一级毛片在线播放视频

樹人論文網(wǎng)一個專業(yè)的學(xué)術(shù)咨詢網(wǎng)站!!!
樹人論文網(wǎng)

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

來源: 樹人論文網(wǎng)發(fā)表時間:2019-12-19
簡要:摘 要:以I2C通信主控方的要求為基礎(chǔ),討論I2C通信從動方的程序編寫。內(nèi)容包括I2C通信的起始部分(握手部分)、數(shù)據(jù)傳送部分以及停止部分的程序編寫,以三部分通信波形要求為準(zhǔn),總

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

  關(guān)鍵詞:I2C通信;主控模式;從動模式;起始信號;停止信號;數(shù)據(jù)格式;數(shù)據(jù)傳送

通信工程師論文

  《長沙通信職業(yè)技術(shù)學(xué)院學(xué)報》以鄧小平理論和“三個代表”重要思想為指導(dǎo),堅持與時俱進,開拓進取,為通信技術(shù)教育、高等職業(yè)教育服務(wù),為建設(shè)小康社會服務(wù);本刊從行業(yè)特色、科學(xué)特色、地域特色三方面體現(xiàn)本學(xué)報的辦刊特色;本著立足本院、對外開放的辦刊原則,本刊熱情歡迎校內(nèi)外各方人士惠賜稿件。

  0 引 言

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

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

  1 起始信號

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

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

  2 停止信號

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

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

  3 應(yīng)答信號

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

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

  4 數(shù)據(jù)傳送

  4.1 字節(jié)傳送與應(yīng)答格式

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

  在主機從從機中讀取數(shù)據(jù)時,主機收到最后一個數(shù)據(jù)字節(jié)后,必須向從機發(fā)出一個非應(yīng)答信號(此時的應(yīng)答信號由主機發(fā)出)作為線束標(biāo)志。從機釋放SDA線,允許主機產(chǎn)生終止信號。

  4.2 數(shù)據(jù)幀格式

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

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

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

  (2)主機從從機讀數(shù)據(jù)

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

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

  5 結(jié) 語

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

  參 考 文 獻

  [1]賴麒文. 8051單片機C語言徹底應(yīng)用[M].北京:科學(xué)技術(shù)出版社,2002:289-311.

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

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

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

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

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

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

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

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

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

主站蜘蛛池模板: ass亚洲熟妇毛耸耸pics | 影888午夜理论不卡 樱桃熟了A级毛片 | 超碰最新地址 | 色欲无码国产喷水AV精品 | 色欲久久精品AV无码 | 视频一区二区中文字幕 | 红桃视频国产AV | 久久精品热播在线看 | 一抽一出BGM免费3分钟 | 亚洲国产欧美日韩在线一区 | 国产精品爽黄69天堂A片 | 無码一区中文字幕少妇熟女网站 | 毛片免费观看的视频在线 | 成年人视频在线免费看 | 欧美兽交YOYO | 免费观看a视频 | 国产精品毛片在线视频 | 中国老妇xxxhd | 日本人的xxxxxxxxx69 | 999视频精品全部免费观看 | 果冻传媒2021在线观看 | 暖暖 日本 视频 在线观看免费 | 色多多旧版污污破解版 | 97人妻丰满熟妇AV无码 | 久久精视频 | 亚洲精品一二三区区别在哪 | 日韩黄色软件 | 久久青青草视频在线观 | TUBE69CHINESE学生 TUBE19UP老师学生 | 成年免费大片黄在线观看岛国 | 欧美一级情欲片在线 | 美女张开大腿 | 亚洲香蕉网久久综合影院 | 久久国产精品无码视欧美 | 色欲AV精品人妻一区二区三区 | 韩日午夜在线资源一区二区 | 扒开老师大腿猛进AAA片邪恶 | 艳照门在线播放 | 在线亚洲专区中文字幕 | 日日摸天天添天天添无码蜜臀 | 噜噜噜在线AV免费观看看 |