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

正文內(nèi)容

基于fpga的串口設(shè)計(jì)微電子論文-閱讀頁(yè)

2025-07-07 01:18本頁(yè)面
  

【正文】 同步信號(hào),因?yàn)樵谶M(jìn)行邏輯1或邏輯0判斷時(shí),不希望檢測(cè)的信號(hào)是不穩(wěn)定的,所以不直接檢測(cè)RXD信號(hào),而是檢測(cè)經(jīng)過(guò)同步后的RXD_SYNC信號(hào)。在本狀態(tài),就是由起始位求出每位的中點(diǎn),通過(guò)對(duì)bclk的個(gè)數(shù)進(jìn)行計(jì)數(shù)(RCNT16),但計(jì)數(shù)值不是想當(dāng)然的“1000”,要考慮經(jīng)過(guò)一個(gè)狀態(tài),也即經(jīng)過(guò)了一個(gè)bclk周期,所希望得到的是在采樣時(shí)1/2位。這種干擾脈沖的周期是很短的,所以可以認(rèn)為保持邏輯0超過(guò)1/4個(gè)位時(shí)間的信號(hào)一定是起始位。R_WAIT狀態(tài):當(dāng)狀態(tài)機(jī)處于這一狀態(tài),等待計(jì)滿(mǎn)15個(gè)bclk,在第16個(gè)bclk是進(jìn)入R_SAMPLE狀態(tài)進(jìn)行數(shù)據(jù)位的采樣檢測(cè),同時(shí)也判斷是否采集的數(shù)據(jù)位長(zhǎng)度已達(dá)到數(shù)據(jù)幀的長(zhǎng)度,如果到來(lái),就說(shuō)明停止位來(lái)臨了。R_SAMPLE狀態(tài):即數(shù)據(jù)位采樣檢測(cè),完成后無(wú)條件狀態(tài)機(jī)轉(zhuǎn)入R_WAIT狀態(tài),等待下次數(shù)據(jù)位的到來(lái)。圖14 UART接收器的模塊圖UART接收器的仿真波形結(jié)果Bclkr:波特率時(shí)鐘信號(hào)周期Resetr:復(fù)位信號(hào)Rxdr:電平觸發(fā)信號(hào),從邏輯1變?yōu)檫壿?R_ready:數(shù)據(jù)幀Rbuf:并行數(shù)據(jù)圖15 UART接收器的仿真波形UART發(fā)送器模塊: 發(fā)送器只要每隔16個(gè)bclk周期輸出一個(gè)數(shù)據(jù)即可,次序遵循第一位是起始位,第8位是停止位。圖4..。X_IDLE狀態(tài):當(dāng)UART被復(fù)位信號(hào)RESETL復(fù)位后,狀態(tài)機(jī)將立刻進(jìn)入這一狀態(tài)。這時(shí)由于XMIT_CMD是一個(gè)外加信號(hào),在FPGA之外,不可能對(duì)XMIT_CMD的脈沖寬帶進(jìn)行限制,如果XMIT_CMD有效在UART發(fā)完一個(gè)數(shù)據(jù)幀依然有效,那么就會(huì)錯(cuò)誤地被認(rèn)為,一個(gè)新的數(shù)據(jù)發(fā)送命令又到來(lái)了,UART發(fā)送器就會(huì)再次啟動(dòng)UART幀的發(fā)送,顯然該幀的發(fā)送是錯(cuò)誤的。當(dāng)XMIT_CMD_P=‘1’,狀態(tài)機(jī)轉(zhuǎn)入X_START,準(zhǔn)備發(fā)送起始位。緊接著狀態(tài)機(jī)轉(zhuǎn)入X_WAIT狀態(tài)。 X_WAIT 狀態(tài):同UART接收狀態(tài)機(jī)中的R_WAIT狀態(tài)類(lèi)似。轉(zhuǎn)換完成立即回到X_WAIT狀態(tài)。狀態(tài)機(jī)送完停止位后回到X_IDLE狀態(tài),并等待另一個(gè)數(shù)據(jù)幀的發(fā)送命令。MAX232芯片是美信公司專(zhuān)門(mén)為電腦的RS232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。 圖19 MAX232電平轉(zhuǎn)換電路 總電路圖設(shè)計(jì)見(jiàn)附錄1和附錄2。ModelSim SE 。6 制作步驟 本課題的制作是分這幾個(gè)步驟完成的: ⑴、查閱大量的資料,完成開(kāi)題報(bào)告。因此,一段時(shí)間下來(lái),我對(duì)位FPGA和 UART的國(guó)內(nèi)外研究狀況、發(fā)展趨勢(shì)、工作原理和制作方法都有了比較清晰的了解。通過(guò)一段時(shí)間的學(xué)習(xí)和查閱資料確定了設(shè)計(jì)的主要流程和主要器件。硬件設(shè)計(jì)主要是指畫(huà)硬件電路,在這里要用到一個(gè)畫(huà)圖軟件Protel。 ⑸、軟件設(shè)計(jì)。系統(tǒng)軟件的設(shè)計(jì)采用了模塊化的結(jié)構(gòu)方式,將各個(gè)功能分成獨(dú)立模塊,由系統(tǒng)的監(jiān)控程序統(tǒng)一管理執(zhí)行。文件編譯成功后將由Quartus II 生成子模塊和狀態(tài)轉(zhuǎn)換圖,再在ModelSim 里面運(yùn)行程序觀(guān)察波形。通過(guò)波特率發(fā)生器、發(fā)送器和接收器模塊的設(shè)計(jì)與仿真,能較容易地實(shí)現(xiàn)通用異步收發(fā)器總模塊。實(shí)現(xiàn)的UART設(shè)置了時(shí)鐘輸入clk ,復(fù)位輸入reset ,串行數(shù)據(jù)輸入rxd ,讀寫(xiě)信號(hào)輸入rd 和wr、片選輸入cs、傳送數(shù)據(jù)位數(shù)選擇輸入a1 和 a0、定時(shí)器初值輸入count ,串行發(fā)送數(shù)據(jù)輸入txd ,接收寄存器狀態(tài)輸出rdfull 、發(fā)送寄存器狀態(tài)輸出tdempty 以及數(shù)據(jù)總線(xiàn)data。 通過(guò)本次畢業(yè)設(shè)計(jì),我完成了基于FPGA串口設(shè)計(jì)。在整個(gè)設(shè)計(jì)中最難點(diǎn)和學(xué)習(xí)費(fèi)時(shí)在于硬件描述語(yǔ)言VHDL語(yǔ)言,在利用硬件描述語(yǔ)言完成電路設(shè)計(jì)后,必須基于Quartus II SE 。通過(guò)系統(tǒng)的學(xué)習(xí)使用對(duì)軟件的使用和對(duì)設(shè)計(jì)的編程都有了進(jìn)一步的提升。首先是解決問(wèn)題的方式,在面臨的大量的信息中如何篩選出所需的信息,才是解決問(wèn)題的關(guān)鍵。由于本人水平有限,文中難免存在不足之處,敬請(qǐng)各位老師和同學(xué)批評(píng)指正。(5) ;2005(7) 張凱.:國(guó)防工業(yè)出版社,2004致 謝本文是在我的指導(dǎo)老師陳曉靜講師的悉心指導(dǎo)下完成的,從論文的選題到最后的定稿都凝聚著陳老師的心血。在學(xué)業(yè)即將完成之際,謹(jǐn)向各位恩師表示我最衷心的感謝!除此以外,還要感謝各位同學(xué)的熱情幫助和鼓勵(lì),四年的學(xué)習(xí)生活,我們結(jié)下了深厚的友誼。我還要深深的感謝支持和鼓勵(lì)我的家人,是他們默默的付出,使我能夠無(wú)牽掛的學(xué)習(xí),我只有更加努力的學(xué)習(xí)與工作,才能回報(bào)他們的關(guān)愛(ài)。use 。use 。 —總的輸入輸出信號(hào)的定義 rec_ready,txd_out,txd_done_out:out std_logic。 —待發(fā)送數(shù)據(jù)輸入 rec_buf:out std_logic_vector(7 downto 0))。architecture Behavioral of top is ponent reciever port(bclkr,resetr,rxdr:in std_logic。 rbuf: out std_logic_vector(7 downto 0))。 ponent transfer port(bclkt,resett,xmit_cmd_p:in std_logic。 txd:out std_logic。 end ponent。 bclk:out std_logic)。 signal b:std_logic。 —頂層映射 u2:reciever port map(bclkr=b,resetr=reset,rxdr=rxd,r_ready=rec_ready, rbuf=rec_buf)。 end Behavioral 。use 。use 。 clk: in std_logic。end last。signal clk_bit : std_logic。139。clk_bit=39。elsif rising_edge(clk) thenif (clk_t=4) thenclk_t=0000。elseclk_t= clk_t+1。end if。bclk=clk_bit。(3)UART接收器()library ieee。use 。entity reciever is generic (framlenr:integer:=8)。 —定義輸入輸出信號(hào) r_ready:out std_logic。end reciever。 —定義各個(gè)狀態(tài) signal state :states:=r_start。beginprol :process (rxdr) begin if rxdr =39。 then rxd_sync=39。 else rxd_sync =39。 end if。pro2:process (bclkr,resetr,rxd_sync) —主控時(shí)序、組合進(jìn)程 variable count :std_logic_vector (3 downto 0)。 variable rbufs:std_logic_vector(7 downto 0)。139。count:=0000。039。r_ready=39。rt:=0。r_ready=39。 end if。039。count:=0000。state=r_center。 else state=r_start。 when r_wait= —狀態(tài)3,等待狀態(tài) if count =1101 then if rt=framlenr then state =r_stop。 end if 。 else count:=count+1。 end if。rt:=rt+1?!獱顟B(tài)4,數(shù)據(jù)采樣檢測(cè) when r_stop=r_ready=39。rbuf=rbufs。 —狀態(tài)4,輸出幀接收完畢信號(hào) when others =state=r_start。 end if。end Behavioral 。use 。use 。 port (bclkt,resett,xmit_cmd_p:in std_logic。 txd:out std_logic。end transfer。 —定義各個(gè)子狀態(tài) signal state :states:=x_idle。beginprocess(bclkt,resett,xmit_cmd_p,txdbuf) —主控時(shí)序、組合進(jìn)程 variable xt16:std_logic_vector(4 downto 0):=00000。 variable txds:std_logic。139。 txd_done=39。txds:=39。 —復(fù)位 elsif rising_edge(bclkt) then case state is when x_idle= —狀態(tài)1,等待數(shù)據(jù)幀發(fā)送命令 if xmit_cmd_p=39。 then state =x_start。039。 end if。xt16:=00000。txds:=39。state=x_start。 when x_wait= —狀態(tài)3,等待狀態(tài) if xt16=01110 then if xbitt=framlent then state =x_stop。 else state =x_shift。 xt16:=00000。state=x_wait。 when x_shift=txds:=txdbuf(xbitt)。state=x_wait。039。xt16:=00000。state=x_stop。txd_done=39。 else xt16:=xt16+1。139。 end if。 end case。 txd=txds。end Behavioral
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1