亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于TWI接口實現(xiàn)AVR單片機主從機通信

        2013-08-16 06:28:36周永剛
        科技視界 2013年1期
        關鍵詞:寄存器中斷總線

        周永剛

        (中國電子科技集團公司第四十一研究所,山東青島266555)

        0 引言

        AVR ATmega 系列單片機片內(nèi)集成兩線串行接口TWI 模塊。采用TWI 協(xié)議,設計者可通過兩根雙向總線,即一根時鐘線SCL 和一根數(shù)據(jù)線SDA,最多連接128 個從設備[1]。實現(xiàn)總線連接時唯一需要增加的外部設備是兩條總線上的上拉電阻。所有與總線相連的設備都需要定義各自的設備地址。 實際上,TWI 接口時序與常見的I2C 總線是兼容的,因此,只需要控制相關寄存器,就能夠實現(xiàn)通過TWI 傳輸數(shù)據(jù),TWI 通信工作于主從模式,把系統(tǒng)任務進行了合理的分工,節(jié)省了硬件資源,減少了工作量,從而使編程簡單,開發(fā)更容易。

        1 TWI 接口簡介

        TWI 總線是簡單同時強大而靈活的通信接口, 具有最高達400kHz 的數(shù)據(jù)傳輸率。 TWI 總線協(xié)議可僅用兩根線將不同的設備互連到一起。 支持主機和從機操作、多主機仲裁。 AVR 單片機的TWI 模塊由以下幾個子模塊構成[2]:

        1.1 SCL 和SDA 引腳

        當CPU 對應的端口設置為SCL 和SDA 引腳時,可以設定相應I/O 口內(nèi)部上拉電阻有效,這樣可以省略外部的上拉電阻。

        1.2 波特率發(fā)生器

        TWI 工作于主機模式時, 時鐘信號SCL 的周期由比特率發(fā)生器控制。 具體由TWI 狀態(tài)寄存器TWSR 的預分頻系數(shù)以及比特率寄存器TWBR 設定,SCL 的頻率計算公式如公式(1):

        其中,TWBR 為TWI 波特率寄存器的值;TWPS 為TWI 狀態(tài)寄存器預分頻位的值。 在主機模式下,TWBR 的值應大于10,否則可能會產(chǎn)生不正確的輸出。

        1.3 總線接口單元

        該單元包括數(shù)據(jù)與地址移位寄存器TWDR, 起始/終止信號(START/STOP)控制器和總線仲裁判定硬件電路。

        1.4 地址匹配單元

        地址匹配單元將檢測從總線上接收到的地址是否與TWAR 寄存器中的7 位地址相匹配。 一旦地址匹配成功,控制單元將按照得到的通知作出相應的響應。

        1.5 控制單元

        控制單元監(jiān)聽總線TWI 總線,并根據(jù)TWI 控制寄存器TWCR 的設置作出相應的響應。 當TWI 總線上產(chǎn)生需要應用程序干預處理的事件時,TWI 中斷標志位TWINT 置位,時鐘線SCL 被拉低,暫停TWI總線上的數(shù)據(jù)傳輸。

        1.6 TWI 寄存器

        TWBR:TWI 比特率寄存器。

        TWCR:TWI 控制寄存器。

        TWSR:TWI 狀態(tài)寄存器。

        TWDR:TWI 數(shù)據(jù)寄存器。

        TWAR:TWI(從機)地址寄存器。

        2 TWI 總線的使用

        AVR 的TWI 接口是面向字節(jié)和基于中斷的。所有的總線事件,如接收到一個字節(jié)或發(fā)送一個START 信號等, 都會產(chǎn)生一個TWI 中斷。由于TWI 接口是基于中斷的,因此TWI 接口在字節(jié)發(fā)送和接受過程中,不需要應用程序的干預[3]。TWI 狀態(tài)寄存器TWSR 包含了表面當前TWI 總線狀態(tài)的值。 應用程序可以讀取TWSR 的狀態(tài)碼,判別此時的狀態(tài)是否正確,并通過設置控制寄存器,決定在下一個TWI 總線周期TWI 接口的工作[4]。

        TWI 可以工作于4 種不同的模式,即主機發(fā)送模式(MT)、主機接收模式(MR)、從機發(fā)送模式(ST)、從機接收模式(SR)。當TWI 上出現(xiàn)多個主機時,就會發(fā)生多主機仲裁。除了依靠自身硬件的檢測外,還可以通過軟件讀取TWSR 狀態(tài)寄存器判斷自己在總線中的精確狀態(tài),以便為下一步動作提供更精確的診斷依據(jù)。

        主機模式下,主機可向從機發(fā)送或接收數(shù)據(jù)。為了進入主機模式,必須先發(fā)送START 信號; 緊接著的地址包格式?jīng)Q定是進入主機發(fā)送模式或者主機接收模式。 如果發(fā)送SLA+W,則進入主機發(fā)送模式;如果發(fā)送SLA+R,則進入主機接收模式。

        從機模式下,從機只需要監(jiān)聽TWI 總線,如果接收到SLA+R 并回復ACK 后,則進入從機發(fā)送模式;如果接收到SLA+W 并回復ACK后,則進入從機接收模式。

        3 系統(tǒng)硬件設計

        圖1 系統(tǒng)硬件結構

        在交流電源分配柜中,采集板負責采集交流電壓、交流電流、交流頻率和30 熔絲告警信息,采集數(shù)據(jù)后發(fā)送到顯示板;顯示板具備告警門限設置、數(shù)據(jù)顯示以及數(shù)據(jù)上傳服務器等功能。 采集板和顯示板的CPU 均采用ATmega8 芯片?;赥WI 接口的硬件電路實現(xiàn)非常方便,只需要將兩片ATmega8 芯片的SCL 和SDA 引腳通過上拉電阻與+5V電源相連接即可。 硬件電路如圖1 所示。

        4 系統(tǒng)軟件設計

        采集板CPU 采集數(shù)據(jù)后, 通過TWI 總線發(fā)送數(shù)據(jù)到顯示板CPU,顯示板CPU 接收數(shù)據(jù)后,給采集板CPU 回復相應的數(shù)據(jù)。 顯示板CPU 在用戶重新設定告警門限后, 需要設定值發(fā)送給采集板進行設定。 因此在該系統(tǒng)中采集板CPU 工作于主機發(fā)送和主機接收模式,顯示板CPU 工作于從機接收和從機發(fā)送模式。

        4.1 主機模式

        在主機模式[5]下,主機通過發(fā)送START 信號啟動總線,確認START信號發(fā)送后,發(fā)送從機地址和寫標志位等待從機響應,得到從機的響應后,發(fā)送數(shù)據(jù)到從機。同時在總線空閑時,主機每隔一段時間發(fā)送從機地址和讀標志位進入主機接收模式,接收從機的告警門限值,接收完后設定主機的門限值。主機在初始化后,需要執(zhí)行包括主機讀、主機寫程序,并把讀取到數(shù)據(jù)從緩沖區(qū)中轉存。 為了保證TWI 總線的穩(wěn)定運行,只有主機發(fā)送模式(MT)和主機接收模式(MR)程序是不夠的,還必須有一定的系統(tǒng)總線狀態(tài)錯誤處理程序[6],以防止TWI 總線在受到外界干擾時出現(xiàn)故障??紤]本文所設計的系統(tǒng)是主機與從機不會實時發(fā)生變化的總線網(wǎng)絡系統(tǒng), 所以對于主機而言還要有容錯處理程序。中斷流程圖如圖2 所示。

        圖2 主機模式中斷流程圖

        4.2 從機模式

        在從機模式[7]下,由于從機也需要處理不通的事件,需要采用中斷的方式處理接收和發(fā)送數(shù)據(jù), 這樣可以有效的提高程序的運行程序。通過檢測TWSR 狀態(tài)碼,進行不同的處理。 從機在被尋址后,回復主機,判斷是否進入從機接收模式或從機發(fā)送模式。 進入從機接收模式時,在RAM 中開辟一塊數(shù)據(jù)緩沖區(qū),用于接收數(shù)據(jù);進入從機發(fā)送模式時,將需要發(fā)送的數(shù)據(jù)裝入發(fā)送緩沖區(qū),中斷程序在自動響應主機進行數(shù)據(jù)發(fā)送。 中斷流程圖如圖3 所示。

        圖3 從機模式中斷流程圖

        5 結束語

        利用TWI 接口實現(xiàn)AVR 單片機主從機通信,簡化了硬件和軟件設計, 縮短了系統(tǒng)開發(fā)周期。 在TWI 通信程序中增加了容錯處理程序,使總線運行穩(wěn)定可靠,提高了系統(tǒng)的抗干擾能力。在通信中采用了TWI 中斷,合理安排事件處理時間,有效提高了程序的運行效率。

        [1]ATmega8 Datasheet[Z]. ATMEL Corporation.

        [2]馬潮,詹衛(wèi)前,耿德根,等.ATmega8 原理及應用手冊[M].北京:清華大學出版社,2002.

        [3]郭祥軍.AVR 單片機的TWI 總線的原理及應用[J].單片機與嵌入式系統(tǒng)應用,2006(8):37-39.

        [4]楚天鵬,鄭華耀.TWI 接口多機通信的實現(xiàn)[J].裝備制造技術,2008(6):96-98.

        [5]AVR315: Using the TWI module as I2C master[OL]. www.atmel.com.

        [6]汪海波,王卓然,耿德根,等.深入淺出AVR 單片機[M].北京:中國電力出版社,2008.

        [7]AVR311: Using the TWI module as I2C slave[OL]. www.atmel.com.

        猜你喜歡
        寄存器中斷總線
        Lite寄存器模型的設計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        基于PCI Express總線的xHC與FPGA的直接通信
        測控技術(2018年6期)2018-11-25 09:50:12
        機載飛控1553B總線轉以太網(wǎng)總線設計
        測控技術(2018年8期)2018-11-25 07:42:08
        跟蹤導練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結構向量寄存器分配策略研究*
        多通道ARINC429總線檢查儀
        基于EtherCAT總線的ROV控制系統(tǒng)設計
        河南科技(2014年16期)2014-02-27 14:13:22
        AT89C51與中斷有關的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應分析
        微處理機(2012年4期)2012-06-13 11:32:24
        国产区女主播在线观看| 欧美日韩综合在线视频免费看| 国产亚洲午夜高清国产拍精品不卡| 日韩麻豆视频在线观看| 日韩欧美aⅴ综合网站发布| 亚洲欧洲日本综合aⅴ在线| 国产亚洲精品成人无码精品网站| 国产一区二区三区资源在线观看| 狼人伊人影院在线观看国产| 欧美大屁股xxxx高跟欧美黑人| 国产亚洲精品久久久久久久久动漫| 免费在线日韩| 午夜影院免费观看小视频| 少妇人妻中文字幕hd| 久久久久亚洲av无码a片软件| 国产码欧美日韩高清综合一区| 久久精品国产亚洲综合av | 亚洲第一女人天堂av| 色佬精品免费在线视频| 亚洲人成网址在线播放| 免费av在线国模| 亚洲高清av一区二区| 中国国产不卡视频在线观看| 国产精品9999久久久久| 国产小屁孩cao大人| 亚洲精品久久麻豆蜜桃| 亚洲中文字幕无码av永久| 国产女女做受ⅹxx高潮| 无码91 亚洲| 国产精品综合一区久久| 一区二区三区av波多野结衣| 成年av动漫网站18禁| 久久精品免视看国产成人| 人妻无码AⅤ不卡中文字幕| 国产一区二区白浆在线观看| 久久偷看各类wc女厕嘘嘘偷窃| 成 人 网 站 免 费 av| 亚洲一区二区三区在线中文| 国产色婷婷久久又粗又爽| 久久久久亚洲精品中文字幕| 全部免费国产潢色一级|