<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > IIC總線在LonWorks神經(jīng)元芯片F(xiàn)T3150中的應(yīng)用

          IIC總線在LonWorks神經(jīng)元芯片F(xiàn)T3150中的應(yīng)用

          ——
          作者:馬如坡 王金全 徐宏林 張 琦 時間:2007-07-18 來源:電子技術(shù) 收藏

            目前比較常用的串行總線有:IIC(Inter Integrated Circuit)總線、SPI(Serial Periphcral Interface)總線和Micro-wire總線等。其中,是Philips公司于80年代推出的一種二線制總線,它通過一根串行數(shù)據(jù)線(SDA))和一根時鐘線(SCL)在互連的器件間傳輸信息。這對具有有限個I/O引腳的來說,節(jié)約了I/O引腳開銷,方便了系統(tǒng)進一步擴展。

            總線為用戶提供了一個針對實際工程應(yīng)用的--Neuron芯片。Neuron芯片高度集成,所需外部器件較少。它包含3個處理七層LonTalk協(xié)議的8位處理器,即媒體訪問控制處理器、網(wǎng)絡(luò)處理器和應(yīng)用處理器。芯片內(nèi)部有11個通用I/O引腳,根據(jù)實際需要對11個引腳進行編程,形成多達34種不同類型的I/O功能,包括并行I/O、串行I/O、定時/計數(shù)器等等。一個Neuron芯片可連接一個或多個物理I/O設(shè)備,如溫度和位置傳感器、閥門、開關(guān)以及LED。神經(jīng)元芯片同件通過執(zhí)行特定的I/O對象來管理這些設(shè)備的接口。Neuron芯片分為3150和3120兩類,Neuron3150支持外部存儲器,適合更復(fù)雜的應(yīng)用,而Neuron3120本身帶有ROM,不支持外部存儲器。

            美國Echelon公司新推出了新的神經(jīng)元芯片--自由拓撲智能收發(fā)器如圖1所示。是在Neuron 3150處理器的基礎(chǔ)上集成了一個自由拓撲雙絞線收發(fā)器,既降低了成本,又減小了接口電路功耗。FT3150芯片內(nèi)部有2kBRAM和0.5kB EEPROM存儲器,通過對外引出地址及數(shù)據(jù)總線用戶可方便地擴展RAM數(shù)據(jù)存儲器和flash固件、程序存儲器,總擴展存儲器空間最多為64k。FT3150 芯片服務(wù)引腳主要用于節(jié)點配置、安裝與維護。與FT3150配合使用的是Echelon公司的FT-X1(穿孔)或者FT-X2(表面貼)通信變壓器,對電磁干擾和高頻共膜噪聲有較強的抗干擾能力。這使得神經(jīng)元芯片F(xiàn)T3150達到一個更高性能、更穩(wěn)定、更經(jīng)濟的新層次。

           

          技術(shù)

            是微電子通信控制領(lǐng)域中被廣泛采用的一種總線標準,具有接口線少,控制方式簡單、器件封裝外形小、通信速率高等特點。它僅通過兩根線SDA和SCL即可實現(xiàn)完善的全雙工同步數(shù)據(jù)傳送,能夠十分方便地構(gòu)成多主機系統(tǒng)和外同器件擴展系統(tǒng)。

            IIC總線數(shù)據(jù)傳輸只有任總線處于空閑狀態(tài)時(SCL和SDA必須保證為高電平)才啟動。IIC總線協(xié)議定義數(shù)據(jù)傳輸時序如圖2所示,起始條件為當SCL為高電平時,SDA由高電平向低電平跳變,數(shù)據(jù)開始傳輸;結(jié)束條件為當SCL為低電平時,SDA由低電平向高電平跳變,數(shù)據(jù)傳輸結(jié)束。傳輸過程中,當SCL高時,SDA必須始終保持穩(wěn)定狀態(tài),此時出現(xiàn)任何跳變都被認為是起始或停止條件,只有當SCL為低電平的時候才允許SDA上的數(shù)據(jù)改變。

           

            IIC總線上的數(shù)據(jù)格式如圖3所示,由起始位(S)、從機地址碼、讀寫控制位(R/W)、應(yīng)答位(A)、數(shù)據(jù)和停止位(P)等組成。通信啟動時,主器件先發(fā)送啟動信號和從機地址,總線上每個器件都有自己的唯一地址,與地址與某一從器件相匹配時,該從器件發(fā)一應(yīng)答位,主器件則認為尋址成功,然后根據(jù)R/W位確定的數(shù)據(jù)傳送方向進行數(shù)據(jù)傳輸。若主器件長時間收不到應(yīng)答位,則認為超時,放棄本次數(shù)據(jù)傳輸。通信停止時,主機發(fā)送一個停止信號。

           

          FT3150的IIC總線技術(shù)應(yīng)用

            神經(jīng)元芯片F(xiàn)T3150所支持的串行I/O功能包括:Bitshift、IIC和Neuronwire(SPI)等。IIC I/O用于實現(xiàn)FT3150芯片與遵循IIC串行總線規(guī)約的器件相連。由于IIC總線是各種總線通信中使用信號線最少,并具有自動尋址,多主機時鐘同步和仲裁等強大的功能,因此,使用IIC設(shè)計計算機系統(tǒng)十分方便、靈活,體積也小,各類實際應(yīng)用比較廣泛。

          數(shù)據(jù)通信的硬件連接

            FT3150一般總是主控器,它定義108(14腳)管腳為時鐘線(SCL),109(15腳)管腳為串行數(shù)據(jù)線(SDA),或者100(2腳)管腳為時鐘線(SCL),IO1(3腳)管腳為串行數(shù)據(jù)線(SDA)。這些IO線的漏極開路以滿足IIC規(guī)約的特殊需要。實際Neuron芯片與IIC器件的連接,只需存引腳上增加兩個上拉電阻,而不再需要其他外部元件。

            我們在開發(fā)LonWorks智能電動閥門時,采用EEPROM24WC16作為FT3150芯片讀寫數(shù)據(jù)的存儲器,用來記錄歷史數(shù)據(jù),防止掉電丟失。24WC16是采用CMOS工藝制成的2K*8位的電可擦除存儲器,內(nèi)部存儲空間共分8頁,具體讀寫頁數(shù)由其串行總線地址的最低三位A0、A1和A2決定,每頁最多可存儲256字節(jié)數(shù)據(jù)。為了實現(xiàn)FT3150芯片與24WC16的通信,將神經(jīng)元芯片上IIC總線引腳IO9與24WC16的SDA相接,IO8與24WC16的SCL相接,通過編程產(chǎn)生操作時序從而實現(xiàn)FT3150芯片對24WC16有關(guān)寄仔器的寫入和讀出。值得注意的是:由于IO8和IO9都是硬件開漏狀態(tài),為了避免端口吸收太大的電流,數(shù)據(jù)總線SDA和時鐘總線SCL一定要接足夠大的上拉電阻。24WC16與FT3150芯片硬件連接如圖4所示。

           
           
          數(shù)據(jù)通信的軟件編程

            FT3150與24WC16通信的軟件編程采用專門為LonWorks神經(jīng)元芯片沒計的的Neuron C。Neuron C是從ANSI C中派生出來的并進行了增刪,它的擴展直接支持神經(jīng)元芯片的固件。Neuron C的編程主要是神經(jīng)元芯片的事件凋度、I/O事件、網(wǎng)絡(luò)變量和顯式消息等。

            IIC數(shù)據(jù)傳輸中的控制字R/W位由io_in()/io_out()函數(shù)隱式給出。同時,數(shù)據(jù)傳輸時需要一個計數(shù)參數(shù)對讀/寫的數(shù)據(jù)字節(jié)數(shù)進行控制,但一次最多讀/寫255個字節(jié)。IIC總線尋址采用右對齊的7位設(shè)備地址,對24WC16器件的8位地址:1010000R/W,則尋址的IIC器件地址為:01010000,即0x50。對于IIC輸入/輸出,io_in()和io_out()函數(shù)返回值0和1,分別反映傳輸?shù)氖?0)和成功(1)狀態(tài)。

            FT3150與24WC16進行數(shù)據(jù)讀寫過程如下:首先把采集到的一個8個字節(jié)數(shù)據(jù)寫入24WC16中指定的寄存器,然后再讀回已保存的數(shù)據(jù)。源程序如下:

           

           



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();