LPC1768與AD7656帶時標采樣系統(tǒng)設計
②SSEL,幀同步/從機選擇信號。主機在數(shù)據(jù)傳輸開始和結(jié)束時都會驅(qū)動該信號,在多個從機情況下,可作為片選信號使用;對應引腳為P0.16或P1.21(SSP0使用),P0.6(SSP1使用)。
③MISO,Master In Slave Out。當SSPn作為主機時,該引腳作為串行數(shù)據(jù)輸入;SSPn作為從機時,該引腳作為串行數(shù)據(jù)輸出線;SSPn是從機且未被SSEL選擇時,引腳處于高阻態(tài)。對應引腳為PO.17或Pl.23(SSP0使用),P0.8(SSP1使用)。
④MOSI,Master Out Slave In。SSPn是主機時,串行數(shù)據(jù)從該引腳輸出;SSPn是從機時,該引腳接收主機輸入的數(shù)據(jù)。對應引腳為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,就算短時間內(nèi)相差大于O.3 V,也會出現(xiàn)錯誤的測量結(jié)果;VDRIVE引腳是邏輯電源輸入,可以根據(jù)不同的控制芯片或總線電平,來接不同的邏輯電平,配合LPC1768芯片3.3 V的電平,使用3.3 V電源,并用0.1μF電容和10 μF電解電容與DGND隔開;REFCAPC/B/A分別用O.1 μF電容和10 μF電解電容與模擬地隔開。本文引用地址:http://butianyuan.cn/article/162831.htm
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ù)工作在標準模式下,接低電平為待機狀態(tài);CONVST-A/B/C接LPC1768的MATl.1,有定時器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 軟件設計
在電力系統(tǒng)監(jiān)測中,許多時候要用到三相電壓電流采樣,并對每個周期取128個采樣值。使用定時器1產(chǎn)生比較中斷,使用比較中斷的引腳翻轉(zhuǎn)功能,比較值為20 ms/(128×2),即實際采樣周期為2×20 ms/(128×2)=20ms/128。當比較輸出翻轉(zhuǎn)至高電平時,CONVST-A/B/C
置高,開始采樣,同時BUSY引腳電平置高;轉(zhuǎn)換結(jié)束,BUSY引腳置低,EINT3設置下降沿中斷,捕獲其下降沿,進入中斷;中斷服務程序讀取RTC值和打開SSP0讀取ADC值,程序流程如圖4所示。
2.1 RTC實時時鐘程序
LPC1768 RTC擁有秒、分、小時、日期值(周期為月、值1~31)、星期值、日期值(周期為年、值1~365)、月值、年值寄存器,對每個寄存器設置需要的值。RTC中斷分為2種——計數(shù)器增量中斷(CIIR)和報警中斷。
計數(shù)器增量中斷:RTC中8個寄存器,使能任意一個時間值的中斷(秒中斷、分中斷等),那么該時間值計數(shù)器每增加1次,就產(chǎn)生1次中斷;
評論