一種基于狀態(tài)機(jī)設(shè)計(jì)的串并行轉(zhuǎn)換電路_第1頁(yè)
一種基于狀態(tài)機(jī)設(shè)計(jì)的串并行轉(zhuǎn)換電路_第2頁(yè)
一種基于狀態(tài)機(jī)設(shè)計(jì)的串并行轉(zhuǎn)換電路_第3頁(yè)
一種基于狀態(tài)機(jī)設(shè)計(jì)的串并行轉(zhuǎn)換電路_第4頁(yè)
一種基于狀態(tài)機(jī)設(shè)計(jì)的串并行轉(zhuǎn)換電路_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一種基于狀態(tài)機(jī)設(shè)計(jì)的串并行轉(zhuǎn)換電路摘要:利用有限狀態(tài)機(jī)等設(shè)計(jì)一種將ltc1196(adc)的串行輸出數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)的轉(zhuǎn)換電路, adc的時(shí)鐘由轉(zhuǎn)換電路提供,cs信號(hào)由轉(zhuǎn)換電路處理后提供給adc,以保證ltc1196的時(shí)序要求。編好的程序在quartus ii上調(diào)試并仿真通過(guò),實(shí)現(xiàn)了把八位的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)的目的。關(guān)鍵詞:有限狀態(tài)機(jī);ltc1196(adc);串并行轉(zhuǎn)換 abstract: by using finite state machine to design a conversion circuit which can change the serial data into

2、parallel data, the serial data is the output of ltc1196(adc). the clock of the conversion circuit is provided by the clock of adc. cs signal is provided to adc after processing by conversion circuit, to ensure the schedule requiring of ltc1196. the edited program was debugging in quartus ii and runn

3、ing well. the end realized the goal of converting the serial data to 8 bits parallel data.keywords: fsm; tc1196(adc); converting serial to parallel 引言:有限狀態(tài)機(jī)在vhdl語(yǔ)言中有著廣泛的應(yīng)用,許多實(shí)際問(wèn)題都是通過(guò)狀態(tài)機(jī)來(lái)實(shí)現(xiàn)的,尤其是同步時(shí)序邏輯電路的設(shè)計(jì)。有限狀態(tài)機(jī)把復(fù)雜的控制邏輯分解為有限個(gè)穩(wěn)定狀態(tài),在每個(gè)狀態(tài)上判斷所發(fā)生的事件,將連續(xù)處理變成離散處理,特別適合于vhdl數(shù)字系統(tǒng)設(shè)計(jì)的工作特點(diǎn)。同時(shí),因?yàn)橛邢逘顟B(tài)機(jī)具有有限個(gè)狀態(tài)所以在實(shí)際的

4、工程應(yīng)用中很容易實(shí)現(xiàn)。本文就是充分利用有限狀態(tài)機(jī)的特點(diǎn)設(shè)計(jì)一種把串行輸出數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)的電路。這個(gè)串行輸出的數(shù)據(jù)由ltc1196(adc)提供。ltc1196的時(shí)鐘是由設(shè)計(jì)的轉(zhuǎn)換電路提供,并且經(jīng)過(guò)轉(zhuǎn)換電路處理后把cs信號(hào)提供給ltc1196以滿足其時(shí)序的要求。1 有限狀態(tài)機(jī) 有限狀態(tài)機(jī)(finite state machine)主要用于順序邏輯電路的建模,在順序邏輯電路設(shè)計(jì)中,因不同階段具有明確的順序狀態(tài),所以其顯得非常有用。圖1是一個(gè)狀態(tài)機(jī)的基本結(jié)構(gòu)。有限狀態(tài)機(jī)的主要功能是用來(lái)實(shí)現(xiàn)一個(gè)數(shù)字電路設(shè)計(jì)的控制部分,其功能和cpu的功能十分相似。在進(jìn)行數(shù)字系統(tǒng)的電路設(shè)計(jì)時(shí),如果考慮實(shí)現(xiàn)一個(gè)控制功

5、能,通常會(huì)選擇狀態(tài)機(jī)或者是cpu來(lái)實(shí)現(xiàn),但是在執(zhí)行耗費(fèi)時(shí)間和執(zhí)行時(shí)間的確定性方面,狀態(tài)機(jī)要比cpu好。 有限狀態(tài)機(jī)可以有多種不同的描述方式。描述狀態(tài)機(jī)的vhdl代碼必須遵守一定的規(guī)則。(1) 至少要包括一個(gè)用來(lái)指定狀態(tài)機(jī)狀態(tài)的狀態(tài)信號(hào);(2) 狀態(tài)轉(zhuǎn)移指定和輸出指定,它們對(duì)應(yīng)于控制單元中與每個(gè)控制步有關(guān)的轉(zhuǎn)移條件;(3) 用來(lái)進(jìn)行同步的時(shí)鐘信號(hào);(4) 復(fù)位信號(hào)。使用枚舉數(shù)據(jù)類型來(lái)定義狀態(tài)機(jī)的狀態(tài),并使用多進(jìn)程方式來(lái)描述狀態(tài)機(jī)的內(nèi)部邏輯,可以得到高效、可綜合的vhdl狀態(tài)機(jī)描述。狀態(tài)變量不能是接口或端口信號(hào),而且狀態(tài)變量的操作只限于等于或不等于的比較操作。在描述有限狀態(tài)機(jī)的過(guò)程中常使用的描述方

6、式有單進(jìn)程方式、雙進(jìn)程方式和三進(jìn)程方式。三進(jìn)程方式就是將有限狀態(tài)機(jī)的次態(tài)邏輯、狀態(tài)寄存器和輸出邏輯分別使用三個(gè)進(jìn)程來(lái)描述。這種描述方式可以把狀態(tài)機(jī)的組合邏輯部分和時(shí)序邏輯部分分開(kāi),有利于對(duì)狀態(tài)機(jī)的組合邏輯部分和時(shí)序邏輯部分分別進(jìn)行測(cè)試。雙進(jìn)程描述方式是將有限狀態(tài)機(jī)的次態(tài)邏輯、狀態(tài)寄存器和輸出邏輯分別用兩個(gè)進(jìn)程來(lái)描述。同樣一個(gè)單進(jìn)程描述方式就是將有限狀態(tài)機(jī)的次態(tài)邏輯、狀態(tài)寄存器和輸出邏輯使用一個(gè)進(jìn)程來(lái)描述。輸入狀態(tài)譯碼器(組合邏輯)狀態(tài)寄存器(時(shí)序邏輯)輸出譯碼器狀態(tài)圖1 狀態(tài)機(jī)的基本結(jié)構(gòu)2 ltc1196(adc)ltc1196是一個(gè)8位、1msps 、3線高速串行低功耗ad 轉(zhuǎn)換器,模擬信號(hào)

7、輸入范圍05v。內(nèi)含采樣和保持電路,具有高阻抗方式的串行接口,完成一次轉(zhuǎn)換需要12個(gè)時(shí)鐘周期。下圖2就是ltc1196(adc)。 05v模擬輸入輸出數(shù)據(jù)到asic,pld,mpu,dsp或移位寄存器圖2 ltc1196(adc)由圖2知ltc1196能夠把05v范圍的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),可以使轉(zhuǎn)換后的數(shù)據(jù)連接到asic,pld,mpu,dsp或移位寄存器等。本文設(shè)計(jì)的電路就是在每個(gè)轉(zhuǎn)換周期內(nèi)把輸出的數(shù)字信號(hào)相當(dāng)于存在一個(gè)移位寄存器中,當(dāng)8位的數(shù)據(jù)轉(zhuǎn)換完成時(shí)就把這8位的數(shù)據(jù)一次性的輸出,從而達(dá)到使這些串行數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù)的目的。此芯片的控制信號(hào)時(shí)序圖如圖3所示。圖3中的cs為片選信號(hào),低

8、電平有效,它的下降沿離上一個(gè)clk上升沿至少13ns,離下一個(gè)clk上升沿至少26ns(建立時(shí)間);clk為時(shí)鐘信號(hào),cs低電平后,約經(jīng)過(guò)2.5個(gè)clk開(kāi)始輸出轉(zhuǎn)換結(jié)果的最高位,所以單次轉(zhuǎn)換不少于12個(gè)時(shí)鐘頻率,且時(shí)鐘頻率不得高于12mhz。圖3 ltc1196控制信號(hào)時(shí)序圖由圖3 ltc1196的控制信號(hào)時(shí)序圖可以看出在cs高電平變?yōu)榈碗娖胶蟠蠹s經(jīng)過(guò)三個(gè)時(shí)鐘周期開(kāi)始輸出轉(zhuǎn)換后的高位數(shù)據(jù),到第11個(gè)時(shí)鐘周期結(jié)束時(shí)正好8個(gè)數(shù)據(jù)輸出完,此時(shí)cs由低電平變?yōu)楦唠娖?,?zhǔn)備下一個(gè)時(shí)鐘周期數(shù)據(jù)的輸出。在cs處于高電平狀態(tài)時(shí),輸出都是高阻信號(hào),在每12個(gè)時(shí)鐘周期的第一個(gè)到第二個(gè)周期是沒(méi)有任何的數(shù)據(jù)輸出的。在

9、充分了解了ltc1196的控制信號(hào)時(shí)序圖之后就可以編寫(xiě)vhdl語(yǔ)言來(lái)實(shí)現(xiàn)把ltc1196在每12個(gè)時(shí)鐘周期內(nèi)輸出的8位數(shù)據(jù)進(jìn)行輸出,因?yàn)閘tc1196輸出的是串行數(shù)據(jù)這樣就可以達(dá)到這8位數(shù)據(jù)的并行輸出。下圖4是該實(shí)現(xiàn)電路設(shè)計(jì)時(shí)用到的狀態(tài)機(jī)的狀態(tài)圖。count< 9cs=0count=1st2st1st0resetcs=1cs=0count >1count=10圖4 狀態(tài)圖由時(shí)序圖可知從cs的下降沿開(kāi)始的第三個(gè)周期開(kāi)始有數(shù)據(jù)輸出,此時(shí)輸出的是8位數(shù)據(jù)中的最高位,在接下來(lái)的8個(gè)時(shí)鐘周期中把這8位數(shù)輸完,也就是計(jì)數(shù)count從0010計(jì)到1001,在計(jì)數(shù)到1010時(shí)轉(zhuǎn)換到狀態(tài)st0,如上

10、圖所示,當(dāng)計(jì)到1011時(shí)此時(shí)12個(gè)周期計(jì)滿,并且在reset=1的條件下把這個(gè)8位數(shù)據(jù)輸出。然后再進(jìn)入下一個(gè)串行數(shù)據(jù)的輸出。3 仿真把編好的程序運(yùn)行在quartus ii上,本程序采用的三進(jìn)程的有限狀態(tài)機(jī)描述方式。仿真的結(jié)果如下圖5所示。此仿真圖是取一次轉(zhuǎn)換即12個(gè)時(shí)鐘周期的數(shù)據(jù)轉(zhuǎn)換結(jié)果。其中的ltc1196out是ltc1196的輸出,在仿真的時(shí)候任意設(shè)置其取值,從仿真結(jié)果上可以看出當(dāng)計(jì)數(shù)到1010時(shí)開(kāi)始有數(shù)據(jù)輸出,計(jì)到1011時(shí),整個(gè)數(shù)據(jù)便輸出,然后再接著下一組數(shù)據(jù)的輸出。由程序設(shè)計(jì)可知當(dāng)計(jì)數(shù)為0010時(shí)開(kāi)始輸出數(shù)據(jù)的最高位,從圖5中可知在這個(gè)12時(shí)鐘周期中,第三個(gè)時(shí)鐘周期的下降沿ltc1

11、196out處于高電平,而輸出的最高位為1,在接著往下的每個(gè)時(shí)鐘周期的下降沿ltc1196out依次是1110100,輸出的也是1110100。所以此程序設(shè)計(jì)是正確的,達(dá)到了把8位串行數(shù)據(jù)并行輸出的目的。4 結(jié)束語(yǔ)本文利用有限狀態(tài)機(jī)等完成了把ltc1196(adc)的串行輸出數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)的轉(zhuǎn)換電路。并且通過(guò)實(shí)驗(yàn)仿真實(shí)現(xiàn)了8位串行到并行的輸出。結(jié)果驗(yàn)證是正確的。通過(guò)本次設(shè)計(jì)對(duì)有限狀態(tài)機(jī)有了一個(gè)比較深刻的理解,同時(shí)也加深了對(duì)quartus ii的熟悉和使用,對(duì)于以前沒(méi)有接觸過(guò)vhdl和quartus ii的我是一個(gè)很好的鍛煉機(jī)會(huì)。但是對(duì)有限狀態(tài)機(jī)和quartus ii仍然還有很多地方要學(xué)習(xí),

12、希望在以后的學(xué)習(xí)和鍛煉中進(jìn)一步提高。參考文獻(xiàn)1 江思敏數(shù)字電路及系統(tǒng)設(shè)計(jì)機(jī)械工業(yè)出版社,2006,1561752 侯伯亨等現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)西安電子科技大學(xué)出版社,20043 齊洪喜等vhdl電路設(shè)計(jì)實(shí)用教程清華大學(xué)出版社,2004,192197所用的代碼如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity liu isport(ltc1196out: in std_logic; clk:in std_logic; cs:out std_logic; y:out std_logic_v

13、ector(7 downto 0) );end liu;architecture behav of liu istype state is (st0,st1,st2);signal current_state,next_state:state;signal reset:std_logic;signal a:std_logic ;signal q:std_logic_vector(7 downto 0);signal count:std_logic_vector(3 downto 0);begincom:process (current_state ) begin case current_st

14、ate is when st0=> -q<="zzzzzzzz" reset<='1' cs<='1' ; next_state<=st1; when st1=> reset<='0' cs<='0' if(count="0001") then next_state<=st2; else next_state<=st1; end if; when st2=> if(count<="1001") the

15、n cs<='0' reset<='0' next_state<=st2; end if; if(count="1010") then next_state<=st0; reset<='0' cs<='0' end if; end case; end process com;reg:process(clk) begin if(clk'event and clk='0') then if(reset='0') then count<

16、=count+1; else count<="0000" end if; a<=ltc1196out; current_state<=next_state; end if; end process reg;count1:process(count) begin if(count="0010") then q(7)<=a; elsif(count="0011") then q(6)<=a; elsif(count="0100") then q(5)<=a; elsif(count="0101") then q(4)<=a; elsif(count="0110") then q(3)<=a; elsif(count="0111") th

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論