串口硬件設(shè)計(jì)文檔_第1頁(yè)
串口硬件設(shè)計(jì)文檔_第2頁(yè)
串口硬件設(shè)計(jì)文檔_第3頁(yè)
串口硬件設(shè)計(jì)文檔_第4頁(yè)
串口硬件設(shè)計(jì)文檔_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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)介

#空調(diào)溫控器設(shè)計(jì)方案版本信息序號(hào)版本號(hào)修改信息說(shuō)明修改人時(shí)間V1.0設(shè)計(jì)方案初稿目錄1概述TOC\o"1-5"\h\z\o"CurrentDocument"1.1硬件結(jié)構(gòu)連接3\o"CurrentDocument"1.2半雙工串行通信數(shù)據(jù)格式31.2.1一次收發(fā)數(shù)據(jù)傳輸格式31.2.2連續(xù)收發(fā)的數(shù)據(jù)傳輸格式3\o"CurrentDocument"1.3MAX3483CSA介紹3\o"CurrentDocument"1.4軟件訪問(wèn)接口函數(shù)流程圖4\o"CurrentDocument"2?半雙工串行收發(fā)器接口4\o"CurrentDocument"2.1接口設(shè)計(jì)框圖4\o"CurrentDocument"2.2接口描述5\o"CurrentDocument"2.3接口定義5\o"CurrentDocument"3.控制模塊6\o"CurrentDocument"3.1功能描述6\o"CurrentDocument"3.2內(nèi)部寄存器說(shuō)明6\o"CurrentDocument"3.3結(jié)構(gòu)框圖7\o"CurrentDocument"3.4接口定義7\o"CurrentDocument"4?接收模塊8\o"CurrentDocument"4.1功能描述8\o"CurrentDocument"4.2設(shè)計(jì)框圖84.2.1總體設(shè)計(jì)框圖84.2.2接收控制邏輯部分9\o"CurrentDocument"4.3接口定義9\o"CurrentDocument"4.4接收時(shí)序圖10\o"CurrentDocument"5?發(fā)送模塊10\o"CurrentDocument"5.1功能描述105.2設(shè)計(jì)框圖105.2.1總體設(shè)計(jì)框圖105.2.2發(fā)送控制邏輯部分11\o"CurrentDocument"5.3接口定義12\o"CurrentDocument"5.4發(fā)送時(shí)序圖12

1概述1.1硬件結(jié)構(gòu)連接該方案實(shí)現(xiàn)nios核中半雙工串行收發(fā)器接口和外接單片機(jī)之間的通信,通信線路之間采用MAX3483,傳輸協(xié)議遵照UART半雙工串行收發(fā)通信方式。接口位置如圖1中半雙工串行收發(fā)器接口。圖1硬件結(jié)構(gòu)連接1.2半雙工串行通信數(shù)據(jù)格式1.2.1一次收發(fā)數(shù)據(jù)傳輸格式1.2.2連續(xù)收發(fā)的數(shù)據(jù)傳輸格式數(shù)據(jù)位停止位起始位起始位07df■01.2.2連續(xù)收發(fā)的數(shù)據(jù)傳輸格式數(shù)據(jù)位停止位起始位起始位07df■07數(shù)據(jù)位停止位空閑位01234567J!K丄jhu■■起始位數(shù)據(jù)位停止位空閑位1.3MAX3483CSA介紹MAX3483CSA采用半雙工通信方式,RO和DI端分別為接收器的輸出和驅(qū)動(dòng)器的輸入端,與單片機(jī)連接時(shí)只需分別與單片機(jī)的RXD端和TXD相連,/RE和DE端分別為接受和發(fā)送的使能端,/RE為邏輯0時(shí),器件處于接收狀態(tài),當(dāng)DE為邏輯1時(shí),器件處于發(fā)送狀態(tài)。1.4軟件訪問(wèn)接口函數(shù)流程圖接收數(shù)據(jù)過(guò)程開(kāi)始向控制寄存器寫(xiě)0,表示接收數(shù)據(jù)讀狀態(tài)寄存器的值寫(xiě)到flagreg基flag_reg=6/否接收數(shù)據(jù)過(guò)程開(kāi)始向控制寄存器寫(xiě)0,表示接收數(shù)據(jù)讀狀態(tài)寄存器的值寫(xiě)到flagreg基flag_reg=6/否否—?__flag_reg=3——=一接收數(shù)據(jù)否‘二一一數(shù)據(jù)接收完成圖圖2發(fā)送接收數(shù)據(jù)過(guò)程半雙工串行收發(fā)器接口2.1接口設(shè)計(jì)框圖DIDERERO圖DIDERERO圖3半雙工串行收發(fā)器結(jié)構(gòu)圖2.2接口描述收發(fā)器接口總結(jié)構(gòu)如圖4所示,在默認(rèn)和復(fù)位情況下收發(fā)器處于發(fā)送狀態(tài)。在發(fā)送狀態(tài),查詢到控制寄存器的值為0并且tr_space為高時(shí),則將DE和/RE清0此時(shí)收發(fā)器從發(fā)送狀態(tài)切換到接收狀態(tài)。在接收狀態(tài),查詢到控制寄存器的值為1,并且r_space為高時(shí),則將DE和/RE置1,收發(fā)器從接收狀態(tài)切換到發(fā)送狀態(tài)。發(fā)送狀態(tài)時(shí),在發(fā)送空閑(tr_space為高)期間檢測(cè)到發(fā)送數(shù)據(jù)緩沖寄存器有數(shù)據(jù)(tr_buf_empty_ind為低),首先將緩沖器的數(shù)據(jù)搬到移位寄存器,并且給高位加1,低位加0,同時(shí)將tr_buf_empty_ind信號(hào)置高,接著啟動(dòng)發(fā)送波特率計(jì)數(shù)器,同時(shí)將tr_space信號(hào)清0,然后每隔16個(gè)uart_clk時(shí)鐘周期發(fā)送1位數(shù)據(jù),發(fā)送完最后1位數(shù)據(jù)后,再次將tr_space置高,表示發(fā)送空閑。接收狀態(tài)時(shí),首先檢測(cè)下降沿,當(dāng)檢測(cè)到下降沿后,將re_space信號(hào)清0,同時(shí)啟動(dòng)接收數(shù)據(jù)波特率計(jì)數(shù)器,當(dāng)計(jì)數(shù)器加到8時(shí),采樣RO的值,為低,表示此時(shí)是一個(gè)起始信號(hào),然后每隔16個(gè)uart_clk時(shí)鐘周期接收1位數(shù)據(jù),當(dāng)接收到第9位數(shù)據(jù),也就是停止位時(shí),判斷停止位是否正確,若正確則將數(shù)據(jù)寫(xiě)到接收緩沖寄存器,同時(shí)將re_space信號(hào)置高,若停止位不正確則給出一個(gè)幀出錯(cuò)指示信號(hào),并放棄數(shù)據(jù)輸出。當(dāng)把數(shù)據(jù)從移位寄存器寫(xiě)到接收緩沖寄存器時(shí),將re_buf_full_ind置高,當(dāng)cpu把數(shù)據(jù)從接收緩沖寄存器讀走,將re_buf_full_ind信號(hào)清0。fpga_clk為cpu工作時(shí)鐘,頻率為66.66MHZ,uart_clk為串行收發(fā)器接口的采樣時(shí)鐘,頻率為串口數(shù)據(jù)傳送波特率的16倍,數(shù)據(jù)傳送的波特率為9600bps。2.3接口定義序號(hào)引腳名稱I/O功能描述備注1.rst_nI復(fù)位信號(hào),低有效2.fpga_clkIcpu工作時(shí)鐘,頻率為66.66MHZ3.nios_csIcpu發(fā)送的片選信號(hào),低有效4.nios_wrIcpu發(fā)送的與使能,低有效5.nios_rdIcpu發(fā)送的讀使能,低有效6.nios_adder[l:0]Icpu訪問(wèn)接口內(nèi)部寄存器的地址7.nios_data_in[7:0]Icpu向外接單片機(jī)中發(fā)送的數(shù)據(jù)8.nios_data_out[7:0]OCpu從外接單片機(jī)中接收的數(shù)據(jù)9.ROI串行數(shù)據(jù)接收引腳10./REO接收使能,低有效11.DIO串行數(shù)據(jù)發(fā)送引腳

12.DEO發(fā)送使能,咼有效13.TIO發(fā)送兀成信號(hào),冋有效14RIO接收完成信號(hào),咼有效15fram_errorO幀出錯(cuò)信號(hào),高有效控制模塊3.1功能描述該模塊主要實(shí)現(xiàn)以下功能:?根據(jù)tr_space、re_space和控制寄存器的值改變DE和/RE,實(shí)現(xiàn)收發(fā)器狀態(tài)的切換?生成發(fā)送緩沖器寫(xiě)使能,接收緩沖器讀使能,狀態(tài)寄存器讀使能信號(hào)3.2內(nèi)部寄存器說(shuō)明序號(hào)寄存器名稱讀/寫(xiě)地址寄存器說(shuō)明備注1.control_reg讀寫(xiě)00讀與控制奇存器,取低位為讀與判斷位,0,表示發(fā)送,1表示接收。其它位保留。2.uart_state只讀01狀態(tài)寄存器,8位,低3位狀態(tài)標(biāo)志位,bit0發(fā)送數(shù)據(jù)緩沖寄存器空滿標(biāo)志位,1為空,0為滿。bitl接收緩沖寄存器空滿標(biāo)志,1為滿,0為空。bit2幀錯(cuò)誤指示信號(hào),1表示有錯(cuò)誤,0表示正確。其它位保留。3.tran_buf_reg只寫(xiě)10發(fā)送緩沖寄存器,8位,只有緩沖寄存器與使能有效時(shí),cpu才能向該寄存器寫(xiě)數(shù)據(jù)。4.rece_buf_reg只讀11接收緩沖寄存器,8位,只有接收緩沖奇存器讀使能有效時(shí),cpu才能讀該寄存器。3.3結(jié)構(gòu)框圖nios_data_outnios_wrnios_addernios_csDEre_spacetrdata_reg_selstate_reg_selredata_reg_seltr_space圖4控制模塊總體框圖rece_buf_regnios_data_outnios_wrnios_addernios_csDEre_spacetrdata_reg_selstate_reg_selredata_reg_seltr_space圖4控制模塊總體框圖rece_buf_reg3.4接口定義序號(hào)引腳名稱I/O功能描述備注1.rst_nI復(fù)位信號(hào),低有效2.fpga_clkICpu工作時(shí)鐘,頻率為66.66mhz,上升沿采樣,占空比為50%。3.uart_clkI分頻后產(chǎn)生的采樣時(shí)鐘,頻率為波特率的16倍,上升沿采樣,占空比為50%4.nios_csIcpu發(fā)送的片選信號(hào),低有效5.nios_wrIcpu發(fā)送的與使能,低有效6.nios_rdIcpu發(fā)送的讀使能,低有效7.nios_adder[1:0]Icpu訪問(wèn)接口內(nèi)部寄存器的地址8.nios_data_in[7:0]Icpu向外接單片機(jī)中發(fā)送的數(shù)據(jù)9.nios_data_out[7:0]OCpu從外接單片機(jī)中接收的數(shù)據(jù)10./REO接收使能,低有效11.DEO發(fā)送使能,咼有效12.TIO發(fā)送兀成信號(hào),冋有效13.RIO接收完成信號(hào),咼有效14.fram_errorO幀出錯(cuò)信號(hào),高有效15.tr_spaceI發(fā)送空閑狀態(tài)指示信號(hào),高有效16.trbuf_empty_indI發(fā)送緩沖寄存器數(shù)據(jù)空指示信號(hào),高有效17.trdata_reg_setO發(fā)送緩沖寄存器寫(xiě)使能信號(hào),高有效18.rece_buf_reg[7:0]I接收緩沖奇存器數(shù)據(jù)輸出

19.rebuf_full_indI接收緩沖寄存器數(shù)據(jù)滿指示信號(hào),好有效20.stopbit_err_indI幀錯(cuò)誤izhishi信號(hào),咼有效21.re_spaceI接收狀態(tài)空閑指示信號(hào),高有效22.state_reg_selO狀態(tài)寄存器讀使能信號(hào),高有效23.redata_reg_selO接收緩沖寄存器讀使能信號(hào),高有效接收模塊4.1功能描述該部分主要完成以下功能:完成幀起始信號(hào)的檢測(cè)按照uart協(xié)議正確接收RO上數(shù)據(jù),并且寫(xiě)到接收緩沖寄存器內(nèi)。當(dāng)接收數(shù)據(jù)有誤時(shí),發(fā)送錯(cuò)誤指示信號(hào),等待CPU讀取后,將錯(cuò)誤指示信號(hào)清除。?生成re_space、rebuf_full_ind指示信號(hào)4.2設(shè)計(jì)框圖4.2.1總體設(shè)計(jì)框圖圖5接收模塊總體框圖圖6中控制邏輯部分為狀態(tài)機(jī),具體狀態(tài)轉(zhuǎn)移如下所講。Uart_rece_begin為檢測(cè)到下降沿的指示信號(hào),re_frame_error和re_valid為狀態(tài)機(jī)的輸出信號(hào),用fpga_clk時(shí)鐘的上升沿分別檢測(cè)re_frame_error和re_valid信號(hào)的下降沿,檢測(cè)到下降沿的時(shí)候讓

stopbit_err_ind和rebuf_full_ind分別置1,當(dāng)cpu把狀態(tài)寄存器的值讀走將stopbit_err_ind信號(hào)清0.當(dāng)cpu把接收緩沖寄存器的數(shù)據(jù)讀走,rebuf_full_ind信號(hào)清0。4.2.2接收控制邏輯部分reidlestartrecee_bps_cnt==4'h7&&RO=nuart_rece_begin=0圖reidlestartrecee_bps_cnt==4'h7&&RO=nuart_rece_begin=0圖6接收部分狀態(tài)機(jī)re_idle接收空閑狀態(tài);start接收幀起始信號(hào)狀態(tài),rece接收數(shù)據(jù)狀態(tài)。復(fù)位時(shí)處于接收空閑狀態(tài),當(dāng)檢測(cè)到下降沿后進(jìn)入start狀態(tài),此時(shí)啟動(dòng)接收波特率計(jì)數(shù)器,當(dāng)計(jì)數(shù)器計(jì)到8時(shí),檢測(cè)RO的值,為0,表示幀起始信號(hào),則進(jìn)入rece接收數(shù)據(jù)狀態(tài)。檢測(cè)RO的值,為1,進(jìn)入空閑狀態(tài)。接收完數(shù)據(jù)后跳到空閑狀態(tài)。在接收空閑狀態(tài)re_space信號(hào)為高,其余狀態(tài)信號(hào)都為低,即re_space=(re_state==re_idle)。4.3接口定義序號(hào)引腳名稱I/O功能描述備注1.fpga_clkICpu工作時(shí)鐘,頻率為66.66mhz,上升沿采樣,占空比為50%。2.uart_clkI分頻后產(chǎn)生的采樣時(shí)鐘,頻率為波特率的16倍,上升沿采樣,占空比為50%3.ROI串行數(shù)據(jù)接收引腳4./REO接收使能,低有效5.rece_buf_reg[7:0]I接收緩沖奇存器數(shù)據(jù)輸出6.rebuf_full_indI接收緩沖寄存器數(shù)據(jù)滿指示信號(hào),好有效7.stopbit_err_indI幀錯(cuò)誤izhishi信號(hào),咼有效8.re_spaceI接收狀態(tài)空閑指示信號(hào),高有效9.state_reg_selO狀態(tài)寄存器讀使能信號(hào),高有效10.redata_reg_selO接收緩沖寄存器讀使能信號(hào),高有效4.4接收時(shí)序圖ROrestatere_spacerevalidsetfullindrebuffullindredata_reg_sel圖7正確數(shù)據(jù)RE圖ROrestatere_spacerevalidsetfullindrebuffullindredata_reg_sel圖7正確數(shù)據(jù)RE圖8錯(cuò)誤數(shù)據(jù)發(fā)送模塊5.1功能描述該模塊實(shí)現(xiàn)以下功能把數(shù)據(jù)從發(fā)送緩沖寄存器搬到移位寄存器,按照uart協(xié)議,正確發(fā)送數(shù)據(jù)生成tr_space、trbuf_empty_ind指示信號(hào)5.2設(shè)計(jì)框圖5.2.1總體設(shè)計(jì)框圖

圖7發(fā)送

溫馨提示

  • 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)論