設為主頁(yè)  加入收藏
 
·I2S數字功放IC/內置DSP音頻算法功放芯片  ·馬達驅動(dòng)IC  ·2.1聲道單芯片D類(lèi)功放IC  ·內置DC/DC升壓模塊的D類(lèi)功放IC  ·鋰電充電管理IC/快充IC  ·無(wú)線(xiàn)遙控方案  ·直流無(wú)刷電機驅動(dòng)芯片
當前位置:首頁(yè)->技術(shù)分享
I²C總線(xiàn)的驗證及實(shí)現
文章來(lái)源: 更新時(shí)間:2010/11/12 13:56:00
在線(xiàn)咨詢(xún):
給我發(fā)消息
張代明 3003290139
給我發(fā)消息
小鄢 2850985542
給我發(fā)消息
李湘寧 2850985550
13713728695
 

摘要:本應用筆記簡(jiǎn)單回顧了I²C總線(xiàn)的發(fā)展進(jìn)程,并介紹了I²C配置,以簡(jiǎn)化總線(xiàn)上主機與從機之間的通信。應用實(shí)例提供了原理圖和程序代碼,附錄1提供了本文使用的術(shù)語(yǔ)定義。

引言

80年代初期,Philips Semiconductor為減少電子產(chǎn)品內部并行數據總線(xiàn)的數量,開(kāi)發(fā)了Inter IC (I²C)總線(xiàn)。1992年,Philips®發(fā)布I²C總線(xiàn)的1.0版本,該版本定義了一個(gè)2線(xiàn)、雙向總線(xiàn),用于IC之間的互聯(lián)。到1998年為止,I²C總線(xiàn)已經(jīng)成為低速I(mǎi)C互聯(lián)的標準,50家以上的公司使用了該標準,I²C接口被集成在1000多種不同的IC內。

實(shí)驗表明,本文提供的I²C總線(xiàn)配置很容易實(shí)現總線(xiàn)上從器件的訪(fǎng)問(wèn)。每個(gè)應用實(shí)例給出了原理圖和程序代碼,讀者需要熟悉以下資料:

  • I²C總線(xiàn)規范,2.1版,2000年1月。
    Philips Semiconductor,#9398 393 40011。
  • I²C總線(xiàn)及使用,1995年4月。
    Philips Semiconductor,#98-8080-575-01。
  • 系統管理總線(xiàn)(SMBus™)規范,2.0版,2000年8月。

背景及討論

I²C總線(xiàn)能夠工作在標準模式、快速模式或高速模式(Hs)。最大速率分別為100kbps (標準模式)、400kbps (快速模式)、1.7Mbps (Hs模式,Cb = 400pF)和3.4Mbps (Hs模式,Cb = 100pF)。

原標準模式采用7位地址,允許112個(gè)從地址。隨著(zhù)對從設備數量需求的增加,I²C總線(xiàn)引入了10位地址長(cháng)度。

快速模式下,從設備增加了很多有用功能。最大數據速率提高四倍,增加到400kbps?焖倌J较翴²C總線(xiàn)還向下兼容,支持速率其它類(lèi)似的常常連接到I²C總線(xiàn)的總線(xiàn),例如,一些無(wú)法支持高速率的總線(xiàn)。為抑制噪聲,快速模式器件的輸入采用了施密特觸發(fā)器結構;另外還要求I²C從器件在電源掉電時(shí),其
SCLSDA高阻態(tài)。

構建Hs模式的主要目的是提高數據通信速率—數據速率是標準模式的36倍。I²C總線(xiàn)工作在Hs模式時(shí),最主要的影響是SCL線(xiàn)上從低電平到高電平的瞬變;因為標準模式和快速模式下,總線(xiàn)的上拉
電阻不能產(chǎn)生較快的上升時(shí)間,以支持Hs模式的規格要求。絕大多數Hs模式系統必須在SCL線(xiàn)上提供有源上拉。其它改變包括:Hs模式的兼容性要求,Hs模式主機在標準、快速模式下使用的是8位代碼。如果非應答(I²C幀結構的其中1位)在主機代碼之后立即保持在高電平,那么在停止位出現之前所有通信都將保持在Hs模式。圖1波形演示了如何使用主機代碼進(jìn)入Hs模式。

圖1. 從快速、標準I²C模式進(jìn)入Hs模式的波形
圖1. 從快速、標準I²C模式進(jìn)入Hs模式的波形

內置I²C接口實(shí)例

PIC18F442微控制器(µC)包含I²C外設接口,此接口支持標準和快速I(mǎi)²C模式。圖2給出一個(gè)應用電路,通過(guò)此接口接收來(lái)自ADC (MAX1169)的采樣數據。PIC®收到數據后會(huì )以115k波特率的速率通過(guò)UART發(fā)送出去,數據經(jīng)過(guò)RS-232收發(fā)器(MAX3232E)后由計算機標準串口采集。文件I2C_on_chip_asm.zip包括了所有實(shí)現快速模式下PIC片上I²C接口通信的匯編程序?梢允褂肕PLAB IDE 6.10.00版本開(kāi)發(fā)圖2電路的匯編程序。

圖2. PIC18F442 µC內置I²C接口與16位ADC (MAX1169)的連接
圖2. PIC18F442 µC內置I²C接口與16位ADC (MAX1169)的連接

逐位仿真實(shí)現I²C通信

MAXQ2000是低功耗16位RISC µC,能夠以逐位仿真方式實(shí)現標準模式、快速模式甚至1.7MHz Hs模式的I²C通信。圖3給出了MAXQ2000的通用原理圖,可以作為I²C主機支持三種工作模式。為了支持1.7MHz Hs模式,原理圖中I²C總線(xiàn)采用有源上拉。I2C_bit_bang_asm.zip文件包含了使用µC GPIO口仿真標準、快速模式I²C通信所需的所有匯編程序。

圖3. 該原理圖(基于MAXQ2000低功耗LCD µC)提供了一個(gè)能夠工作在標準、快速或Hs模式的I²C主機
圖3. 該原理圖(基于MAXQ2000低功耗LCD µC)提供了一個(gè)能夠工作在標準、快速或Hs模式的I²C主機

MAXQ2000的I²C 固件的默認時(shí)鐘速率為100kHz,但µC的16MHz系統時(shí)鐘能夠支持逐位仿真的I²C接口工作在400kHz。以下例程演示了捕獲中斷事件并在簡(jiǎn)單中斷服務(wù)程序中處理中斷的過(guò)程。開(kāi)發(fā)工具使用MAX-IDE 1.0版(開(kāi)發(fā)日期:2004年11月18日),該軟件可從
Maxim網(wǎng)站免費下載。

I2C_bit_bang_c.zi文件中包含了使用MAXQ2000 GPIO口逐位仿真標準、快速模式I²C通信所需的C程序源文件。圖3對應的例程基于maxqi2c庫文件,包括maxqi2c.h和maxqi2c.c.兩個(gè)文件。將文件加載到用戶(hù)工程后,可以在任何GPIO口支持100kHz或400kHz的I²C通信。但是,使用C程序產(chǎn)生特定速率的I²C通信時(shí),圖3中的Y1必須用20MHz晶體代替15MHz的晶體。本例使用了為MAXQ2000 1.12B版(FAE版)開(kāi)發(fā)的IAR Embedded Workbench® IDE工具,用戶(hù)可以在IAR網(wǎng)站注冊后免費下載用于MAXQ2000的IAR Embedded Workbench (4K,初級版)。

HSI2C_bit_bang_asm_c.zip文件包含了使用MAXQ2000 GPIO逐位仿真1.7MHz Hs模式I²C通信所需的匯編程序和C程序。源代碼采用匯編語(yǔ)言和C語(yǔ)言混合代碼,以便充分發(fā)揮這兩種編程語(yǔ)言的優(yōu)勢。匯編程序有助于優(yōu)化速度,C程序能夠使源代碼更簡(jiǎn)捷(只需少數幾行指令)。Hs模式對時(shí)序要求非?量,I²C接收函數(hsi2cRecv)采用了匯編程序,代碼在hsi2c.asm文件內。

主程序C代碼對MAXQ2000的UART進(jìn)行初始化,波特率為115.2kbps。為了實(shí)現1.7MHz Hs模式I²C通信,圖3中的Y1必須采用20MHz晶體。主程序C代碼在需要時(shí)調用hsi2cRecv函數,并使用printf函數通過(guò)片上UART發(fā)送數據,數據格式為8-N-1。這里使用Rowley CrossWorks IDE 1.0版(Build 2 Licensed copy)開(kāi)發(fā)工具。要想獲得CrossWorks IDE工具,請聯(lián)系Rowley Associates Limited或訪(fǎng)問(wèn)其
網(wǎng)站。

I²C IP核外設接口的實(shí)現

DI2CM I²C IP核(由Digital Core Design開(kāi)發(fā))廣泛用于許多CPLD和FPGA器件。DI2CM I²C IP核將并行接口轉換為I²C接口,并可支持主機真正工作在3.4MHz的Hs模式。圖4應用電路中,Altera® EPM3256AQC208-10 CPLD包含DI2CM IP核。此電路需要使用40MHz晶體(U3)以支持1.7MHz和3.4MHz的Hs模式。帶有輸出使能的3態(tài)邏輯緩沖器使DI2CM IP核可以在SCL線(xiàn)上產(chǎn)生有源上拉,以滿(mǎn)足Hs模式下I²C通信的要求。邏輯反相門(mén)電路U5、U6和U7用于實(shí)現高電平有效和低電平有效的內存映射的并行接口。

圖4. 按照電路所示配置,Altera EPM3256AQC208-10 CPLD中的DI2CM IP核能夠實(shí)現Hs模式的I²C主機
詳細電路圖
(PDF, 841KB)
圖4. 按照電路所示配置,Altera EPM3256AQC208-10 CPLD中的DI2CM IP核能夠實(shí)現Hs模式的I²C主機

HSI2C_IP_core_asm.zip文件包含了所用用于實(shí)現Hs模式I²C通信所需的匯編程序,通過(guò)連接68HC16的存儲器映射并行接口和使用DI2CM IP核編程的Altera EPM3256 CPLD實(shí)現。本例采用了Motorola® 68HC宏匯編程序,4.1版。

結論

由于I²C總線(xiàn)是目前業(yè)內使用最為廣泛的串行總線(xiàn),系統設計人員能夠得到豐富的經(jīng)過(guò)驗證的例程。實(shí)施方案有—芯片內置、逐位仿真或IP核,具體取決于所使用的系統處理器。使用經(jīng)過(guò)驗證的設計示例進(jìn)行開(kāi)發(fā)時(shí)最簡(jiǎn)捷的途徑,本文給出了三種工作模式下I²C接口的設計參考。

  

附錄1:術(shù)語(yǔ)定義

  • CPLD:復雜編程邏輯器件
  • DI2CM:由Digital Core Design開(kāi)發(fā)的Hs模式I²C IP核
  • FPGA:現場(chǎng)可編程門(mén)陣列
  • GPIO:通用輸入/輸出
  • hsi2cRecv:Hs模式I²C接收功能函數,采用匯編程序
  • Hs-mode:高速I(mǎi)²C模式
  • IC:集成電路
  • IDE:集成開(kāi)發(fā)環(huán)境
  • IP:知識產(chǎn)權保護
  • I²C:內部IC總線(xiàn)
  • MAXQ2000:低功耗16位RISC微控制器
  • RS-232:推薦標準#232
  • SCL:用于I²C總線(xiàn)的硬件串行時(shí)鐘線(xiàn)
  • SDA:用于I²C總線(xiàn)的硬件串行數據線(xiàn)
  • UART:通用異步收發(fā)器
  • µC:微控制器
  • 8-N-1:8位,無(wú)奇偶校驗,1位停止位
 
 
 
    相關(guān)產(chǎn)品  
CS8330(單節鋰電/12V適配器雙電源供電、內置升壓15W單聲道音頻功放IC)
ACM8629(內置DSP、50W立體聲/100W單聲道I2S數字輸入D類(lèi)音頻功放IC)
IU8689(145W單聲道/75W立體聲D類(lèi)音頻功放IC)
ACM6753(18V/3A三相無(wú)感BLDC直流無(wú)刷電機驅動(dòng)IC)
CS8685(2x80W雙聲道大功率D類(lèi)音頻功放IC)
HT81293(單節雙節鋰電供電內置自適應動(dòng)態(tài)升壓20W單聲道D類(lèi)功放IC)
CS8683(130W單聲道D類(lèi)功放IC)
CS83705(單雙節鋰電池供電內置升壓18W單聲道音頻功放IC)
HT328(30W立體聲/60W單聲道D類(lèi)功放IC)
CS83702(單節鋰電池3.7V供電內置升壓18W單聲道D類(lèi)音頻功放IC)
 
 
·藍牙音箱的音頻功放/升壓/充電管
·單節鋰電內置升壓音頻功放IC選型
·HT7179 12V升24V內置
·5V USB輸入、三節鋰電升壓型
·網(wǎng)絡(luò )主播聲卡專(zhuān)用耳機放大IC-H
 
M12269 河北發(fā)電機組 HT366 ACM8629 HT338 

業(yè)務(wù)洽談:手機:13713728695(微信同號)   QQ:3003207580  EMAIL:panbo@szczkjgs.com   聯(lián)系人:潘波

地址:深圳市寶安西鄉航城大道航城創(chuàng )新創(chuàng )業(yè)園A5棟307/309

版權所有:深圳市永阜康科技有限公司  備案號:粵ICP備17113496號

在线亚洲人成电影_中文有码国产精品欧美激情_免费大片一级a一级久久三_av天堂东京热无码专区