• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的串口通訊與VGA顯示

      2011-06-05 11:01:20姚善學(xué)王代強(qiáng)
      電子設(shè)計(jì)工程 2011年17期
      關(guān)鍵詞:時序串口時鐘

      姚善學(xué) , 王代強(qiáng) ,2

      (1.貴州大學(xué) 理學(xué)院,貴州 貴陽 550025;2.貴州人民武裝學(xué)院 貴州 貴陽 550025)

      隨著多微機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能顯得越來越重要。串行通信是在一根傳輸線上一位一位地傳送信息,這根線既作數(shù)據(jù)線又作聯(lián)絡(luò)線。串行通信作為一種主要的通信方式,由于所用的傳輸線少,并且可以借助現(xiàn)存的電話網(wǎng)進(jìn)行信息傳送,因此特別適合于遠(yuǎn)距離傳送[1-4]。FPGA在數(shù)字電路的設(shè)計(jì)中已經(jīng)被廣泛使用。該設(shè)計(jì)方法可以使得多塊集成芯片的電路設(shè)計(jì)到一個整體中,大大減少了電路板的尺寸,增強(qiáng)了系統(tǒng)的可靠性以及設(shè)計(jì)的靈活性。

      1 系統(tǒng)總體實(shí)現(xiàn)方案

      整個設(shè)計(jì)采用至頂向下的模塊化的設(shè)計(jì)思想,設(shè)計(jì)過程包括頂層模塊設(shè)計(jì)、子模塊設(shè)計(jì)、模塊最后合并為3個步驟[5]。頂層設(shè)計(jì)是設(shè)計(jì)的第一個步驟,包括對整個設(shè)計(jì)的規(guī)模進(jìn)行估計(jì),按照功能劃分成各個子模塊,以及估計(jì)子模塊之問的相互關(guān)系。根據(jù)設(shè)計(jì)的需要,將整個設(shè)計(jì)按照實(shí)現(xiàn)任務(wù)分為3部分:串口數(shù)據(jù)的接收,由uart_rcv模塊完成;數(shù)據(jù)的存儲fifo,由fifo模塊完成;輸出VGA信號,由vga_dis模塊完成。整個系統(tǒng)的框圖如圖1所示。

      圖1 系統(tǒng)總體框圖Fig.1 Block diagram of the whole system

      2 串口協(xié)議及設(shè)計(jì)過程

      2.1 串口協(xié)議

      串行通信的數(shù)據(jù)流是由若干個11 bits的數(shù)據(jù)符號的串聯(lián),每個數(shù)據(jù)符號包括1 bits的起始位、8 bits的數(shù)據(jù)位、1 bit的奇偶校驗(yàn)位、1~3 bits的終止位。

      2.2 串口FPGA的實(shí)現(xiàn)

      串口狀態(tài)圖設(shè)計(jì):

      根據(jù)串行通信的數(shù)據(jù)流是11 bits的數(shù)據(jù)符號的串聯(lián),每個數(shù)據(jù)符號包括1 bit的起始位、8 bits的數(shù)據(jù)位、1 bit的奇偶校驗(yàn)位、1 bit的終止位,以sdin的下降沿到來判斷數(shù)據(jù)傳輸?shù)拈_始,因此可在此之前設(shè)一個空閑狀態(tài)。之后可設(shè)一個狀態(tài),8 bits的數(shù)據(jù)位接收設(shè)一個狀態(tài),1 bit的奇偶校驗(yàn)位可設(shè)一個狀態(tài)、1 bit的終止位設(shè)一狀態(tài),如果fifo裝滿則full=1,F(xiàn)PGA就會檢測full是否等于1來通過拉低sdin告訴FPGA停止發(fā)數(shù)據(jù)。因此共分為 6個狀態(tài),idle,start,data,parity,stop,full_stop。

      1)idle狀態(tài),等待sdin的下降沿到來。

      2)start狀態(tài),當(dāng)sdin的下降沿到來時進(jìn)入此狀態(tài),為8位有效數(shù)據(jù)的接收作準(zhǔn)備。

      3)data狀態(tài),八位數(shù)據(jù)的接收,把接收到的數(shù)據(jù)一位一位的存入到rcv_data,為fifo提供數(shù)據(jù)。

      4)parity狀態(tài),當(dāng)8位數(shù)據(jù)接收完則進(jìn)入此狀態(tài),檢測sdin口來進(jìn)行奇偶校驗(yàn),判斷接收的數(shù)據(jù)是否正確,來設(shè)置rcv_error位,parity完成后進(jìn)入stop狀態(tài)。

      5)stop狀態(tài),此位置 rcv_ready為 1,讓 fifo接收數(shù)據(jù),并存儲該數(shù)據(jù)。

      6)stop_full狀態(tài),檢測 full是否為 1,如果為 1,則拉低sdin位并在此狀態(tài),否則進(jìn)入下一狀態(tài)idle。

      串口具體狀態(tài)圖如圖2所示。

      圖2 串口狀態(tài)圖Fig.2 State chart of serial ports

      3 fifo的設(shè)計(jì)與實(shí)現(xiàn)

      3.1 fifo的原理及功能

      本文的fifo存儲器采用的是同步設(shè)計(jì)方法。同步設(shè)計(jì)的fifo可以存儲16個8位的數(shù)據(jù)。對fifo存儲器設(shè)計(jì)也就對fifo控制信號的生成邏輯電路的讀指針和寫指針設(shè)計(jì)[6]。本文把引起讀寫的信號組成4種狀態(tài)。00狀態(tài)表示無讀寫,11表示讀與寫同時進(jìn)行,01表示讀一個數(shù),10表示寫一個數(shù)。當(dāng)前狀態(tài)為00,此時fifo內(nèi)部存的數(shù)據(jù)的個數(shù)無變化,計(jì)數(shù)個數(shù)也不加不減。當(dāng)進(jìn)入01狀態(tài)判斷內(nèi)部的數(shù)據(jù)是否為空,如果為空則設(shè)置相應(yīng)的標(biāo)志位,則告訴VGA_dis模塊fifo的數(shù)據(jù)為空;如果當(dāng)前狀態(tài)為01狀態(tài)則當(dāng)前正處于從fifo中讀一個數(shù)的狀態(tài),讀完一個數(shù)后應(yīng)該判斷fifo中存的數(shù)是否為空也即是cnt是否為0,如果為空則設(shè)置使能標(biāo)志位不讓下一再讀數(shù)了,同時當(dāng)前存儲器的個數(shù)cnt=cnt-1。如果當(dāng)前狀態(tài)為10狀態(tài)則當(dāng)前正處于從fifo中寫一個數(shù)的狀態(tài),寫完一個數(shù)后應(yīng)該判斷fifo中存的數(shù)是否為滿,也即是cnt是否為16,如果為滿則設(shè)置使能標(biāo)志位不再寫數(shù)據(jù),同時當(dāng)前存儲器的個數(shù)cnt=cnt+1。

      3.2 fifo與其他電路的配合工作

      fifo是為VGA_dis與rcv_uart電路提供緩存。它的工作過程為,首先采集到一個數(shù)后存入到一個寄存器中,然后置位相應(yīng)的使能位,相應(yīng)的fifo讀取剛才rcv_uart采集到的數(shù),把該數(shù)存到fifo中。如果VGA_dis要寫一個數(shù)則置位使能信號,fifo就送出一個數(shù)據(jù)放一個寄存器中,VGA_dis就會把fifo送出的一個數(shù)取出。rcv_uart在采集到一個數(shù)之后就會判斷fifo是否已經(jīng)滿,如果滿的話,則就置相應(yīng)的fifo寫使能為0同時不停的檢測fifo中是否不滿,如果不滿就寫一個數(shù)。當(dāng)VGA_dis需要一個數(shù)時,就會判斷fifo中是否有數(shù),如果沒有數(shù)就不取。

      4VGA顯示的設(shè)計(jì)

      4.1 VGA顯示的總體設(shè)計(jì)

      VGA顯示設(shè)計(jì)要滿足一定的行場同步時序同時也必須與rcv_uart以及fifo很好的結(jié)合才能正常的工作。

      每來一個時鐘則就會向數(shù)據(jù)顯示端口發(fā)出一組數(shù)據(jù),當(dāng)行場消隱時不發(fā)送數(shù)據(jù),因此rcv_uart不能直接的與VGA_dis相連接,所以需要一個fifo。同時在行或場消隱信號時,可能會使fifo存滿數(shù)據(jù)。因此rcv_uart在fifo存滿時就要告知FPGA不要再發(fā)數(shù)據(jù)了。同時fifo數(shù)據(jù)為空或者復(fù)位時就有可能打亂VGA顯示,使得不能正常顯示,F(xiàn)PGA每發(fā)一次信號時就發(fā)一場數(shù)據(jù)。

      4.2 VGA接口電路與權(quán)值電阻

      標(biāo)準(zhǔn)的VGA是15針D型接口,由R,G,B 3色模擬信號線和行,場同步兩個數(shù)字信號構(gòu)成。直接使用2根I/O口引腳作為同步信號,另外用9個I/O引腳通過由電阻網(wǎng)絡(luò)構(gòu)成的DAC作為R,G,B模擬信號 (R顏色3根,G顏色 3根,B顏色3根。)VGA的負(fù)載電阻是75 Ω,RGB模式信號的幅度是0.7 V,經(jīng)過計(jì)算可以得出電阻網(wǎng)絡(luò)中各電阻網(wǎng)絡(luò)中各阻的值。如圖3是VGA接口電路與權(quán)值電阻原理圖。

      圖3 VGA接口電路與權(quán)值電阻Fig.3 VGA interface circuit and weights resistance

      4.3 VGA同步信號設(shè)計(jì)

      在VGA中,水平同步脈沖在光柵掃描線需要回到水平開始位置也是屏幕的左邊的時候插入,垂直開始位置也就是屏幕的上方的時候插入。復(fù)合同步脈沖與垂直同步脈沖是水平同脈沖與垂直同步信號的組合。RGB為像素?cái)?shù)據(jù),在沒有圖像投射到屏幕時插入消隱信號,當(dāng)消隱有效時,RGB信號無效。

      在水平時序中,包括以下幾個時序參數(shù):水平同步脈沖Ta寬度為96個時鐘周期:行消隱后沿Ta為48個時鐘:視頻數(shù)據(jù)Tc寬度為320個時鐘;行消隱前沿Td寬度為16個時鐘周期。一整行Te寬度為以上4項(xiàng)相加為480,如圖4所示。當(dāng)時鐘頻率不是25 MHz,以上參數(shù)可按比例進(jìn)行適當(dāng)?shù)恼{(diào)整。

      垂直時序與水平時序類似,包括以下幾個不同的時序參數(shù):垂直同步Ta寬度為2個時鐘周期:列消隱后沿Ta寬度為32個時鐘周期:視頻數(shù)據(jù)Tc寬度為240個時鐘周期;列消隱前沿寬度為11個時鐘周期。一整場視頻Te寬度為284個時鐘周期,如圖5所示。

      圖4 行掃描時序Fig.4 Scanning sequence

      圖5 列消隱時序Fig.5 Column vanish timing

      5 結(jié)束語

      由于本系統(tǒng)是基于FPGA設(shè)計(jì)的,因此,相比較以前使用的由小規(guī)模集成電路設(shè)計(jì)的視頻采集卡而言,本系統(tǒng)具有可靠性高、性能穩(wěn)定、開發(fā)靈活、調(diào)試簡單、可以現(xiàn)場編程、設(shè)計(jì)成本降低、開發(fā)周期較短、屏幕顯示質(zhì)量高等特點(diǎn)。

      [1]任愛峰,初秀琴,常存.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2004:102-146.

      [2]李廣軍,孟憲元.可編程ASIC技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2000.

      [3]夏宇聞.Verilog數(shù)字設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2003.

      [4]柳亞東.基于FPGA嵌入式系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2004:89-96.

      [5]郭樹濤,靖永志.基于FPGA的串口通信設(shè)計(jì)[J].北京電子科技學(xué)院學(xué)報(bào),2006,14(4):74-78.GUO Shu-tao,JING Yong-zhi.Serial communication based on FPGA [J].JournalofBeijing Electronic Science and Technology Institute,2006,14(4):74-78.

      [6]朱如龍.基于FPGA的LED顯示屏VGA同步圖像采集設(shè)計(jì)[J].電子工程師,2004(10):44-45.ZHU Ru-long.LED display VGA synchronous image acquisition design based on FPGA[J].Electronic Engineer,2004(10):44-45.

      猜你喜歡
      時序串口時鐘
      時序坐標(biāo)
      基于Sentinel-2時序NDVI的麥冬識別研究
      別樣的“時鐘”
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      古代的時鐘
      有趣的時鐘
      一種毫米波放大器時序直流電源的設(shè)計(jì)
      電子制作(2016年15期)2017-01-15 13:39:08
      時鐘會開“花”
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      额济纳旗| 铜陵市| 介休市| 建德市| 乐安县| 海盐县| 麟游县| 邢台市| 平塘县| 扎囊县| 甘南县| 墨脱县| 屏边| 堆龙德庆县| 城固县| 桐乡市| 惠来县| 彰武县| 肃宁县| 巴塘县| 新丰县| 兴仁县| 凭祥市| 肃南| 绍兴市| 孝昌县| 库伦旗| 永昌县| 香港| 龙岩市| 沐川县| 剑阁县| 深水埗区| 乌什县| 哈尔滨市| 勐海县| 桦南县| 兴安县| 阳城县| 南宁市| 赫章县|