《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于組件復用的可重構I²C總線讀寫控制電路設計
基于組件復用的可重構I²C總線讀寫控制電路設計
電子技術應用
徐波,杜曉實,朱力可,王萍
中國西南電子技術研究所
摘要: 現代軟件無線電架構中通常為了滿足軟件實時性而采用FPGA作預處理功能,但隨著軟件無線電系統不斷朝綜合化和智能化方向發展,如何應對各類復雜使用場景給系統設計者帶來越來越多的挑戰。面對不斷激增的需求,FPGA設計中經常暴露出可移植性差、平臺依賴性強、程序對開發人員的依賴度高、系統集成與整合度難度大等問題。選取電子裝備中常用的I²C總線控制部分,借鑒軟件工程中“高內聚、低耦合”的模塊化設計思想,提出一種總線控制電路的優化策略,即基于組件復用的方法設計了一種可重構I²C總線讀寫控制電路。該電路具備按需配置波特率功能,同時具有可選的APB接口以及中斷功能,提供讀/寫數據位寬分別為1 B/2 B/4 B系列控制組件,并通過配置系列組件的方式重構讀/寫數據位寬。該電路具有實際的工程價值且已成功應用于不同項目以及TPAFEA008、ADT75和LTC2991等常用器件上。
中圖分類號:TN47 文獻標志碼:A DOI: 10.16157/j.issn.0258-7998.256281
中文引用格式: 徐波,杜曉實,朱力可,等. 基于組件復用的可重構I2C總線讀寫控制電路設計[J]. 電子技術應用,2025,51(7):89-94.
英文引用格式: Xu Bo,Du Xiaoshi,Zhu Like,et al. Design of reconfigurable I2C bus control circuit based on component reuse[J]. Application of Electronic Technique,2025,51(7):89-94.
Design of reconfigurable I²C bus control circuit based on component reuse
Xu Bo,Du Xiaoshi,Zhu Like,Wang Ping
Southwest China Institute of Electronic Technology
Abstract: In modern software defined radio architectures, FPGA is usually used for preprocessing functions to meet real-time software requirements. However, as software defined radio systems continue to develop towards integration and intelligence, how to cope with various complex usage scenarios brings more and more challenges to system designers. Faced with the constantly increasing demand, FPGA design often exposes problems such as poor portability, strong platform dependence, high program dependence on developers, and difficulty in system integration and combination. This article selects the commonly used I²C bus control part in electronic equipment, draws on the modular design concept of "high cohesion, low coupling" in software engineering, and proposes an optimization strategy for bus control circuits. Based on component reuse, a reconfigurable I²C bus read-write control circuit is designed. This circuit has the function of configuring baud rate as needed, as well as optional APB interface and interrupt function. It provides a series of control components with read/write data bit widths of 1 B/2 B/4 B, and reconstructs the read/write data bit width by configuring the series components. This circuit has parctical engineering application value and has been successfully applied to domestically produced devices such as TPAFEA008, as well as commonly used devices such as ADT75 and LTC2991.
Key words : reconfigurable component reuse;I²C bus read-write control;FPGA design;software defined radio;domestic components

引言

隨著現代軟件無線電架構不斷朝著綜合化、微型化和智能化的方向發展,如何平衡SWaP(Size,Weight and Power)三者之間的關系以及應對各類復雜戰場應用環境給系統設計者帶來極大的挑戰。為了滿足軟件實時性處理的要求,軟件無線電系統通常在高速采樣數據流與軟件處理之間利用FPGA先進行預處理,把高速數據流降低到軟件處理能夠適應的速度之內[1]。但是由于歷史等諸多原因,當前多數項目的FPGA設計中繼承代碼較多,暴露出邏輯代碼可移植性差、平臺依賴性強、代碼對開發人員的依賴度高、程序擴展性弱、靈活性低、系統集成與整合難度大等問題。因此,如何增強設計的可重用性和擴展性,成為當前系統設計中一個常見但卻很容易忽視的問題。

邏輯設計的特點介于軟件設計和硬件設計之間,即利用軟件方法設計硬件電路。軟件工程體系結構設計中通常采用模塊化的開發方式,遵循“高內聚、低耦合”的原則[2]。“內聚”即表示模塊內部之間的緊密度,“高內聚”是指一個模塊的功能明確、獨立,模塊內部各元素功能聯系緊密,“高內聚”設計的優點是功能明確,一個模塊只負責一個功能,可維護性強,模塊內部功能相關性高,修改功能后不會影響其他功能。“耦合”即表示功能模塊之間關聯度和依賴度,“低耦合”是指盡量減少各功能模塊之間依賴度,“低耦合”設計的優點是,由于模塊間的依賴度降低,系統的可重用性和擴展性相應提高,同時模塊功能發生改變時不會影響其他模塊功能。“高內聚、低耦合”的設計原則大大降低了功能修改的影響,提高了系統重用性。

芯片和FPGA設計中也大量借用了軟件工程中“高內聚、低耦合”的設計思想,在專用芯片(ASIC)和片上系統(SoC)的設計中,將特定功能的模塊以IP核的方式進行定制設計,最后根據需求將各功能IP核整合集成在通用總線上;在FPGA設計中,器件廠商或IP供應商也提供了大量的IP軟/硬核用于系統的集成開發。

通用的低速通信IP核包括SPI、UART、CAN、GPIO和I2C等, I2C總線協議是一種用于芯片間相互通信的串行傳輸總線協議,它由串行時鐘SCL和串行數據線SDA完成全雙工數據傳送。由于I2C總線具有連線少、協議簡單、允許多機控制和同步、可擴展性強的優點,因此被廣泛應用于電子裝備中。

隨著工藝的不斷進步,I2C總線協議版本也不斷演進,因而導致各家芯片支持的波特率等規格差異很大。對ADI、Linear、TI和3PEAK公司的幾款常用芯片進行了對比,如表1所示。如Linear公司的LTC2991只支持兩種模式:標準模式和快速模式[4];即使是相同廠商的不同系列芯片,支持的波特率模式也有差別,比如ADI公司的ADT75芯片支持兩種模式:標準模式和快速模式[5],但AD7994支持三種波特率模式:標準模式、快速模式和高速模式[6]。

表1 各廠商器件I2C接口速率

無標題.png

其次,由于各家芯片的應用場景和功能不同,導致芯片內部支持的寄存器讀寫屬性、數據位寬差異也較大。有的芯片內部寄存器支持單字節讀寫操作,有的支持多字節讀寫操作,有的支持單字節寫入,多字節讀出操作等,在單字節和多字節的讀寫操作方式上也有差異,在發生芯片廠商更換等場景時,則需要重新定制設計,導致代碼通用化程度低。同時,近年國內外對基于I2C協議的總線控制器均有大量研究應用,總體來說有采用嵌入式處理器的軟件應用方式、或者通過純硬件以及FPGA等方式等。文獻[3]給出了基于嵌入式處理器并利用普通I/O管腳模擬出I2C串口的方案;李雨桐等[10]給出了基于ADS1115的FPGA接口設計,由此證明了利用有限狀態機并結合ADS1115的I2C接口時序的方案可行性,但是該方案將狀態控制和接口時序控制共同設計,代碼耦合度高,不利于代碼的可重用。

為解決上述問題,本文討論并借鑒上述模塊化設計方法,提出一種總線控制的優化策略,即基于組件復用方法設計了一種可重構的I2C總線讀寫控制電路。以此為基礎,討論并提供AD7994、TPAFEA008和LTC2991芯片的總線控制接口設計實例與FPGA上的驗證結果。


本文詳細內容請下載:

http://m.viuna.cn/resource/share/2000006601


作者信息:

徐波,杜曉實,朱力可,王萍

(中國西南電子技術研究所,四川 成都 610036)


Magazine.Subscription.jpg

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 成年人免费毛片 | 全免费午夜一级毛片真人 | 在线免费成人 | 2019中文字幕在线视频 | 日韩网 | 日本一区二区三区在线看 | 毛片免费在线观看网址 | 欧洲一级视频 | 国产亚洲3p无码一区二区 | 免费国产成人α片 | 在线观看的黄网 | 国产一级一片免费播放i | 人人爽人人澡人人高潮 | 国产一级成人毛片 | a网站免费 | 日本欧美一区二区三区 | 黄网址免费 | 毛片在线全部免费观看 | 国产精品欧美日韩一区二区 | 91精品国产高清久久久久久io | 欧美一区在线观看视频 | 亚洲精品人成无码中文毛片 | 日韩欧美亚洲香蕉七次郎 | 日批视频网址免费观看 | 谁有免费黄色网址 | 99精品欧美一区二区三区 | 在线成人观看 | 亚洲综合日韩在线亚洲欧美专区 | 久久成人18免费网站 | 国产区综合另类亚洲欧美 | 在线亚洲欧洲国产综合444 | 污黄网站 | 黄色网页在线观看 | 嗯啊视频在线观看 | 在线免费成人 | www.黄网 | 成人毛片免费看 | 女攻高h全肉污文play | 神马午夜嘿嘿嘿 | 中文字幕天天躁日日躁狠狠躁免费 | 国产一级毛片免 |