新聞中心

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

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

作者: 時(shí)間:2011-11-09 來源:網(wǎng)絡(luò) 收藏

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

f.jpg


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

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

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


上一頁 1 2 3 4 下一頁

關(guān)鍵詞: TWI I2C BUS 模塊化 容錯(cuò)處理

評論


相關(guān)推薦

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

關(guān)閉