日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導讀]摘要:隨著I2C總線應用的越來越廣泛,其電路簡單,編程方便,易于系統(tǒng)標準化與維護的優(yōu)點也日益顯現(xiàn)出來。 文章在分析了I2C總線的基本概念和工作原理的基礎(chǔ)上,重點介紹了基于Wolfson音頻SoC的I2C總線接口的系統(tǒng)結(jié) 構(gòu)和程序設(shè)計方法。

引言

I2C(Inter-IntegratedCommunication),單線是Philips公司開發(fā)的一種高效、簡單、雙向、兩線制同步串行總線,它僅需要兩根線(串行數(shù)據(jù)線SDA和串行時鐘線SCL)即可為連接到總線的設(shè)備提供簡單有效的數(shù)據(jù)交換方式該總線可將各電路分割成各種功能的模塊,并進行軟件化設(shè)計,各個功能模塊電路內(nèi)部都集成有一個I2C總線接口電路,故可連接在總線上,從而很好地進行眾多功能模塊與MCU之間的輸入輸出接口,并使連接方式變得簡便,同時可靈活地實現(xiàn)在線配置。本文采用VerilogHDL設(shè)計了一個FC總線的控制模塊,該模塊能夠?qū)崿F(xiàn)FC的所有功能。此外,該模塊可作為一個軟核來方便地嵌入到音頻SoC系統(tǒng)中,這就是當前非常流行的兩線總線。

1 I2C總線原理

通常將FC總線主從機之間的一次數(shù)據(jù)傳送稱為一幀,一幀數(shù)據(jù)一般由啟動信號、地址碼、若干數(shù)據(jù) 字節(jié)、應答信號位以及停止信號等組成。SDA SCL都通過一個電流源或者上拉電阻連接到正的電 源電壓,圖1所示是rc總線上標準模式器件和快速 模式器件之間的連接電路,由圖1可見,當總線空閑 時,這兩條線路都是高電平,連接到總線的器件輸出 級必須是漏極開路或者集電極開路才能執(zhí)行“線與” 的邏輯功能。串行8位雙向數(shù)據(jù)傳輸位速率在rc 總線的標準模式下,其速率可達100 Kb/s,快速模式 下可達400 Kb/s,高速模式下可達3. 5 Mb/s。

基于Wolfson音頻SoC的I2C總線接口設(shè)計

I2C總線可構(gòu)成多主和多從系統(tǒng)。在系統(tǒng)結(jié)構(gòu)中,系統(tǒng)通過硬件或者軟件仲裁獲得總線控制權(quán)。在應用系統(tǒng)中,I2C總線多采用主從結(jié)構(gòu)。I2C總線上的設(shè)備尋址由器件地址線決定,與總線相連的每個器件都對應一個特定的地址,同時采用軟件尋址方式,并且可以通過訪問地址最低位來控制W/R方向。I2C總線的數(shù)據(jù)傳輸格式如圖2所示。

基于Wolfson音頻SoC的I2C總線接口設(shè)計

I2C總線上發(fā)送數(shù)據(jù)的操作(針對WM8731/8731L類似的設(shè)備)過程一般可為4步:

第一步,啟動START信號,接著寫一個字節(jié)的設(shè)備地址,地址字節(jié)的高7位是設(shè)備有效地址,地址字節(jié)的最低1位代表準備寫(低電平),然后等待ACK應答;

第二步,應繼續(xù)寫一個字節(jié)的rc設(shè)備內(nèi)部數(shù)據(jù)訪問地址,然后等待發(fā)出ACK;

第三步即可開始發(fā)送數(shù)據(jù),發(fā)送的數(shù)據(jù)可以是一個字節(jié),也可以連續(xù)發(fā)送N個字節(jié),每發(fā)送完一個字節(jié)的數(shù)據(jù),都需要等待一個應答ACK信號;

最后發(fā)送的是一個STOP信號,以結(jié)束發(fā)送操作。

在I2C總線上接收數(shù)據(jù)的操作(針對WM8731/8731L類似的設(shè)備)過程如下:

第一步,也是啟動START信號,接著寫一個字節(jié)的設(shè)備地址,地址字節(jié)的高7位是設(shè)備有效地址,地址字節(jié)的最低位代表準備寫(低有效),然后等待ACK應答;

第二步,繼續(xù)寫一個字節(jié)的I2C器件內(nèi)部數(shù)據(jù)訪問地址,并等待ACK;

第三步,再次啟動START信號,此時再寫一個字節(jié)的設(shè)備地址,這個設(shè)備地址字節(jié)的最低1位若為高電品,則代表準備接收數(shù)據(jù);

第四步,開始接收數(shù)據(jù),數(shù)據(jù)可以是接收一個字節(jié),也可以連續(xù)接收N個字節(jié)。在接收前面的N—1個字節(jié)后,每接收一個字節(jié)數(shù)據(jù),都要產(chǎn)生一個ACK;

第五步,在接收最后一個字節(jié)數(shù)據(jù)前停止控制器生成ACK信號,然后等待最后一個字節(jié)的數(shù)據(jù)就緒后,再讀??;

最后,發(fā)送一個STOP信號,以停止接收操作。

2 I2C總線的接口設(shè)計

2.1  總體內(nèi)部架構(gòu)設(shè)計

圖3所示為rc總線接口中ip核的總體結(jié)構(gòu)。該接口主要包括時鐘發(fā)生器,字節(jié)命令控制器、位命令寄存器、數(shù)據(jù)I/O移位寄存器、發(fā)送與接收寄存器等幾部分。

基于Wolfson音頻SoC的I2C總線接口設(shè)計

時鐘發(fā)生器可用于產(chǎn)生時鐘使能信號,該信號可觸發(fā)位命令控制器的所有時鐘同步操作。

字節(jié)命令控制器承擔著I2C接口字節(jié)數(shù)據(jù)的傳輸任務。它從I2C寄存器中的命令寄存器中讀取操作命令。這些命令可通過設(shè)置該寄存器中的某些位來完成,并且都是以字節(jié)為單位。

位命令寄存器負責總線上實際的數(shù)據(jù)傳輸工作,包括START和STOPo這些操作可通過控制SCL和SDA線來實現(xiàn)。

數(shù)據(jù)I/O移位寄存器中存儲著當前數(shù)據(jù)傳輸所需要的數(shù)據(jù)。如果是讀操作,移位寄存器將接收從SDA線上的逐位數(shù)據(jù);如果是寫操作,移位寄存器則將該數(shù)據(jù)逐位發(fā)送到SDA線上。

2.2 I2C接口控制器

I2C總線是通過二根線來連在器件之間進行通信的總線,它可根據(jù)地址識別每個器件。每個I2C設(shè)備都有自己固定的硬件地址。對于芯片WM8731/WM8731L的FC總線它的兩個從地址為001_1011和001_1010oWM8731設(shè)備的控制操作可以描述為:首先發(fā)出該設(shè)備地址,和該設(shè)備建立連接,再向該設(shè)備讀或?qū)?個字節(jié)的數(shù)據(jù),最后發(fā)出停止信號以結(jié)束I2C通訊。

對WM8731的控制實際上就是控制FC設(shè)備讀/寫數(shù)據(jù),本文不涉及讀數(shù)據(jù)而只介紹部分rc總線寫數(shù)據(jù)的關(guān)鍵Verilog程序設(shè)計。

2.3  啟動與停止程序

檢測通訊啟動與停止的Verilog程序如下:

always@(posedge mclk or negedge reset_n)

基于Wolfson音頻SoC的I2C總線接口設(shè)計

在主機方式下,完成啟動與地址信號發(fā)送后,即開始發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)時,并串數(shù)據(jù)在SCL的下降沿移位,這樣可保證SCL高電平時SDA數(shù)據(jù)的穩(wěn)定。發(fā)送的進程由WR信號和從機的應答信號啟動。為了保證時序正確和控制的可靠,軟件程序可采用有限狀態(tài)機來設(shè)計。其Verilog程序如下:

基于Wolfson音頻SoC的I2C總線接口設(shè)計

基于Wolfson音頻SoC的I2C總線接口設(shè)計

基于Wolfson音頻SoC的I2C總線接口設(shè)計

3 仿真結(jié)果

設(shè)計時,可以釆用Xilinx公司的集成開發(fā)工具ISE9.0,仿真工具使用SYNPOSYS的VCS仿真軟件,圖4所示是其仿真波形,由圖可見,該設(shè)計是正確的。整個設(shè)計可以采用Verilog語言描述在LINUX平臺上完成系統(tǒng)的仿真、綜合、映射、布局。在得到正確的仿真結(jié)果后,通過器件編程(即通過編程器將設(shè)計下載到實際芯片中)來進行系統(tǒng)調(diào)試,直到最后實現(xiàn)。

基于Wolfson音頻SoC的I2C總線接口設(shè)計

4  結(jié)語

本文介紹了一種簡易的音頻soc的I2c總線接口的軟件設(shè)計方法。該設(shè)計可以作為一個ip核方便地嵌入音頻SoC的系統(tǒng)設(shè)計中,以用于對具有I2c接口的芯片ic芯片進行數(shù)據(jù)讀寫。目前,本設(shè)計已經(jīng)在實踐項目中投片,并已經(jīng)通過實際系統(tǒng)的測試。

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉