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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DM642的I2C總線配置與應(yīng)用

          DM642的I2C總線配置與應(yīng)用

          作者: 時(shí)間:2008-12-18 來源:網(wǎng)絡(luò) 收藏
          隨著國(guó)民經(jīng)濟(jì)的快速發(fā)展,數(shù)字圖像處理廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域。DM642作為高性能的視頻處理芯片,被廣泛應(yīng)用到視頻處理的很多領(lǐng)域,但是DM642的I2C應(yīng)用容易遇到I2C、VP等死鎖,以及SAA7115的從地址不能正確設(shè)置的問題。本文主要介紹的就是基于DM642的視頻采集處理系統(tǒng)中I2C模塊的正確初始化,以及通過正確地對(duì)視頻解碼芯片SAA7115的寄存器讀/寫程序。

          1 控制器的初始化
          為了正確使用DM642內(nèi)置的I2C模塊,首先需要正確的初始化。
          1.1 解鎖DM642中的I2C模塊
          在DM642的I2C應(yīng)用中,容易遇到不能使用初始化I2C模塊的問題,原因在于沒有先解鎖并使能I2C模塊。在DM642的數(shù)據(jù)手冊(cè)中可以看到,復(fù)位后I2C模塊是處于鎖定禁止?fàn)顟B(tài)的。也就是說,在硬件配置寄存器PERCFG中的I2CoEN位為0,所以在初始化前要在配置I2C模塊控制寄存器之前,使能I2C模塊。但是,如果要修改PERCFG中的內(nèi)容,就要先向PCFGLOCK中寫入0x10C0010C,對(duì)PERCFG解鎖。通討加下程序使能I2C模塊:


          1.2 I2C模塊的時(shí)鐘選擇
          在使能I2C模塊后,就可以對(duì)其控制寄存器進(jìn)行初始化了。CPU時(shí)鐘頻率為600 MHz,I2C模塊規(guī)定模塊時(shí)鐘頻率必須在7~12 MHz中選值,所以設(shè)定I2C模塊時(shí)鐘頻率為10 MHz。由圖1中的計(jì)算公式可得:IPSC為OEh。由于DM642和SAA7115都支持
          400 kbps快速模式,根據(jù)IPSC的取值,由圖1可知d=5。由此可以設(shè)定:ICCL=7,ICCH=8。

          1.3 設(shè)置從地址時(shí)容易遇到的問題
          需要注意的是,在DM642的I2C應(yīng)用中經(jīng)常會(huì)遇到不能正確讀/寫從設(shè)備的問題。這是因?yàn)镈M642對(duì)I2C模塊的從地址寄存器設(shè)置不同于其他芯片的I2C應(yīng)用。在標(biāo)準(zhǔn)I2C協(xié)議中,器件的7位地址格式要將地址和讀/寫方向位一同送入從地址寄存器。但是,DM642的I2C的應(yīng)用中只需要向從地址寄存器中送入7位器件地址,讀/寫方向位由DM642自動(dòng)生成。例如,SAA7115的標(biāo)準(zhǔn)I2C寫從地址為40H,如圖2所示。

          標(biāo)準(zhǔn)I2C協(xié)議中包括21H的地址信息和最后1位(讀/寫方向位),DM642只需將21H送入從地址寄存器。如果送入40H,將會(huì)導(dǎo)致讀/寫錯(cuò)誤。


          2 I2C讀/寫軟件設(shè)計(jì)
          2.1 配置模式寄存器I2CMDR

          對(duì)SAA7115的每個(gè)子地址操作后,其地址指針會(huì)自動(dòng)增加,但是它的可配置寄存器的自地址并不是連續(xù)分布的。所以將I2C工作模式寄存器(I2CMDR)配置為計(jì)數(shù)模式。每次執(zhí)行I2C_write()只傳送一次數(shù)據(jù),通過多次調(diào)用I2C_write()來完成SAA7115的初始化。先向I2CMDR寫入4620H,當(dāng)讀取SAA7115的寄存器時(shí),設(shè)置為無重復(fù)主接收模式,并向I2CMDR寫入4420H。
          2.2 配置從地址寄存器I2CDXR
          DM642對(duì)SAA7115的配置是通過尋址來實(shí)現(xiàn)的。當(dāng)DM642向解碼芯片SAA7115寫數(shù)據(jù)時(shí),通過I2C總線發(fā)送尋址指令,將右移位后的SAA7115的7位從地址寫入I2CDXR寄存器。以下是初始化程序:


          2.3 I2C對(duì)SAA7115的讀/寫程序設(shè)計(jì)
          綜上所述,圖3和圖4為DM642對(duì)SAA7115的讀/寫程序流程。


          結(jié) 語
          本文設(shè)計(jì)的程序經(jīng)過運(yùn)行證明,通過I2C總線控制寄存器的配置,DM642對(duì)視頻解碼芯片SAA7115讀/寫正確,完成了對(duì)視頻信號(hào)輸入制式、視頻信號(hào)通道選擇、視頻數(shù)據(jù)輸出格式、同步信號(hào)插入位置、亮度色度及對(duì)比度設(shè)定、同步信號(hào)輸入開關(guān)、視頻采集量化啟動(dòng)和關(guān)閉等內(nèi)部寄存器的設(shè)置。



          關(guān)鍵詞: I2C總線

          評(píng)論


          相關(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); })();