【正文】
擦除模塊程序流程多通道同步數(shù)據(jù)采集后, 數(shù)據(jù)以一定的幀格式寫入Flash。 調(diào)試中遇到的問題通道選擇電路的調(diào)試。該部分的調(diào)試主要看A/D轉(zhuǎn)換后的數(shù)字量對(duì)應(yīng)的模擬量的大小是否與輸入的模擬量相同。當(dāng)上述輔助電路完成后,開始使用示波器逐個(gè)觀察其輸出的控制信號(hào)是否與仿真時(shí)序一致。 附錄A 系統(tǒng)原理圖附錄B 系統(tǒng)PCB版圖附錄C 系統(tǒng)VHDL程序模擬量采集library IEEE。entity advhd isport(glrn : in std_logic。 wrfifo : out std_logic。 channela7 : out std_logic。 data : in std_logic_vector(15 downto 0) )。 signal mark : std_logic_vector(3 downto 0)。 signal d_channela1 : std_logic。 begin f_data=data。039。 elsif fosc 39。 else count=count+1。produce AD start p2: process(fosc, glrn) begin if glrn=39。 elsif fosc 39。039。 end if。 channela6=d_channela6。039。 d_channela6=39。 d_channela8=39。139。039。039。039。039。 elsif d_channela1=39。 and d_channela7=39。 then if d_channel1111 then d_channel=d_channel+1。 d_channela6=39。 d_channela8=39。039。139。 elsif d_channel=1111 then d_channel=0000。039。139。 and d_channela6=39。 and d_channela8=39。 d_channela1=39。 d_channela7=39。 end if。 end process p3。 elsif fosc 39。 elsif count=80 then fifod(7 downto 4)=f_data(3 downto 0)。 end if。 then d_wrfifo=39。139。039。 end if。 then d_addra=0000000000 。 then if count=46 then d_addra=d_addra+1。 end process p7。use 。 sen : out std_logic。139。039。139。039。139。039。end process。這里有治學(xué)嚴(yán)謹(jǐn)而不失親切的老師,有互相幫助的同學(xué),更有向上、融洽的學(xué)習(xí)生活氛圍,也正是通過做畢業(yè)設(shè)計(jì)使我學(xué)到了許多新的知識(shí),把理論學(xué)以致用。特別感謝鄭燕璐師兄,本設(shè)計(jì)是在鄭燕璐師兄的悉心指導(dǎo)下完成的,在這段時(shí)間里,我從他身上不僅學(xué)到了許多的專業(yè)知識(shí),更感受到了他在工作中的兢兢業(yè)業(yè),生活中的平易近人,他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和忘我的工作精神值得我去學(xué)習(xí)。感謝答辯委員會(huì)各位委員及評(píng)閱人的細(xì)心審閱。正是他們耐心的幫助,使我解決了許多實(shí)際問題,有了很大收獲。首先衷心感謝指導(dǎo)老師張會(huì)新老師。參 考 文 獻(xiàn)[l] 電子工業(yè)出版社,2008[2] ,2007,1[3] (FPGA),2006,6[4] 馬明建.?dāng)?shù)據(jù)采集與處理技術(shù).西安:西安交通大學(xué)出版社,2005[5] [M].北京:高等教育出版社,2002[6] 李超,王虹現(xiàn), 存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].,36:12[7] [J]., 29(3):12[8] 劉文怡,張彥軍,[J].電測(cè)與儀表. 2008, 45(505):13[9] [D].太原:中北大學(xué)碩士學(xué)位論文,2006[10] [J]., 23(11):1[11][12].[13]ADS8402 SLAS154B – DECEMBER 2002 – REVISED MAY 2003[14] [15]秦麗,何慧珠,.致 謝 尊敬的老師,親愛的同學(xué)們,再過幾天就要離開陪伴我們四年時(shí)光的校園,走向社會(huì)。039。039。039。039。039。039。end kaiguan。ENTITY kaiguan IS PORT( s : in std_logic_vector(2 downto 0)??刂崎_關(guān)library IEEE。 end if。 event and fosc=39。write fifo data p7: process(fosc, glrn) begin if glrn=39。139。039。 elsif fosc 39。write fifo data p6: process(fosc, glrn) begin if glrn=39。 mark=mark+1。139。039。 end if。 d_channela8=39。 d_channela6=39。 then if d_channel1111 then d_channel=d_channel+1。 and d_channela7=39。 elsif d_channela1=39。039。039。039。039。 end if。 d_channela7=39。 d_channela1=39。 and d_channela8=39。 and d_channela6=39。039。139。 elsif d_channel=1111 then d_channel=0000。039。139。 elsif fosc 39。 d_channela7=39。 d_channela1=39。 channela8=d_channela8。produce channel convert channel=d_channel。139。139。 then clk=39。 end if。139。139。 wrfifo=d_wrfifo。 signal d_channela7 : std_logic。 signal d_addra : std_logic_vector(9 downto 0)。architecture Behavioral of advhd is signal count : std_logic_vector(6 downto 0)。 addra : out std_logic_vector(9 downto 0)。 channela1 : out std_logic。 start : in std_logic。use 。首先介紹了數(shù)據(jù)采集系統(tǒng)的特點(diǎn)及發(fā)展情況,并根據(jù)課題的實(shí)際要求提出了總體設(shè)計(jì)方案和原理框圖;接著按照整體結(jié)構(gòu)圖,設(shè)計(jì)每一部分的硬件電路圖,再用VHDL程序進(jìn)行軟件設(shè)計(jì)并仿真;最后通過對(duì)實(shí)物的調(diào)試得出結(jié)論:該系統(tǒng)能對(duì)采樣16路模擬信號(hào)??刂颇K的調(diào)試。對(duì)于不同采樣頻率的信號(hào)看開關(guān)的波形是否符合設(shè)計(jì)要求。如果壞塊標(biāo)志是非0XFF 時(shí),該塊是壞塊則跳過,繼續(xù)檢測(cè)下一塊;如果壞塊標(biāo)志是0XFF 時(shí),則讀取FIFO 中的數(shù)據(jù),寫入Flash 中。 FLASH的擦除問題在調(diào)試中遇到的主要問題還有:當(dāng)系統(tǒng)上電后,F(xiàn)PGA 主控模塊首先對(duì)Flash 進(jìn)行擦除操作。為使輸入A/D的信號(hào)相對(duì)穩(wěn)定,在分壓電路的前后各設(shè)置一個(gè)電壓跟隨電路。其次,對(duì)于16路緩變信號(hào),, ,共16路。然后輸入模擬開關(guān)經(jīng)過跟隨器后,再輸入A/D轉(zhuǎn)換器。相關(guān)時(shí)序圖如下: FLASH擦除操作時(shí)序圖在本系統(tǒng)中,采用FLASH來進(jìn)行數(shù)據(jù)的存儲(chǔ)。這時(shí)并口可直接對(duì)FLASH 的控制線和數(shù)據(jù)線進(jìn)行操作。 FLASH寫操作時(shí)序圖 數(shù)據(jù)讀取數(shù)據(jù)的讀取有很多種方法, 目前有串口、并口、USB 口或PCI 總線方式讀取。由于FLASH是按頁(yè)存儲(chǔ)的, 當(dāng)一頁(yè)寫完之后要進(jìn)行下一頁(yè)的控制字和地址的重新寫入, 為了使采集回來的數(shù)據(jù)能及時(shí)準(zhǔn)確的寫入FLASH, 而不至于在頁(yè)與頁(yè)的交替時(shí)間內(nèi)使數(shù)據(jù)丟失, 所以不可能將采集回的數(shù)據(jù)直接存入FLASH, 我們利用FPGA 內(nèi)部提供的RAM來構(gòu)成雙端口RAM作為數(shù)據(jù)存儲(chǔ)過程中的緩存, 采集回來的數(shù)據(jù)先寫入雙端口RAM, 然后再導(dǎo)入FLASH。根據(jù)此種要求我們?cè)O(shè)計(jì)實(shí)現(xiàn)了多路采集存儲(chǔ)器, 此種存儲(chǔ)其使用FPGA 和FLASH 存儲(chǔ)器。本模塊能連續(xù)運(yùn)行,不斷地寫入命令字以啟動(dòng)A/D轉(zhuǎn)換,然后讀出A/D轉(zhuǎn)換結(jié)果并將其輸出。當(dāng)采集某一通道的模擬量時(shí),A/D需要完成的主要功能有轉(zhuǎn)換和向FPGA傳送轉(zhuǎn)換后的數(shù)字量。3 系統(tǒng)軟件設(shè)計(jì) 數(shù)據(jù)編幀 幀格式S0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S0S1S2S3S4S5S6S7S8S9