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

        ?

        DS4830的多地址I2C總線從機(jī)模塊設(shè)計(jì)※

        2013-09-21 10:44:08
        關(guān)鍵詞:服務(wù)程序寄存器中斷

        潘 冬

        (成都?xì)W飛凌通訊科技有限公司,成都 610043)

        引 言

        經(jīng)過(guò)十幾年不懈努力,我國(guó)已經(jīng)成為光纖、光纜、光器件和光收發(fā)模塊的制造大國(guó),特別是在光收發(fā)模塊領(lǐng)域取得了長(zhǎng)足的發(fā)展。目前,光收發(fā)模塊正朝著小型化、高速率、低功耗、長(zhǎng)距離方向發(fā)展。特別是高速率方向,從最初的10Mbps、100Mbps、1 000Mbps,到10Gbps、40Gbps、100Gbps。其對(duì)內(nèi)部使用的微控制器提出越來(lái)越高的要求。不僅僅對(duì)微處理器的處理速率有要求,而且對(duì)微處理器外圍功 能模 塊如 ADC、DAC、TEC(Thermoelectric Cooler)等處理性能的要求也越來(lái)越高。針對(duì)此,Maxim公司針對(duì)光通信行業(yè)特殊應(yīng)用及功能要求,定制設(shè)計(jì)了一款采用低功耗、16位MAXQ20核的微控制器,其提供了完備的光控、校準(zhǔn)及監(jiān)測(cè)方案,主要應(yīng)用于XFP(10Gbps小型可插撥式模塊)、SFP(小型可插撥式模塊)、SFP+(增強(qiáng)型小型可插撥式模塊)、QSFP(4通道小型可插撥式模塊)、40/100Gbps光收發(fā)器、GPON(Gigabit無(wú)源光網(wǎng)絡(luò)模塊)、10GEPON(10Gbps以太網(wǎng)無(wú)源光網(wǎng)絡(luò)模塊)、XPON(下一代無(wú)源光網(wǎng)絡(luò)模塊)等產(chǎn)品上。

        DS4830有如下特性:

        ① 16位MAXQ20核,RISC指令集,標(biāo)準(zhǔn)Harvard結(jié)構(gòu)。無(wú)須借助指令流水線即可實(shí)現(xiàn)全部指令的單周期指令的執(zhí)行。

        ② 36K字Flash程序存儲(chǔ)器,4K字ROM程序存儲(chǔ)器,1K字?jǐn)?shù)據(jù)RAM。

        ③ 10路PWM通道(BOOST/BUCK DC/DC控制,支持4路TECC H-Bridge控制)。

        ④ 最多26路輸入的ADC,分辨率達(dá)13位。

        ⑤ 8路DAC通道(12位電壓型DAC)。

        ⑥ 31路GPIO引腳。

        ⑦ 內(nèi)置溫度傳感器。

        ⑧ 可屏蔽的中斷源。

        ⑨ 內(nèi)部20MHz的晶振,可支持133MHz外部晶振。

        ⑩ 支持I2C總線及JTAG BootLoader。

        ? 低功耗設(shè)計(jì),在所有模擬模塊使能情況下,功耗僅為16mA。

        在光通信行業(yè)中,I2C總線是主要的通信接口,無(wú)論是應(yīng)用于光收發(fā)還是PON類(lèi)產(chǎn)品,均要求DS4830作為I2C總線的從機(jī)時(shí),要滿(mǎn)足SFF-8472協(xié)議。SFF-8472協(xié)議是一個(gè)關(guān)于光學(xué)器件的數(shù)字監(jiān)控方面的多元協(xié)議,主要應(yīng)用于光收發(fā)模塊行業(yè),定義其基本的A0H和A2H的MEMORY MAP(地址映射表),即DS4830要滿(mǎn)足SFF-8472協(xié)議,其能響應(yīng)兩個(gè)I2C總線從機(jī)地址:0xA0、0xA2。其中,0xA0定義了一個(gè)256字節(jié)的EEPROM存儲(chǔ)器,定義了接口形式、速率、生產(chǎn)廠商、生產(chǎn)日期等信息,0xA2同樣定義了一個(gè)256字節(jié)的EEPROM,包括了光收發(fā)器的一些實(shí)時(shí)監(jiān)控參量(如溫度、電壓、發(fā)端BIAS電流、發(fā)端光功率、收端光功率)報(bào)警門(mén)限及報(bào)警標(biāo)志。

        1 硬件設(shè)計(jì)

        DS4830有兩個(gè)I2C總線接口,主I2C總線接口和從I2C總線接口。其中,主I2C總線接口使用MSDA(PIN24)、MSCL(PIN26)這兩個(gè)引腳。從I2C總線接口使用SDA(PIN3)、SCL(PIN2)這兩引腳。SFF-8472協(xié)議要求光收發(fā)器有兩個(gè)I2C總線從地址,即微控制器要響應(yīng)兩個(gè)I2C總線從地址,但由于DS4830主從I2C總線模塊接口只能響應(yīng)一個(gè)I2C總線地址,需要將主I2C總線接口設(shè)置為從I2C總線模式,并且在硬件上需要將這兩個(gè)I2C總線接口相連即MSDA與SDA相連作為SDA線,MSCL與SCL相連作為SCL線。

        同時(shí),根據(jù)I2C總線協(xié)議可知,每條總線線路的電容負(fù)載Cb在標(biāo)準(zhǔn)模式下最大為400pF,而DS4830這兩個(gè)I2C總線接口引腳的電容負(fù)載CBIN典型值僅為5pF,兩條總線并在一齊,電容負(fù)載也僅為10pF。另外,針對(duì)光收發(fā)模塊的I2C總線上是不會(huì)存在許多I2C總線從器件,故這樣的總線相連,不會(huì)影響其I2C總線的電氣特性。

        2 FIRMWARE設(shè)計(jì)

        2.1 開(kāi)發(fā)環(huán)境

        在FIRMWARE設(shè)計(jì)中,開(kāi)發(fā)環(huán)境為IAR公司的Embedded Workbench For MAXQ 2.40版本。

        DS4830內(nèi)部的主I2C總線模塊的寄存器共5個(gè),說(shuō)明如下:

        ① 主I2C總線控制寄存器(I2CCN_M(jìn))。寄存器地址為M1[0CH],其功能主要有I2C總線工作模式的主從設(shè)置,I2C總線的Clock Stretching和I2C總線的TIMEOUT功能相同,都是使能和關(guān)閉。

        ② 主I2C總線狀態(tài)寄存器(I2CST_M(jìn))。寄存器地址為M1[01H],功能是顯示各種I2C總線操作時(shí)序的狀態(tài)位。

        ③ 主I2C總線中斷使能寄存器。地址為M1[02H],控制各種I2C總線中斷源的使能。

        ④ 主I2C總線數(shù)據(jù)寄存器(I2CBUF_M(jìn))。寄存器地址為M1[00H],它是I2C總線上的數(shù)據(jù)寄存器,一級(jí)緩沖、發(fā)送、接收于一體。

        ⑤ 主I2C總線地址寄存器(I2CSLA_M(jìn))。寄存器地址為M1[0FH],功能是設(shè)置響應(yīng)的從I2C總線地址。

        2.2 從I 2C總線模塊寄存器

        從I2C總線模塊寄存器如下:

        ① 從I2C總線控制寄存器。寄存器地址為M2[0CH],寄存器名稱(chēng)為I2CCN_S。

        ② 從I2C總線狀態(tài)寄存器。寄存地址為M2[01H],寄存器名稱(chēng)為I2CST_S。

        ③ 從I2C總線中斷使能寄存器。寄存地址為M2[02H],寄存器名稱(chēng)為I2CIE_S。

        ④ 從I2C總線數(shù)據(jù)寄存器。寄存器地址為M2[00H],寄存器名稱(chēng)I2CBUF_S。

        ⑤ 從I2C總線地址寄存器。寄存器地址為M2[0FH],寄存器名稱(chēng)為I2CSLA_S。

        2.3 cstarup.s66文件

        DS4830共提供了13個(gè)寄存器的模式,其分為外圍寄存器和系統(tǒng)寄存器兩部分。其中,外圍寄存器包括有6個(gè)模式(模式0~模式5),主I2C總線相應(yīng)的寄存器在模式1,從I2C總線的相應(yīng)寄存器在模式2,故在設(shè)計(jì)中斷服務(wù)程序中,必須訪問(wèn)不同模式下的寄存器。這必須修改cstartup.s66文件,該文件類(lèi)似于Keil C51中的STARTUP文件,但是不同于Keil,在創(chuàng)建項(xiàng)目的時(shí)候,集成編譯器自動(dòng)添加一個(gè)STARTUP啟動(dòng)文件,而且這個(gè)文件直接列在項(xiàng)目表上,讓人一目了然。但I(xiàn)AR IDE中,如果沒(méi)有在項(xiàng)目?jī)?nèi)人為加入cstartup.s66啟動(dòng)文件,則使用系統(tǒng)默認(rèn)目錄下的默認(rèn)cstartup.s66文件。

        另外,由于DS4830中斷機(jī)制只使用一個(gè)中斷向量,所有中斷的優(yōu)先級(jí)別相同。在中斷全局使能的情況下,每當(dāng)一個(gè)中斷響應(yīng)后,程序跳轉(zhuǎn)到cstartup.s66區(qū),根據(jù)中斷標(biāo)志判斷不同的中斷源,并跳轉(zhuǎn)進(jìn)入其相應(yīng)的中斷服務(wù)程序。為了加快I2C總線響應(yīng)速率,需將I2C總線中斷的優(yōu)先級(jí)提到最高,通過(guò)將主從I2C總線中斷服務(wù)程序(cstartup.s66文件中的INTERRUPT2)修改到所有中斷程序的第一位,即將I2C總線中斷入口判斷變?yōu)楸4娆F(xiàn)場(chǎng)后的第一個(gè)判斷。

        修改cstartup.s66中斷部分代碼如下:?isr:

        2.4 中斷服務(wù)程序

        中斷服務(wù)程序流程圖如圖1所示。

        2.5 偽代碼(Pseudo Code)

        初始化函數(shù)略——編者注。

        (1)Clock stretching機(jī)制

        作為從I2C總線器件,有一個(gè)關(guān)鍵的特性就是Clock stretching,即當(dāng)從器件不及時(shí)接收或發(fā)送完整的數(shù)據(jù)時(shí),從器件會(huì)將SCL線拉低,強(qiáng)迫I2C總線主機(jī)進(jìn)入等待狀態(tài),直到從器件準(zhǔn)備好相應(yīng)的數(shù)據(jù)后才釋放SCL總線。由于DS4830內(nèi)核是20MHz時(shí)鐘,但其指令時(shí)鐘僅為10 MHz,要達(dá)到標(biāo)準(zhǔn)100kHz的I2C總線時(shí)鐘速率,必須在軟件控制Clock stretching時(shí),即在初始化時(shí)使能Clock stretching使能位I2CSTREN。IAR生成的中斷服務(wù)程序的LIST文件部分略——編者注。

        圖1 中斷服務(wù)程序流程圖

        DS4830中斷響應(yīng)時(shí)間分為3部分:

        ① CPU響應(yīng)4個(gè)指令周期。

        ② cstartup執(zhí)行最多10個(gè)指令周期。

        ③ 中斷服務(wù)程序執(zhí)行壓棧部分16個(gè)指令周期。

        這樣算下來(lái)進(jìn)行中斷程序未對(duì)I2C總線寄存器進(jìn)行處理前已有30個(gè)指令周期時(shí)間,即30×0.1μs=3.0μs。要達(dá)到100kHz的I2C總線速率,按占空比50%計(jì)算,低電平為5μs,故不考慮上升下降沿的時(shí)間,留給中斷服務(wù)程序的時(shí)間僅有2μs去處理I2C總線寄存器和相應(yīng)SFF-8472協(xié)議EEPROM要求。這是相當(dāng)困難的,所以盡量提高I2C總線速率,使能Clock stretching。

        實(shí)際驗(yàn)證中,當(dāng)I2C總線模塊不使能Clock stretching后,上位機(jī)(I2C總線主機(jī))對(duì)DS4830 0xA0地址的3種I2C總線讀操作為:當(dāng)前讀、頁(yè)讀、單字節(jié)讀,其讀出的結(jié)果均為0xA1。原因即是I2C總線主機(jī)發(fā)送到從器件的I2C總線地址值為0xA1(讀模式),在SCL時(shí)鐘低電平期,真正要發(fā)送的數(shù)據(jù)還未送到數(shù)據(jù)寄存器(I2C_BUF),此時(shí)數(shù)據(jù)寄存器中仍為接收到的地址值。SCL高電平來(lái)到,直接將這個(gè)值移位出了數(shù)據(jù)寄存器送到I2C總線上,如圖2所示。

        圖2 I 2 C總線時(shí)序圖(讀部分)

        (2)SMBus Timeout機(jī)制

        SMBUS(System Management Bus),是1995年Intel公司提出的,最初設(shè)計(jì)應(yīng)用于移動(dòng)PC和桌面PC系統(tǒng)中的低速率通信。它與I2C總線電氣及協(xié)議定義上類(lèi)似,但在速率、超時(shí)錯(cuò)誤、邏輯電平和總線協(xié)議上有所區(qū)別。DS4830主機(jī)I2C總線模塊是使用兼容I2C總線協(xié)議,并引入SMBUS超時(shí)錯(cuò)誤功能,使用一個(gè)30ms的定時(shí)器,當(dāng)總線SCL低電平超過(guò)這個(gè)時(shí)間后,觸發(fā)TIMEOUT中斷,以釋放I2C總線,避免I2C總線的鎖死。由于各種公司的I2C總線兼容協(xié)議可能存在一些差異,各種時(shí)序,包括一些非法或錯(cuò)誤的時(shí)序都有可能在總線上出現(xiàn),所以使用TIMEOUT機(jī)制來(lái)避免I2C總線死鎖是相當(dāng)有效和實(shí)用的。DS4830使能TIMEOUT功能,通過(guò)I2CCN_S(M)控制寄存器的SMB_M(jìn)OD置位來(lái)實(shí)現(xiàn)。

        偽代碼程序略——編者注。

        結(jié) 論

        本文通過(guò)介紹DS4830相應(yīng)主從I2C總線模塊接口的寄存器,利用IAR編譯環(huán)境實(shí)現(xiàn)了I2C總線從器件操作,并滿(mǎn)足SFF-8472協(xié)議對(duì)多從機(jī)地址的要求。系統(tǒng)的上位機(jī)發(fā)出各種常規(guī)的I2C總線讀操作及寫(xiě)操作均正常。該方法已應(yīng)用于SFP+ZR、QSFP產(chǎn)品中,并得到客戶(hù)系統(tǒng)驗(yàn)證,I2C總線可靠、穩(wěn)定。

        編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www.mesnet.com.cn。

        [1] Maxim Integrated Products.DS4830datasheet[EB/OL].[2012-09].http://datasheets.maximintegrated.com/en/ds/DS4830.pdf.

        [2] Maxim Integrated Products.DS4830Optical Microcontroller User's Guide[EB/OL].[2012-09].http://pdfserv.maximintegrated.com/en/an/UG5484.pdf.

        [3] Maxim Integrated Products.MAXIM Integrated application Note 3960[EB/OL].[2012-09].http://china.maximintegrated.com/app-notes/index.mvp/id/3960.

        [4] NXP Semiconductors.THE I2C-BUS SPECIFICATION VERSION 2.1JANUARY 2000[EB/OL].[2012-09].http://www.classic.nxp.com/acrobat_download2/literature/9398/39340011.pdf.

        猜你喜歡
        服務(wù)程序寄存器中斷
        基于移動(dòng)終端的人事信息員工自助服務(wù)系統(tǒng)設(shè)計(jì)
        基于C#的進(jìn)程守護(hù)程序的設(shè)計(jì)
        視聽(tīng)(2020年3期)2020-06-11 14:28:18
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        水利工程施工監(jiān)理服務(wù)程序及質(zhì)量控制
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        亚洲无人区乱码中文字幕能看| 国产国语熟妇视频在线观看| 亚洲国产成人久久综合一区77| 久久精品美女久久| 五月停停开心中文字幕 | 自拍偷拍亚洲一区| 中文字幕在线一区乱码| 日韩女优在线一区二区| 国产自拍在线观看视频| 极品白嫩的小少妇| 国产无遮挡裸体免费视频| 大香视频伊人精品75| 中文字幕国产精品中文字幕| 免费观看在线一区二区| 丝袜美腿亚洲第一免费| 亚洲va欧美va日韩va成人网| 国产成人av片在线观看| 亚洲人免费| 亚洲日本在线中文字幕| 91精品国产九色综合久久香蕉| 国产女人精品视频国产灰线| 超清纯白嫩大学生无码网站| 精品无码AV无码免费专区| 精品人妻av一区二区三区不卡| 亚洲天堂一区二区三区| 国产一区二区三区中文在线| 欧美大屁股xxxx| 青青视频一区| 精品人妻中文字幕一区二区三区| 亚洲av手机在线播放| 久久久久99人妻一区二区三区| 亚洲色爱免费观看视频| 国产成人精品三级麻豆| 欧美精品日韩一区二区三区| 国产精品伦理久久一区| 无码国内精品人妻少妇蜜桃视频| 欧美最大胆的西西人体44| 91麻豆国产香蕉久久精品| 亚洲AV日韩AV高潮喷潮无码| 国产成人av区一区二区三| 国精产品一区一区三区有限在线|