freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

fpga直接控制adc0809對(duì)模擬信號(hào)進(jìn)行采樣設(shè)計(jì)方案(編輯修改稿)

2025-05-30 02:47 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 號(hào)輸入選通。在ST2狀態(tài)下,輸出ALE=39。039。;START=39。139。;OE=39。039。;LOCK=39。039。;START信號(hào)有效,啟動(dòng)A/D轉(zhuǎn)換。在ST3狀態(tài)下,輸出ALE=39。039。;START=39。039。;OE=39。039。;LOCK=39。039。;在此狀態(tài)中檢測(cè)EOC的下降沿,如果EOC的下降沿來(lái)了則啟動(dòng)采樣,否則,等待啟動(dòng)采樣。在ST4狀態(tài)下,輸出ALE=39。039。;START=39。039。;OE=39。039。;LOCK=39。039。;在此狀態(tài)中檢測(cè)EOC的上升沿,如果EOC的上升沿來(lái)了則停止采樣,否則,采樣周期中等待。在ST5狀態(tài)下,輸出ALE=39。039。;START=39。039。;OE=39。139。;LOCK=39。039。;OE為高電平,則控制打開三態(tài)緩沖器,把轉(zhuǎn)換好的8位數(shù)據(jù)結(jié)果輸至數(shù)據(jù)總線。在ST6狀態(tài)下,輸出ALE=39。039。;START=39。039。;OE=39。139。;LOCK=39。139。;LOCK信號(hào)有效,將輸出的數(shù)據(jù)鎖存,至此一次完整地采樣控制結(jié)束。(3) 進(jìn)程設(shè)計(jì)在做好狀態(tài)圖之后,進(jìn)行進(jìn)程的設(shè)計(jì),本設(shè)計(jì)采用三進(jìn)程進(jìn)行狀態(tài)機(jī)設(shè)計(jì),:LOCK1Process clock時(shí)序進(jìn)程Process pro組合進(jìn)程ProcessLatch鎖存器CLK狀態(tài)機(jī)工作時(shí)鐘Current_statenext_stateADC0809 ALESTART OEADDACLK EOCD[7..0]Q[7..0]采樣數(shù)據(jù)輸出 采樣狀態(tài)機(jī)結(jié)構(gòu)圖:程序含三個(gè)進(jìn)程,clock進(jìn)程是時(shí)序進(jìn)程,它在時(shí)鐘信號(hào)CLK的驅(qū)動(dòng)下,不斷將nest_state中的內(nèi)容賦給current_state,并由此信號(hào)將狀態(tài)變量傳輸給組合進(jìn)程pro。組合進(jìn)程pro有兩個(gè)功能:①狀態(tài)譯碼功能,即根據(jù)從current_state信號(hào)獲得的狀態(tài)變量,以及來(lái)自ADC0809的狀態(tài)線信號(hào)EOC,決定下一狀態(tài)的轉(zhuǎn)移方向,即確定此態(tài)的狀態(tài)變量;②采樣控制功能,即根據(jù)current_state中的狀態(tài)變量確定對(duì)0809的控制信號(hào)線ALE、START、OE等輸出相應(yīng)的控制信號(hào),當(dāng)采樣結(jié)束后還要通過(guò)LOCK向鎖存器進(jìn)程latch發(fā)出鎖存信號(hào),以便將由0809的D[7..0]數(shù)據(jù)輸出口的8位轉(zhuǎn)換數(shù)據(jù)鎖存起來(lái),START是轉(zhuǎn)換啟動(dòng)信號(hào),一個(gè)正脈沖過(guò)后A/D開始轉(zhuǎn)換:ALE是3位通道選擇地址信號(hào)鎖存信號(hào)。當(dāng)模擬量送至某一輸入端,有3位地址信號(hào)選擇,而地址信號(hào)由ALE鎖存。EOC是轉(zhuǎn)換情況狀態(tài)信號(hào),當(dāng)啟動(dòng)轉(zhuǎn)換約100us后,EOC將產(chǎn)生一個(gè)負(fù)脈沖,以示轉(zhuǎn)換結(jié)束。在EOC的上升沿后,且輸出使能信號(hào)ENABLE為高電平,則控制打開三態(tài)緩沖器,把轉(zhuǎn)換好的8位數(shù)據(jù)送至總線。至此ADC0809的一次轉(zhuǎn)換結(jié)束。由于硬件電路的時(shí)鐘頻率為32MHz,頻率太高,在做下載是看不到預(yù)想的結(jié)果,故采用此模塊,將頻率變低已達(dá)到預(yù)期的效果。另外,以計(jì)數(shù)的方式設(shè)計(jì)了一個(gè)8位二進(jìn)制的輸出來(lái)替代ADC0809的經(jīng)模數(shù)轉(zhuǎn)換后的8位二進(jìn)制輸出,即一個(gè)輸入時(shí)鐘經(jīng)兩個(gè)不同的分頻之后為各所用,分頻模塊程序如下:library IEEE。use 。use 。use 。entity div is Port ( clk : in std_logic。 系統(tǒng)時(shí)鐘 clk1: out std_logic。 分頻后的時(shí)鐘輸出 shuout: out std_logic_vector(7 downto 0))。 8位二進(jìn)制輸出端end div。architecture Behavioral of div isbegin process(clk) variable t:integer range 0 to 31999999。 分頻系數(shù)的設(shè)置,這里系統(tǒng)時(shí)鐘為32MHZ begin if clk39。event and clk=39。139。 then if t=4 then 為了看到仿真結(jié)果,這里給t賦值為4 t:=0。 clk1=39。139。 else t:=t+1。 clk1=39。039。 end if。 end if。 end process。 shu:process(clk) variable t:integer range 0 to 31999999。 定義整型變量 variable p:std_logic_vector(7 downto 0):=00000000。 variable full:integer range 0 to 200。 定義整型變量 begin if clk39。event and clk=39。139。 then if full=10 then 為了看到仿真結(jié)果 ,給full賦值10 full:=0。 p:=p+1。 else full:=full+1。 end if。 end if。 if p=11111111 then 當(dāng)P計(jì)數(shù)滿后,清零重新開始計(jì)數(shù) p:=00000000。 end if。 shuout=p。 end process shu。end Behavioral。串行通信即串行數(shù)據(jù)傳輸,實(shí)現(xiàn)FPGA與PC的串行通信在實(shí)際中,通過(guò)串行通信,可以向FPGA發(fā)控制命令讓其執(zhí)行相應(yīng)的操作,同時(shí)把需要的數(shù)據(jù)通過(guò)串口發(fā)到PC上進(jìn)行相應(yīng)的數(shù)據(jù)處理和分析,以此來(lái)判斷FPGA是否按要求工作,實(shí)現(xiàn)了與PC的串行通信。串行通信的狀態(tài)流程置位接受串行數(shù)據(jù)判斷數(shù)據(jù)初始狀態(tài)操作結(jié)束控制FIFO發(fā)送數(shù)據(jù)FPGA數(shù)據(jù)發(fā)送模塊的設(shè)計(jì) 根據(jù)RS232 異步串行通信來(lái)的幀格式,在FPGA發(fā)送模塊中采用的每一幀格式為:1位開始位+8位數(shù)據(jù)位+1位奇校驗(yàn)位+1位停止位,波特率為2400。本系統(tǒng)設(shè)計(jì)的是將一個(gè)8位的數(shù)據(jù)封裝成高位幀和低位幀兩個(gè)幀進(jìn)行發(fā)送,先發(fā)送低位幀,再發(fā)送高位幀,在傳輸數(shù)據(jù)時(shí),加上文件頭和數(shù)據(jù)長(zhǎng)度,文件頭用555555來(lái)表示,只有單片機(jī)收到555555時(shí),才將下面?zhèn)鬏數(shù)臄?shù)據(jù)長(zhǎng)度和數(shù)據(jù)位進(jìn)行接收,并進(jìn)行奇校驗(yàn)位的檢驗(yàn),正確就對(duì)收到的數(shù)據(jù)進(jìn)行存儲(chǔ)處理功能,數(shù)據(jù)長(zhǎng)度可以根據(jù)需要任意改變。由設(shè)置的波特率可以算出分頻系數(shù),具體算法為分頻系數(shù)X=CLK/(BOUND*2)。可由此式算出所需的任意波特率。下面是實(shí)現(xiàn)上述功能的VHDL源程序。Library ieee。use 。use 。use 。entity atel2_bin isport( txclk: in std_logic。 2400Hz的波特率時(shí)鐘 reset: in std_logic。 復(fù)位信號(hào) din: in std_logic_vector(15 downto 0)。 發(fā)送的數(shù)據(jù) start: in std_logic。 允許傳輸信號(hào) sout: out std_logic 串行輸出端口 )。end atel2_bin。architecture behav of atel2_bin issignal thr,len: std_logic_vector(15 downto 0)。signal txt_r: std_logic_vector(2 downto 0)。signal sout1: std_logic。signal cou: integer:=0。signal oddb:std_logic。type s is(start1,start2,shift1,shift2,odd1,odd2,stop1,stop2)。signal state:s:=start1。begin process(txclk) begin if rising_edge(txclk) then if cou3 then thr=0000000001010101。 發(fā)送的文件頭 elsif cou=3 then thr=0000000000000010。 發(fā)送的文件長(zhǎng)度 elsif (cou3 and state=stop2) then thr=din。發(fā)送的數(shù)據(jù) end if。 end if。 end process。 process(reset,txclk) variable tsr,tsr1,oddb1,oddb2: std_logic_vector(7 downto 0)。 begin if reset=1 then txt_r=(others=0)。 sout1=1。 state=start1。 cou=0。 elsif txclkevent and txclk=1 then case state is when start1=
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1