999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于EDA技術的三角波信號發生器

2011-12-31 00:00:00馬鑫
南北橋 2011年9期

摘要:信號發生器是科研及工程實踐中最重要的儀器之一,以往多用硬件組成,系統結構比較復雜,可維護性和可操作性不佳。隨著計算機技術的發展,信號發生器的設計制作越來越多地使用計算機技術,種類繁多,價格、性能差異很大。

在各種類信號發生器中,三角波信號發生器是最普通的一類。其原因除了三角信號容易產生,容易描述,還是比較廣泛的載波信號。顯然,由于信號發生器的性能,被測器件、設備各項性能參數的測量質量,將直接依賴于信號發生器的性能。

關鍵詞:EDA技術;三角波信號發生器;電路原理圖

中圖分類號:R857,3 文獻標識碼:A

文章編號:1672—0407(2011)09—026—14

1.1 本課題目前發展狀況

在研制、生產、測試和維修各種電子器件、部件以及整機設備時,都需要有信號源,由它產生不同頻率、不同波形。有的將電壓、電流信號并加到被測器件、設備上,用其他測量儀器觀察、測量被測者的輸出響應,以分析確定他們的性能參數。這種提供測試用電信號的裝置,統稱為信號發生器,用在電子測量領域,也稱為測試信號發生器。和示波器、頻譜分析儀等一樣,信號發生器是電子測量領域中最基本、應用最廣泛的一類電子儀器。除了在電子技術尤其是電子測量方面的應用外,信號發生器在其他領域也有很廣泛的應用,例如機械部門的超聲波探傷,醫療部門的超聲波診斷、頻譜治療儀等。

信號發生器是輸出供給量的儀器,它產生頻率、幅度、波形等主要參數都可調節的信號,有以下作用:

1 測元件參數。如電感,電容的值及品質因數、損耗角等。

2 測網絡的幅頻特性、相頻特性。連續改變信號源的頻率,用示波器或電壓表測網絡的響應,屬于穩態激勵、點頻測試。

3 測接收機。信號源發出射頻已調波,測接收機的靈敏度、選擇性、AGC范圍等指標。

4 測量網絡的瞬態響應。用方波或窄帶脈沖激勵,測網絡的響應、沖擊響應、時間等。

5 校準儀表。輸出頻率、幅度準確的信號,校準儀表的衰減器、增益及刻度。

此外信號源在調試雷達、電視、多路通訊系統和電子計算機、檢修電子儀器也是十分重要的設備。

1.2 課題的提出與意義

信號發生器是科研及工程實踐中最重要的儀器之一,以往多用硬件組成,系統結構比較復雜,可維護性和可操作性不佳。隨著計算機技術的發展,信號發生器的設計制作越來越多地使用計算機技術,種類繁多,價格、性能差異很大。

在各種類信號發生器中,三角波信號發生器是最普通的一類。其原因是三角信號容易產生,容易描述又是比較廣泛的載波信號。顯然,由于信號發生器的性能,被測器件、設備各項性能參數的測量質量,將直接依賴于信號發生器的性能。

如果波形發生器單純地以單片機89C51為核心而設計,則很難通過濾波電路在示波器上顯示出波形圖。但近年來隨著數字電子技術的飛速發展和電子設計技術的不斷提高,可編程邏輯器件(如CPLD、FPGA)的應用,已得到廣泛的普及,這些器件為數字系統的設計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結構和工作方式進行重構,從而使得硬件的設計可以如同軟件那樣方便快捷。這一切極大地改變了傳統的數字系統設計方法,設計過程和設計觀念。

1.3 本課題設計內容

本文將介紹的是利用EDA工具軟件,VHDL語言設計實現的三角波發生器。該波形發生器主要是通過外部輸入信號的不同而引起三角波形幅值的變化。本系統是以FPGA為核心,以單片機為主要控制器件,采用FPGA中的波形發生器控制電路對外來控制信號和高速時鐘信號進行分頻控制,再通過D/A轉換,將數字信號轉換為模擬信號,從而可在示波器上顯示出三角波形。

本設計主要是依靠功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言VHDL為系統邏輯描述手段完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合、優化和仿真,直至下載到可編輯邏輯器件FPGA芯片中,實現既定地電子電路設計功能。通過EDA軟件平臺來完成對系統硬件功能地實現,極大地提高了設計效率,縮短了設計周期,節省了設計成本。如圖1-1所示(是設計的方框圖)

2.1 硬件選擇

2.1.1 EDA處理模塊

方案1:FPGA部分采用EPFl0K30器件,用傳統的直接頻率合成器。這種方法能實現快速的頻率變換,具有低相位噪聲以及所有方法中最高的工作頻率。但由于采用大量的倍頻、分頻、混頻和濾波環節,導致直接頻率合成器的結構復雜、體積龐大、成本高,而且容易產生過多的雜散分量,難以達到較高的頻譜純度。更重要的是,這種方法只能實現正弦波,或者進而進行積分、微分等方法實現方波、三角波等標準波形,而對于我們所要求的任意波形卻無法實現。

方案2:FPGA部分采用EPFl0K30器件。利用鎖相環,將壓控振蕩器的輸出頻率鎖定在所需頻率上。這種頻率合成器具有很好的窄帶跟蹤特性,可以很好的選擇所需頻率信號,抑制雜散分量,并且避免了大量的濾波器,有利于集成化和小型化。但由于鎖相環本身是一個惰性環節,鎖定時間較長,故頻率轉換的時間較長。而且,由模擬方法合成的三角波的參數,如幅度、頻率和占空比都很難控制。除此之外,同方案1類似,此方案也無法實現任意頻率的波形的輸出。

方案3:FPGA部分采用EPFl0K30器件。用64個點來構成這個三角形,由鍵盤輸入的數值來改變三角形的頻率、幅度、占空比的變化,經D/A轉換,在示波器上可得所需波形。這樣去設計具有相對帶寬很寬,頻率轉換時間極短,頻率分辨率可以做到很高等優點;另外,全數字化結構便于集成,輸出頻率、幅度、占空比均可實現程控,而且理論上能夠實現任意頻率的三角波波形,可以全面的滿足本題目的要求。因此采用此種方案。

2.1.2 單片機鍵盤顯示處理模塊

方案:用單片機AT89C51直接與按鍵相連,串口接LED顯示電路。此種方法硬件電路簡單易懂。

2.2 用Protel制圖的基本操作

電路原理圖的設計過程一般可以按照圖2-1所示的流程圖進行

具體說來可以分為以下的步驟:

(1)設置圖紙:根據實際電路的復雜程度來設置圖紙的大小,設置圖紙的過程實際是一個建立工作平面的過程。

(2)放置元件:這個階段,就是用戶根據實際電路的需要,從元件庫里取出所需的元件放置到工作平面上。用戶可以根據元件之間的走線等聯系對元件在工作平面上的位置進行調整、修改,并對元件的編號、封裝進行定義和設定等,為下一步工作打好基礎。

(3)原理圖的布線:該過程實際就是一個畫圖的過程。用戶利用Protel DXP提供的各種工具、指令進行布線,將工作平面上的器件用具有電氣意義的導線、符號連接起來,構成一個完整的電路原理圖。

(4)編輯與調整:在這一階段,用戶利用Prote]DXP提供的各種強大功能對所繪制的原理圖進行進一步地調整和修改,以保證原理圖的美觀和正確。這就需要對元件位置的重新調整,導線位置的刪除、移動,更改圖形尺寸、屬性及排列。

(5)進一步完善用戶在此階段,可以充分利用Prote]DXP的強大功能來對原理圖進行進一步的補充和完善。如利用Protel DXP的繪圖工具繪制一些不具有電氣意義的圖形或者加入一些文字說明等。

(6)原理圖的輸出該部分是對設計完的原理圖進行存盤、輸出打印,以供存檔。這個過程實際是對設計的圖形文件輸出的管理過程,是一個設置打印參數和打印輸出的過程。

印制電路板設計的流程圖(如圖2-2所示)

具體步驟如下:

(1)規劃電路板:在繪制印制電路板之前,用戶要對電路板有一個初步的規劃,比如說電路板采用多大的物理尺寸,采用幾層電路板,是單面板還是雙面板,各個器件采用何種封裝形式及其安裝位置等。這是一項極其重要的工作,是確定電路板設計的框架。

(2)設置參數:參數的設置是電路板設計的非常重要的步驟。設置參數主要是設置元器件的布置參數、板層參數、布線參數等等。一般說來,有些參數用其默認值即可,有些參數在使用過Protel DXP以后,即第一次設置后,以后幾乎無須修改。

(3)裝入網絡表及元件的封裝:網絡表是電路板自動布線的靈魂,也是電路原理圖設計系統與印制電路板設計系統的接口。這一步也是非常重要的環節。只有將網絡表裝入之后,才可能完成對電路板的自動布線。元器件的封裝就是元器件的外形,對于每個裝入的元器件必須有相應的外形封裝,才能保證電路板布線的順利進行。

(4元器件的布局:元器件的布局可以讓Protel DXP自動布局。規劃好電路板并裝入網絡表后,用戶可以讓程序自動裝入元件,并自動將元件布置在電路板邊框內。Protel DXP也可以讓用戶手工布局。元件的布局合理,才能進行下一步的布線工作。

(5)自動布線:Protel DXP采用世界最先進的無網絡、基于形狀的對角線自動布線技術。只要將有關的參數設置得當,元件的布局合理,才能進行下一步的布線工作。

(6)手工調整:到目前為止,還沒有一種自動布線軟件能夠完美到不需要手工調整的地步。自動布線結束后,往往存在令人不滿意的地方,需要手工調整。

(7)文件保存及輸出。完成電路板的布線后,保存完成的電路線路圖文件。然后利用各種圖形輸出設備,如打印機或繪圖儀輸出電路板的布線圖。

2.3 系統框圖

圖中,信號發生器的主要模塊有計數器生成模塊、加減法器生成模塊、鎖存器生成模塊、頻率控制、幅度控制、顯示和鍵盤處理。其中,單片機用來改變三角波波形的頻率、幅度、占空比參數值,并由FPGA來實現波形表的生成和頻率、計數和加法的控制,最終構成一個三角波波形的信號發生器。

2.4 系統工作原理

利用單片機與EDA技術相結合,來實現三角波形信號發生器的功能。因為單片機的控制能力強,所以采用單片作為控制核心,單片機部分采用AT89C51,利用匯編語言編程。由于ASIC速度要比單片機快得多,所以采用FPGA實現主模塊功能。FPGA部分采用EPFl0K30器件,在MAX+PlusⅡ環境下利用VHDL語言編程。

本信號發生器其主要模塊有計數器生成模塊、加減法器生成模塊、鎖存器生成模塊、頻率控制、幅度控制、顯示和鍵盤處理。其中,單片機用來改變三角波波形的頻率、幅度、占空比參數值,并由FPGA來實現頻率、計數和加法的控制,最終構成一個三角波波形的信號發生器。

具體的實現過程如下:

由于此次所設計的波形發生器輸出的是三角波波形信號,所以我們通過鍵盤的兩個按鍵輸入三角波的頻率,另外三個按鍵負責轉換、換位、開始,通過單片機送入到FPGA中。在FPGA中通過分頻器控制,并且由FPGA來實現波形的生成和頻率、計數和加減法的控制。當波形信號的頻率輸入到FPGA中,經過鎖存器控制模塊和分頻器控制模塊后,來確定頻率、幅度、占空比,再由D/A轉換器將輸入數據轉換成模擬信號,經濾波電路后輸出。其中,三角波波形數據由64個點構成,此數據經DAC0832,并經濾波器后,可在示波器上觀察到三角波。(若按精密基準電壓,可得到更為清晰的三角波形)。

2.5 FPGA頂層文件的具體實現原哩分析和說明

FPGA的頂層文件(如圖2-4所示)。

2.5.1 鎖存器模塊SHCH42

此次所設計實現的是對輸入的數值進行鎖存。鎖存器是在某時刻采樣,輸出端保持采樣結果的器件,有clock上升沿鎖存,下降沿鎖存兩種。將輸入的頻率(幅度)值經鎖存器鎖存,然后將數據準確無誤的送入下一個模快。

2.5.2 分頻器模塊FPINl50C

此次所設計實現的是分頻功能。對給定頻率進行分頻,以得到所需的頻率。

分頻器所起到的作用就更為明顯。其作用如下:

1 合理地分割各單元的工作頻段;

2 合理地進行各單元功率分配;

3 使各單元之間具有恰當的相位關系以減少各單元在工作中出現的信號失真;

4 利用分頻器的特性以彌補單元在某頻段里的缺陷;

5 將各頻段平順地對接起來。

2.5.3 鎖存器模塊SHCH4

此次所設計實現的是對輸入的數值進行鎖存。主要是四位二進制數的鎖存,主要是對占空比的參數的鎖存。

2.5.4 分頻器模塊FENPIN

此次所設計實現的是分頻功能。對給定頻率進行分頻,以得到所需的頻率。此模快主要是對三角波的占空比的調節。

2.5.5 分頻器模塊FENPIN2

此次所設計實現的是分頻功能。此模快與上個模塊有互補的作用,主要是對三角波的占空比的調節。最小比值為1:9,最大比值為9:1。

2.5.6 計數器的設計COUNT

此次所設計實現的是計數的功能。主要實現兩個功能:

1 本次三角波的產生由64個點構成,主要對64個點進行計數,當計數器計到63的時,計數器重新再重0開始計數。再由7478來控制數的加減范圍,由一個端口輸入信號,用此信號來控制計數器模塊輸出是加是減。

2 對占空比參數的調節。使這占空比不能出現錯誤,如出現錯誤則不能產生三角波。

2.6 主要芯片的選擇和介紹

2.6.1 主控芯片(FPGA)

FPGA是英文Field Programmable Gate Array的縮寫,即現場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發展的產物。FPGA框圖如圖2-2所示。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

FPGA采用了邏輯單元陣列LCA(Logie CellArray)這樣一個新概念,內部包括可配置邏輯模塊CLB(configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Intereonneet)三個部分。FPGA的基本特點主要有:

(1)采用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的芯片。

(2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。

(3)FPGA內部有豐富的觸發器和I/O引腳。

(4)FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。

(5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TFL電平兼容。

可以說,FPGA芯片是小批量系統提高系統集成度、可靠性的最佳選擇之一。

目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

FPGA是由存放在片內RAM中的程序來設置其工作狀態的,因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,采用不同的編程方式。

加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完成后,FPGA進入工作狀態。掉電后,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。

FPGA有多種配置模式:并行主模式為一片FPGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片FPGA;串行模式可以采用串行PROM編程FPGA;外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。

2.6.2 數/模轉換器芯片DAC0832

D/A集成芯片是把T型電阻解碼網絡及二進制數碼控制的開關集成在一塊芯片上,通過附加一些功能電路可形成各種特性及功能不同的D/A芯片。

如圖2-6是DAC0832的內部邏輯框圖,它采用了二次緩沖輸入數據方式(輸入寄存器及DAC寄存器)。這樣可以在輸出的同時,采集下一個數字量,以提高轉換速度。

簡單解釋一下引腳功能:

D0-D7:8位數字輸入,DO為最低位。

IOUTl:DAC電流輸出1。它是邏輯電平為1的各位輸出電流之和。

IOUT2:DAC電流輸出2。它是邏輯電平為0的各位輸出電流之和。

Rfb:反饋電阻,該電阻被制作在芯片內,用作運算放大器的反饋電阻。

VREF:基準電壓輸入,可以超出±10V范圍,芯片用于四象限乘時,為模擬電壓輸入。

VCC:邏輯電源。+5V~+15V,最佳用+15V。

AGND:模擬地。芯片模擬信號接地點。

DGND:模擬地。芯片數字信號接地點。

D/A轉換器與微處理器的接口

由于D/A轉換器只有數據輸入線、選片和寫入控制線與微處理器有關。因此微處理器的接口比較簡單,它可不需要應答,直接把數據輸出給D/A轉換器。若D/A轉換器芯片內帶有鎖存寄存器,微處理器就把D/A芯片當作一個并行輸出端口;若D/A轉換器芯片內無鎖存寄存器,微處理器就把D/A芯片當作一個并行輸出的外設,二者之間還需增加并行輸出的接口。數/模轉換器接口是通過D/A轉換器來實現模擬輸出,有時我們簡稱為“模出”。

微處理器向D/A轉換器輸出數據,是通過數據總線進行的。由于微處理器要處理各種信息,使得輸給D/A轉換器的數據在數據總線上停留時間很短,因而在一般情況下需要鎖存器來保存微處理器送給D/A轉換器的數據,直至轉換結束。對于芯片內部有輸入鎖存器的D/A芯片,在微處理器與D/A芯片之間可以不加鎖存器,對于D/A芯片內無鎖存器的,則需加鎖存器,可采用8212、8255、Z80一PIO等接口芯片,也可用SM74100八位雙穩態鎖存器。

2.6.3 控制芯片AT89C51介紹

AT89C5 1是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPEROM—Flash Programmable and ErasableRead Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。AT89C51引腳圖(如圖2-7所示)。

1 主要特性:

·與MCS-51兼容

·4K字節可編程閃爍存儲器

·壽命:1000寫/擦循環

·數據保留時間:10年

·全靜態工作:0Hz-24Hz

·三級程序存儲器鎖定

·128×8位內部RAM

·32可編程I/O線

·兩個16位定時器/計數器

·5個中斷源

·可編程串行通道

·低功耗的閑置和掉電模式

·片內振蕩器和時鐘電路

2 管腳說明:

VCC:供電電壓。

GND:接地。

P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TYL門電流。當P1口的管腳第一次寫l時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FLASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。

P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TYL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,Pl口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。

P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TFL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。

P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TYL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(I TJTJ)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:

P3.0 RXD(串行輸入口)

P3.1 TXD(串行輸出口)

P3.2/INT0(外部中斷0)

P3.3/INTl(外部中斷1)

P3.4 T0(記時器0外部輸入)

P3.5 T1(記時器1外部輸入)

P3.6/WR(外部數據存儲器寫選通)

P3.7/RD(外部數據存儲器讀選通)

P3口同時為閃爍編程和編程校驗接收一些控制信號。

RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。

ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置如此時,ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。

/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。

/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。

XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。

XTAL2:來自反向振蕩器的輸出。

3 振蕩器特性

XTALl和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。

4 芯片擦除

整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節被重復編程以前,該操作必須被執行。

此外,AT89C51設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。

2.6.4 LED顯示器的介紹

LED(Light Emitting Diode)是發光二極管的英文名稱的縮寫。LED顯示器是有發光二極管構成的,所以在顯示器前面冠以“LED”。LED顯示器在單片機控制系統中應用廣泛。

1 LED顯示器的結構。

常用的LED顯示器為8段(或7段,8段比7段多了一個小數點“dp”段),每個對應一個發光二極管。這種顯示器有共陰和共陽兩種。如圖所示,共陰LED顯示器的發光二極管陰極連在一起,通常此公共陰極接地。當某個發光二極管的陽極為高電平時,發光二極管點亮,相應的段被顯示。同樣,共陽極的LED顯示器的發光二極管的陽極連在一起,通常此公共陽極接正電壓,當某個發光二極管的陰極接低電平時,發光二極管被點亮,相應的段被顯示。為了使LED顯示器不同的字符或數字,就要把不同段的發光二極管點亮,這樣就要為LED顯示器提供代碼,因為這些代碼可使LED相應的段發光,從而顯示不同的字符,因此該代碼稱之為段碼(或稱為字符段)。

7段發光二極管,在加上一個小數點位,共計8段。因此提供給LED顯示器的段碼(或字型碼)正好是lB。各段與字節中各位對應關系如圖2-8。

上表只列出了部分段碼,可以根據實際情況選用。另外,段碼是相對的,它由各字段在字節中所處的位決定。如下表中LED是按格式:而形成的,對于“0”的段碼為3FH(共陰)。如果將段碼改為下列格式:則字符“0”的段碼變為:7EH(共陰)。總之,字型及段碼由設計者自己設定,不必拘于上表。但是一般習慣還是以“a”段對應的段碼為最低位。

2 LED顯示器有靜態顯示和動態顯示兩種顯示方式。

(1)LED靜態顯示方式

LED顯示器工作于靜態顯示方式時,各位的共陰極(或共陽極)連接在一起并接地(或+5V);每位的段碼線(a~dp)分別與一個8位的鎖存器輸出相連。之所以稱為靜態顯示,是因為各個LED的顯示字符一經確定,相應的鎖存器鎖存的段碼輸出將維持不變,直到送入另一個字符的段碼為止。正因為如此,靜態顯示器的亮度都較高。

如圖2-8:位選線串聯接入+5V(或接地),每個LED的段碼線分別接入4個I/O口,就構成了一個4位靜態LED顯示器電路。該電路各位可獨立顯示,只要在該位的段碼線上保持段碼電平,該位就能保持相應的顯示字符。由于各位有一個8位的數據輸出口(例如8255A的A、B、C口)控制段碼線,故在同一時間里,每一位顯示的字符可以各不相同。這種顯示方式接口容易編程,付出的代價是占用口線太多。如上圖,若用I/O口線接口,則要占用4個8位的I/O口,若用鎖存器(如74LS373)接口,則需要4片74LS373芯片,如果顯示器的位數增加,則需要增加鎖存器,因此在顯示位數較多的情況下,一般都采用動態顯示方式。

(2)LED動態顯示方式

在多位LED顯示時,為簡化電路,通常將所有位相應的段碼線并聯在一起,由一個8位I/O口控制,形成段碼線的多路復用,而各位的共陽極或共陰極分別由相應的I/O口線控制,形成各位的分時選通。如上圖所示:位選線由4位的I/O口控制,4個LED的段碼線并聯在一起,接入一個8位的I/O控制線,就組成了一個4位8段的LED動態顯示器電路。段碼線占用一個8位的I/O,位選線占用一個4位的I/O口。由于各位的段碼是并聯的,8位的I/O口輸出的段碼對于各個顯示位來說都是相同的。因此在同一時刻,只要讓某一位的位選線處于選通狀態的話,4位LED將顯示相同的字符,若要各位顯示出與本位相應的顯示字符,就必須采用動態顯示方式,即在某一時刻,只要讓某一位的位選線處于選通的狀態,而其它各位的位選線都處于關閉狀態,同時,段碼線上輸出相應位要顯示的字符段碼。這樣,在同一時刻,4位LED中只有選通的那一位顯示字符,而其它3位是熄滅的。同樣,在同一時刻,只要讓下一位處于選通的狀態的話,而其它的位選線都處于關閉狀態,在段碼線上輸出將要顯示的字符,則在同一時刻,只有選通位顯示出相應的字符,而其它各位是熄滅的。如此循環下去,就可以使各位顯示出將要顯示的字符。雖然這些字符不在同一時刻出現的,而在同一時刻只有一位顯示,其它各位熄滅,但由于LED顯示器的余輝和人眼視覺的暫留作用,只要每位顯示的時間夠足夠短,則可以造成多位同時亮的假象,達到同時顯示的效果。

LED顯示的時間間隔應根據實際情況而定。發光二極管從導通到發光有一定的延時,導通時間太短,則發光太弱,人眼無法看清;但也不能時間太長,因為要受限于臨界閃爍頻率,而且次時間太長,則占用的CPU時間太多。另外,顯示位數增多,也將占用大量的CPU時間,因此動態顯示的實質是犧牲CPU的時間來換器件的減少。

3.1 總體設計思想

本次所設計的三角形發生器,是一種基于軟硬件結合的,以實時處理為目的器件。它是利用單片機與EDA技術相結合,來實現三角波波形信號發生器的功能。單片機部分采用AT89C51,利用匯編語言編程。FPGA部分采用EPFl0K30器件,在MAX+PlusⅡ環境下利用VHDL語言編程。所以,軟件編程分為兩個部分:即通過單片機編程實現鍵盤輸入數據及數碼管顯示部分和關于VHDL語言設計的波形生成及輸出部分。

3.2 單片機部分的設計及流程

對于單片機部分,我們可以通過鍵盤輸入任意數據,用兩個按鍵控制三角波的頻率增加或減少,用一個鍵來控制三個參數即頻率、幅度、占空比的轉換,還有一個鍵是換位鍵,最后一個就是開始鍵,并且能夠在數碼管上顯示出所鍵入的數據。然后單片機將接收到的數據傳送給控制芯片FPGA,通過FPGA的功能從而實現三角波波形的輸出。單片機的設計部分包括顯示程序和鍵盤處理程序兩個部分,流程圖如圖3-1所示。

3.3 VHDL語言的設計

3.3.1 八位二進制鎖存器的設計(sHCH42)

(1)程序如下:

LIBRARY IEEE;

USE IEEE.STD LOGIC 1164.ALL:

ENTTTTY SHCH42 IS

PORT(DIN:IN STD—LOGIC—VECTOR(7 D0wNT0 0);

DOUT:BUFFER

STD LOGIC VECTOR

f7

DOWNT0 01:

S:IN STD LOGIC:

ZT:0UT STD LOGIC 1:

END ENTTTY:

ARCHITECTURE ONE OF SHCH42 IS

BEGIN

PROCESS(S)

BEGIN

IF RISING EDGEfSl THEN

DOUT<=DIN:

ENDIF:

END PROCESS:

ZT<=‘0’WHEN DOUT=”00000000”ELSE

‘1’:

END ONE:

(2)程序說明:

此模塊實現的是對輸入的數值進行鎖存。鎖存器是在某時刻采樣,輸出端保持采樣結果的器件,有clock上升沿鎖存,下降沿鎖存兩種。將輸入的頻率(幅度)值經鎖存器鎖存,然后將數據準確無誤地送入下一個模快。

(3)波形仿真如圖3—2所示。

3.3.2 分頻器的設計(FPINl50c)

(1)程序如下:

LIBRARY IEEE:

USE IEEE.STD LOGIC 1164.ALL:

USE IEEE.STD LOGIC UNSIGNED.ALL:

ENTTTY FPINl50C IS

PORTfCLKI:IN STD LOGIC:

CONST:IN INTEGER RANGE O TO 150:

CLKO:BUFFER STD LOGIC:

END ENTITY:

ARCHrrECTURE 0NE 0F FPINl50C IS

SIGNAL M:INTEGER RANGE O TO 150:

BEGIN

PROCESS(CLKI.CONST)

BEGIN

IF CONST=O THEN

CIJK0<=CLKI:

ELSIF RISING EDGEfCLKn THEN

IF M=CONST THEN CLK0<=‘1’:M<=0:

ELSE M<=M+1:CLK0<=‘0’:

ENDIF:

ENDIF:

END PROCESS:

END ONE:

(2)程序說明:

此次所設計實現的是分頻功能。對給定頻率進行分頻,以得到所需的頻率。

(3)波形仿真如圖3—3所示

3.3.3 四位二進制鎖存器的設計(sHcH4)

(1)程序如下:

LIBRARY IEEE:

USE IEEE,STD LOGIC 1 164,AIJTJ:

ENTTTY SHCH4 IS

PORT(DIN:IN STD—LOGIC—VECTOR(3 DOWNT0 0);

DOUT:BUFFER

STD LOGIC VECTOR (3DOWNT0 0):

S:IN STD LOGIC:

ZT:OUT STD LOGICl:

END ENTTTY:

ARCHITECTURE ONE OF SHCH4 IS

BEGIN

PROCESS(S)

BEGIN

IF S=‘1’THEN

DOUT<=DIN:

ENDIF:

END PROCESS:

ZT<=‘0’WHEN DOUT=”0000”ELSE

‘1’:

END ONE:

(2)程序說明:

此模塊實現的是對輸入的數值進行鎖存。主要是四位二進制數的鎖存,主要是對占空比的參數的鎖仔。

(3)波形仿真如圖3—4所示。

3.3.4 分頻器的設計(FENPIN)

(1)程序如下:

LIBRARY IEEE:

USE IEEE,STD LOGIC 1164.ALL:

ENTTTY FENPIN IS

PORTfCLK:IN STD LOGIC:

CON:IN INTEGER RANGE 0 TO 9:

CC:OUT STD LOGIC):

END ENTTTY:

ARCHITECTURE ONE OF FENPIN IS

SIGNAL M1:INTEGER RANGE 0 T0 9:

BEGIN

PROCESS(CLK)

BEGIN

IF RISING EDGEfCLKl THEN

IF(M1=CON)THEN CC<=‘1’;M1<=0;

ELSE M1<=Ml+1:CC<=‘0’:

ENDIF:

ENDIF:

END PROCESS:

END ONE:

(2)程序說明:

此模塊計實現的是分頻功能。對給定頻率進行分頻,以得到所需的頻率。此模塊主要是對三角波的占空比的調節。

(3)波形仿真如圖3—5所示。

3.3.5 分頻器的設計(FENPIN2)

(1)程序如下:

LIBRARY IEEE:

USE IEEE.STD LOGIC 1 164,ALL:

USE IEEE.STD LOGIC UNSIGNED,ALL:

ENTTTY FENPTN2 IS

PORT(CLK)IN STD LOGIC:

CON:IN INTEGER RANGE 0 TO 9:

CC:OUT STD LOGIC):

END ENTITY:

ARCHTEECTURE 0NE 0F FENPIN2 IS

SIGNAL M1:INTEGER RANGE 0 TO 9:

SIGNAL M2:INTEGER RANGE 0 TO 9:

BEGIN

M2<=9-CON:

PROCESS (CLK)

BEGIN

IF RISING EDGE(CLK) THEN

IF(M1=M2)THEN CC<=‘1’;M1<=0;

ELSE M1<=Ml+1:CC<=‘0’:

ENDIF:

ENDIF:

END PROCESS:

END ONE:

(2)程序說明:

此模塊實現的是分頻功能。此模塊與上個模塊有互補的作用,主要是對三角波的占空比的調節。最小比值為1:9,最大比值為9:1。

(3)波形仿真如圖3—6所示。

3.3.6 計數器的設計(COUNT)

(1)程序如下:

LIBRARY IEEE:

USE IEEE.STD LOGIC 1164.ALL:

ENTITY COUNT IS

PORT(CLK),CLK2,CTR0:IN STD—LOGIC;

M:OUT INTEGER RANGE 0 TO 63:

CZ,CF:OUT STD_LOGIC);

ENDENTITY:

ARCHITECTURE ONE OF COUNT IS

SIGNAL M1:INTEGER RANGE 0 TO 63:

SIGNAL CLK:STD LOGIC:

BEGIN PROCESS(CLK,CTRO)

BEGIN

IF RISING EDGE(CLK) THEN

IF CTR0=‘1’THEN CZ<=‘0’:

IF M1=62 THEN CF<=‘1’:

ELSE CF<=‘0’:END IF:

IF M1=63 THEN M1<=0:

ELSE M1<=M1+1:

ENDIF:

ELSE CF<=‘0’:

IF M1=1 THEN CZ<=‘1’:

ELSE CZ<=‘0’:END IF:

IF M1=0 THEN M1<=63:

ELSE M1<=M1—1:

ENDIF:

ENDIF:

ENDIF:

END PROCESS:

M<=M1:

CLK<=CLKI W HEN CTRO=T ELbE

CLK2:

END ONE:

(2)程序說明:

此模塊實現的是計數的功能。主要實現兩個功能:

1 本次三角波的產生由64個點構成,主要對64個點進行計數,當計數器計到63的時,計數器重新再重0開始計數。再由7478來控制數的加減范圍,由一個端口輸入信號,用此信號來控制計數器模塊輸出是加是減。

2 對占空比參數的調節。使這占空比不能出現錯誤,如出現錯誤則不能產生三角波。

(3)波形仿真如圖3—7所示。

4.1 硬件調試

4.1.1 調試過程

首先將硬件電路板接通電源和示波器,輸入電壓5V,通過四個按鍵來改變三角波的頻率、幅度、占空比。其中有一個鍵是轉換鍵,即頻率、幅度、占空比之間的轉換,兩個鍵控制選定參數值大小,還有一個為確認鍵。選擇要轉換的參數,按確認鍵選定,再通過兩個鍵來改變其參數數值,然后在示波器上顯示,且三角波形是由64個點構成的一個三角波形。

4.1.2 注意事項:其中注意電源的正負極性不要接反。

4.2 軟件調試

4.1.2 調試過程

1 單片機部分。

單片機的設計包括顯示程序和鍵盤處理程序兩個部分。在程序編譯通過后,將程序固化到89C51中,我們可以通過改變硬件電路板上的4個按鍵,觀察數碼管上是否有相應的顯示,如果正確,說明程序無誤,單片機已經將頻率和相位的數值送入到FPGA中了。

2 FPGA部分。

FPGA部分是由3個部分構成:分頻器(FPINI50C、FENPIN、FENPIN2)、鎖存器(sHCH42、SHCH4)、計數器(cOUNT)。將這個部分的程序分別在EDA的工作環境下編譯通過之后,進行波形仿真。如果波形仿真正確,說明程序無誤可以實現正弦波的顯示。然后將程序編譯到FPGA中,通過硬件連接和調試,從而實現兩路正弦波的波形輸出。如圖4-1、圖4-2、圖4-3、圖4-4、圖4-5、圖4-6所示分別為分頻器(FPIN150C、FENPIN、FENPIN2)、鎖存器(SHCH42、SHCH4)、計數器(COUNT)的編譯結果。

4.2.2 注意事項

注意在EDA環境下的波形仿真。如果波形仿真正確,說明程序無誤,可以實現最后波形的輸出;如果波形仿真錯誤,則說明程序不正確,需要改正后再編譯調試直至正確為止。在示波器上觀察波形,要注意示波器的使用要正確。

5.1 結論

在邵邴新老師的帶領和幫助下,我取得了較大的成績,首先完成了設計題目的基本要求,并實現了單片機與FPGA相結合的三角波的波形信號發生器。

通過本次畢業設計,使我鞏固了以前所學的EDA技術、單片機、數字電子、模擬電子的知識,并把理論知識應用到了實踐中去,這樣大大加強了我的動手、動腦能力。我認為當今社會是信息技術高速發展的時代,優勝劣汰也逐漸顯露出來,這就要求我們要有真才實學,這樣才能在激烈的競爭中脫穎而出,展現出你的才華,才能更好的生存,否則將會被這個社會淘汰。

對于剛畢業的大學生來說,要想找到一份稱心的工作,就必須具備扎實的理論知識和較強的動手能力,而本次設計正鍛煉了我這方面的能力,使我學到了許多知識,我相信這幾個月的設計會對我產生巨大的影響,同時它也激發了我學習的興趣,使我受益匪淺。

5.2 展望

隨著FPGA性能的不斷提高,其速度將越來越快,內部集成的門電路越來越多,但是其價格將呈不斷下降的趨勢。利用FPGA開發數字信號發生器已被各大公司采用。預計在不遠的將來會出現頻率穩定度更高、步進電壓更大,步進頻率更小的任意波形信號發生器。

5.2.1 EDA技術的發展與應用

電子設計技術的核心就是EDA技術,EDA是指以計算機為工作平臺,融合應用電子技術、計算機技術、智能化技術最新成果而研制成的電子CAD通用軟件包,主要能輔助進行三方面的設計工作,即IC設計、電子電路設計和PCB設計。EDA技術已有30年的發展歷程,大致可分為三個階段。20世紀70年代為計算機輔助設計(CAD)階段,人們開始用計算機輔助進行IC版圖編輯、PCB布局布線,取代了手工操作。20世紀80年代為計算機輔助工程(CAE)階段。與CAD相比,CAE除了有純粹的圖形繪制功能外,又增加了電路功能設計和結構設計,并且通過電氣連接網絡表將兩者結合在一起,實現了工程設計。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動布局布線,PCB后分析。90年代為電子系統設計自動化(EDA)階段。

5.2.2 EDA技術的基本特征

EDA代表了當今電子設計技術的最新發展方向,它的基本特征是:設計人員按照“自頂向下”的設計方法,對整個系統進行方案設計和功能劃分,系統的關鍵電路用一片或幾片專用集成電路(ASIC)實現,然后采用硬件描述語言(HDL)完成系統行為設計,最后通過綜合器和適配器生成最終的目標器件,這樣的設計方法被稱為高層次的電子設計方法。

5.2.3 EDA技術的基本設計方法

EDA技術的每一次進步,都引起了設計層次上的一次飛躍,圖5-1示出EDA技術設計層次的飛躍。物理級設計主要指IC版圖設計,一般由半導體廠家完成,對電子工程師沒有太大的意義,因此本文重點介紹電路級設計和系統級設計。

1 電路級設計工作流程如圖5-2所示。電子工程師接受系統設計任務后,首先確定設計方案,并選擇能實現該方案的合適元器件,然后根據具體的元器件設計電路原理圖。接著進行第一次仿真,其中包括數字電路的邏輯模擬、故障分析,模擬電路的交直流分析、瞬態分析。在進行系統仿真時,必須要有元件模型庫的支持,計算機上模擬的輸入輸出波形代替了實際電路調試中的信號源和示波器。這一次仿真主要是檢驗設計方案在功能方面的正確性。

仿真通過后,根據原理圖產生的電氣連接網絡表進行PCB板的自動布局布線。在制作PCB板之前還可以進行PCB后分析,其中包括熱分析、噪聲及竄擾分析、電磁兼容分析、可靠性分析等,并可將分析后的結果參數反標回電路圖,進行第二次仿真,也稱為后仿真。后仿真主要是檢驗PCB板在實際工作環境中的可行性。

由此可見,電路級的EDA技術使電子工程師在實際的電子系統產生前,就可以全面地了解系統的功能特性和物理特性,從而將開發風險消滅在設計階段,縮短了開發時間,降低了開發成本。

2.4系統級設計進入20世紀90年代以來,電子信息類產品的開發明顯呈現兩個特點:一是產品復雜程度提高;二是產品上市時限緊迫。然而,電路級設計本質上是基于門級描述的單層次設計,設計的所有工作(包括設計輸入、仿真和分析、設計修改等)都是在基本邏輯門這一層次上進行的,顯然這種設計方法不能適應新的形勢,一種高層次的電子設計方法,也即系統級設計方法,應運而生。

高層次設計是一種“概念驅動式”設計,設計人員無須通過門級原理圖描述電路,而是針對設計目標進行功能描述。由于擺脫了電路細節的束縛,設計人員可以把精力集中于創造性的方案與概念的構思上,一旦這些概念構思以高層次描述的形式輸入計算機,EDA系統就能以規則驅動的方式自動完成整個設計。這樣,新的概念就能迅速有效地成為產品,大大縮短了產品的研制周期。不僅如此,高層次設計只是定義系統的行為特性,可以不涉及實現工藝,因此還可以在廠家綜合庫的支持下,利用綜合優化工具將高層次描述轉換成針對某種工藝優化的網絡表,使工藝轉化變得輕而易舉。首先,工程師按照“自頂向下”的設計方法進行系統劃分。其次,輸入VHDL代碼,這是高層次設計中最為普遍的輸入方式。

此外,還可以采用圖形輸入方式(框圖,狀態圖等),這種輸入方式具有直觀、容易理解的優點。第三步是,將以上的設計輸入編譯成標準的VHDL文件。第四步是進行代碼級的功能仿真,主要是檢驗系統功能設計的正確性。這一步驟適用大型設計,因為對于大型設計來說,在綜合前對源代碼仿真,就可以大大減少設計重復的次數和時間。一般情況下,這一仿真步驟可略去。第五步是,利用綜合器對VHDL源代碼進行綜合優化處理,生成門級描述的網絡表文件,這是將高層次描述轉化為硬件電路的關鍵步驟。綜合優化是針對ASIC芯片供應商的某一產品系列進行的,所以綜合的過程要在相應的廠家綜合庫支持下才能完成。第六步是,利用產生的網絡表文件進行適配前的時序仿真,仿真過程不涉及具體器件的硬件特性,是較為粗略的。一般的設計,也可略去這一仿真步驟。第七步是利用適配器將綜合后的網絡表文件針對某一具體的目標器件進行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優化、布局布線。第八步是在適配完成后,產生多項設計結果:

(1)適配報告,包括芯片內部資源利用情況,設計的布爾方程描述情況等;

(2)適配后的仿真模型;

(3)器件編程文件。

根據適配后的仿真模型,可以進行適配后的時序仿真,因為已經得到器件的實際硬件特性(如時延特性),所以仿真結果能比較精確地預期未來芯片的實際性能。如果仿真結果達不到設計要求,就需要修改VHDL源代碼或選擇不同速度和品質的器件,直至滿足設計要求;最后一步是將適配器產生的器件編程文件通過編程器或下載電纜載入到目標芯片FPGA或CPLD中。如果是大批量產品開發,則通過更換相應的廠家綜合庫,輕易地轉由ASIC形式實現。

小結:綜上所述,EDA技術是電子設計領域的一場革命,目前正處于高速發展階段,每年都有新的EDA工具問世。廣大電子工程人員掌握這一先進技術,這不僅是提高設計效率的需要,更是我國電子工業在世界市場占有一席之地的重要技術手段。

主站蜘蛛池模板: 99热这里只有成人精品国产| 国产一区免费在线观看| 97在线观看视频免费| 91无码人妻精品一区| 国产丝袜啪啪| 国产精品网址在线观看你懂的| 99久久精品美女高潮喷水| 亚洲成人高清在线观看| 色国产视频| 欧美精品导航| 高清视频一区| 精品欧美视频| 中文字幕无码制服中字| 亚洲精品天堂自在久久77| 欧美在线精品一区二区三区| 99福利视频导航| 亚洲国产精品人久久电影| 男女性色大片免费网站| 激情综合网址| 亚洲无码高清视频在线观看| 国产成人精品亚洲日本对白优播| 在线观看免费人成视频色快速| 欧美精品伊人久久| 国产一区在线观看无码| 五月婷婷精品| 欧美激情网址| 欧美激情视频在线观看一区| 在线日本国产成人免费的| 在线人成精品免费视频| 亚洲欧洲自拍拍偷午夜色| 日本国产在线| 亚洲欧洲日韩久久狠狠爱| 精品无码人妻一区二区| 成人福利在线视频免费观看| 国产网站黄| 久久综合亚洲色一区二区三区| 亚洲免费黄色网| 人人91人人澡人人妻人人爽| 久久久久久高潮白浆| 国内精品视频区在线2021| 欧美a网站| 久久狠狠色噜噜狠狠狠狠97视色 | 色噜噜久久| 成人亚洲天堂| 无码又爽又刺激的高潮视频| 久久性妇女精品免费| 久久福利网| 国产黄网站在线观看| 亚洲国产精品日韩欧美一区| 久久久久免费看成人影片| 亚洲中文无码h在线观看| 91亚洲精选| a级毛片免费看| 美女免费精品高清毛片在线视| 一级毛片免费高清视频| 亚洲国产午夜精华无码福利| 91精品国产自产在线老师啪l| 成人福利在线免费观看| 一本大道香蕉久中文在线播放 | 深夜福利视频一区二区| 九九九国产| 婷婷综合在线观看丁香| 4虎影视国产在线观看精品| 国产人成在线观看| 无码中文字幕乱码免费2| 精品福利一区二区免费视频| 久久精品亚洲热综合一区二区| 91精品啪在线观看国产60岁| 欧美国产日本高清不卡| 国产三级毛片| 国产精品成人一区二区| 91精品视频在线播放| a毛片免费看| 亚洲va视频| 久久综合亚洲色一区二区三区| 国产av剧情无码精品色午夜| 思思热在线视频精品| 国产精品嫩草影院av| 综合色区亚洲熟妇在线| 久久国语对白| 毛片三级在线观看| 免费三A级毛片视频|