国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于DSP和CPLD技術的多路ADC系統的設計與實現

發布時間:2010-6-11 16:56    發布者:techieboy
關鍵詞: ADC
引言

隨著現代電子技術的應用和發展,數字信號處理的內容日益復雜,而ADC是實現從模擬到數字轉換的一個必然過程。針對這種情況,利用數字信號處理器和可編程邏輯器件提出了多路ADC系統的設計方法,實現了對動態多路模擬輸入信號的采樣傳輸以及處理,簡化了電路設計,可編程邏輯器件使得系統的通用性和可移植性得到良好的擴展。系統框圖如圖1所示。

系統硬件設計

本設計所采用的ADC器件是MAXIM公司的生產的低功耗16位模數轉換器(ADC)MAX1162。MAX1162采用逐次逼近型ADC結構,具有自動關斷、1.1μs快速喚醒和兼容于SPI/QSPI/MICROWIRE的高速接口,采用+5V單模擬電源,并且具有獨立的數字電源引腳,允許芯片直接和+2.7~+5.25V的數字邏輯接口。REF引腳接外部參考電壓,用于設定模擬輸入電壓范圍,與模擬地之間連接一個4.7μF的電解電容;AVDD引腳是+5V電源供應輸入端,與模擬地之間接一個0.1μF的電容;AGND是模擬地;CS是片選輸入,低有效。當為高時,系統處于斷電模式,由高變低時,激活系統到正常運行模式,同時初始化一次轉換。本系統選擇作為AD的使能信號;SCLK是串行時鐘輸入,驅動模數轉換進程;DOUT是串行數據輸出,數據狀態在SCLK的下降沿改變;DGND是數字地;DVDD是數字電壓供應,與數字地之間接一個0.1μF的電容;AIN是模擬信號輸入端。

該ADC系統的中央控制單元采用TI(德州儀器)公司的浮點數字信號處理器TMS320VC33-150,TMS320VC33的地址總線為24位,程序尋址范圍可達16M,數據總線為32位,內部具有34K×32bit的SRAM,可根據需要映射在程序或數據空間,擁有一路串行口,可以構成傳輸8、16、24、32位的數據,其傳輸模式可以設置為突發模式或者是連續模式。兩個32位的通用定時器,能夠用來按照規定的時間間隔與芯片內部通信或者是和外部通信。



本系統考慮到主要應用在ADC中,所以就直接采用TMS320VC33的數據總線和地址總線,沒有再附加額外的電路,使得ADC的采樣速度和轉換精度得到良好的保證。同時還利用了INT2和XF0引腳,作為DSP接收數據的中斷信號和ADC的使能信號。INT2是外部中斷引腳,由外部的數據輸入觸發中斷;XF0即外部標志輸出引腳,受軟件控制,可以用來向外部器件發送信號,該引腳的狀態由I/O標志寄存器決定,IOF=0X22,即置XF0為通用目的輸出引腳,同時該引腳輸出0;若IOF=0X26,則置XF0為通用目的輸出引腳,同時該引腳輸出為1。本系統利用軟件指令對XF0進行置高置低,控制ADC的啟動轉換和停止。

EMP7512AE基于EEPROM技術,采用多電壓I/O接口技術,系統內核供應電壓為3.3V,而I/0引腳與2.5V、3.3V、5.0V邏輯電平相互兼容。EPM7512AE有10 000個可用門、512個宏單元、32個邏輯陣列塊和212個用戶可用I/0引腳。CPLD在系統中的主要功能是:給ADC轉換提供時鐘信號,控制ADC轉換的使能和復位,由于采用的ADC芯片是串行輸出的,CPLD還實現對串行數據的輸入轉為并行數據的輸出,然后直接和TMS320VC33的數據總線相連接。同時CPLD產生脈沖信號,在ADC轉換完成后,數據暫存在CPLD中,該脈沖向CPU申請中斷,提示有數據需要接收。另外,CPLD的一個關鍵作用就是,實現路數的動態選擇,目前設計的該系統最多路數為8路。CPLD和DSP及AD芯片的具體硬件連接圖如圖2所示。



系統軟件設計

在軟件設計中,通過CPLD程序對ADC轉換進行動態控制,選通模擬信號輸入端,對ADC進行使能,按照圖3所示的轉換時序圖完成對MAX1162的數據采樣及傳輸。

下面給出VHDL語言的主要程序部分。



BEGIN
ADCS <= SYNTHESIZED_WIRE_12;
ADA <= SYNTHESIZED_WIRE_2;
GDFX_TEMP_SIGNAL_1 <= (L & L & H & H & H & L);
GDFX_TEMP_SIGNAL_0 <= (H & L & H & H & L);
U1 : lpm_bustri_0----三態總線緩沖器,允許采樣的數據輸出到DSP的數據總線上
PORT MAP(enabledt => DRD,
data => ADO,
tridata => D);
U2 : lpm_counter_1----計數器,把數據總線寬度改為3位
PORT MAP(sload => SYNTHESIZED_WIRE_0,
clock => SYNTHESIZED_WIRE_1,
aload => XFA0,
data => CMD(2 downto 0),
q => SYNTHESIZED_WIRE_2);
U3 : lpm_dff_1---D觸發器,數據總線寬度為8位,接收來自于DSP的數據
PORT MAP(clock => CMDCK,
data => D(7 downto 0),
q => CMD);
U4 : lpm_compare_1---比較器,比較CMD(5..3)和CMD(2..0)的值,即輪詢采樣通道
PORT MAP(dataa => CMD(5 downto 3),
datab => SYNTHESIZED_WIRE_2,
aeb => SYNTHESIZED_WIRE_0);
SYNTHESIZED_WIRE_1 <= NOT(AQ(4));
NRW<= NOT RW;
CMDCK<= NOT( NOT PAGE3 AND(NOT RW)AND A6 AND A5 AND A4 AND (NOT A3));
----通道控制地址編碼
DRD <= NOT PAGE3 AND RW AND A6 AND A5 AND A4 AND A3;----采樣地址編碼
CLKA <= NOT(CLK);
U5 : lpm_counter_2---產生計數脈沖
PORT MAP(sload => SYNTHESIZED_WIRE_3,
clock => HFP(5),
data => GDFX_TEMP_SIGNAL_0,
eq => SQ,
q => AQ);
U5 : lpm_dff_5---緩沖器
PORT MAP(clock => SYNTHESIZED_WIRE_12,
data => SYNTHESIZED_WIRE_5,
q => ADO);
SYNTHESIZED_WIRE_12 <= SQ(12) OR 0 OR XFA0;
SYNTHESIZED_WIRE_3 <= XFA0 OR SQ(14);
ADEN <= NOT(XFA0);
SYNTHESIZED_WIRE_10 <= HFP(5) AND HFP(4) AND HFP(0) AND SYNTHESIZED_WIRE_6 AND SYNTHESIZED_WIRE_7 AND SYNTHESIZED_WIRE_8;
SYNTHESIZED_WIRE_7 <= NOT(HFP(2));
SYNTHESIZED_WIRE_6 <= NOT(HFP(3));
INTA2 <= XFA0 OR SYNTHESIZED_WIRE_9;
U6 : lpm_shiftreg_1----串行數據輸入轉為并行數據輸出
PORT MAP(shiftin => ADOUT,
clock => HFP(5),
q => SYNTHESIZED_WIRE_5);
U7 : lpm_counter_3---產生時鐘信號
PORT MAP(sload => SYNTHESIZED_WIRE_10,
clock => H1CK,
data => GDFX_TEMP_SIGNAL_1,
q => HFP);
SYNTHESIZED_WIRE_8 <= NOT(HFP(1));
ADSCK <= NOT(HFP(5));
SYNTHESIZED_WIRE_9 <= NOT(SYNTHESIZED_WIRE_12);
H <= '1';
L <= '0';
END;

把該VHDL程序寫入到EPM7512AE芯片中的,對數據進行采樣編程就簡單了許多。在.CMD文件的MEMORY段中加入ADPORT :org=0x00c00070,len=9。然后通過自定義數據段把數組adport[8]映射到段ADPORT中。下面給出用C編寫的采樣主要程序。

Main()
{
……
IOF = 0x26;/*置MAX1162數據輸出端為高阻態*/
adport[0] = 0x28;
/*采樣通道選擇:0通道~5通道,總共6路;若設adport[0]=0x38,則通道為:0通道~7通道,總共8路。同理可進行其他設置*/
IE = 4;/*中斷使能*/
IOF = 0x22;/*啟動ADC*/
/* adport[0]對應地址為0x00c00070,配置寄存器有6位,0、1、2位對應起始通道,3、4、5位對應結束通道。adport[8]對應地址為0x00c00078,是控制寄存器*/
……
}
在中斷服務子程序接收采樣的數據,程序如下。
C_INT02()
{
ad[adi++] = adport[8];/*把采集的數據十六進制數據存入數組ad中*/
If(adi>0x7ff) /*存入的數據大小為2K×16bit,根據內存大小動態改變*/
adi &= ox7ff;
}

結論

經過實際驗證,本ADC系統在低成本的情況下的采樣精度達到了13位,這在16位的ADC芯片中達到很好的水平,并被應用到高精度的工業控制中。利用TMS320VC33和EPM7512AE,靈活方便地實現了對高精度模數轉換器MAX1162的控制和動態多通道采樣,簡化了系統設計的復雜性,同時使得DSP的編程處理變得非常高效簡潔。若應用在要求更加嚴格的場面,本系統有待做進一步的改進,把ADC芯片更換為并行輸出,同時把CPLD芯片更換為CycloneII FPGA,DSP芯片用TMS320C6713,同時加入噪聲抑制設計,這樣整個系統性能將會顯著提高。在一定的條件下,和ADC模塊相類似,本系統可以經過擴充,實現更多路的信號采集。

參考文獻

1 徐惠民,安德寧編著.數字邏輯設計與VHDL描述.機械工業出版社, 2004
2 張雄偉等著.DSP集成開發與應用實例.電子工業出版社, 2002
3 MAX1162,16-Bit,+5V,200ksps ADC with 10μA Shutdown.MAXIM
4 TMS320VC33 DIGITAL SIGNAL PROCESSOR, Texas Instruments Incorporated
本文地址:http://m.qingdxww.cn/thread-12789-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • PIC18-Q71系列MCU概述
  • 想要避免發生災難,就用MPLAB® SiC電源仿真器!
  • 無線充電基礎知識及應用培訓教程2
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日日夜夜精品 | 精品午夜久久网成年网 | 国产vr一区二区在线观看 | 成人在线视频免费看 | 成人欧美视频免费看黄黄 | 亚洲欧美色图片 | 精品欧美一区二区三区在线 | 黄色手机看片 | 国产高清av在线播放 | 妈妈的朋友手机在线观看 | 亚洲一级片网站 | 男女在床羞羞的免费视频 | 成年黄网站色视频免费观看 | 麻豆va| 国产精品久久久久久久专区 | 99福利视频| 天堂网www在线| 免费福利网站在线观看 | 妖精视频国产精品 | 黄页网址在线观看 | 操操网站| 亚洲国产香蕉视频欧美 | 中文亚洲日韩欧美 | 四虎4h| 蜜柚视频在线 | 一级毛片特级毛片免费的 | 亚洲国产精品免费观看 | 国产欧美一区二区三区久久 | 亚洲人与日本人jjzz | 91国内揄拍国内精品情侣对白 | 五月天激情综合网 | 99久久精品免费看国产免费 | 亚洲成人手机在线 | 五月婷婷欧美 | 久久99精品视免费看 | 日本高清视频免费看 | 国产一级视频在线 | 99热在| 午夜在线免费视频 | 色停停 | 国产精品免费视频网站 |