在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談TI系列DSP的I2C模塊配置與應(yīng)用

電子工程師 ? 來源:《單片機與嵌入式系統(tǒng)應(yīng) ? 作者: 趙世峰;張海;范耀 ? 2021-04-08 10:30 ? 次閱讀

圖像采集和處理是DSP應(yīng)用的一個重要領(lǐng)域,本文結(jié)合作者開發(fā)的基于DSP的圖像采集、處理系統(tǒng)、以CMOS圖像采集芯片OV7620為例,介紹DSP芯片通過I2C模塊對I2C設(shè)備進行配置的過程。

I2C總線最早是由Philips公司提出的串行通信接口規(guī)范,標準I2C總線只使用兩條線通信,能將多個具有I2C接口的設(shè)備連接,進行可靠的通信,連接到同一總線的I2C器件數(shù)量,只受總線最大電容400pF的限制,而且最高通信速率可以達到3.4Mb/s,由于I2C接口簡單,使用方便,被很多芯片采用,成為一種廣泛應(yīng)用的接口[1]。

DSP即數(shù)字信號處理器,是一種廣泛應(yīng)用的嵌入式處理器,主要應(yīng)用是實時快速地實現(xiàn)各種數(shù)字信號處理算法,目前,國際主要的DSP供應(yīng)商是TI公司,其TMS32系列產(chǎn)品占據(jù)了DSP市場近一半的份額,為了用戶能方便快捷的進行系統(tǒng)的開發(fā)與集成,TI公司在一些型號的DSP中集成了I2C通信模塊,本文以TMS320C6713為例,使用TI公司DSP開發(fā)工具CCS2.2提供的CSL(Chip Support Lib,片級支持庫)配置I2C模塊。

圖像采集和處理是DSP應(yīng)用的一個重要領(lǐng)域,本文結(jié)合作者開發(fā)的基于DSP的圖像采集、處理系統(tǒng)、以CMOS圖像采集芯片OV7620為例,介紹DSP芯片通過I2C模塊對I2C設(shè)備進行配置的過程。

1 TI公司帶I2C接口的DSP

嵌入式系統(tǒng)開發(fā)過程中,如果處理器沒有I2C接口而系統(tǒng)中又存在I2C器件時,通用的辦法是利用處理器的兩根引腳分別模擬SDA和SCL信號,并利用程序模擬接口,這種方法的通用性好,靈活可靠,但是移植性差,不同型號的處理器需要不同的程序,盡管在網(wǎng)上能夠下載到這類程序的源代碼,但是進行程序移植仍會浪費開發(fā)人員大量的時間,而且使得程序變得龐大,不易維護。

為了用戶能方便快捷地進行系統(tǒng)的開發(fā)與集成,TI公司在一些型號的DSP中集成了I2C通信模塊,例如TMS320C6713、TMS320C6416、TMS320C5509等。

TMS320C6713是一款高性能浮點DSP,內(nèi)部集成2個I2C接口:I2C0和I2C1。其中,I2C1的引腳與McBSP1(Multichannel Buffered Serial Port 1,多通道緩存串口1)的引腳復(fù)用,默認情況下是激活McBSP1,使用I2C1必須將寄存器DEVCFG的最低位置1[2,3]。I2C模塊的結(jié)構(gòu)如圖1所示。

pIYBAGBuaO-AaCNVAAB0WwQG0JE494.png

I2CDXR是發(fā)送緩存,I2CXSR是發(fā)送移位寄存器。總線上的數(shù)據(jù)送到I2CDXR之后,被拷貝到I2CXSR,按位移出,送到SDA,先移出的位是最高位。I2CDRR與I2CRSR分別是接收緩存和接收移位寄存器,負責將SDA上的數(shù)據(jù)移入,合并成字節(jié)后,放到接收緩存,并將數(shù)據(jù)發(fā)送到數(shù)據(jù)總線。

I2C模塊有5種狀態(tài)會產(chǎn)生中斷信號,作為中斷源提供給DSP中斷系統(tǒng)調(diào)用,這5種狀態(tài)是:準確好發(fā)送數(shù)據(jù)、準確好接收數(shù)據(jù)、可以訪問寄存器、主機沒收到響應(yīng)信號和總線仲裁失敗。因為I2C模塊能夠提供中斷信號,可以編制中斷處理函數(shù),中斷中相應(yīng)I2C事件,確保了響應(yīng)的實時性。

I2C模擬還可以與EDMA(Enhanced Direct Memory Access,增強型內(nèi)存直接訪問)配合工作。當數(shù)據(jù)由I2CDXR拷貝到I2CXSR或由I2CRSR拷貝到I2CDRR時,都會觸發(fā)EDMA操作,EDMA會發(fā)送下一個數(shù)據(jù)或讀取收到的數(shù)據(jù)。由于EDMA操作不占用DSP處理時間,可以大大提高DSP的運算速度,避免流水線被不停的打斷,因此,如果使用I2C模塊與外設(shè)進行數(shù)據(jù)量比較大的數(shù)據(jù)交換,比如,將緩存中的大量數(shù)據(jù)保存到I2C接口的Flash中,可以使用EDMA操作,如果交換的數(shù)據(jù)量比較小,而對實時性比較高,比如,接收I2C接口傳感器的采集數(shù)據(jù),可以采用DSP中斷的方式;如果交換的數(shù)據(jù)量比較小,對實時性要求又不高,比如,對I2C設(shè)備進行設(shè)置,則可以使用DSP查詢狀態(tài)位的方式,本文例程使用I2C模塊配置OV7620,采用查詢方式。

為使I2C模塊正常工作,必須為其提供驅(qū)動時鐘,在TMS320C6713中,I2C模塊的時鐘由系統(tǒng)時鐘經(jīng)分頻得到,如圖2所示。

pIYBAGBuaQGAFNY8AAA606kp4Ro949.png

外接時鐘為DSP系統(tǒng)的外接時鐘,本文設(shè)計的系統(tǒng)時鐘頻率為25MHz,PLL為系統(tǒng)的鎖相環(huán),先對外接時鐘分頻,再倍頻,鎖定時鐘,然后按照不同的分頻系數(shù),分出三個時鐘,供TMS320C6713使用,其中的一個輸出到I2C模塊,I2C模塊先根據(jù)IPSC的值將時鐘預(yù)分頻,分頻后的時鐘供I2C模塊使用,同時,根據(jù)ICCL與ICCH的值再將時鐘分頻,分別控制SCL的低電平與高電平周期,SCL的頻率為

o4YBAGBuaWaATRtUAAAVQSnXsEk219.png

在配置I2C模塊之前,必須配置PLL。TMS320C6713的I2C不支持高速模式,一般配置在標準模式下。

2 使用CSL配置I2C模塊

對I2C模塊的控制是通過操作控制/狀態(tài)寄存器組實現(xiàn)的。TMS320C6713的寄存器映射到地址空間,可以通過地址操作直接讀寫寄存器,如

#define I2CMDR0 0x01B40024

*(volatile unsigned int *)I2CMDR0&=~0x20;

通過地址操作讀寫寄存器,語法簡單,編譯效率高,但是程序的可讀性和可移植性差,不易維護。

在DSP應(yīng)用系統(tǒng)中,一般會涉及到大量DSP器件,特別是片上外設(shè)的編程處理工作,在開發(fā)初期消耗了開發(fā)人員較多精力,TI公司在開發(fā)環(huán)境CCS中,提供了CSL。多數(shù)CSL模塊都由對應(yīng)的函數(shù)、宏、類和表示符號組成。可以簡單方便地完成對DSP器件片上外設(shè)配置和控制的編程工作,從而簡化DSP片上外設(shè)開發(fā)工作,縮短了開發(fā)周期,具有標準化控制和管理片上外設(shè)的能力,減少了DSP硬件特殊性對用戶程序代碼的影響,方便用戶在不同器件間進行代碼移植。但是使用CSL進行外設(shè)控制對用戶代碼執(zhí)行效率可能會造成一些影響[4]。

本文先給出配置PLL的程序,再給出配置I2C模塊的程序,因為DSP電路板的時鐘并不相同,PLL配置程序并不具有很強的可移植性,同時為了提高編譯、執(zhí)行效率,配置PLL的程序采用直接地址操作的方式,寄存器的宏定義請參考相應(yīng)的DSP數(shù)據(jù)手冊。本例程參考了文獻[2],DSP系統(tǒng)的外接時鐘為25MHz。

o4YBAGBuaaOAZLLCAAC2L6sLn3k898.png

pIYBAGBuaa-AW28QAAAzAwLqhAg296.png

注意,DSP系統(tǒng)的內(nèi)部時鐘大部分來自于PLL,PLL設(shè)置程序必須放在全部的最前面,只有對PLL配置成功,系統(tǒng)才能正常的工作。

提供時鐘之后,可以對I2C模塊進行配置。本文將I2C0配制成主機發(fā)送模式,工作頻率為100kHz,非連續(xù)發(fā)送,7位地址。因為本程序是為配置OV7620作準備,所以并沒有使用EDMA與DSP中斷。

注意,I2C0在發(fā)送一個字節(jié)后,自動緩緩到主機接收模式,為了驗證I2C0工作是否正常,可以將I2C0與I2C1環(huán)接。

本例程只提供配置I2C模塊所需的頭文件。

o4YBAGBuagyACGQkAADpaiojEIU116.png

3 使用I2C模塊配置OV7620

Omnivision公司推出的CMOS彩色圖像傳感器OV7620,最大分辨率為664×492,不但能工作在逐行掃描方式下,也能工作在隔行掃描方式下,可通過I2C總線配置片內(nèi)寄存器,以使其輸出RGB原始數(shù)據(jù),本文設(shè)計的系統(tǒng)加電復(fù)位后,先由TMS320C6713產(chǎn)生I2C總線信號來對OV7620工作寄存器進行初始化,然后OV7620即可開始按要求輸出圖像信號,包括行同步信號HREF、場同步信號VSYNC、像素時鐘信號PCLK和數(shù)字圖像信號[5]。DSP通過EDMA接收原始圖像數(shù)據(jù),進行中值濾波,去掉噪聲,再進行有關(guān)的圖象處理,下面給出OV7620的初始化程序。

o4YBAGBuah2AVmvWAAB89bbJnq8436.png

OV7620initial()函數(shù)的4個參數(shù)分別為CMOS感光區(qū)域起始點和區(qū)域范圍,I2C_SetOV7620()為自定義的函數(shù),通過I2C發(fā)送兩個數(shù)據(jù),第一個數(shù)據(jù)為OV7620的寄存器地址,第二個數(shù)據(jù)為寄存器內(nèi)容。

4 結(jié)論

本文介紹了I2C總線規(guī)范,以TMS320C6713為例,說明TI一些DSP中I2C模塊的結(jié)果及各部分的功能,介紹了如何配置DSP的PLL及系統(tǒng)時鐘;給出了開發(fā)環(huán)境CCS中CSL的使用方法,對TMS320C6713的I2C模塊進行了配置,對OV7620進行了配置。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2564

    文章

    52665

    瀏覽量

    764207
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    555

    文章

    8148

    瀏覽量

    355498
  • 信號處理器
    +關(guān)注

    關(guān)注

    1

    文章

    256

    瀏覽量

    25684
  • I2C總線
    +關(guān)注

    關(guān)注

    8

    文章

    408

    瀏覽量

    61952
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    簡單了解I2C接口

    在電子電路的復(fù)雜世界里,各種電路模塊設(shè)備需要相互通信才能協(xié)同工作 ,I2C接口就像是電路模塊設(shè)備間的溝通橋梁,今天就帶大家深入了解它。
    的頭像 發(fā)表于 05-08 14:15 ?595次閱讀
    簡單了解<b class='flag-5'>I2C</b>接口

    I2C總線復(fù)用

    帝晶智慧屏I2C總線復(fù)用
    的頭像 發(fā)表于 03-11 17:20 ?1322次閱讀

    I2C總線與Arduino的接口示例

    在現(xiàn)代電子設(shè)計中,I2C總線因其簡單性和靈活性而廣受歡迎。它允許多個設(shè)備共享同一通信線路,從而節(jié)省空間和成本。Arduino,作為一個多功能的微控制器平臺,自然也支持I2C通信。 I2C總線
    的頭像 發(fā)表于 01-17 15:34 ?1417次閱讀

    I2C總線設(shè)備地址設(shè)置方法

    通常是一個7位或10位的數(shù)字,用于標識總線上的每個設(shè)備。在7位尋址模式下,地址范圍是0x00到0x7F,而在10位尋址模式下,地址范圍是0x000到0x3FF。I2C地址的最低位(LSB)通常用于指示讀/寫操作。 硬件地址設(shè)置 1. 地址引腳配置 許多
    的頭像 發(fā)表于 01-17 15:17 ?3588次閱讀

    I2C總線應(yīng)用實例分析

    在現(xiàn)代電子系統(tǒng)中,I2C總線因其簡單、靈活和高效的特點而被廣泛應(yīng)用于各種設(shè)備之間的通信。 I2C總線概述 I2C總線由Philips(現(xiàn)為NXP)在1980年代初期開發(fā),最初用于音頻和視頻設(shè)備
    的頭像 發(fā)表于 01-17 15:09 ?644次閱讀

    TPS650860 I2C配置系統(tǒng)的PMIC用戶指南

    電子發(fā)燒友網(wǎng)站提供《TPS650860 I2C配置系統(tǒng)的PMIC用戶指南.pdf》資料免費下載
    發(fā)表于 01-02 14:57 ?0次下載
    TPS650860 <b class='flag-5'>I2C</b>可<b class='flag-5'>配置</b>系統(tǒng)的PMIC用戶指南

    TMS320C6000 DSP內(nèi)部集成電路(I2C)模塊參考指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 DSP內(nèi)部集成電路(I2C)模塊參考指南.pdf》資料免費下載
    發(fā)表于 12-30 16:43 ?0次下載
    TMS320<b class='flag-5'>C</b>6000 <b class='flag-5'>DSP</b>內(nèi)部集成電路(<b class='flag-5'>I2C</b>)<b class='flag-5'>模塊</b>參考指南

    TMS320VC5501/5502/5503/5507/5509 DSP內(nèi)部集成電路(I2C)模塊參考指南

    電子發(fā)燒友網(wǎng)站提供《TMS320VC5501/5502/5503/5507/5509 DSP內(nèi)部集成電路(I2C)模塊參考指南.pdf》資料免費下載
    發(fā)表于 12-24 17:18 ?0次下載
    TMS320VC5501/5502/5503/5507/5509 <b class='flag-5'>DSP</b>內(nèi)部集成電路(<b class='flag-5'>I2C</b>)<b class='flag-5'>模塊</b>參考指南

    PCA9306 I2C緩沖器評估模塊

    電子發(fā)燒友網(wǎng)站提供《PCA9306 I2C緩沖器評估模塊.pdf》資料免費下載
    發(fā)表于 12-23 15:16 ?0次下載
    PCA9306 <b class='flag-5'>I2C</b>緩沖器評估<b class='flag-5'>模塊</b>

    可并聯(lián)的I2C遙感6A/12A電源模塊評估模塊

    電子發(fā)燒友網(wǎng)站提供《可并聯(lián)的I2C遙感6A/12A電源模塊評估模塊.pdf》資料免費下載
    發(fā)表于 11-06 09:09 ?0次下載
    可并聯(lián)的<b class='flag-5'>I2C</b>遙感6A/12A電源<b class='flag-5'>模塊</b>評估<b class='flag-5'>模塊</b>

    RISC V的I2C操作

    system_i2c_0_io_scl_writeEnable = !system_i2c_0_io_scl_write;Interface配置示例I2C寄存器設(shè)置在
    的頭像 發(fā)表于 11-01 11:06 ?636次閱讀

    將TMS320F280x DSP配置I2C主處理器或從處理器

    電子發(fā)燒友網(wǎng)站提供《將TMS320F280x DSP配置I2C主處理器或從處理器.pdf》資料免費下載
    發(fā)表于 10-15 09:34 ?0次下載
    將TMS320F280x <b class='flag-5'>DSP</b><b class='flag-5'>配置</b>為<b class='flag-5'>I2C</b>主處理器或從處理器

    了解I2C總線

    電子發(fā)燒友網(wǎng)站提供《了解I2C總線.pdf》資料免費下載
    發(fā)表于 10-08 11:13 ?2次下載
    了解<b class='flag-5'>I2C</b>總線

    I2C基本指南

    電子發(fā)燒友網(wǎng)站提供《I2C基本指南.pdf》資料免費下載
    發(fā)表于 09-10 09:40 ?0次下載
    <b class='flag-5'>I2C</b>基本指南

    使用C2000 I2C模塊連接EEPROM

    電子發(fā)燒友網(wǎng)站提供《使用C2000 I2C模塊連接EEPROM.pdf》資料免費下載
    發(fā)表于 08-27 09:53 ?0次下載
    使用<b class='flag-5'>C</b>2000 <b class='flag-5'>I2C</b><b class='flag-5'>模塊</b>連接EEPROM
    主站蜘蛛池模板: 国产精品天天在线 | 精品你懂的 | bt种子搜索-bt天堂 | 亚洲乱码一区二区三区在线观看 | 特黄一级 | 国产精品久久久久影视不卡 | 三级视频欧美 | 日本天堂影院在线播放 | 色系视频在线观看免费观看 | 色中色软件 | 五月婷婷六月丁香激情 | 日本janpanese护士bus中国 | 起碰成人免费公开网视频 | 亚洲香蕉毛片久久网站老妇人 | 天天草天天干 | 视频福利网 | 888xxxx免费视频 | 男人j进入女人免费视频 | 激情综合激情五月 | 又长又大又粗又硬3p免费视频 | 天天干天天谢 | 成人黄网大全在线观看 | 永久毛片| videosgratis欧美另类老太 | 又大又粗进出白浆直流动态图 | 深夜视频在线免费观看 | 欧美色图中文字幕 | 99成人在线观看 | 又色又爽视频 | 黄色成人免费观看 | 国产综合精品久久亚洲 | 亚洲人成网i8禁止 | 色播五月激情 | 99久久久久国产精品免费 | 日韩欧美印度一级毛片 | 韩国朴银狐诱感在线观看 | 亚洲精品乱码久久久久久蜜桃图片 | 亚洲欧美色中文字幕 | 午夜国产精品理论片久久影院 | 99久久精品久久久久久婷婷 | 国产性videosgratis|