《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > LPC1768與AD7656帶時(shí)標(biāo)采樣系統(tǒng)設(shè)計(jì)
LPC1768與AD7656帶時(shí)標(biāo)采樣系統(tǒng)設(shè)計(jì)
唐允寶,,李銀玲 唐允寶,李銀玲
摘要: 本文介紹了基于ARM Cortex-M3的芯片LPC1768FBl00和16位A/D芯片AD7656的工作原理,,設(shè)計(jì)了基于AD7656與LPC1768串行通信的采樣系統(tǒng),,實(shí)現(xiàn)對(duì)采樣數(shù)據(jù)帶上時(shí)標(biāo)的設(shè)計(jì),對(duì)監(jiān)控系統(tǒng)獲得實(shí)時(shí)狀態(tài)提供了可行方案,。本系統(tǒng)可廣泛應(yīng)用于電力系統(tǒng)在線監(jiān)測(cè),。由于工業(yè)現(xiàn)場(chǎng)的應(yīng)用環(huán)境,該系統(tǒng)在精度和穩(wěn)定性方面有待于提高,。
Abstract:
Key words :

摘要:以微控制器LPC1768為核心控制AD7656的采樣電路,,實(shí)現(xiàn)了電力系統(tǒng)監(jiān)測(cè)數(shù)據(jù)帶上準(zhǔn)確時(shí)間標(biāo)記的設(shè)計(jì)方案。系統(tǒng)采用LPC1768片內(nèi)資源SSP0控制AD7656進(jìn)行采樣,并使用片內(nèi)資源RTC,,以獲得帶有實(shí)時(shí)時(shí)間標(biāo)示的采樣數(shù)據(jù),。帶時(shí)標(biāo)采樣系統(tǒng)在工業(yè)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)中有良好的應(yīng)用前景。
關(guān)鍵詞:時(shí)間標(biāo)示,;LPC1768,;AD7656;RTC,;SSP

引言
    監(jiān)測(cè)系統(tǒng)中,,對(duì)被測(cè)對(duì)象的監(jiān)測(cè)時(shí)常需要帶時(shí)標(biāo)。過去常外擴(kuò)實(shí)時(shí)時(shí)鐘芯片PCF8563,,使用I2C接口與控制器相連,來獲得時(shí)間,。該設(shè)計(jì)需要外擴(kuò)硬件資源,,并且消耗控制器資源,使用效果不佳,。恩智浦(NXP)公司的基于最新ARMv7內(nèi)核的LPC1768,,內(nèi)嵌實(shí)時(shí)時(shí)鐘計(jì)數(shù)器,系統(tǒng)
掉電仍可繼續(xù)運(yùn)行,,可由自帶的電源引腳VBAT供電,,進(jìn)行不間斷地計(jì)時(shí)。數(shù)模采樣模塊采用ADI公司的AD7656,,高精度,、高速度、高信噪比,、良好的實(shí)用性等特點(diǎn)使其成為模/數(shù)轉(zhuǎn)換的極佳選擇,。使用LPC1768為控制核心,配合高效的AD7656模/數(shù)芯片,,構(gòu)成采樣數(shù)據(jù)帶時(shí)標(biāo)的實(shí)時(shí)采樣系統(tǒng),,在工業(yè)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)中有十分廣闊的應(yīng)用前景。

1 硬件設(shè)計(jì)
1.1 芯片簡介
    Correx系列基于ARM公司的架構(gòu)ARMv7,,包括Cortex-A(應(yīng)用處理器),、Cortex-R(實(shí)時(shí)處理器)、Cor-tex-M(微控制器)三個(gè)系列,,Cortex-M3是面向低成本,、小引腳數(shù)目以及低功耗應(yīng)用,并且具有極高運(yùn)算能力和中斷響應(yīng)能力的處理器內(nèi)核,。NXP的LPC1768便是基于Cortex-M3的處理器,。
    如同現(xiàn)在市場(chǎng)上多數(shù)控制器,LPC1768只內(nèi)建了1個(gè)帶8通道的12位的模/數(shù)轉(zhuǎn)換(少數(shù)芯片如TMS320F2812,帶有2個(gè)8通道12位的模/數(shù)轉(zhuǎn)換),,不能實(shí)現(xiàn)對(duì)多個(gè)監(jiān)測(cè)單元的同時(shí)采樣,,并且實(shí)際達(dá)到的分辨率也只有9位半,不能滿足現(xiàn)場(chǎng)監(jiān)測(cè)的需要,。使用外擴(kuò)ADIAD7656芯片來實(shí)現(xiàn)多路監(jiān)測(cè)采樣,,可廣泛應(yīng)用于輸電線路監(jiān)測(cè)系統(tǒng)、儀表和控制系統(tǒng)等,。
1.2 LPCI768芯片電路
    硬件系統(tǒng)中,,LPC1768FBD1OO作為主控芯片,其主頻最高為100 MHz,。LPC1768有3種時(shí)鐘來源:
    ①osc-clk,,片外時(shí)鐘(主振蕩器)輸入,外部晶振工作在(1~25 MHz),。
    ②rtc-clk,,實(shí)時(shí)時(shí)鐘頻率輸入,實(shí)時(shí)時(shí)鐘本身需要1個(gè)外部晶振(1~32.768 kHz),。
    ③irc-clk,,內(nèi)部振蕩時(shí)鐘(標(biāo)稱頻率4 MHz),在上電和片上復(fù)位時(shí)使用irc時(shí)鐘,,待軟件配置其他時(shí)鐘輸入,;irc-clk達(dá)不到USB接口時(shí)間基準(zhǔn)精度要求,要使用USB功能,,必須外接更高精度晶振,。

5a.JPG


    圖1為RTC時(shí)鐘時(shí)域的總體設(shè)計(jì)框圖。使用12MHz的外部晶振,,通過鎖相環(huán)倍頻后,,以96MHz運(yùn)行。RTC時(shí)鐘輸入RTCXl,、RTCX2,,外接32.768 kHz晶振,采用獨(dú)立3.3 V電池供電,,Vbat輸入端接二極管,,防止電池反接造成芯片燒毀。芯片采用3.3 V供電,,數(shù)字和模擬之間用O Ω電阻或者合適值的電感(電感值大小和電路設(shè)計(jì)本身有關(guān))隔開,。
    JTAG仿真口接法如圖2所示。

5b.JPG


    ADI公司的AD7656有多種數(shù)據(jù)傳輸方式可供配置,,相對(duì)于LPC1768豐富的串行傳輸方式和很少的I/0數(shù)量,,并行傳輸要占用16位或8位數(shù)據(jù)線,,占用資源太多。使用帶有8幀4~16位可配置FIFO的SSP總線,,使其運(yùn)行在SPI模式下,。
    LPCI768的SSP同步串行控制器,占用4個(gè)引腳:
    ①SCK,,串行時(shí)鐘線,。作為同步時(shí)鐘信號(hào),主機(jī)驅(qū)動(dòng),,從機(jī)接收,,可配置高、低有效只在傳輸過程中有效,;對(duì)應(yīng)引腳為P0.15或P1.20(SSP0使用),,PO.7或P1.31(SSPl使用)。
    ②SSEL,,幀同步/從機(jī)選擇信號(hào),。主機(jī)在數(shù)據(jù)傳輸開始和結(jié)束時(shí)都會(huì)驅(qū)動(dòng)該信號(hào),在多個(gè)從機(jī)情況下,,可作為片選信號(hào)使用;對(duì)應(yīng)引腳為P0.16或P1.21(SSP0使用),,P0.6(SSP1使用),。
    ③MISO,Master In Slave Out,。當(dāng)SSPn作為主機(jī)時(shí),,該引腳作為串行數(shù)據(jù)輸入;SSPn作為從機(jī)時(shí),,該引腳作為串行數(shù)據(jù)輸出線,;SSPn是從機(jī)且未被SSEL選擇時(shí),引腳處于高阻態(tài),。對(duì)應(yīng)引腳為PO.17或Pl.23(SSP0使用),,P0.8(SSP1使用)。
    ④MOSI,,Master Out Slave In,。SSPn是主機(jī)時(shí),串行數(shù)據(jù)從該引腳輸出,;SSPn是從機(jī)時(shí),,該引腳接收主機(jī)輸入的數(shù)據(jù)。對(duì)應(yīng)引腳為PO.18或P1.24(SSP0使用),,P0.9(SSPl),。
1.3 AD7656芯片電路
    AD7656工作電路如圖3所示,,VDD與VSS是芯片模擬量輸入部分的電源,使用+12 V和-12 V(可用電壓范圍為9.5~16.5 V的電源)供電,,并使用0.1μF電容和10μF電解電容與模擬地隔開,;AVCC與AGND是芯片ADC核心的工作電源,使用+5 V電源供電,,兩者之間同樣要用0.1 μF電容和10μF電解電容隔開,;AVCC與DVCC相差不能大于0.3 V,就算短時(shí)間內(nèi)相差大于O.3 V,,也會(huì)出現(xiàn)錯(cuò)誤的測(cè)量結(jié)果,;VDRIVE引腳是邏輯電源輸入,可以根據(jù)不同的控制芯片或總線電平,,來接不同的邏輯電平,,配合LPC1768芯片3.3 V的電平,使用3.3 V電源,,并用0.1μF電容和10 μF電解電容與DGND隔開,;REFCAPC/B/A分別用O.1 μF電容和10 μF電解電容與模擬地隔開。

5c.JPG


    RANGE接高電平,,量程為±2×VREF,,接低電平,量程為±4×VREF,;選擇串行模式下,,接高電平3.3V,接DGND,;串行數(shù)據(jù)只使用A口傳輸,,SEL-A接高電平3.3 V,SEL-B,、SEL-C接DGND,;不使用菊花鏈功能,將DCIN-C,、DCIN-B,、DCIN-A引腳接DGND;引腳接高電平3.3 V,,持續(xù)工作在標(biāo)準(zhǔn)模式下,,接低電平為待機(jī)狀態(tài);CONVST-A/B/C接LPC1768的MATl.1,,有定時(shí)器1的比較器輸出翻轉(zhuǎn)電平控制A/D轉(zhuǎn)換,;BUSY引腳在轉(zhuǎn)換開始到結(jié)束為高電平,接LPC1768的EINT3,,捕獲轉(zhuǎn)換結(jié)束下降沿,;SCLK接LPC1768的SSP0的SCK0引腳(選用P1.20),;SDATA接LPC1768的SSP0的MISO0引腳(選用P1.23)。

2 軟件設(shè)計(jì)
    在電力系統(tǒng)監(jiān)測(cè)中,,許多時(shí)候要用到三相電壓電流采樣,,并對(duì)每個(gè)周期取128個(gè)采樣值。使用定時(shí)器1產(chǎn)生比較中斷,,使用比較中斷的引腳翻轉(zhuǎn)功能,,比較值為20 ms/(128×2),即實(shí)際采樣周期為2×20 ms/(128×2)=20ms/128,。當(dāng)比較輸出翻轉(zhuǎn)至高電平時(shí),,CONVST-A/B/C
置高,開始采樣,,同時(shí)BUSY引腳電平置高,;轉(zhuǎn)換結(jié)束,BUSY引腳置低,,EINT3設(shè)置下降沿中斷,,捕獲其下降沿,進(jìn)入中斷,;中斷服務(wù)程序讀取RTC值和打開SSP0讀取ADC值,,程序流程如圖4所示。

5d.JPG


2.1 RTC實(shí)時(shí)時(shí)鐘程序
    LPC1768 RTC擁有秒,、分,、小時(shí)、日期值(周期為月,、值1~31),、星期值,、日期值(周期為年,、值1~365)、月值,、年值寄存器,,對(duì)每個(gè)寄存器設(shè)置需要的值。RTC中斷分為2種——計(jì)數(shù)器增量中斷(CIIR)和報(bào)警中斷,。
    計(jì)數(shù)器增量中斷:RTC中8個(gè)寄存器,,使能任意一個(gè)時(shí)間值的中斷(秒中斷、分中斷等),,那么該時(shí)間值計(jì)數(shù)器每增加1次,,就產(chǎn)生1次中斷;
    報(bào)警中斷:使能8個(gè)寄存器的任意一個(gè)或者幾個(gè)計(jì)數(shù)中斷使能,,當(dāng)所有未屏蔽寄存器的值與當(dāng)前時(shí)間寄存器的值匹配時(shí),,產(chǎn)生中斷,。
    RTC功能模塊框圖如圖5所示。

5e.JPG


    下面是秒增量中斷的例子,。

5f.JPG
2.2 AD7656與LPC1768 SSPO通信程序
    配置LPC1768 SSP0為SPI模式,,每幀傳輸16位數(shù)據(jù),自動(dòng)接收6幀數(shù)據(jù),。程序如下:

5g.JPG

結(jié)語
    本文介紹了基于ARM Cortex-M3的芯片LPC1768FBl00和16位A/D芯片AD7656的工作原理,,設(shè)計(jì)了基于AD7656與LPC1768串行通信的采樣系統(tǒng),實(shí)現(xiàn)對(duì)采樣數(shù)據(jù)帶上時(shí)標(biāo)的設(shè)計(jì),,對(duì)監(jiān)控系統(tǒng)獲得實(shí)時(shí)狀態(tài)提供了可行方案,。本系統(tǒng)可廣泛應(yīng)用于電力系統(tǒng)在線監(jiān)測(cè)。由于工業(yè)現(xiàn)場(chǎng)的應(yīng)用環(huán)境,,該系統(tǒng)在精度和穩(wěn)定性方面有待于提高,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。