TMS320VC5410A I/O口的多種擴展與I2C接口模擬

2020-12-12 電子產品世界

ti公司的dsp晶片tms320vc5410a(簡稱5410a)是性能卓越的低功耗定點16位dsp,在嵌入式系統中有著廣泛應用,5410a沒有專門的通用i/o引腳,僅有xf引腳可以作為單向輸出,/bio引腳作為單向輸入,同時5410a的片上外設沒有i2c接口,所以,當5410a需要控制外圍晶片或與其他晶片進行通信時(如i2c通信),必須擴展通用i/o口,本文首先介紹5410通用i/o口的多種擴展方式,然後針對每種擴展方式實現與語音晶片tlv320aic23的i2c通信。

1 通用i/o口的多種擴展方式

1.1 使用多通道緩衝串行接口擴展通用 i/o口

5410a具有3個多通道緩衝串行(簡稱mcbsp)接口,每個mcbsp接口有6個引腳,在通常情況下,可以靈活地與外圍設備進行串行通信。在需要的時候,可以配置為通用i/o口。

mcbsp的6個引腳分別是bclkr、bclkx、bfsr、bfsx、bdr和bdx,通過配置mcbsp的子寄存器pcr來實現通用i/o口的擴展,下面對圖1所示的pcr寄存器的配置進行闡述。

本文引用地址:http://www.eepw.com.cn/article/21279.htm

1)15位與16位。保留。

2)第13位xioen和12位rioen,控制著mcbsp的功能,分別對應著3個引腳,xioen控制bclkx、bfsx和bdx,rioen控制bclkr、bfsr和bdr,其中bdx只能作為單向輸出,bdr只能作為單向輸入,當這兩位置0時,mcbsp作為普通的串行接口與外部通信,當這兩位置1時,把mcbsp置為通用i/o口。xioen和rioen對引腳的控制是分開的,例如xioen=1,rioen=0時,bclkx、bfsx和bdx三個引腳是作為同月i/o口的,而bclkr、bfsr和bdr依然可以作為通用串行口的接收。

3)11位-8位,控制著相應引腳的輸入/輸出,配置為輸入時置0,配置為輸出時置1,例如bclkr引腳為輸出,則置第8位clkrm為1,bclkx引腳為輸入,則置第9位clkxm為0。

4)第7位與6位,與通用i/o口無關。

5)第5位lx_state,作為bdx引腳的輸出控制,置1輸出高電平,置0輸出低電平。

6)第4位dr_state,表示bdr引腳的輸入狀態,讀入1表示輸入高電平,讀入0表示輸入低電平。

7)第3-0位,在輸出時控制著相應引腳的高低電平,而作為輸入時,可以從對應引腳讀出電平的高低狀態,在這裡要注意:在配置mcbsp為通用i/o口時,要首先停止串行接口的收發,即配置spcr1中的rrst位為0,spcr2中的xrst位為0。

1.2 使用主機接口(hpi)擴展通用i/o口

5410a具有增強型8位和16位主機接口(簡稱hpi),通常情況下用來與主機進行高速率的數據通信,需要時可以禁止主機接口的功能,擴展為通用i/o口。
hpi接口有8位數據線hd0-hd7可以用來作為通用i/o口,通用i/o口的擴展是通過兩個專用寄存器gpiocr(通用i/o口控制寄存器)和gpiosr(通用i/o口狀態寄存器)的控制來實現的。下面對圖2和圖3所示的兩個寄存器的配置進行闡述。


圖2和圖3中的dir7-dir0和hd7-hd0引腳一一對應,gpiocr用來控制通用i/o口的讀/寫方向。當7-0中的某一位置0時,對應的引腳配置為輸入,當置為1時,對應引腳配置為輸出,例如dir7置為0時,dh7作為輸入引腳,dir6置為1時,dh6作為輸出引腳,gpiosr在作為輸出時是用來控制i/o口的高低電平,置為1高電平,置0為低電平,在作為輸入時,相應的位用來反應對應引腳上的電平狀態。在這裡要注意:在配置hpi接口為通用i/o口時,在硬體設計上需要將5410a的第92引腳(hpiena)懸空或者接地,來禁止hpi接口。

1.3 使用xio2接口擴展通用i/o口

5410具有片上增強型外部並行接口(xio2),該接口具有23位地址線(a22-a0)和16位數據線(d15-d0),通常該接口用來與sram或其他並行設備進行通信,在需要的時候可以被用作通用i/o口來使用。作為i/o口使用時,使用portw合powtr指令來發出和讀入數據。在這裡需要注意的是,23根地址線只能作為輸出引腳,16位數據線可以被用作通用雙向i/o引腳來使用。

2 模擬i2c接口與tlv320aic23的通信

2.1 i2c接口和tlv320aic23簡介

i2c(inter-integrated circuit)總線是一種由philips公司開發的兩線式串行總線,用於連接微控制器及其外圍設備。i2c總線是由數據線sda和時鐘scl構成的串行總線,可發送和接收數據,在cpu與被控ic之間,ic與ic之間進行雙向傳送。各種被控制電路均並聯在這條總線上,但就象電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址。i2c總線主要的優點是其簡單性和有效性,由於接口直接在組件之上,因此i2c總線佔用的空間非常小,減少了電路板的空間和晶片引腳的數量,降低了互聯成本,總線的長度可高達25英尺,i2c總線的另一個優點是:支持多主控(multimastering),任何能夠進行發送和接收的設備都可以成為主總線,圖4給出了與i2c接口通信的數據流程。有關i2c總線的詳細資料請查閱參考文獻[1]。

tlv320aic23(簡稱aic23)是ti公司推出的一款高性能的立體聲音頻編/解碼晶片,可以在8-96khz的頻率範圍內提供16位、20位、24位和32位的採樣,adc和dac的輸出信噪比可以分別達到90db和100db;具有很低的功耗,回放模式下功率僅為23mw,省電模式下更是小於15μw,因此aic23是一款非常理想的音頻模擬i/o器件,可以很好地應用在數字音頻領域,有關aic23的詳細資料請查閱參考文獻[2],aic23的配置有spi和i2c兩種方式,這裡介紹以通用i/o口模擬i2c通信來配置aic23。aic23的i2c時序圖如圖5所示。

2.2 用mcbsp接口作為通用i/o模擬i2c接口

使用mcbsp和aic23的i2c接口的原理如圖6所示,在這裡使用5410a的mcbsp1的bclkx1和bfsx1引腳與aic23的sclk和sdin引腳連接。bclkx1作為i2c的時鐘,bfsx1作為i2c的數據線。需要注意的是,必須把aic23的mode引腳接地。才能選中aic23的i2c模式;而且當cs引腳為低電平時,aic23的i2c地址為0011010。在3種接口方式中,5410a都作為i2c總線上的主設備,aic23作為i2c總線上的從設備。

使用mcbsp埠擴展通用i/o口時,每次都要先寫入pcr寄存器的入口地址0eh,然後才能操作pcr寄存器。

2.3 使用hpi接口作為通用i/o模擬i2c接口

使用hpi接口和aic23的i2c接口的原理如圖7所示,在這裡使用5410a的hd0和hd1引腳與aic23的sclk和sdin引腳連接,hd1作為i2c的時鐘,hd0作為i2c的數據線,要注意的是,必須把5410a的hpiena引腳接地,才能將hpi埠作為通用i/o口使用。

使用hpi埠擴展通用i/o口時,首先要配置控制寄存器確定埠的輸入/輸出方式,然後再操作數據寄存器。

2.4 使用xio2接口作為通用i/o模擬i2c接口

使用xi02接口和aic23的i2c接口的原理如圖8所示,在這裡使用5410a的a0和d0引腳與aic23的sclk和sdin引腳連接,a0作為i2c的時鐘,d0作為i2c的數據線。需要注意的是:5410a的a0引腳只能作為輸出,在這種情況下,5410a只能作為i2c總線上的主設備。

2.5 三種擴展方法的比較

上述介紹的3種方法中,使用mcbsp接口來擴展通用i/o口,有配置靈活,收發埠可以獨立操作,最多4個引腳(bclkr、bclkx、bfsr和bfsx)可以作為雙向i/o口的優點。但是從程序代碼的長度也可以看到,編程比較煩瑣,而且引腳數較少,使用起來不太方便,使用hpi接口來擴展通用i/o口,由於有專用的寄存器來控制通用i/o口擴展,具有配置靈活控制方便的優點,而且全部8個引腳都可以作為雙向i/o口使用,但是hpi接口作為通用i/o口後,就不再具有hpi功能,如果i/o引腳需要不多,則會造成資源的浪費,而且在某些dsp晶片(如tms320vc5410)上不支持hpi作為通用i/o口使用。使用xio2接口擴展通用i/o口,具有引腳多(有38個引腳,)操作方便的優點,但是xio2接口一般都是和sram或其他並行設備進行通信使用,復用xio2接口作通用i/o口時要格外謹慎,而且作為i/o口時地址線只能單向輸出,應用起來具有局限性,所以在擴展通用i/o口的時候,需要根據系統的需要選擇擴展的方式。

結語

ti公司的c5000系列dsp多都沒有專用的通用i/o引腳,本文介紹的3種方法可以有效地擴展dsp的通用i/o口,在設計時可以靈活地選擇擴展方式,其中hpi擴展方式適用於支持擴展功能的晶片,mcbsp擴展方式和xio2擴展方式適用於大多數c5000系列晶片,使用這些方法,可以省掉外圍的控制電路和晶片,降低系統成本和功耗,具有較高的實用價值。


相關焦點

  • 基於tms320vc5416和圖像傳感器0v7620的足球機器人設計
    本文在簡單介紹了全自主足球機器人比賽系統的基礎上,分析了傳統視覺系統的缺點,給出了用cmos圖像傳感器 0v7620、SRAM幀存儲器 IS61LV25616、CPLD/FPGA控制器 EPF10K10LC84—3以及 DSP器件 tms320vc5416
  • 單片機I/O口的擴展
    單片機I/O (輸入/輸出)接口是其與外設交換數字信息的橋梁。事實上,真正用作I/O口線的只有P1口的8位I/O線和P3口的某些位線。在多數應用系統中,MCS-51單片機都需要外擴I/O接口電路。一、首先清楚I/O接口(Interface)和I/O埠(Port)的概念。I/O埠:簡稱I/O口,指具有埠地址的寄存器或緩衝器。I/O接口:是指單片機與外設間的I/O接口晶片。
  • 基於TMS320DM642嵌入式圖像識別方案實現車流量檢測系統的設計
    根據實際應用環境和嵌入式系統的需要,系統除了擴展了系統必須的存儲器部分和視頻採集回放部分外,主要擴展了多路數字I/O和異步串口以及網絡接口功能,方便系統與外部通信。具體硬體實物如圖1所示。說明如下:外擴SDRAM,容量為4M×64位;外擴Flash,容量為4M×8位;2路PAL/NTSC標準模擬視頻輸入(CVBS或S端子),1路PAL/NTSC標準模擬視頻輸出;通過CPLD擴展8路數字I/O口,用於輸出車道上車流的信息;2路UART接口,接口標準RS232/RS422/RS485可配置;實時時鐘RTC+看門狗電路;10M/100Mbase-TX標準乙太網接口。
  • 基於雙核DSP TMS320VC5421實現BootLoader程序的上電自舉
    DSP晶片的BootLoader程序用於實現用戶程序上電自舉,它有多種工作方式。上電自舉就是將用戶存放在片外的非易失性、慢速的存儲器中的程序裝載到片內易失的、高速的存儲空間中,以保證用戶程序在DSP核內的高速運行。 多核DSP是指由多個獨立的DSP子核集成的DSP晶片,且所有DSP子核共享一套片外總線。
  • TMS320F28027的電動車蹺蹺板循跡系統設計
    TMS320F28027具有豐富的資源,擁有32位架構、高級外設、高度的模擬集成、高達128 KB的快閃記憶體,同時還包括功能強大的ADC、高解析度PWM以及溼著增強的捕獲單元等眾多特性優異的組件、高精度片上振蕩器、模擬比較器、上電復位與掉電保護等在內的各種集成模塊。
  • ...3.5寸無風扇單板電腦,豐富的I/O接口 & MI/O擴展接口
    打開APP 研華科技推出MIO-5350 3.5寸無風扇單板電腦,豐富的I/O接口 & MI/O擴展接口 發表於 2017-12-21 14:59:07
  • Linux驅動之I2C總線
    CPU的第一個I2C總線上,所以這個參數指定為0,info:執行分配初始化的i2_board_info對象數組(=eeprom)N:對象數組的個數RRAY_SIZE(eeprom)注意:一旦向內核註冊I2c_board_info設備信息,內核在初始化時會根據此信息幫你分配初始化和註冊一個i2c_client.
  • 為何要對單片機作 I/O 擴展?51怎樣訪問外部接口晶片?
    什麼要對MCS-51單片機作I/O擴展?答:因為MCS-51單片機本身提供的輸入、數出口線只有P1口和部分P3口線 。所以,多數的單片機應用系統中都要作I/O擴展。單片機怎要訪問外部接口晶片?答:因為MCS-51單片機的外部數據存儲器RAM和I/O口是統一編址的 。因此,用戶可以把外部64KB的數據存儲器RAM空間的一部分作為擴展外圍I/O的地址空間。
  • 基於TMS320DM6446的H.264編碼器實現與優化
    詳細介紹了以TMS320DM6446DSP為核心的視頻編碼系統的硬體設計,並重點研究了H.264編碼器在以TMS320DM 6446為目標的CCS平臺上的移植和優化工作。DM6446片內為兩級高速緩存(Cache)結構,設計有獨立的32位DDR2 SDRAM接口和16位異步EMIF接口。此外,DM6446還集成有多種適用於視音頻多媒體處理的片內資源和接口,如用於和外部解碼器連接的視頻處理前端模塊VPFE、和視頻顯示設備連接的視頻處理後端模塊VPBE、多通道音頻串口等。 DM6446不僅在處理性能上完全滿足H.264標準要求。
  • 對I2C信號和SMBus信號進行無毛刺快速隔離的方法
    i2c 是一種流行的串行協議,適用於電源控制器、adc、dac、eeprom 以及其他器件。在某些數據採集和電源控制設備中,您必須把 i2c主設備與一個或多個從設備隔離開來,以便解決噪聲、接地和安全等問題。
  • USB接口擴展與差分信號仿真
    usb接口的4根線一般是下面這樣分配的,需要注意的是千萬不要把正負極弄反了,否則會燒掉usb設備或者電腦的南橋晶片:黑線:gnd 紅線:vcc 綠線:data+ 白線:data-  2 TMS320F2812外部USB接口擴展  Cypress公司的EZ-USB FX2系列晶片是世界上第一款繼承了
  • 德州儀器推出新型 TMS320C6411 DSP
    同時,TI 還宣布了業界性能最高的可編程 DSP,即 TMS320C6414、TMS320C6415 及 TMS320C6416 DSP,現已投入量產(敬請訪問:www.dspvillage.ti.com/c64xperformancep)。
  • 基於I2C總線技術的USB接口設計
    易於擴展,外設接口之間採用菊花鏈形式連接通過使用Hub擴展可連接多達127個外設。能 夠採用總線供電,USB總線提供最大達5 V電壓,500 mA電流,可為小型設備供電。使用靈活,USB共有4種傳輸模式:控制傳輸(control)、同步傳輸( synchronization )、中斷傳輸 (interrupt)、批量傳輸(bulk),以適應不同設備需要。
  • 電腦I/O接口科普二:花樣繁多的視頻接口
    它傳輸紅、綠、藍模擬信號以及同步信號(水平和垂直信號)。藍色的插頭也是最有辨識度的一個接口。然而VGA 接口傳輸的是模擬信號,抗幹擾能力弱,而且目前的顯示器的基本都為數位訊號,模擬信號要經過多次信號間的轉換,會導致部分信號丟失,造成畫面質量下降,這也是它被淘汰的主要原因。
  • RT-Thread I2C總線設備學習筆記
    I2C設備驅動使用起來非常簡單,就兩個接口,分別是:接口1:rt_device_find 查找 I2C 總線設備rt_device_t rt_device_find(const char* name);參數描述nameI2C 總線設備名稱返回——設備句柄查找到對應設備將返回相應的設備句柄RT_NULL沒有找到相應的設備對象這個name我們後面寫的是
  • TMS320LF240x DSP控制器的應用實踐
    引 言 TI公司在1982年成功推出其第一代DSP晶片之後,相繼推出了多種適合不同應用、不同規格的DSP系列。1 TMS320LF240X DSP硬體結構特點 TMS320LF240x DSP有以下一些特點:採用高性能靜態CMOS技術,使得供電電壓降為3.3V,減少了功耗;基於TMS320C2xxDSP的CPU核,保證與TMS320系列DSP代碼兼容;片內有高達32K字的Flash程序存儲器,544字的雙口RAM(DARAM)和2K字的單口RAM(SARAM
  • 基於TMS320F240專用定點可編程晶片實現電動機微機保護裝置的設計
    4 處理器模塊的設計 處理器模塊是整個裝置的核心,負責模擬信號的調理濾波、採樣、模擬/數字轉換、頻率和相位的測量、開關量信號的輸入/輸出、通信、系統計時、數據計算、邏輯判斷等功能。 本裝置的處理器模塊由TMS320F240微處理系統構成。TMS320F240是TI公司於1997年在TMS320C2xx的基礎上推出的一種專用定點可編程晶片,它在單一晶片上集成一個DSP內核和各種外設器件,可以解決各種工程應用方案。為了簡化系統設計,可以把系統的一些外圍控制電路由 CPLD(Complex Programmable Logic Device)來實現。
  • 基於I2C總線性能問答集錦
    [答:Alex] 1 支持熱插拔2 如果聲明支持熱插拔的I2C器件不會對總線產生任何的影響,器件插入的時候它會自動的檢測線路狀態,並且只在總線空閒的時候連接器件,所以不會對總線產生任何的影響[問:kkwd] I2C上拉電阻怎麼確定[答:Bruce] 這裡有一個計算公式:Rmin={Vdd(min)-o.4V}/3mA
  • 多接口擴展,手持輕薄筆電不再慌!RAVPower擴展塢評測
    筆電接口不夠,只能擴展塢來湊,近幾年筆電的流行趨勢越來越追求輕薄便攜,所以就會取消一些接口,VGA,RJ45網線接口這種都屬於體積比較大的,在輕薄筆記本上是非常不適用的。目前很多輕薄本只保留了Type-C口和USB口,而且數量又少的可憐,所以入手輕薄本之後需要做的就是再買一個擴展塢。對於擴展塢的選擇的話就要根據自己的需要來選擇合適的接口,擴展塢的搭配也是五花八門,三合一,四合一,七合一,十合一等等,自己根據實際情況選擇搭配不同的接口,我個人覺得有些接口用的很少的話就沒必要選擇的。
  • 基於DSP晶片TMS320C6418的成像制導仿真系統設計
    以TMS320C6418為核心的圖像生成仿真系統的系統原理框圖,如圖1所示。    1.2 系統工作原理  系統初始化時通過DSP將素材圖像送入存儲器SDRAM等待DSP處理,再由FPGA產生的行同步、場同步信號的控制下將處理後的圖像數據通過DsP的EDMA通道送入FPGA的RAM中,在FPGA產生複合同步信號和複合消隱信號的控制下圖像數據經D/A轉換後,合成為標準的模擬視頻信號