《電子技術應用》
您所在的位置:首頁 > 可编程逻辑 > 设计应用 > 基于组件复用的可重构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://www.tom3567.com/resource/share/2000006601


作者信息:

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

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


Magazine.Subscription.jpg

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品美女在线播放| 欧美精品免费在线| 久久99久久99精品| 秋霞无码一区二区| 日韩精品视频久久| 手机在线观看国产精品| 综合操久久久| 国产精品久久av| 欧美一区三区二区在线观看| 国产精品欧美在线| 精品中文字幕在线2019| 中文字幕日韩一区二区三区不卡| 国产精品美女久久| 热门国产精品亚洲第一区在线V| 欧美日韩精品免费看| 91国内在线视频| 久久精品99国产| 久久精品国产理论片免费| 国产一区高清视频| www.久久草| 久久99国产精品| 婷婷五月色综合| 国产精品一区电影 | 国产精品亚洲综合天堂夜夜| 天天摸天天碰天天添| 国产精品情侣自拍| 欧美日韩免费观看一区| 欧美中文字幕在线观看| 日韩中文字幕一区| 精品午夜一区二区三区| 狠狠97人人婷婷五月| 久久精品亚洲精品| 国产高清不卡av| www.午夜精品| 国产精品视频在线免费观看| 白嫩少妇丰满一区二区| 欧美一区二区视频97| 国产精品第3页| 日韩欧美一区二区三区四区| 久久99精品国产一区二区三区| 国产一区二区三区高清视频|