2C總線控制器PCF8584的應用"/>
999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?摘要:本文介紹了12C串行總線控制器PCF8584的結構、功能。
結合我們一個課題,給出了PCF8584在系統(tǒng)中的應用。
關鍵詞:FC總線;控制器;PCF8584;DS1624
PCF8584
PCF 8584是PHILIPS(后更名為NXP)公司生產(chǎn)的CMOS低功耗I2總線控制電路,作為大多數(shù)標準并行總線的微處理器/微控制器與串行的I2C,總線間的接口。帶有主從模式,它可與I2C串行總線的器件進行通訊,允許并行總線系統(tǒng)與I2C串行總線間進行雙向通訊,可采用中斷或查詢模式,完成所有12C總線規(guī)范的序列、協(xié)議、仲裁及定時控制。它有兩種工作模式,分別是Intel和Motorola(后更名為Freescale)模式,不論是Intel或Motorola公司的微處理器,皆可方便與PCF 8584接口,這由芯片內部自動對第一個寫信號序列進行檢測來實現(xiàn)的。默認方式為Intel模式。

PCF8584內部有5個寄存器,其中的三個(自地址寄存器SO’,時鐘寄存器S2,中斷向量寄存器S3)用于對PCF8584進行初始化。正常情況下,這三個寄存器用于在設備復位后初始化該芯片。另外兩個寄存器是復用的,分別是數(shù)據(jù)緩沖/移位寄存器SO,控制/狀態(tài)寄存器S1,用于實際的數(shù)據(jù)傳送和接收。使用復用功能的寄存器,由讀寫來加以區(qū)別,減少了寄存器的使用量。寄存器S0兼具移位和數(shù)據(jù)緩沖的功能。寄存器SO在I2C總線中執(zhí)行所有串一并轉換的功能。寄存器S1包括了I2C,總線狀態(tài)信息。
I2C總線
I2C總線用兩條線(SDA和SCL)在芯片和模塊間傳遞信息。SDA為串行數(shù)據(jù)線,SCL為串行時鐘線,這兩條線必須用一個上拉電阻與正電源相連,其數(shù)據(jù)只有在總線不忙時才可傳送。12C總線的系統(tǒng)配置參見圖1,產(chǎn)生信號的設備是傳送器,接收信號的設備是接收器,控制信號的設備是主設備,受控制信號的設備是從設備。

啟動和停止條件
總線不忙時,數(shù)據(jù)線和時鐘線保持在高電平。數(shù)據(jù)線(SDA)在下降沿而時鐘線(SCL)為高電平時,為起動條件(START);數(shù)據(jù)線在上升沿而時鐘線為高電平時為停止條件(STOP),參見圖2、圖3。
標志位
在起動條件和停止條件之間,傳送器傳送給接收器的數(shù)據(jù)數(shù)量沒有限制。在每個8位字節(jié)后加一個標志位,傳送器便產(chǎn)生一個高電平的標志位,這時主設備產(chǎn)生一個附加標志位時鐘脈沖。
從接受器必須在接收到每個字節(jié)后產(chǎn)生一個標志位,主接收器也必須在接收從傳送器傳送的每個字節(jié)后產(chǎn)生一個標志位。在標志位時鐘脈沖出現(xiàn)時,SDA線應保持低電平(應考慮起動和保持時間)。傳送器應在從設備接收到最后一個字節(jié)時變?yōu)榈碗娖剑菇邮掌鳟a(chǎn)生標志位,這時主設備即可產(chǎn)生停止條件。

I2C總線協(xié)議
用VC總線傳遞數(shù)據(jù)前,接收的設備應先標明地址,在I2C總線起動后,這個地址與第一個傳送字節(jié)一起被傳送出去。PCF8584可以作為一個從接收器或從傳送器,此時的時鐘信號線SCL只能輸入信號線,數(shù)據(jù)信號線SDA則為一條雙向信號線。
應用實例
在我們的一個課題中,需要實現(xiàn)檢測裝置的恒溫控制,同時對電路工作環(huán)境也需要進行溫度檢測,共需要檢測、四路溫度值。我們選用了DALLS公司的數(shù)字溫度集成芯片DS1624,此芯片可測量的溫度范圍是-55到+125℃,以0.03125℃為增量,提供13位的溫度值,轉換時間最大為1秒;此芯片采用2線串行接口,具有布線方便等優(yōu)點,完全能滿足我們的設計需要。此芯片的A0、A1、A2用于芯片選擇,可接最多8片溫度傳感器。
在之前的一項設計中,我們也選用了DS1624構成系統(tǒng),與微處理器的接口通過兩個端口,直接編程實現(xiàn)對DS1624的訪問。有次調試控制板時,一旦選擇到溫度菜單,系統(tǒng)就會發(fā)生死機現(xiàn)象。經(jīng)分析,是DS1624虛焊造成的。通過圖2、3分析得知,微處理器在發(fā)送完控制字、命令字后,要接收DS1624的ACK信號,一旦DS1624虛焊或損壞,微處理器接收不到正確的ACK信號,軟件就會進入死循環(huán)狀態(tài),造成系統(tǒng)“死機”。為了避免這種現(xiàn)象的發(fā)生,經(jīng)比較,選用了通過12C總線控制器PCF8584來對DS1624進行訪問,就不會發(fā)生這樣的情況,控制器會自動完成數(shù)據(jù)的讀取。如果發(fā)生錯誤,也會置位相應的狀態(tài)位,避免了因器件損壞或接觸不良而造成的系統(tǒng)死機現(xiàn)象。
系統(tǒng)中,PCF8584采用主模式,DSl624采用從模式。
系統(tǒng)設計
系統(tǒng)原理圖見圖4。PCF8584的訪問通過端口地址實現(xiàn),其地址通過軟件編程進行定義,占用800H,801H兩個端口。四片DS1624的地址分別為0-3。
為了實現(xiàn)數(shù)據(jù)的發(fā)送和接收功能,定義了以下一些函數(shù):初始化函數(shù),用于主要寄存器的初始化;發(fā)送數(shù)據(jù)、接收數(shù)據(jù)函數(shù);設置起動位及停止位的函數(shù)等。
結語
I2C總線以其接口簡單,PCB布線方便等方面的優(yōu)點,得到了越來越多的應用。本系統(tǒng)中,使用PCF8584實現(xiàn)了I2C串行總線與微處理器的接口,滿足了系統(tǒng)設計要求,也簡化了系統(tǒng)設計,取得了很好的效果。