新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)中TWI的模塊化檢測(cè)系統(tǒng)設(shè)計(jì)

AVR單片機(jī)中TWI的模塊化檢測(cè)系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2011-03-23 來(lái)源:網(wǎng)絡(luò) 收藏

3.2 從機(jī)驅(qū)動(dòng)程序
由于對(duì)于主機(jī)而言,等待NT置位在任何情況下都能在很短的時(shí)間內(nèi)完成,所以對(duì)于MT和MR模式的程序都是通過(guò)軟件查詢NT位實(shí)現(xiàn)。但是對(duì)于從機(jī)而言,由于首先要接收主機(jī)發(fā)送的從機(jī)地址,并且主機(jī)并不是總是在訪問(wèn)同一個(gè)從機(jī),所以從機(jī)在接收主機(jī)發(fā)送的地址時(shí),如使用軟件查詢方法,勢(shì)必要等待很長(zhǎng)時(shí)間,這樣就浪費(fèi)了大量的時(shí)間。因此在從機(jī)ST和SR模式程序的時(shí),需要使用中斷,這樣在等待TWINT置位期間可以執(zhí)行其他程序,有效地提高了程序的運(yùn)行效率。圖5為從機(jī)ST和SR模式程序流程,具體的ST和SR處理程序可以參考相關(guān)的手冊(cè),這里給出的只是ST和SR切換以及容錯(cuò)處理程序。當(dāng)TWINT置位時(shí),進(jìn)入TWI中斷服務(wù)程序。

本文引用地址:http://m.butianyuan.cn/article/172930.htm

f.jpg


在從機(jī)TWI總線程序時(shí),在等待TWINT置位期間TWI總線可能因?yàn)橥饨绺蓴_出現(xiàn)一些故障,所以容錯(cuò)處理程序不僅在TWI中斷服務(wù)程序得到調(diào)用,在等待TWINT置位期間也要調(diào)用該程序。從機(jī)的容錯(cuò)處理程序代碼如下:
g.jpg

4 系統(tǒng)測(cè)試
測(cè)試時(shí),主要使用了以下從機(jī)檢測(cè)模塊:3個(gè)超聲波模塊、電子羅盤、紅外距離檢測(cè)模塊以及溫度檢測(cè)模塊。在系統(tǒng)測(cè)試時(shí)針對(duì)TWI總線,主要測(cè)試了總線的傳輸速度、實(shí)時(shí)響應(yīng)、出錯(cuò)率、抗干擾能力。測(cè)試時(shí)為便于觀察各個(gè)觀測(cè)量的狀態(tài),使用了LCD顯示。測(cè)試過(guò)程中總線的比特率設(shè)定為100 kbps,通過(guò)觀測(cè)LCD顯示的變量,TWI總線實(shí)時(shí)響應(yīng)速度比較快。在外加電磁干擾的條件下,總線只有在極少數(shù)開(kāi)機(jī)時(shí)出現(xiàn)錯(cuò)誤,主要原因是開(kāi)機(jī)時(shí)出現(xiàn)的浪涌電流。

結(jié)語(yǔ)
本文設(shè)計(jì)的,利用TWI總線作為各個(gè)器件通信的媒介,并以此為基礎(chǔ)構(gòu)建總線式拓?fù)渚W(wǎng)絡(luò),簡(jiǎn)化了硬件和軟件設(shè)計(jì),縮短了系統(tǒng)的開(kāi)發(fā)周期。在TWI總線驅(qū)動(dòng)程序設(shè)計(jì)上,增加容錯(cuò)處理程序,使總線運(yùn)行更加穩(wěn)定和可靠,提高了系統(tǒng)的抗干擾能力。同時(shí)在從機(jī)TWI總線驅(qū)動(dòng)程序設(shè)計(jì)時(shí)使用TWI中斷,合理安排各個(gè)功能程序的執(zhí)行時(shí)間,有效地提高了程序的運(yùn)行效率。


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉