999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PCF8584實現串行I2C總線接口的擴展

2017-11-01 06:35:31江蘇自動化研究所張艷春
電子世界 2017年19期
關鍵詞:信號

江蘇自動化研究所 張艷春

基于PCF8584實現串行I2C總線接口的擴展

江蘇自動化研究所 張艷春

I2C總線大量的應用在視頻和音像電路中。在沒有自帶I2C接口的MCU處理器若要使用I2C總線進行擴展或者控制的時候,必須要通過專用的器件進行信號轉換,此時PCF8584就可以作為一個接口器件,實現高速并行總線和I2C串行總線間的數據轉換。

I2C串行總線;接口器件

1 概述

新一代單片機技術顯著特點之一就是串行擴展總線的推出。I2C串行總線的優點:1)規范非常嚴格,如接口的信號時序、信號傳輸的定義、電氣特征、總線管理規則、總線狀態設置以及總線狀態處理等。2)元器件在總線上節點具有獨立性,且各節點上的模塊、器件都會對應相對獨立的地址編號。

2 I2C總線的基本工作原理

I2C (Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。最初在80年代為音頻和視頻設備開發,目前主要用于服務器管理。

2.1 I2C總線的構成以及信號類型

I2C總線是由數據線SDA和時鐘SCL構成可發送和接收數據的串行總線。用于IC與IC之間、CPU與被控IC之間進行雙向傳送,最高傳送速率可達100kbps。各種被控制電路均并聯在總線上,每個電路和模塊都有唯一的地址,就像電話機一樣只有撥通各自的號碼才能工作。在信息的傳輸過程中,I2C總線上并接的每一模塊電路取決于它所要完成的功能,既可以定義為主控器(或被控器),又是發送器(或接收器)。總線在傳送數據過程中共有三種類型信號:開始信號、應答信號和結束信號。

開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據。

應答信號:接收數據的IC在接收到數據后,向發送數據的IC發出特定的低電平脈沖,表示已收到數據。

結束信號:SCL為低電平時,SDA由低電平向高電平跳變,結束傳送數據。

2.2 總線操作的基本方式

I2C規程運用主/從雙向通訊。如果定義為發送器,則器件發送數據到總線上,器件接收數據則定義為接收器。主器件和從器件都可以工作于發送或接收狀態。 總線必須由主器件(通常為微控制器)控制,主器件產生起始和停止條件,并產生串行時鐘(SCL)控制總線的傳輸方向。在SCL為低電平的期間SDA總線的數據狀態僅才能改變,SDA狀態的改變用來表示起始和停止條件時SCL為高電平。

3 PCF8584的結構及工作原理

3.1 結構與引腳

PCF8584內部結構主要由三部分組成,即I2C總線接口控制、并行總線控制邏輯和寄存器組。

內部寄存器有比較器、讀緩沖器/移位寄存器S0、控制/狀態寄存器S1、時鐘寄存器S2、中斷向量寄存器S3和自地址寄存器S0′。與并行總線相連的移位寄存器與讀緩沖器共用一個單元,執行雙向傳送數據方式。各部分簡要功能介紹:a)比較器將自地址寄存器S0′數據加載至自己的從地址數據。b)控制/狀態寄存器S1寫入時為控制寄存器,用以寄存器選擇和I2C總線的運行控制;讀出時為狀態寄存器,用以了解I2C總線的狀態信息。c)時鐘寄存器S2用來選擇內部時鐘頻率和I2C總線時鐘頻率。d)中斷適量寄存器S3為矢量中斷提供一個用戶可編程的8為矢量值。e)并行總線控制邏輯用于自動識別外部總線類型,以提供相應的控制信號,如80XX系列單片機的讀/寫信號;6800系列的/IACK、/DTACK、R/W;等。f)I2C總線接口控制部分包括時鐘控制邏輯、數據控制邏輯、總線的標準接口、數字濾波器以及遠程接口。

下表所示是PCF8584的引腳安排。共有20個引腳,各引腳功能如下:

引腳號 名稱 輸入/輸出 功 能1 CLK I 來自MCU/CPU時鐘發生器的輸入端(內部上拉)2 SDA/SDAOUT I/O SDA:總線的數據端(漏極開路)SDAOUT:長線方式的數據輸出端3 SCL/SCLIN I/O SCL:總線的時鐘端(漏極開路)SCLIN:長線方式的串行時鐘輸入端4 /IACK/SDAIN I/IACK:中斷響應輸入(內部上拉)。當該信號有效ENI標志置位,寄存器S2中的中斷向量將出現在總線端口上。SDAIN:長線方式的串行數據輸入5 /INT/SCLOUT O/INT:中斷請求輸出(漏極開路)。該信號由S1寄存器中的ENI表示使能。當PIN表示復位時,該信號有效(PIN在I2C總線上發送和接收一個字節后復位)SCLOUT:長線方式的時鐘輸出端6 A0 I寄存器選擇輸入(內部上拉)。用以選擇控制/狀態寄存器或其它寄存器,A0=1選擇S1;A0=0則根據S1中的ES0、ES1、ES2選擇其它的寄存器7~15 DB1~DB7 I/O 雙向8位總線口16 /RD(/DTACK) I(O) 8049、8051等系列MCU、CPU的讀控制輸入;/DTACK為6800系列CPU的數據傳送控制輸出(漏極開路)17 /CS I 片選輸入(內部上拉)18 /WR(R//W) I 8049、8051等系列MCU、CPU的寫控制輸入;R//W為6800系列CPU的R//W控制輸入19 /RESET/STROBE I/O復位輸入(漏極開路)。該輸入信號迫使總線控制器進入預訂狀態,出PIN外所有標志復位;該引腳也可作選通輸出。20 VDD 電源正端

3.2 寄存器S0′、S2和S3的初始化設置

PCF8584的初始化主要是對寄存器S0′、S2和S3的配置方式。

1)自地址寄存器S0′。狀態寄存器S1中的AAS位置位當接收到自己的從地址時。(S0中的地址數據與S0′中的地址數據相比較)。提醒S0和S0′寄存器須錯移一位,自地址編程為55H時,被認作PCF8584的從地址值為AAH。

當引腳A0為低電平是,S1中的有關位組合設置可實現對S0′的編程。復位后,S0′為無效地址00H。

2)時鐘寄存器S2。用來選擇總線的時鐘頻率SCL和時鐘頻率。S2中的S20、S21位用來選擇4種SCL時鐘頻率。

3)中斷矢量寄存器S3。矢量中斷微處理器通過中斷矢量寄存器提供了一個8位可編程矢量。當ENI(中斷使能)標志置位時,并且一個中斷響應信號出現,總線端口(DB7~DB0)就會出現出現中斷矢量。

當PCF8584 A0引腳為低電平時,寄存器S0′、S2和S3的初始化編程寫入對控制寄存器S1中的ES1、ES2置位、復位不同狀態實現。

4)總線R/W操作與移位寄存器/讀緩沖器S0。在接收方式中,禁止從I2C總線進一步接收數據直到S0緩沖器讀出為止,此時在應答的時序上,數據從移位寄存器復制到讀緩沖器中。在發送方式中,如果串行口被使能(ES0=1),當數據寫到S0移位寄存器后立即發送到I2C總線上。

3.3 控制/狀態寄存器S1的初始化設置

控制/狀態寄存器S1用于I2C總線的操作控制,并提供總線狀態信息。S1尋址方式的實現是通過寄存器選擇輸入A0為高電平。讀操作時S1為狀態寄存器,寫操作時為控制寄存器。

控制寄存器S1主要作用是對總線的操作控制以及對S0、S0′、S1、S2、S3進行尋址選擇。其格式如下:

D7:PIN ES0 ES1 ES2 EN1 STA ST0 D7:ACK PIN:中斷無關。當PIN=1時,表示執行的操作與中斷無關。ES0:串行輸出使能。ES0用于總線串行接口的使能控制。ES1、ES2:寄存器的讀、寫選擇位。用于I2C總線初始化及正常操作控制時的寄存器讀、寫操作選擇。ENI:外部中斷輸出允許。ENI=0表示 /INT輸出使能。STA、STO:起始、停止位。STA、STO位用于控制總線產生起始條件和傳送從地址及讀/寫位;產生一個重起始條件以及產生一個停止條件。ACK:應答位。通常情況下,由于總線控制器在接收到每個字節后都要自動地發送一個應答位,該位必須置1。通常情況(串行口工作時)下,對S1進行寫操作時,S1為狀態寄存器,提供總線的狀態信息。其格式如下:D7:PIN 0 STS BER AD0/LRB AAS LAB D7:/BB

圖1 80C31單片機通過PCF8584擴展I2C接口硬件電路

PIN:中斷無關。當收到PCF8584請求信號,該位置0。作為從發送或從接收器時,當PIN=0,PCF8584通過保持SCL為低電平來停止I2C總線傳送操作,直到PIN=1為止。總線busy將拒絕數據發送或接收,直到從S0中讀取正確的數據(從接收)或下個數據寫入S0中(從發送)。

STS:在從接收方式中,標志著收到到一個外部的STOP條件。

BER:I2C總線錯誤。總線錯誤表明START或STOP出現錯誤。

LRB/AD0:最后接收位/零地址位。

LRB:當AAS=0是,保持總線最新的接收位,通常為從器件的應答位。因此LRB的有效測試方式即從器件應答位的檢查。

AD0:當AAS=1,總線控制器作為從器件被尋址,此時如果接收到的地址為總線控制器的自地址則置0,如果接收到的從地址為廣播呼叫地址(00H)時,AD0位置1。

AAS:從器件尋址位。當作為從接收器時,接收到自己的從地址或廣播地址時該位置位。

LAB:仲裁失敗位。在多主系統中,當仲裁失敗另一主器件占用總線時該位置位。

/BB:總線忙。該標志位表示總線在使用中,低電平有效,表示總線忙。該位通過STOP/START條件置位/復位(/1)。

4 應用分析

在常規的音像、視頻的控制電路中的總線實現方式大部分是通過擴展I2C接口的MCU,在本文我們設計實現了I2C的擴展實例,通過80C31單片機進行擴展,實現了I2C接口的擴展應用。實現多片PCF8584擴展使用的情況,可以通過單片機片選譯碼器實現尋址控制I2C接口,同時實現多路I2C數據通信的控制,可用于服務器管理。圖1為典型的單端I2C電路實現原理圖。

電路圖中8584的地址通過A1和A0尋址獲得,S0’寄存器的地址為#FF00;S1寄存器的地址為#FF01;

初始化程序清單如下:

MOV DPTR, #FFO1H MOV A, #80 ;發送字節80→S1

MOVX @DPTR,A NOP

MOV DPTR,#FF00H ;發送字節55→S0' MOV A,#55H

MOVX @DPTR,A NOP

MOV DPTR,#FF01H ;發送字節A0→S1 MOV A, #0A0H

MOVX @DPTR, A NOP

MOV DPTR #FF00H MOV A,#01DH ; 系統時鐘=12MHz,SCL=45KHz

MOVX @DPTR,A NOP

MOV DPTR,#FF01H MOV A, #0C1H ;發送字節C1→S1

MOV A, #0C1H ;發送字節C1→S1 MOVX @DPTR,A

NOP RET

5 結束語

本文分析闡述了I2C串行總線的工作原理,提出了通過常用MCU實現I2C接口的一種方法:通過I2C總線規范的應用,使PCF8584進行總線接口的擴展。但管理服務器等眾多設備時,硬件需求眾多的I2C總線接口的時,這種擴展方式顯的電路復雜,因此我們又可以采用本身帶有I2C接口的器件。

[1]PCF8584 I2C-bus controller.DATA SHEET,1997.

[2]相征.基于VxWorks嵌入式系統的數據通信[M].西安電子科技大學出版社:2011,4.

[3]謝四連,董輝,許岳兵.微機原理與接口技術[M].中南大學出版社:2015,8.

[4]何立民.I2C總線應用系統設計[M].北京航天航空大學出版社:2002,9.

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 国产99在线观看| 国产在线97| 亚洲人精品亚洲人成在线| 国产va在线| 男人天堂亚洲天堂| 亚洲浓毛av| 青青网在线国产| 中字无码av在线电影| 国产精品成人观看视频国产| 2022国产无码在线| 亚洲无码精彩视频在线观看| 国产在线观看第二页| 成年人视频一区二区| 亚洲狼网站狼狼鲁亚洲下载| 99草精品视频| 久久久精品国产亚洲AV日韩| 国产成人精品男人的天堂下载| 欧美日韩一区二区在线免费观看| 99久久99这里只有免费的精品| 成人无码一区二区三区视频在线观看| 999国内精品视频免费| 极品私人尤物在线精品首页| 国产91视频观看| 国产最新无码专区在线| 五月综合色婷婷| 国产黑丝视频在线观看| 秋霞一区二区三区| 蜜桃视频一区| 国产网站一区二区三区| 欧美v在线| 无码中文AⅤ在线观看| 香蕉久久永久视频| 亚洲欧美精品一中文字幕| 99久久成人国产精品免费| 在线观看网站国产| 国产爽妇精品| 免费aa毛片| 欧洲精品视频在线观看| 女人18毛片水真多国产| 大香网伊人久久综合网2020| 亚洲国产成人麻豆精品| 日本黄网在线观看| 国产福利大秀91| 女人av社区男人的天堂| 亚洲成人网在线播放| 欧美日韩另类国产| 99re在线视频观看| 久久久精品国产SM调教网站| 国内精品久久久久久久久久影视| 九色视频在线免费观看| 国产美女自慰在线观看| 欧美激情视频二区三区| 久久不卡国产精品无码| 免费观看国产小粉嫩喷水 | 国产午夜福利亚洲第一| 农村乱人伦一区二区| 国产免费羞羞视频| www亚洲精品| 超碰精品无码一区二区| 波多野结衣无码中文字幕在线观看一区二区| 激情爆乳一区二区| 亚洲国产第一区二区香蕉| 亚洲热线99精品视频| 女同国产精品一区二区| 亚洲精品国产精品乱码不卞| 国产激情第一页| 欧美日韩一区二区三区在线视频| 自拍偷拍欧美| 亚洲欧美另类中文字幕| 久久久久人妻一区精品| 亚洲婷婷在线视频| 国产导航在线| 这里只有精品在线| 国产精品久久国产精麻豆99网站| 亚洲Aⅴ无码专区在线观看q| 一本色道久久88| 日本成人精品视频| 亚洲第一成年网| 色噜噜久久| 中文字幕无码制服中字| 婷婷综合亚洲| 欧美日韩免费观看|