新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何設計TMS320C5402與MAX147的接口?

        如何設計TMS320C5402與MAX147的接口?

        作者: 時間:2018-08-02 來源:網絡 收藏

        的MCBSP工作方式

        本文引用地址:http://www.104case.com/article/201808/385064.htm

        MCBSP是的多通道緩沖串口(MCBSP0和MCBSP1)。MCBSP的外部通過6個管腳與其他串行器件相連,在內部與DSP的內核連接。串行數 據收發管腳與內部各個串口寄存器相連。

        根據MCBSP的功能和結構,可以將其工作方式概括為:SPI工作方式和多通道緩沖工作方式。

        本文主要介紹SPI操作方式。MCBSP的外部管腳為:串行數據接收管腳DR、接收時鐘管腳CLKR、接收幀同步信號管腳FSR、發送時鐘管腳CLKX、串行數據發送管腳DX、發送幀同步信號管腳FSX。在時鐘和幀同步信號控制下,接收和發送通過DR和DX引腳與外部器件直接通訊。在T MS320C5402內部CPU對MCBSP的操作,利用了數個16位控制寄存器,通過2個中斷和4個事件信號控制模塊觸發,對片內外設總線進行存取控制。在進行數據接收時,數據到達接收管腳DR后,在接收時鐘CLKR的上升沿(或下降沿)處被逐位依次移入RSR中,當收滿一個字后,RSR被拷貝到緩沖寄存器RBR,接著再拷貝到數據接收寄存器DRR,此刻CPU可以通過外設總線從DRR中讀取收到的數據。發送數據時,CPU將數據寫入數據發送寄存器DXR,接著拷貝到發送移位寄存器XSR,在發送幀同步信號FSX后,CLKX的上升沿(或下降沿)到來時,XSR的內容被逐位依次移到發送管腳DX上。

        2 的主要特點

        A/D芯片是一種具有8路通道,12位精度的串行數據轉換器??梢怨ぷ饔赟PI和QSPI方式。輸入電壓范圍:0~2.5V(或-1.25V~+1.25V)。采樣頻率可達133kHz。的管腳定義見圖1。CH0~CH7為8路模擬采樣輸入;COM為模擬信號的參考地,VREF為2.5V外部基準電壓輸入;AGND為模擬地,DGND為數字地;DOUT為串行數據輸出,DIN為串行數據輸入;SSTRB為串行信號輸出,MAX147每次輸出12位轉換結果時,都會在最高位輸出之前產生一個時鐘周期的正脈沖;CS為低電平有效的片選管腳;SCLK為串行時鐘輸入,最高頻率為2MHz;SHDN為Shutdown模式選擇,該腳懸空可使MAX147工作在外部比較模式;REFADJ為ReferenceBuffer Amplifier輸入,該腳接高電平可以使MX147工作在外部比較模式;VDD為工作電壓。

        3 DSP與MAX147的接口電路

        如圖1所示,MAX147的8路采樣通道作為模擬信號輸入,與前端傳感器相連。MAX147需要外部的2.5V基準電壓,用LM385-2.5提供。MAX147的第9腳(COM)是模擬信號的參考地,直接關系到A/D轉換的精度與準確度,一定要與模擬地良好連接。MAX147的數字部分與TMS320C5402DSP的多通道緩沖串口MCBSP相連接,見圖2。在與MAX147接口時,DSP作為SPI主設備,向作為從設備的MAX147提供串行時鐘、命令和片選信號。因此,連接時可以直接相連,而且能夠工作于內部轉換時鐘。FSX作為低有效的片選信號輸出到MAX147的CS端(低有效);CLKX輸出的時鐘信號是串行數據的基準時鐘,而且還決定了A/D轉換速率。DX為SPI通訊中的主出從入;DR為SPI通訊中的主入從出。DSP串口工作在CLOCK STOP模式(兼容SPI協議)下,CLKX腳和CLKR腳已經在內部相連。



        4 程序設計

        對DSP的串口編程時,首先要復位MCBSP串口,其次是配置一些16位寄存器,設置控制和收發寄存器中各位的值。配置好寄存器,對串口的操作實際上就變成了對寄存器DRR和DXR的操作,發送數據就是對DXR進行寫操作,接收數據就是對DRR進行讀操作。MCBSP支持包括8、12、16和32位字長格式的數據收發。編程復位和配置寄存器的程序如下:


        MAX147每次從DIN接收一組8位的控制字,啟動一次轉換,DOUT上輸出一組12位的A/D轉換數值。一般控制字為1XXX1111,其中包括選擇輸入通道、采樣極性和轉換時鐘方式(內部時鐘和外部時鐘)、功耗模式等設置信息。在最后一位控制字輸出結束后的第一個時鐘下降沿,觸發一次A/D轉換。在A/D轉換數據的最高位移出之前,SSTRB產生一個高電平脈沖,可以作為DSP串口的幀同步信號。如果在A/D轉換器空閑時出現第一個高電平或在第5位A/D轉換數值后出現的第一個高電平,MAX147都判斷為起始位。圖3所示為16時鐘周期轉換時序。

        一組16個時鐘的數據包對應一組12位的A/D轉換數據,DSP讀入的16位數中最高1位和最低3位是無效位。當一組數據包傳送完畢后,至少有2個SCLK周期的空閑,這是由SPI方式的特點所決定的,所以,在SPI模式下,最快的采樣周期并不是16個SCLK周期,而是18個SLCK周期。MCBSP在時鐘的下降沿發送數據,上升沿接受數據。以下是向DXR傳送一次控制字,將接收寄存器DRR中的數據存入緩沖區的中斷服務子程序。


        ;tint中斷服務程序

        -tint:SSBX INTM;/屏蔽所有中斷

        STM #COMMAND,DXR11;/向DXR11傳送控制字

        LDM DRR1l,A;/DRR11為Mcbsp1的數據接收寄存器

        STL A,-3,*AR1+%;/數據存入緩沖區,循環尋址

        REte

        .end

        本系統已成功地應用到溫度、振動加速度信號檢測系統中。



        關鍵詞: TMS320C5402 MAX147

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永善县| 唐海县| 兴和县| 寿阳县| 汾西县| 建始县| 永登县| 老河口市| 历史| 深圳市| 平塘县| 芷江| 琼中| 交口县| 平顺县| 辽中县| 土默特右旗| 呼伦贝尔市| 奉贤区| 庄河市| 泗洪县| 海安县| 恭城| 马龙县| 鄱阳县| 卓资县| 和政县| 宜良县| 海门市| 桂林市| 岳西县| 科尔| 砀山县| 梁河县| 赣州市| 长沙市| 海原县| 宁晋县| 马山县| 曲水县| 大理市|