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

正文內(nèi)容

基于fpga的串口設(shè)計畢業(yè)設(shè)計-預覽頁

2025-07-12 15:36 上一頁面

下一頁面
 

【正文】 些規(guī)范雖然規(guī)定了不同的通信接口電氣特性、傳輸速率、連接特性和接口的機械特性等內(nèi)容, 但是都對應異步串行通信協(xié)議. 由于實際中PC 的外部接口配置為RS─232C 已經(jīng)成為事實標準, 所以文章以RS─232C 為基礎(chǔ)編寫FPGA 串口驅(qū)動程序。所以,不管從性能上而言,還是從系統(tǒng)靈活性上而言,它都會成為我們的好幫手。圖4 EP1C12核心板系統(tǒng)功能框圖FPGA開發(fā)平臺提供了豐富的資源供學生或開發(fā)人員學習使用,資源包括接口通信、控制、存儲、數(shù)據(jù)轉(zhuǎn)換以及人機交互顯示等幾大模塊,接口通信模塊包括SPI接口、IIC接口、VGA接口、RS232接口、USB接口、PS2鍵盤/鼠標接口、1-Wire接口等;存儲模塊包括EEPROM存儲器模塊等;數(shù)據(jù)轉(zhuǎn)換模塊包括串行ADC、 DAC以及音頻CODE等;人機交互顯示模塊包括8個按鍵、16個LED發(fā)光二極管顯示、1602字符型點陣LCD、8位動態(tài)7段碼管、實時時鐘、SD卡等。 1602字符型液晶點陣。 1個USB設(shè)備接口,利用PDIUSBD12芯片實現(xiàn)USB協(xié)議轉(zhuǎn)換。 串行ADC和串行DAC模塊。1 16個用戶自定義LED顯示,8個用戶自定義按鍵輸出。在Nios II開發(fā)過程中,JTAG更是起著舉足輕重的作用,因為通過JTAG接口,開發(fā)人員不僅可以對Nios II系統(tǒng)進行在線仿真調(diào)試,而且還可以下載代碼或用戶數(shù)據(jù)到CFI Flash中。如果設(shè)計人員需要其它頻率時鐘源,可以在FPGA內(nèi)部進行分頻或利用FPGA內(nèi)部PLL倍頻等途徑來得到。由6腳和4只電容構(gòu)成。   其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。15腳GND、16腳VCC(+5v)。 該標準規(guī)定采用一個25個腳的DB25連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。   數(shù)據(jù)終端準備好(Data terminal readyDTR)——有效時(ON)狀態(tài),表明數(shù)據(jù)終端可以使用。它用來控制MODEM是否要進入發(fā)送狀態(tài)。在全雙工系統(tǒng)中,因配置雙向通道,故不需要RTS/CTS聯(lián)絡(luò)信號,使其變高。   振鈴指示(RingingRI)——當MODEM收到交換臺送來的振鈴呼叫信號時,使該信號有效(ON狀態(tài)),通知終端,已被呼叫。   上述控制信號線何時有效,何時無效的順序表示了接口信號的傳送過程。   2個數(shù)據(jù)信號:發(fā)送TXD;接收RXD。   RTS DTE請求DCE發(fā)送(Request To Send)。   由于RS232接口標準出現(xiàn)較早,難免有不足之處,主要有以下四點:   (1)接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL電路連接。RS232(DB9)接口定義圖8 接口說明1 DCD 載波檢測   2 RXD 接收數(shù)據(jù) 3 TXD 發(fā)送數(shù)據(jù)   4 DTR 數(shù)據(jù)終端準備好   5 SG 信號地   6 DSR 數(shù)據(jù)準備好   7 RTS 請求發(fā)送 8 CTS 允許發(fā)送 9 RI 振鈴提示 系統(tǒng)硬件框圖FPGAAS下載方式 JTAG接口MAX232PC終端電源時鐘晶振圖9 系統(tǒng)硬件圖 主要組成電路分析本系統(tǒng)設(shè)計目標主要包括兩個部分:FPGA模塊、電平轉(zhuǎn)換模塊。圖10 .頂層模塊的電路圖波特率產(chǎn)生模塊: 波特率發(fā)生器實際上就是一個分頻器。波特率發(fā)生器模塊圖如下所示圖11 波特率發(fā)生器模塊圖波特率發(fā)生器的仿真結(jié)果如圖:Clk:時鐘信號周期Resetb:復位信號Bclk:輸出波特率時鐘信號周期圖12 波特率發(fā)生器的仿真波形UART接收器模塊: 由于串行數(shù)據(jù)幀和接收時鐘是異步的,由邏輯1轉(zhuǎn)為邏輯0可以被視為一個數(shù)據(jù)幀的起始位。R_START狀態(tài):當UART接收器復位后,接收狀態(tài)機將處于這一狀態(tài)。在本狀態(tài),就是由起始位求出每位的中點,通過對bclk的個數(shù)進行計數(shù)(RCNT16),但計數(shù)值不是想當然的“1000”,要考慮經(jīng)過一個狀態(tài),也即經(jīng)過了一個bclk周期,所希望得到的是在采樣時1/2位。R_WAIT狀態(tài):當狀態(tài)機處于這一狀態(tài),等待計滿15個bclk,在第16個bclk是進入R_SAMPLE狀態(tài)進行數(shù)據(jù)位的采樣檢測,同時也判斷是否采集的數(shù)據(jù)位長度已達到數(shù)據(jù)幀的長度,如果到來,就說明停止位來臨了。圖14 UART接收器的模塊圖UART接收器的仿真波形結(jié)果Bclkr:波特率時鐘信號周期Resetr:復位信號Rxdr:電平觸發(fā)信號,從邏輯1變?yōu)檫壿?R_ready:數(shù)據(jù)幀Rbuf:并行數(shù)據(jù)圖15 UART接收器的仿真波形UART發(fā)送器模塊: 發(fā)送器只要每隔16個bclk周期輸出一個數(shù)據(jù)即可,次序遵循第一位是起始位,第8位是停止位。X_IDLE狀態(tài):當UART被復位信號RESETL復位后,狀態(tài)機將立刻進入這一狀態(tài)。當XMIT_CMD_P=‘1’,狀態(tài)機轉(zhuǎn)入X_START,準備發(fā)送起始位。 X_WAIT 狀態(tài):同UART接收狀態(tài)機中的R_WAIT狀態(tài)類似。狀態(tài)機送完停止位后回到X_IDLE狀態(tài),并等待另一個數(shù)據(jù)幀的發(fā)送命令。 圖19 MAX232電平轉(zhuǎn)換電路 總電路圖設(shè)計見附錄1和附錄2。6 制作步驟 本課題的制作是分這幾個步驟完成的: ⑴、查閱大量的資料,完成開題報告。通過一段時間的學習和查閱資料確定了設(shè)計的主要流程和主要器件。 ⑸、軟件設(shè)計。文件編譯成功后將由Quartus II 生成子模塊和狀態(tài)轉(zhuǎn)換圖,再在ModelSim 里面運行程序觀察波形。實現(xiàn)的UART設(shè)置了時鐘輸入clk ,復位輸入reset ,串行數(shù)據(jù)輸入rxd ,讀寫信號輸入rd 和wr、片選輸入cs、傳送數(shù)據(jù)位數(shù)選擇輸入a1 和 a0、定時器初值輸入count ,串行發(fā)送數(shù)據(jù)輸入txd ,接收寄存器狀態(tài)輸出rdfull 、發(fā)送寄存器狀態(tài)輸出tdempty 以及數(shù)據(jù)總線data。在整個設(shè)計中最難點和學習費時在于硬件描述語言VHDL語言,在利用硬件描述語言完成電路設(shè)計后,必須基于Quartus II SE 。首先是解決問題的方式,在面臨的大量的信息中如何篩選出所需的信息,才是解決問題的關(guān)鍵。(5) ;2005致謝致 謝本文是在我的指導老師陳曉靜講師的悉心指導下完成的,從論文的選題到最后的定稿都凝聚著陳老師的心血。我還要深深的感謝支持和鼓勵我的家人,是他們默默的付出,使我能夠無牽掛的學習,我只有更加努力的學習與工作,才能回報他們的關(guān)愛。use 。 —待發(fā)送數(shù)據(jù)輸入 rec_buf:out std_logic_vector(7 downto 0))。 rbuf: out std_logic_vector(7 downto 0))。 txd:out std_logic。 bclk:out std_logic)。 —頂層映射 u2:reciever port map(bclkr=b,resetr=reset,rxdr=rxd,r_ready=rec_ready, rbuf=rec_buf)。use 。 clk: in std_logic。signal clk_bit : std_logic。clk_bit=39。elseclk_t= clk_t+1。bclk=clk_bit。use 。 —定義輸入輸出信號 r_ready:out std_logic。 —定義各個狀態(tài) signal state :states:=r_start。 then rxd_sync=39。 end if。 variable rbufs:std_logic_vector(7 downto 0)。count:=0000。r_ready=39。r_ready=39。039。state=r_center。 when r_wait= —狀態(tài)3,等待狀態(tài) if count =1101 then if rt=framlenr then state =r_stop。 else count:=count+1。rt:=rt+1。rbuf=rbufs。 end if。use 。 port (bclkt,resett,xmit_cmd_p:in std_logic。end transfer。beginprocess(bclkt,resett,xmit_cmd_p,txdbuf) —主控時序、組合進程 variable xt16:std_logic_vector(4 downto 0):=00000。139。txds:=39。 then state =x_start。 end if。txds:=39。 when x_wait= —狀態(tài)3,等待狀態(tài) if xt16=01110 then if xbitt=framlent then state =x_stop。 xt16:=00000。 when x_shift=txds:=txdbuf(xbitt)。039。state=x_stop。 else xt16:=xt16+1。 end if。 txd=
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1