www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 電子設計自動化

摘 要: 介紹了一種基于FPGA的多路I2C總線設計與實現(xiàn)。主要包括系統(tǒng)處理器、局部總線、FPGA邏輯模塊、負載設備幾部分,實現(xiàn)了從處理器局部總線到I2C協(xié)議的轉換及其多路擴展,使系統(tǒng)具有多個I2C總線通道,且每一路I2C總線上能掛載多個不同的主設備或從設備。該系統(tǒng)中各路I2C總線相互獨立工作,沒有干擾和影響。
關鍵詞: I2C;可編程邏輯門陣列;狀態(tài)機

 I2C(Inter-Integrated Circuit)總線是由Philips公司開發(fā)的用于IC器件之間連接的二線制總線,其為雙向、兩線、串行、多主控接口標準,具有總線仲裁機制,非常適合器件之間近距離、非經(jīng)常性的數(shù)據(jù)通信。由于其具有接口線少、控制方式簡化、器件封裝形式小、通信速率較高等優(yōu)點,I2C總線的應用非常廣泛[1]。
在工業(yè)監(jiān)控系統(tǒng)中需要有多路I2C總線控制器來完成溫度、電壓、濕度等各個方面的監(jiān)控功能。但是,目前很多系統(tǒng)沒有或者只有很少通道的I2C總線接口,使其應用受到了限制。
基于上述技術現(xiàn)狀,本文通過現(xiàn)場可編程門陣列FPGA(Field Programmable Gate Array)實現(xiàn)一種多路I2C總線的系統(tǒng)控制設計。
系統(tǒng)硬件設計
FPGA作為ASIC專用集成電路領域中的一種半定制電路,可以解決定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點,具有設計周期短、開發(fā)費用低、保密性強、體積小、重量輕、可靠性高等特點[2]。
  本系統(tǒng)主要由系統(tǒng)處理器、局部總線、FPGA邏輯模塊、負載設備幾部分組成。其中系統(tǒng)處理器采用Freescale公司的MPC8245[3]。
具有多路I2C總線的系統(tǒng)硬件設計框圖如圖1所示。

處理器利用局部總線,通過地址線、數(shù)據(jù)線、讀寫信號線和片選信號線與FPGA邏輯模塊進行通信,在FPGA內(nèi)部完成I2C總線控制器的功能,實現(xiàn)從處理器局部總線到I2C協(xié)議的轉換和多路擴展,其中每個I2C總線控制器掛載多個不同的設備,可以是主設備或從設備。
FPGA邏輯模塊設計
多路I2C總線的系統(tǒng)控制中,F(xiàn)PGA邏輯模塊的設計是核心。該模塊主要由三部分組成:頂層控制模塊、處理器接口模塊、多路I2C總線控制器模塊。模塊化的設計便于移植和軟件重用。其中FPGA芯片采用XILINX公司的SPARTAN3A系列的芯片,開發(fā)平臺為ISE10.1。
頂層控制模塊
頂層控制模塊主要實現(xiàn)處理器接口模塊與多路I2C總線控制器模塊之間的連接與通信,實現(xiàn)整個輸入輸出接口到各個功能模塊之間的映射。三者之間的邏輯關系如圖2所示。

處理器接口模塊
MPC8245處理器接口模塊主要完成MPC8245處理器與FPGA的接口功能,并實現(xiàn)與FPGA內(nèi)部的多路I2C總線控制器數(shù)據(jù)傳輸?shù)奈帐謪f(xié)議和數(shù)據(jù)交換。在MPC8245處理器接口模塊中,每個I2C控制器對應有4個8位的寄存器,即數(shù)據(jù)寄存器、地址寄存器、控制寄存器和狀態(tài)寄存器。
(1)數(shù)據(jù)寄存器根據(jù)讀/寫信號區(qū)分,分為發(fā)送數(shù)據(jù)緩沖寄存器和接收數(shù)據(jù)緩沖寄存器,共享一個地址,數(shù)據(jù)長度為8位。
(2)地址寄存器用來保存當前地址。當該路I2C控制器作為從節(jié)點通信時,地址寄存器中保存的是自己的地址,這個地址在總線上是唯一的。從節(jié)點接收到包頭后,將其中的地址與自己的地址比較,如果一致,則響應主節(jié)點,開始傳輸。
(3)控制寄存器用來控制I2C總線控制器的數(shù)據(jù)傳輸,按照設置產(chǎn)生各個協(xié)議命令、響應動作及工作模式。
(4)狀態(tài)寄存器顯示當前總線的狀態(tài)。通過狀態(tài)寄存器中不同的狀態(tài)指示,實現(xiàn)與MPC8245處理器的握手協(xié)議。
MPC8245處理器利用地址線、數(shù)據(jù)線、片選信號和讀寫信號來與MPC8245處理器接口模塊N路I2C總線控制器相關的N×4個寄存器交換數(shù)據(jù)、讀取狀態(tài)、作為從設備時響應的地址和控制各路I2C總線的控制器。
I2C總線控制器模塊
I2C總線控制器模塊主要實現(xiàn)并行的I2C通信控制,每一路I2C總線控制器通過FPGA的I/O管腳連接到外部實現(xiàn)各自獨立的I2C總線,具有主工作模式和從工作模式兩種工作狀態(tài)。
I2C總線控制器主要有兩個狀態(tài)機:主控制狀態(tài)機和時鐘生成狀態(tài)機。
主控制狀態(tài)機是整個I2C總線控制器的核心。時鐘生成狀態(tài)機只在I2C總線控制器作為主設備時的模式下工作,是I2C總線通信時的時鐘。當I2C總線控制器作為從設備通信時,主控制狀態(tài)機時鐘由FPGA所實現(xiàn)的I2C總線上所掛載的I2C主設備提供,整個I2C總線通信時的時鐘為外部主設備提供的時鐘。
I2C總線控制器狀態(tài)機設計
(1)主控制狀態(tài)機
主控制狀態(tài)機狀態(tài)轉移圖如圖3所示。

IDLE狀態(tài):當I2C上電或者復位后,主控制狀態(tài)機就處于此狀態(tài)。
HEADER狀態(tài):在此狀態(tài),系統(tǒng)根據(jù)控制寄存器位MSTA值,發(fā)送或者接收包頭,滿足條件后,轉移到ACK_HEADER狀態(tài);I2C總線控制器中的HEADER移位寄存器與地址寄存器中存放的I2C總線控制器作為從設備時響應的地址進行比較,如果匹配,則表明該路I2C總線控制器為被主設備尋址的從設備,模式立刻切換到從設備模式,同時狀態(tài)寄存器中的MAAS位被置位,數(shù)據(jù)線SDA將會按照TXAK中的設置應答當前主設備。
ACK_HEADER狀態(tài):當該路I2C總線控制器作為主設備時,如果沒有收到從設備發(fā)送的ACK,則發(fā)送結束信號,返回到IDLE狀態(tài);如果收到ACK,則確定仲裁沒有丟失,根據(jù)控制寄存器位TX值轉到XMIT_DATA或者RCV_DATA狀態(tài);當該路I2C總線控制器作為從設備時,如果地址匹配,則發(fā)送ACK,根據(jù)主設備發(fā)送的第一個字節(jié)中的最后一位的值轉到XMIT_DATA或者RCV_DATA狀態(tài)。
XMIT_DATA狀態(tài):在此狀態(tài)時,移位寄存器將數(shù)據(jù)移到SDA線上。發(fā)送一個字節(jié)完成后,轉移到WAIT_ACK狀態(tài)。
WAIT_ACK狀態(tài):在此狀態(tài)時,如果收到ACK,則返回到XMIT_DATA狀態(tài);如果仲裁丟失,則轉到IDLE狀態(tài);如果沒有收到ACK,則發(fā)送結束信號,轉移到IDLE狀態(tài)。
RCV_DATA狀態(tài):在此狀態(tài)時,如果檢測到重新啟動信號,則返回HEADER狀態(tài);否則,移位寄存器從SDA線上移入數(shù)據(jù),以供MPC8245處理器的驅動程序讀取,移入一個字節(jié)后,轉到ACK_DATA狀態(tài),控制寄存器中的TXAK位被輸出到數(shù)據(jù)線SDA。
ACK_DATA狀態(tài):I2C控制器發(fā)送ACK,返回到RCV_DATA狀態(tài)。
(2)時鐘狀態(tài)機
整個狀態(tài)機狀態(tài)轉換如圖4所示。

SCL_IDLE狀態(tài):當上電復位后,狀態(tài)機就處于該狀態(tài)。當I2C控制器為主節(jié)點并且總線空閑時,收到開始標志后,轉移到START狀態(tài)。
START狀態(tài):當在此狀態(tài)時,根據(jù)I2C協(xié)議,需要保持一定的時間,當持續(xù)時間滿足要求時,轉移到SCL_LOW_EDGE狀態(tài),否則保持在START狀態(tài)。
SCL_LOW_EDGE狀態(tài):當在此狀態(tài)時,在下一個系統(tǒng)時鐘時,轉移到SCL_LOW狀態(tài)。
SCL_LOW狀態(tài):在此狀態(tài)時,根據(jù)控制信號,設置SDA的輸出,根據(jù)I2C協(xié)議,需要保持一定的時間,當保持時間滿足要求時,轉移到SCL_HIGH_EDGE狀態(tài),否則保持在該狀態(tài);如果仲裁丟失且已經(jīng)傳輸了7個字節(jié),則轉移到SCL_IDLE狀態(tài)。
SCL_HIGH_EDGE狀態(tài):在此狀態(tài)時,完成一定的操作,持續(xù)一個時鐘周期后,轉移到SCL_HIGH狀態(tài)。如果SCL輸入為0或者狀態(tài)寄存器中的位MCF=1,則一直停留在該狀態(tài)。
SCL_HIGH狀態(tài):在此狀態(tài)時,如果有重復起始信號,則SCL高電平持續(xù)一半時間,轉移到START狀態(tài);如果有結束信號,則SCL高電平持續(xù)一半時間,轉移到STOP_WAIT狀態(tài);根據(jù)I2C協(xié)議,需要保持一定的時間,當持續(xù)時間滿足要求時,轉移到SCL_LOW_EDGE狀態(tài),否則保持在當前狀態(tài)。
STOP_WAIT狀態(tài):在此狀態(tài)時,根據(jù)I2C協(xié)議,需要保持一定的時間,當持續(xù)時間滿足要求時,轉移到SCL_IDLE狀態(tài)。
系統(tǒng)工作流程
多路I2C總線的系統(tǒng)在系統(tǒng)上電后,處理器通過FPGA與FPGA相連接的I2C設備通信。
(1)當處理器作為主設備與FPGA所實現(xiàn)的I2C總線上所掛的從設備進行通信時,處理器主體通過對FPGA內(nèi)部的該路I2C總線控制器對應的寄存器進行操作,根據(jù)I2C總線通信協(xié)議,產(chǎn)生起始信號和時鐘信號,并查詢狀態(tài)位,對該路I2C總線上的從設備進行發(fā)送或者接收數(shù)據(jù)的操作,在數(shù)據(jù)交換完成后,產(chǎn)生停止信號,完成整個通信。
(2)當處理器主體作為從設備與FPGA所實現(xiàn)的I2C總線上所掛的主設備進行通信時,F(xiàn)PGA所實現(xiàn)的I2C總線上所掛的主設備產(chǎn)生起始信號和時鐘信號,處理器主體通過對FPGA內(nèi)的該路I2C總線控制器對應的數(shù)據(jù)寄存器進行操作,發(fā)送或者接收數(shù)據(jù)。當通信完成后,F(xiàn)PGA所實現(xiàn)的I2C總線上所掛的主設備產(chǎn)生停止信號,完成整個通信。
通過可編程邏輯器件實現(xiàn)的多路I2C總線上每一路可以掛多個設備,可以是從設備,也可以是主設備,具體能掛的設備數(shù)量受總線電容的限制。
本設計利用可編程邏輯器件,完成對處理器主體I2C總線的擴展,使該處理器能夠有多個I2C總線通道,每一路I2C總線上可以掛載多個不同的設備,可以是主設備,也可以是從設備,滿足不同應用場合的要求。在可編程邏輯器件內(nèi),每個I2C總線控制器僅使用4個寄存器,大大降低了控制的復雜度,無需占用較多的CPU資源,系統(tǒng)穩(wěn)定,執(zhí)行效率高。
參考文獻
[1] The I2C-Bus Specification Versiom 2.1. Philips Semiconductors,January 2000.
[2] CILETTI M D. Verilog-HDL 高級數(shù)字設計[M].北京:電子工業(yè)出版社,2005.
[3] Freescale Semiconductor.MPC8245 Integrated Processor Reference Manual.http://www.freescale.com.cn/.

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉