新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(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)進(jìn)一步擴(kuò)展。

  總線為用戶提供了一個針對實(shí)際工程應(yīng)用的--Neuron芯片。Neuron芯片高度集成,所需外部器件較少。它包含3個處理七層LonTalk協(xié)議的8位處理器,即媒體訪問控制處理器、網(wǎng)絡(luò)處理器和應(yīng)用處理器。芯片內(nèi)部有11個通用I/O引腳,根據(jù)實(shí)際需要對11個引腳進(jìn)行編程,形成多達(dá)34種不同類型的I/O功能,包括并行I/O、串行I/O、定時/計(jì)數(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ù)渲悄苁瞻l(fā)器如圖1所示。是在Neuron 3150處理器的基礎(chǔ)上集成了一個自由拓?fù)潆p絞線收發(fā)器,既降低了成本,又減小了接口電路功耗。FT3150芯片內(nèi)部有2kBRAM和0.5kB EEPROM存儲器,通過對外引出地址及數(shù)據(jù)總線用戶可方便地擴(kuò)展RAM數(shù)據(jù)存儲器和flash固件、程序存儲器,總擴(kuò)展存儲器空間最多為64k。FT3150 芯片服務(wù)引腳主要用于節(jié)點(diǎn)配置、安裝與維護(hù)。與FT3150配合使用的是Echelon公司的FT-X1(穿孔)或者FT-X2(表面貼)通信變壓器,對電磁干擾和高頻共膜噪聲有較強(qiáng)的抗干擾能力。這使得神經(jīng)元芯片F(xiàn)T3150達(dá)到一個更高性能、更穩(wěn)定、更經(jīng)濟(jì)的新層次。

 

技術(shù)

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

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

 

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

 

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

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

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

  FT3150一般總是主控器,它定義108(14腳)管腳為時鐘線(SCL),109(15腳)管腳為串行數(shù)據(jù)線(SDA),或者100(2腳)管腳為時鐘線(SCL),IO1(3腳)管腳為串行數(shù)據(jù)線(SDA)。這些IO線的漏極開路以滿足IIC規(guī)約的特殊需要。實(shí)際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ù)。為了實(shí)現(xiàn)FT3150芯片與24WC16的通信,將神經(jīng)元芯片上IIC總線引腳IO9與24WC16的SDA相接,IO8與24WC16的SCL相接,通過編程產(chǎn)生操作時序從而實(shí)現(xiàn)FT3150芯片對24WC16有關(guān)寄仔器的寫入和讀出。值得注意的是:由于IO8和IO9都是硬件開漏狀態(tài),為了避免端口吸收太大的電流,數(shù)據(jù)總線SDA和時鐘總線SCL一定要接足夠大的上拉電阻。24WC16與FT3150芯片硬件連接如圖4所示。

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

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

  IIC數(shù)據(jù)傳輸中的控制字R/W位由io_in()/io_out()函數(shù)隱式給出。同時,數(shù)據(jù)傳輸時需要一個計(jì)數(shù)參數(shù)對讀/寫的數(shù)據(jù)字節(jié)數(shù)進(jìn)行控制,但一次最多讀/寫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進(jìn)行數(shù)據(jù)讀寫過程如下:首先把采集到的一個8個字節(jié)數(shù)據(jù)寫入24WC16中指定的寄存器,然后再讀回已保存的數(shù)據(jù)。源程序如下:

 

 



評論


相關(guān)推薦

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

關(guān)閉