亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SPORT及IDMA接口在電力系統(tǒng)監(jiān)控產(chǎn)品中的應用

        2012-01-15 06:02:20孫瑞正
        電子設計工程 2012年13期
        關鍵詞:模擬量緩沖區(qū)信號

        孫瑞正

        (山東科匯電力自動化有限公司 山東 淄博 255087)

        國民經(jīng)濟的迅猛發(fā)展,對能源尤其是電能的要求也有所提高。因此,電力系統(tǒng)監(jiān)控產(chǎn)品也朝著精度更高,功能更強,響應更快發(fā)展。

        當前電力系統(tǒng)監(jiān)控產(chǎn)品如配網(wǎng)自動化控制器、電能質(zhì)量監(jiān)測、故障錄波、繼電保護等一般都采用DSP+MCU的設計方案,目的是將DSP的高速數(shù)字信號處理功能和MCU完善的管理、通訊、豐富的接口等功能相結合,從而使得產(chǎn)品功能更豐富,擴展更靈活。

        對于電力系統(tǒng)監(jiān)控產(chǎn)品來說,模擬量的獲取是一個非常重要的環(huán)節(jié)。以每周波采樣32點,6路模擬量計,每秒需要讀取的原始數(shù)據(jù)約為9.6 k字。顯然,頻繁的讀取工作非常繁復,不管是對DSP還是MCU。更何況許多產(chǎn)品需要更高的采樣速度和更多的模擬量輸入。而DSP與MCU之間的數(shù)據(jù)交換同樣很繁復。

        文中提出了一種基于ADSP-218X[1-3]的模擬量數(shù)據(jù)流接口方法,可以避免因為頻繁讀取模擬量相關數(shù)據(jù)而造成的資源浪費。經(jīng)產(chǎn)品驗證,本方法更靈活,更合理。

        1 接口原理

        圖1為模擬量接口框圖。其中,ADSP-2185M[6]主要負責AD轉換器輸入數(shù)據(jù)的收集和實時計算。由Actel公司的FPGA(APA150)實現(xiàn)采樣控制和接口邏輯。ADS8509是TI公司的一款SAR型AD轉換器,其精度為16位,采樣速度最高250KSPS,接口為串行接口。圖1也反映了模擬量數(shù)據(jù)流程。ADS8509在FPGA的控制下完成模擬量采集,其數(shù)據(jù)經(jīng)SPORT0口進入ADSP-2185M。DSP在完成計算后,其計算結果經(jīng)IDMA口讀入MCU。

        圖1 模擬量接口框圖Fig.1 ADC data-flow path

        1.1 模擬量轉換結果輸入接口

        SPORT[3-5]口是AD公司獨有的一種同步串行口。在ADSP-218x[6]系列、Blackfin等系列產(chǎn)品中都有提供。SPORT口有5根信號線,其定義為:

        SCLK:時鐘信號

        RFS:接收幀同步信號

        TFS:發(fā)送幀同步信號

        DR:串行數(shù)據(jù)接收

        DT:串行數(shù)據(jù)發(fā)送

        SPORT口有幾個突出的特點,包括:SPORT口是雙向的,具有獨立的雙緩沖發(fā)送或接收數(shù)據(jù)區(qū)即Double-buffered功能;Autobuffering即自動緩沖功能;幀長可變,串行數(shù)據(jù)長度從3到16位可選;時鐘信號可變,而且可以外部輸入,也可以內(nèi)部產(chǎn)生等。

        Double-buffered即雙緩沖功能,實際是指發(fā)送和接收均有發(fā)送數(shù)據(jù)寄存器和移位寄存器共兩個寄存器,避免了因響應不及時導致的數(shù)據(jù)丟失;Autobuffering即發(fā)送/接收的數(shù)據(jù)可以基于DMA操作自動讀出/寫入環(huán)形緩沖區(qū),而不需要外部干預。一旦發(fā)送緩沖區(qū)發(fā)完/接收緩沖區(qū)收滿,即可以引發(fā)中斷。如果在中斷服務程序中將緩沖區(qū)設為另一個,則可以兩個緩沖區(qū)輪流工作,從而為數(shù)據(jù)處理留出足夠的時間。

        文中,SPORT0的時鐘由ADC提供,數(shù)據(jù)位長為16位。設置方法如下:

        asm(“I2=^RxBuff0_;”); /*I2 contains the address of RxBuffer0*/

        asm(“M1=0x0001;”); /*Fill every Location */

        asm (“L2=0x0500;”); /*L2 set to receive 1 cycle for each channel*/

        asm (“AX0=0x0025;”); /*RX autobuffer enable;use I2 and M1*/

        asm (“DM (0x3ff3 )=AX0;”);/*Write the AutoBuffer Control Register*/

        /*Setup Sport 0 for External Serial Clock, */

        /*Receive Framing Signal for every word, */

        /*External Framing Signal, Alternate Framing Mode, */

        /*Active Low framing Signal, */

        /*Right Justify sign extension, */

        /*16-bit word length */

        asm(“AX0=0x305f;”);

        asm(“DM( 0x3ff6 ) =AX0;”);

        asm(“AX0=0x0000;”);

        asm(“DM( 0x3ffd ) =AX0;”); /*Timer Not Used */

        asm(“DM( 0x3ffc ) =AX0;”);

        asm(“DM( 0x3ffb ) =AX0;”);

        asm(“DM( 0x3ffe ) =AX0;”); /*No DM wait States */

        asm (“IFC =0x0021;”); /*Clear any extraneous SPORT0 Int(Rx/Tx)*/

        asm (“ICNTL = 0x0000;”); /* interruptnesting disabled */

        asm(“AX0=0x1000;”); /*Enable SPORT0-Rx only*/asm(“DM( 0x3fff) =AX0;”);

        asm (“IMASK=0x0021;”); /*Enable SPORT0 Recv-Interrupt */

        /*and Timer interrupt */

        SPORT0接收中斷服務程序不再詳敘,其基本內(nèi)容如下:

        /*ping-pongs in the alternate DMA buffer*/

        /*check the data error or not*/

        /*set the buffer OK flag*/

        1.2 MCU與DSP間接口

        IDMA[3-4,7]口 , 即 Internal Direct Memory Access 口 ,是 ADSP-218x系列產(chǎn)品的一個16位并行DMA接口。由于電力系統(tǒng)監(jiān)控產(chǎn)品中的原始模擬數(shù)據(jù)為12位或16位,IDMA的位寬正好滿足要求。

        IDMA接口信號如下:

        IS: IDMA接口片選信號

        IRD:IDMA接口讀信號。當IS和IRD同時有效時,開始一個IDMA讀周期

        IWR:IDMA接口寫信號。當IS和IWR同時有效時,開始一個IDMA寫周期

        IAL:IDMA接口地址鎖存信號。當IS和IAL同時有效時,開始一個IDMA地址鎖存序列。此時主機應將訪問IDMA的起臺地址送到IAD0~15上

        IACK:IDMA接口允許訪問的確認信號

        IAD0~15:IDMA接口的 16位地址/數(shù)據(jù)總線

        通常可以用地址線A1接到IAL。此時,實際上對主MCU來說,ADSP-2185M只占用了兩個地址即:

        #define IDMA_DSPAddr * ((unsigned short *)(DSPIF_ADDRESS+2))

        #define IDMA_DSPData * ((unsigned short *)(DSPIF_ADDRESS))

        IACK接到主MCU的IO口PA14,通過查詢該口,即可確定是否可以訪問DSP。

        通過IDMA接口,主MCU可以下載DSP程序(Boot Loading through the IDMA Port),讀取數(shù)據(jù),也可以用來交換控制及狀態(tài)信息。

        為了能使DSP從IDMA自舉,需對相關信號加以配置,對于 ADSP-2185M, 可以將 MODE_D:MODE_C:MODE_B:MODE_A設為0101B。

        IDMA接口有一個突出的優(yōu)點,即只需要在開始訪問時設定一次地址,隨后的讀/寫操作可以不再重設地址,IDMA會自動將該地址值遞加1,直到主機通過IAL和IS鎖存新的地址。對于需要實時重復讀取數(shù)據(jù)的應用,如電力系統(tǒng)監(jiān)控產(chǎn)品,這個功能無疑會大量節(jié)省主MCU資源。

        下載DSP程序的子程序如下:

        //download IDMA-Format DSP Code

        unsigned char IDMA_DLCode(unsigned short*SourcePtr)

        {

        unsigned short count,temp,loop1;

        unsigned char flag;

        unsigned short DataNo;

        DataNo=*SourcePtr++;

        while (DataNo!=0xffff){

        if((DataNo==0) ||(DataNo>0x2000))return FALSE;

        flag=IDMA_WaitAck();

        if(flag==TRUE){ //IDMA Control

        IDMA_DSPAddr=*SourcePtr++;

        }

        else return FALSE;

        flag=IDMA_WaitAck();

        if(flag==TRUE){ //IDMA Ovlay

        IDMA_DSPAddr=*SourcePtr++;

        }

        else return FALSE;

        count=0;

        do{

        flag=IDMA_WaitAck();

        if(flag==TRUE ){

        IDMA_DSPData=*SourcePtr++;count++;

        }

        }while ((flag==TRUE) && (count

        if(flag==FALSE) return FALSE;

        DataNo=*SourcePtr++;

        }

        return TRUE;

        }

        讀取數(shù)據(jù)子程序如下:

        //Long Read a segment Data,StartAddr should include PM/DM flag

        unsigned char IDMA_LReadData (unsigned short*DestinPtr,unsigned short StartAddr,unsigned short IDMAOvlay,unsigned short DataNo)

        {

        unsigned short count,temp;

        unsigned char flag;

        if((DataNo==0) ||(DataNo>0x2000))return FALSE;

        flag=IDMA_WaitAck();

        if(flag==TRUE){ //IDMA Control

        IDMA_DSPAddr=StartAddr;

        }

        else return FALSE;

        flag=IDMA_WaitAck();

        if(flag==TRUE){ //IDMA Ovlay

        IDMA_DSPAddr=IDMAOvlay;}

        else return FALSE;

        count=0;

        do{

        flag=IDMA_WaitAck();

        if(flag==TRUE ){

        *DestinPtr++=IDMA_DSPData;

        count++;

        }

        }while ((flag==TRUE) && (count

        if(flag==FALSE) return FALSE;

        return TRUE;

        }

        2 結 論

        相比于ADC直接連接MCU(無論是串行方式還是并行方式)和基于雙口RAM的ADC數(shù)據(jù)接口方案,基于SPORT口的串行ADC數(shù)據(jù)接口方案有許多優(yōu)點。比如,其控制邏輯相對簡單,串行數(shù)據(jù)更有利于進行電的隔離,價格更便宜等。在電力系統(tǒng)監(jiān)控產(chǎn)品中使用SPORT口和IDMA口,可以減少因?qū)崟r數(shù)據(jù)讀取及計算結果傳輸造成的MCU和DSP資源浪費,為數(shù)字信號處理留出足夠的時間,為更復雜的算法采用提供可能性。隨著產(chǎn)品模擬量數(shù)量的增加以及對實時性要求的提高,該方法的優(yōu)勢更加明顯。該方法已在我公司的多種電力系統(tǒng)監(jiān)控產(chǎn)品中使用,并已有數(shù)千套產(chǎn)品應用于工程現(xiàn)場。

        [1]Analog Devices.ADSP 2100 Family User’s Manual[EB/OL].http://www.analog.com/static/imported-files/processor_manuals_legacy/160158757adsp_21xx_um_rev3_0.zip.

        [2]Analog Devices.ADSP-218x DSP Instruction Set Reference.[EB/OL].(2004).http://www.analog.com/static/imported-files/processor_manuals/5876423468xinset.pdf.

        [3]Analog Devices.ADSP-218x DSP Hardware Reference[EB/OL].(2001).http://www.analog.com/static/imported-files/processor_manuals/3110043388x_hardware.zip.

        [4]袁璟,高明.ADSP-218X的IDMA接口自舉設計[J].單片機與嵌入式系統(tǒng)應用, 2004(10):24-26.YUAN Jing,GAO Ming.Self-bootingdesign ofIDMA interface of ADSP-218X[J].Microcontrollers&Embedded Systems,2004(10):24-26.

        [5]Analog Devices.Autobuffering,C and FFTs on the ADSP-218x[EB/OL].(2001).http://www.analog.com/static/importedfiles/application_notes/ee_142.pdf.

        [6]Analog Devices.ADSP-2185M DataSheet[EB/OL].(2000).http://www.analog.com/static/imported-files/data_sheets/ADSP-2185M.pdf.

        [7]Analog Devices.ADSP-2189 IDMA Interface to Motorola MC68300 Family of Microprocessors [EB/OL].2000.http://www.analog.com/static/imported-files/application_notes/EE-115.pdf.

        猜你喜歡
        模擬量緩沖區(qū)信號
        嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設計與實現(xiàn)
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        測控技術(2018年12期)2018-11-25 09:37:42
        基于FPGA的多功能信號發(fā)生器的設計
        電子制作(2018年11期)2018-08-04 03:25:42
        關于600MW火電機組模擬量控制系統(tǒng)設計和研究
        電子制作(2016年21期)2016-05-17 03:53:12
        基于LabVIEW的力加載信號采集與PID控制
        關鍵鏈技術緩沖區(qū)的確定方法研究
        模擬量輸入式合并單元測試儀的研制
        一種通用模擬量及開關量信號采集板卡的設計
        久久久中文久久久无码| 日本五十路熟女在线视频| 精品中文字幕精品中文字幕| 人妻少妇偷人精品久久性色av | 亚洲精品国产亚洲av| 日本一二三区在线视频观看| 美女视频在线观看亚洲色图| 亚洲av永久精品爱情岛论坛| 精品五月天| 亚洲国产黄色在线观看| av在线观看一区二区三区| 野狼第一精品社区| 久久99国产乱子伦精品免费| 蜜桃av无码免费看永久| 青青草成人免费播放视频| 蜜桃视频在线看一区二区三区 | 精品卡一卡二乱码新区| 国产美女久久精品香蕉69| 精品久久久久中文字幕APP| 少妇高潮精品正在线播放| 99在线精品免费视频| 亚洲成a人v欧美综合天堂麻豆| 国产呦系列视频网站在线观看 | 国产一区二区三区影院| 2020国产精品久久久久| 亚洲视频一区二区蜜桃| 国产成人精品一区二区20p| 无码中文字幕日韩专区视频| 中国精品视频一区二区三区 | 国产精品夜间视频香蕉| 97精品国产91久久久久久久 | 国产伦久视频免费观看视频| 亚洲AV成人无码久久精品在| 久久精品亚洲一区二区三区画质| 国内精品久久久久久久97牛牛 | 456亚洲老头视频| 日本av一区二区三区四区| 亚洲va韩国va欧美va| 真人男女做爰无遮挡免费视频| 二区三区视频在线观看| av天堂精品久久综合网|