摘要:介紹了MAXIM公司的串行模數(shù)轉換芯片MAX186及TI公司TMS320C6711 DSP的多通道緩沖串口(McBSP)的工作原理。采用McBSP的SPI(Series Protocol Interface)工作模式,將McBSP與MAX186直接相連,從而基于DSP多功能緩沖串口的數(shù)據(jù)采集及信號處理系統(tǒng)。給出了MIX186與TMS320C6711 McBSP的接口電路及軟件編程實現(xiàn)。
關鍵詞:數(shù)據(jù)采集;MAX186;DSP;多通道緩沖串口(McBSP)
1. 序言
本文以TI公司的DSP芯片TMS320C6711和串行數(shù)據(jù)采集芯片MAX186 為例,介紹了基于DSP的McBSP接口的嵌入式數(shù)據(jù)采集系統(tǒng)的設計方法。
TMS320C6711是一款32bit浮點信號處理器,核心電壓1.8V,工作頻率100-150MHz。其多功能串口(Multi-channel Buffered Serial Port,McBSP)不僅可以完成標準串口的全雙工串行通信,還具有支持SPI設備、多達128個通道的數(shù)據(jù)收發(fā)能力等功能。將McBSP直接與MAX186的串行數(shù)據(jù)輸出接口相連接,可以為系統(tǒng)提供高性能的數(shù)據(jù)采集能力。
MAX186是一個12位8通道單端/4通道差分模擬輸入ADC,其最高采樣頻率可達130kHz,具有高通過率、低功耗、高精度等特性,非常適合于體積小、對功耗要求比較嚴格的移動應用設備,如便攜式工業(yè)測量、醫(yī)療儀器等。
2.MAX186工作原理
MAX186的引腳布置、功能及定義分別如圖1、圖2及表1所示。
根據(jù)McBSP 對SPI接口的要求,MAX186連接DSP的McBSP必須使用外部時鐘模式。在外部時鐘模式下,MAX186所轉換的12位數(shù)據(jù)中的最高位(MSB)完成之前的一個時鐘時,MAX186的SSTRB端輸出一個高電平的脈沖。SSTRB和DOUT的輸出均發(fā)生在時鐘SCLK的下降沿。啟動MAX186開始轉換,是靠向DIN端寫一個字節(jié)的控制指令完成的。當CS*為低時,每一個時鐘周期都向MAX186的移位寄存器寫一位數(shù)據(jù)。在CS*變?yōu)椤暗汀焙,最先到達的那個邏輯“1”,就是這個控制字節(jié)的最高(MSB),在此之前到達移位寄存器的所有的邏輯“0”都沒有意義?刂谱止(jié)的定義如表2所示。
表2 控制字節(jié)的定義
表中:
START:轉換開始位。邏輯“1”有效。
SEL0-2:通道選擇位。選擇所需轉換信號所連接的通道。.
UNI/BIP*:單/雙極性信號轉換模式選擇位。1 = 單極性信號,0 = 差分信號。 對于單極性信號,模擬輸入中0V - VREF的電壓被轉換;對于差分信號,-VREF/2 to +VREF/2的信號被轉換。
SGL/DIF*:輸入信號形式選擇位!1”為單端信號輸入,“0”為差分信號輸入。
PD0~ PD1:時鐘模式及省電模式選擇位。PD0=1,PD1=1時為外部時鐘模式。
外部時鐘模式下,MAX186進行A/D轉換的時序如圖3所示。
圖3 MAX186基本轉換時序
需要注意的是,考慮到T/H對輸入的模擬信號保持時間的限制,每個轉換過程不得超過120µs。轉換完成后的12位數(shù)據(jù)在移位寄存器中存放時,在數(shù)據(jù)的首部添加了一位“0”,再尾部添加了三位“0”,如圖4所示。
圖4 MAX186輸出移位寄存器中的數(shù)據(jù)格式
3. DSP McBSP
3.1 McBSP的特點
TMS320C6711 DSP的McBSP的基本功能包括:支持全雙工串行通訊;具有雙緩沖數(shù)據(jù)寄存器,允許連續(xù)的數(shù)據(jù)流;收發(fā)獨立的幀同步和時鐘信號;可以與工業(yè)標準的編/解碼器,模擬接口芯片以及其他串行A/D,D/A接口;支持與IOM-2兼容器件、AC97兼容器件、IIS兼容器件、SPI器件的直接相連;支持多種數(shù)據(jù)格式:8/12/16/20/24/32bit;支持A律和μ律壓擴;可設置幀同步信號和數(shù)據(jù)時鐘信號的極性;內部傳輸時鐘和幀同步信號的可編程程度高;可以設置為通用I/O口。TMS320C6711芯片具有2組多通道緩沖串口:McBSP0和McBSP1。
3.2 McBSP的工作原理
McBSP口進行串行通信時,使用的外部接口管腳有:DR、DX、CLKX、CLKR、FSX、FSR和CLKS。DR和DX分別用來進行數(shù)據(jù)的收發(fā)。CLKX,F(xiàn)SX為發(fā)送的數(shù)據(jù)時鐘和幀同步時鐘,CLKR,F(xiàn)SR為接收的數(shù)據(jù)時鐘和幀同步時鐘,CLKS提供系統(tǒng)時鐘。在收發(fā)時鐘的控制下,DSP進行數(shù)據(jù)的接收和發(fā)送。McBSP在數(shù)據(jù)收發(fā)上采用了多級緩沖結構,使得片內的數(shù)據(jù)搬移能夠與外部的數(shù)據(jù)通信同時進行,因此可以采用DMA方式從DRR寄存器讀出所接收的數(shù)據(jù),或是向DXR寄存器寫入需要發(fā)送的數(shù)據(jù),另外再通過、、、、等8個寄存器,對McBSP的操作模式(如同步時鐘參數(shù)、幀同步信號及通道選擇與使能等)進行設置。
為使DSP按照一定的方式進行通信,要對McBSP的各個控制寄存器進行相應的配置。其中,SPCR0/SPCR1用于設置工作模式、檢測工作狀態(tài)、進行收發(fā)的復位和啟動。RCR0 /RCR1,用于控制接收數(shù)據(jù)的幀格式、數(shù)據(jù)延遲。XCR0/XCR1用于控制發(fā)送數(shù)據(jù)的幀格式、數(shù)據(jù)延遲。SRGR 0/SRGR1用于控制收發(fā)數(shù)據(jù)時鐘和幀同步時鐘的模式(如大小、極性等)。PCR用于控制相應管腳的工作模式。
4. MAX186與TMS320C6711 McBSP的接口設計
MAX186符合SPI(Series Protocol Interface)數(shù)據(jù)通訊協(xié)議。SPI是一個4-線(Four-wire)的串行接口協(xié)議,包括主/從兩種模式。四個接口信號是串行數(shù)據(jù)輸入(MISO,主設備輸入,從設備輸出),串行數(shù)據(jù)輸出(MOSI,主設備輸出,從設備輸入),移位時鐘(SCK)和從設備使能(SS)。SPI接口的最大特點是靠主設備時鐘信號的出現(xiàn)與否來控制主/從設備間的通訊。一旦檢測到主設備時鐘信號,就開始傳輸數(shù)據(jù),時鐘信號無效后,傳輸結束。在這期間,從設備必須被使能(SS信號保持有效)。
TMS320C6711芯片的McBSP的數(shù)據(jù)同步時鐘具有停止控制選項,因此可以與SPI協(xié)議兼容。McBSP支持2種SPI傳輸格式,可以在SPCR寄存器的CLKSTP位中設置。
MAX186與DSP McBSP的數(shù)據(jù)傳輸采用SPI從模式進行連接。McBSP作為SPI從設備時的數(shù)據(jù)傳輸時序如圖3。MAX186與McBSP的接口設計如圖5。
設計中,將MAX186的CS片選信號與DSP的一個I/O口相連,當需要開始一次轉換時,由DSP通過I/O口控制MAX186的選通;DSP通過CLKX端向MAX186提供時鐘信號,作為ADC的外部時鐘;DSP通過DX端口向MAX186的DIN端口發(fā)送模/數(shù)轉換的控制命令;MAX186的數(shù)據(jù)輸出端DOUT與DSP的數(shù)據(jù)輸入DR端口相連,向DSP傳送轉換后的串行數(shù)據(jù)。具體的步驟為:
1) DSP向I/O端口寫入一位0,是CS*有效;
2) DSP向端口DX寫出一個字節(jié)的控制指令;
3) 在DSP作為SPI主設備的方式下,它需要向MAX186發(fā)出時鐘信號來控制MAX186的轉換,為此,DSP向端口DX寫出16位全為0的二字節(jié)數(shù),以獲得16個時鐘脈沖,然后從DR端口讀回一個二字節(jié)的數(shù)據(jù);
4) DSP向I/O端口寫入一位1,是CS*置高位;
至此,一次A/D轉換、數(shù)據(jù)傳輸及讀取過程完畢。在這種工作方式下,TMS320C6711為SPI的主設備,MAX186為SPI的從設備。轉換完畢后,需要將所讀取的數(shù)據(jù)進行處理,去掉首位的0,和最后三位的0,留下的12位數(shù)據(jù)就是真實的A/D轉換后的數(shù)據(jù)。
5. 結束語
本文詳細介紹了MAX186ADC與TI公司的高性能浮點數(shù)字處理器TMS320C6711之間的串行接口設計及程序設計。該設計方案,電路簡潔,程序采用C語言編程,可讀性和移植性強,具有較高的實用價值。





