在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 帶8051內(nèi)核的系統(tǒng)級ADC芯片MSC1210介紹及應(yīng)用

            帶8051內(nèi)核的系統(tǒng)級ADC芯片MSC1210介紹及應(yīng)用

            ——
            作者:司剛?cè)?曾 旖 張彥斌 清華大學 張偉東 時間:2007-09-21 來源:單片機及嵌入式系統(tǒng)應(yīng)用 收藏

              摘要:介紹德州儀器公司最近出品的帶有高性能8051內(nèi)核的系統(tǒng)級ADC芯片——。說明8051內(nèi)核單片機的特點、懷能以及片上Flash、24位高精度A/D轉(zhuǎn)換器的使用方法。利用豐富的片上資源,可以很簡單地構(gòu)建精密數(shù)據(jù)采集系統(tǒng)。

                關(guān)鍵詞:

              MSC1210是德州儀器公司推出的系統(tǒng)級高精度ADC芯片系列,內(nèi)置24位低功∑—ΔADC前端信號調(diào)理電路—多路模擬開關(guān)、緩沖器、PGA、電壓參考,且集成了高性能8051處理器內(nèi)核、Flash存儲器和32位累加器、兼容SPI串口等多片上外設(shè)。對于要求何種小、集成度高、精度高的測量系統(tǒng),MSC1210是理想的選擇。

              MSC1210的系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

            1 MSC1210中高性能8051內(nèi)核介紹

              MSC1210系列芯片的所有指令與標準801兼容,相同各標志位、功能寄存器的功能也是一致的。但MSC1210在速度上有很大的提高:對于同樣的外部時鐘,指令執(zhí)行速度提高1.5~3倍,這就使用戶可以使用較低的外部時鐘,以降低系統(tǒng)的哭聲和功耗。此外,MSC1210相對8051單片機還新增了一些功能寄存器,以完成對外設(shè)的控制功能。如可編程看門狗定時器,對系統(tǒng)程序的運行進行監(jiān)控,確保系統(tǒng)可靠運行。片上具有兩個全雙工的UART,使得在開發(fā)模式有一個串口被占用的情況下,仍有一個可留給用戶使用。增加的帶有FIFO的SPI接口和PWM,為特定應(yīng)用提供了極大的方便。

              MSC1210還提供了雙數(shù)據(jù)指針,可以加速整塊數(shù)據(jù)的移動。在訪問外部數(shù)據(jù)存儲器時,還可以使訪問周期延展2~9個指令周期,以適應(yīng)不同的外設(shè)速度。32位的累加器也可顯著地減少系統(tǒng)開銷。它可在幾個指令周期內(nèi)完成結(jié)果的加法或移位操作,而同樣的操作用軟件完成則需要上百個指令周期。

              MSC1210內(nèi)部的時鐘控制電路可以方便地設(shè)置不同的時鐘信號。其秒、毫秒、微秒定時中斷寄存器可以為系統(tǒng)定時控制提供方便,如設(shè)置內(nèi)部Flash擦除時間、寫入時間。MSC1210的所有I/O口都可以通過寄存器,配置成標準8051(上拉)、CMOS輸出、漏極開路輸出、輸入四種方式中的一種。

            2 MSC1210中存儲器配置和使用

              MSC1210的片內(nèi)存儲器包括:特殊功能豁口(SFR),F(xiàn)lash寄存器,Scratchpad RAM,Boot Rom和SRAM。MSC1210內(nèi)置256字節(jié)的片內(nèi)數(shù)據(jù)存儲器和128字節(jié)的SFR,這與8051內(nèi)核單片機是相同的;唯一的區(qū)別是MSC1210定義了更多的特殊功能寄存器。MSC1210的位地址空間也與8051相同,內(nèi)部RAM中的20H~2FH以及SFR中以0或8結(jié)尾的字節(jié),都是可位尋址的。

              MSC1210中還有2KB的Boot Rom,用來控制串/并行編程時的操作。當Boot Rom使能時,其中的程序在用戶模式下是可以訪問的,這時,它的程序被定位在F800H~FFFFH;而在編程模式下,Boot Rom被定位在程序存儲器開始的2KB中。Boot Rom中含有一些調(diào)試編程常用的程序,如:

              void autobaud(void);//設(shè)置波特率

              char write_flash_chk(int fadd,char fdat,char fdm);//寫Flash并校驗

              根據(jù)型號的不同,MSC1210系列有4KB到32KB的Flash存儲器。此外,片內(nèi)還提供1KB的SRAM作為數(shù)據(jù)存儲器。它也是通過MOVX指令訪問的。SRAM的地址可從0000H或8000H開始,而Flash數(shù)據(jù)存儲器的地址緊接SRAM。

              Flash存儲器作為數(shù)據(jù)存儲器使用前,首先要對硬件寄存器0(HCR0)的低3位進行設(shè)置,分配數(shù)據(jù)存儲空間的大小。根據(jù)晶振頻率,設(shè)置MSEC和USEC寄存器來提供Flash存儲器的擦除和寫時間。擦除和寫入可以直接調(diào)用Boot Rom中的程序,編程示意代碼如下:

            #include<stdio.h> //頭文件引用

            #include<msc1210.h>

            #include“rom1210.h”

            #define PAGESTART 0x0400 //定義進行改寫的頁面

            #define PAGESIZE 0x80

            char xdata*Pflashpage;定義指向此頁面的指針

            char xdata buffer[PAGESIZE];//在XRAM里開辟緩沖區(qū)

            int main()

            {char result;unsigned char i;

            autobaud();//調(diào)用BootRom中子程序,自動設(shè)置波特率,與計算機通信,返回調(diào)試信息

            Pflashpage=(char xdata*)PAGESTART

            USEC=12-1;MSEC=12000-1; //以12MHz晶振為例,設(shè)置

            ………… //毫秒、微秒寄存器

            for(i=0;i<pagesize;i++)//從Flash中讀取一個頁面到XRAM

            buffer[i]=*Pflashpage++;

            buffer[0]+=1; //改變首字節(jié)值以重新寫入

            page_erase(PAGESTART,0XFF,DATA_FLASH);//擦除頁面內(nèi)容,BootRom內(nèi)帶程序

            result=0;

            for(i=0;i<pagesize;i++)

            result=result|write_flash_chk(pagestart+i,buffer[i],DATA_FLASH);//將修改后的數(shù)據(jù)寫入,Boot Rom內(nèi)帶程序

            3 高性能及其應(yīng)用

              MSC1210內(nèi)帶8路24位模數(shù)轉(zhuǎn)換器,自身可實現(xiàn)溫度檢測、輸入源泉開路短路檢測、增益和漂移校準等。內(nèi)核中的32位累加器可實現(xiàn)24位結(jié)果的快速累加計算。

              輸入多路轉(zhuǎn)換器將切換多路模擬輸入信號到輸入緩沖器。共有9路輸入信號,其中1路為片內(nèi)溫度傳感器信號,其余8路每路輸入可設(shè)置單極性輸入或差分輸入,通過ADMUX寄存器可隨意配置其輸入信號的正確與負端。片內(nèi)配置有模擬輸入緩沖,當使用輸入緩沖時,典型輸入阻抗為10GΩ;當不使用模擬輸入緩沖時,輸入阻抗(單位為Ω)由時鐘頻率與增益決定:

              PGA的增益可以設(shè)置為2 n(n=0~7)。通過PGA的使用,可以用效提高A/D轉(zhuǎn)換結(jié)果的分辨率。如輸入信號幅度為40mV,設(shè)置PGA=128,最小分辨率可達75nV。PGA的模擬輸入可以通過設(shè)置ODAC寄存器進行偏置,最大偏置為輸入范圍的一半。

              ADC的轉(zhuǎn)換結(jié)果存儲在ADRESH(高字節(jié))、ADRESM(中字節(jié))、ADRESL(低字節(jié))中,配合總和寄存器和移位寄存器,可以方便地實現(xiàn)多次測量結(jié)果的累加和平均。總和寄存器是1個32位的值,被分為SUMR0(LSB)、SUMR1、SUMR2、SUMR3(MSB),可以進行最大256次測量結(jié)果的累加和平均。當然,要得到測量結(jié)果的平均值,應(yīng)當使累加次數(shù)和平均次數(shù)一致。通過SSCON寄存器,可以設(shè)置成以下4種工作方式。

            方式0:手動累加,每次測量完畢,將測量結(jié)果寫入總和寄存器,完成累加。

            方式1:ADC自動累加,根據(jù)SSCON中設(shè)置的累加次數(shù),自動將測量結(jié)果累加到總和寄存器。

            方式2:手動求平均值,將總和寄存器中的值除以次數(shù),得到測量結(jié)果。

            方式3:ADC自動累加后求平均,根據(jù)SSCON中設(shè)置的累加次數(shù),自動完成測量結(jié)果的累加后求平均值。

            下面的示意代碼完成ADC高精度測量過程。單次測量結(jié)果可以通過直接讀取ADRESH、ADRESM、ADRESL得到。

            //設(shè)置ADC

            PDCON&=0x0f7; //打開轉(zhuǎn)換器,系統(tǒng)時鐘開啟

            ACLK=9; //設(shè)置ACLK頻率

            ADMUX=0x08; //選擇第一通道正極性,AINCON負極性

            ADCON0=0x30;//選擇片內(nèi)參考電壓1.25V,關(guān)閉緩沖器,PGA=1

            ADCON1=0x41;//單極性,濾波器自動模式,自校準

            for(i=0;i<4;i++) //四個采樣周期自校準

            {while(!(AIE&0X20));

            resultl=ADRESL;

            resultm=ADRESM;

            resulth=ADRESH;}

            SSCON=0XDB; //方式3,ADC自動累加后求平均,采樣16次累加

            While(!(AISTAT&0X40));//等待16次采樣結(jié)果被累加完成

            SMU=(SUMR3〈〈24〉+(SUMR2〈〈16〉+(SUMR1<<8)+SUMR0;

            4 MSC1210調(diào)試方式

              MSC1210可以通過串口對Flash編程,內(nèi)部Boot Rom中提供了調(diào)試用的相關(guān)函數(shù),避免了購買昂貴的開發(fā)設(shè)備,使基于MSC1210的開發(fā)變得非常簡單。

              硬件方面需要在開發(fā)板上加一個RS232轉(zhuǎn)換芯片,將MSC1210的串口和計算機串口之間連接起來;同時,設(shè)置上電時ALE和PSEN的狀態(tài)來確定其編程/工作方式。MSC1210有串行和并行兩種編程模式:PSEN=0、ALE=1時,為串行模式,即在線編程;PSEN=1、ALE=0時,為并行模式,要用到第三方的編程器。當二者皆為高電平時,為一般用戶模式。一般用戶模式允許對Flash程序存儲器和Flash數(shù)據(jù)存儲器編程。如復位時檢測到一般模式,則編程模式結(jié)束。

              軟件方面,TI公司提供了TI Downloader插件,可以直接與Keil配置使用。安裝完成TI download后,打開Keil,在Tools里面選擇Customize Tools Menu,添加TI Downloader插件,并對其進行配置,如圖2所示。

            在Argument選項中,可以填入的參數(shù)為[/Ffilename][/Xcrystal freq.][/Poort][/Bbaud reat][/Hhwdconfig][/Tterm]

            /Ffile:目標文件(.hex格式),在Keil環(huán)境中會自動用項目的目標文件代替(必選項)。

            /Xfeq:MSC1210晶振頻率(必選),X11指11.0592MHz。

            /Pport:PC串口選擇(必選須)。

            /Bbaud:波特率(可選項)。

            /H:如果設(shè)置該選項,則硬件寄存器被編程。

            /T:如果設(shè)置該選項,下載完成后將弱出調(diào)試終端窗口(可選項)。

              硬件配置寄存器(HCR0/HCR1)只能在編程模式下進行改寫。此時,HCR0的地址為代碼區(qū)807FH,HCR1的地址為807EH。通過如下程序進行配置(HCR0、HCR1各內(nèi)容參見MSC1210 Datasheet):

            CSEG AT0807EH ;代碼區(qū)地址設(shè)定

            DB 0FCH ;HCR1的配置內(nèi)容

            DB 0FFH ;HCR0的配置內(nèi)容

            5 總結(jié)

              MSC1210以其優(yōu)越的模擬和數(shù)字性能,可以輕松地構(gòu)建高精度測量系統(tǒng)。我們以MSC1210為核心,輔以少量的外圍設(shè)備,設(shè)計了發(fā)電機轉(zhuǎn)子繞組接地位置檢測儀。充分利用了MSC1210的高精度優(yōu)勢,使故障定位的準確度有了很大提高??梢灶A見,MSC1210是便攜式高精度測量系統(tǒng)的最佳選擇。

             



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉