新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 解析DM642的I2C總線配置及應用

解析DM642的I2C總線配置及應用

作者: 時間:2011-09-23 來源:網絡 收藏
  作為高性能的視頻處理芯片,被廣泛應用到視頻處理的很多領域,但是的I2C應用容易遇到I2C、VP等死鎖,以及SAA7115的從地址不能正確設置的問題。本文主要介紹的就是基于的視頻采集處理系統(tǒng)中I2C模塊的正確初始化,以及通過正確地對視頻解碼芯片SAA7115的寄存器讀/寫程序。

  1 控制器的初始化

  是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設備。I2C總線產生于在80年代,最初為音頻和視頻設備開發(fā),如今主要在服務器管理中使用,其中包括單個組件狀態(tài)的通信。例如管理員可對各個組件進行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風扇??呻S時監(jiān)控內存、硬盤、網絡、系統(tǒng)溫度等多個參數(shù),增加了系統(tǒng)的安全性,方便了管理。

  為了正確使用DM642內置的I2C模塊,首先需要正確的初始化。

  1.1 解鎖DM642中的I2C模塊

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

  1.2 I2C模塊的時鐘選擇

  I2C總線最主要的優(yōu)點是其簡單性和有效性。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本??偩€的長度可高達25英尺,并且能夠以10Kbps的最大傳輸速率支持40個組件。I2C總線的另一個優(yōu)點是,它支持多主控(multimaSTering), 其中任何能夠進行發(fā)送和接收的設備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。當然,在任何時間點上只能有一個主控。

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

  1.3 設置從地址時容易遇到的問題

  需要注意的是,在DM642的I2C應用中經常會遇到不能正確讀/寫從設備的問題。這是因為DM642對I2C模塊的從地址寄存器設置不同于其他芯片的I2C應用。在標準I2C協(xié)議中,器件的7位地址格式要將地址和讀/寫方向位一同送入從地址寄存器。但是,DM642的I2C的應用中只需要向從地址寄存器中送入7位器件地址,讀/寫方向位由DM642自動生成。例如,SAA7115的標準I2C寫從地址為40H,如圖2所示。

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

  2 I2C讀/寫軟件設計

  2.1 配置模式寄存器I2CMDR

  對SAA7115的每個子地址操作后,其地址指針會自動增加,但是它的可配置寄存器的自地址并不是連續(xù)分布的。所以將I2C工作模式寄存器(I2CMDR)配置為計數(shù)模式。每次執(zhí)行I2C_write()只傳送一次數(shù)據(jù),通過多次調用I2C_write()來完成SAA7115的初始化。先向I2CMDR寫入4620H,當讀取SAA7115的寄存器時,設置為無重復主接收模式,并向I2CMDR寫入4420H。

  2.2 配置從地址寄存器I2CDXR

  DM642對SAA7115的配置是通過尋址來實現(xiàn)的。當DM642向解碼芯片SAA7115寫數(shù)據(jù)時,通過I2C總線發(fā)送尋址指令,將右移位后的SAA7115的7位從地址寫入I2CDXR寄存器。以下是初始化程序:

  2.3 I2C對SAA7115的讀/寫程序設計

  綜上所述,圖3和圖4為DM642對SAA7115的讀/寫程序流程。

  3 結 語

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



關鍵詞: DM642 I2C總線

評論


相關推薦

技術專區(qū)

關閉