《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動(dòng)態(tài) > 具有高可靠性的高速連續(xù)數(shù)據(jù)采集的設(shè)計(jì)與實(shí)施方法

具有高可靠性的高速連續(xù)數(shù)據(jù)采集的設(shè)計(jì)與實(shí)施方法

2009-02-05
作者:吳道虎1 王緒軍2

??? 摘? 要: 從硬件和軟件設(shè)計(jì)兩個(gè)方面介紹保證PCI總線的高速連續(xù)采集系統(tǒng)的數(shù)據(jù)完整性、可靠性的實(shí)用關(guān)鍵技術(shù)及具體實(shí)施方法、應(yīng)用案例,列出了大量實(shí)用的設(shè)計(jì)技術(shù)及應(yīng)用程序。該設(shè)計(jì)先進(jìn)、可靠,在實(shí)踐中得到了應(yīng)用。?

??? 關(guān)鍵詞: 高速數(shù)據(jù)采集? 可靠性和完整性? 關(guān)鍵技術(shù)? 設(shè)計(jì)?

?

??? 在許多測量與控制領(lǐng)域,如電力諧波測試、聲光信號處理、現(xiàn)代雷達(dá)系統(tǒng)等均要求在線進(jìn)行小波數(shù)字信號分析與處理,其中最為關(guān)鍵的是如何利用香農(nóng)(Shannon)采樣理論將外部信號毫無失真地采集并轉(zhuǎn)化為計(jì)算機(jī)所用的數(shù)字信號。目前較為流行的方法是提高A/D的轉(zhuǎn)換速率和計(jì)算機(jī)的處理速度。同時(shí),提高數(shù)據(jù)的傳輸速率也是較為關(guān)鍵的。本文以高速模數(shù)轉(zhuǎn)換芯片AD1674為基礎(chǔ),采用PCI總線協(xié)議,從硬件和軟件設(shè)計(jì)入手探討提高整個(gè)數(shù)據(jù)采集系統(tǒng)的最大采樣頻率高可靠性的方法,其中有些方法得到了實(shí)踐證實(shí)。?

??? 一般而言,觸發(fā)A/D轉(zhuǎn)換有軟件觸發(fā)、定時(shí)器同步觸發(fā)及外部觸發(fā)三種方式。而數(shù)據(jù)的傳輸方式有軟件查詢、中斷方式、DMA方式及FIFO方式。四種數(shù)據(jù)傳輸?shù)乃俾时容^如下(以A/D轉(zhuǎn)換基頻10MHz為例):?

??? 軟件查詢????????? ? 10~20kS/s(每秒10k次,與所用計(jì)算機(jī)的主頻有關(guān))?

??? 中斷方式????????? ? 10~30kS/s?

??? DMA方式????????? ?? 200kS/s?

??? FIFO方式(w/repeat input string)???? 330kS/s?

??? 在一般控制系統(tǒng)中,采用軟件觸發(fā)A/D、軟件查詢和中斷數(shù)據(jù)傳輸方式就能滿足測控要求。但在要求高速連續(xù)數(shù)據(jù)采集的情況下,顯然不能滿足系統(tǒng)要求。在筆者設(shè)計(jì)的智能化高速連續(xù)數(shù)據(jù)采集系統(tǒng)中,采用了定時(shí)器同步觸發(fā)A/D與FIFO(帶重復(fù)字符輸入方式)數(shù)據(jù)傳輸方式相結(jié)合的方法大大提高了系統(tǒng)的采樣頻率和數(shù)據(jù)的可靠性,改善了在Windows環(huán)境下數(shù)據(jù)傳輸?shù)男阅堋?

1 高速連續(xù)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)的幾項(xiàng)關(guān)鍵技術(shù)?

1.1 定時(shí)觸發(fā)脈沖源的設(shè)計(jì)?

??? 由于系統(tǒng)要求高可靠性、高采樣頻率以及連續(xù)采樣,利用Intel 8254定時(shí)計(jì)數(shù)功能來觸發(fā)A/D轉(zhuǎn)換,嚴(yán)格控制時(shí)序以及數(shù)據(jù)采樣間隔,合理利用Intel 8254的三個(gè)定時(shí)計(jì)數(shù)器。定時(shí)計(jì)數(shù)器0作備用,用作A/D的外部觸發(fā)源,定時(shí)器1和2配合使用。其中定時(shí)器1的輸入和定時(shí)時(shí)鐘基頻(40MHz)相聯(lián),其輸出作為定時(shí)器2的輸入,定時(shí)器2的輸出作為A/D轉(zhuǎn)換的定時(shí)脈沖觸發(fā)源。?

??? 定時(shí)器1和2均采用方式2工作。定時(shí)計(jì)數(shù)器1和2的計(jì)數(shù)值CounterT1和CounterT2,必須滿足如下關(guān)系式: CounterT1×CounterT2=時(shí)鐘基頻/SampleSpeed(系統(tǒng)的采樣頻率)。?

??? 其初始化程序如下(編程平臺為Visual C++6.0):?

??? ucValue = 0xb4;???????? //定時(shí)器2,方式2,ucValue為定時(shí)器2的初始化值?

??? _outp(BaseAdr+33, ucValue);? //BaseAdr為板卡的基地址?

??? _outp(BaseAdr+32, CounterT2 & 0xff);?

??? _outp(BaseAdr+32, (CounterT2 >> 8) & 0xff);?

??? ucValue=(ucValue & ~0xc0)| 0x40; //定時(shí)器1,方式2?

??? _outp(BaseAdr+33, ucValue);?

??? _outp(BaseAdr+31, CounterT1 & 0xff);?? ?

??? _outp(BaseAdr+31, (CounterT1 >> 8) & 0xff);?

1.2 雙端口RAM技術(shù)?

??? 系統(tǒng)要求不間斷連續(xù)采樣。為了克服常規(guī)的固定I/O端口讀寫方式容易造成丟失數(shù)據(jù)且數(shù)據(jù)傳輸速率低的缺陷,系統(tǒng)采用雙端口RAM技術(shù)。利用計(jì)算機(jī)內(nèi)存直接映象技術(shù),對內(nèi)存物理地址直接讀寫,克服了數(shù)據(jù)傳輸?shù)钠款i效應(yīng),滿足了系統(tǒng)的實(shí)時(shí)性。在雙端口RAM設(shè)計(jì)過程中,按照工業(yè)控制標(biāo)準(zhǔn)實(shí)行全地址譯碼,以確保全地址空間的每一個(gè)存儲(chǔ)單元的地址在總線上唯一。?

??? 雙端口RAM采用英國ARCT公司的雙端口RAM HK12S25(8K×8bits),采樣數(shù)據(jù)與PC接口采用FIFO存儲(chǔ)器(先入先出存儲(chǔ)器)作為緩沖,系統(tǒng)具有FIFO全滿(FULL)、半滿(HALF)標(biāo)志。HALF標(biāo)志用于決定PC機(jī)什么時(shí)間開始讀取轉(zhuǎn)換結(jié)果,當(dāng)PC監(jiān)測到HALF信號有效,表明在FIFO中至少有4K個(gè)數(shù)據(jù)可以為PC讀取。同時(shí)FIFO至少提供4000個(gè)空間作為讀數(shù)時(shí)A/D數(shù)據(jù)存放的緩沖區(qū)。由于PC采用RAM映射方式從FIFO讀數(shù),通常速度為1.2M~2M字/秒,PC機(jī)有充足的時(shí)間來進(jìn)行實(shí)時(shí)數(shù)據(jù)處理等操作。?

??? 寄存器的定義(BaseAdr+20):?

??? D7? D6? D5? D4? D3? D2? D1? D0?

????????????? FULL? HALF???? 中斷標(biāo)志??? ?

??? 輸入模擬通道轉(zhuǎn)換控制采用LUT(RAM查找表)驅(qū)動(dòng)模式,LUT的容量為256單元,即輸入通道轉(zhuǎn)換有256種模式。同時(shí),LUT專門提供一條額外的控制線輸出到外部,可以為用戶提供可編程狀態(tài)標(biāo)志、同步采樣保持器控制等功能。同時(shí)應(yīng)特別注意LUT驅(qū)動(dòng)通道轉(zhuǎn)換的功能,它可以提供非線性通道控制模式——不同的通道具有不同的采樣速度。?

??? 利用_fmemmove(data1,data2,Samplen)將數(shù)據(jù)映射到高端內(nèi)存,其中:data1為數(shù)據(jù)目的指針,指向一個(gè)內(nèi)存中足夠大的空間;data2 可以用FP_SEG、P_OFF來賦值;SampLen為傳輸字節(jié)長度。為了進(jìn)一步提高訪問高端內(nèi)存地址的速度,也可在VC++中嵌入?yún)R編語言_asm movX1,X2。不過,假如采用面向?qū)ο蟮腣C++編程,采用_fmemmove足以滿足系統(tǒng)的采樣要求。?

1.3 多線程的數(shù)據(jù)采集軟件設(shè)計(jì)?

??? 在要求高速、高可靠性和連續(xù)采樣的情況下,一方面要求系統(tǒng)不間斷地進(jìn)行數(shù)據(jù)采集,同時(shí)還要進(jìn)行數(shù)據(jù)的在線實(shí)時(shí)處理,否則將會(huì)造成數(shù)據(jù)的丟失或不連續(xù)。在軟件設(shè)計(jì)中,引入了Windows線程的多任務(wù)處理技術(shù)(multitasking)。一個(gè)線程是程序的一條執(zhí)行路徑。MFC(Microsoft Foundation Class)明確區(qū)分了兩種線程:用戶界面線程(UI)是一個(gè)消息泵,用于處理用戶界面的任務(wù);工作者線程(Worker Thread)完成用戶自己定義的任務(wù),可以充分利用工作者線程來完成數(shù)據(jù)的采集、傳輸以及處理,以保證數(shù)據(jù)的實(shí)時(shí)性、完整性和連續(xù)性。?

??? 在使用多線程時(shí),如何防止兩個(gè)線程同時(shí)訪問同一個(gè)數(shù)據(jù)集(SRAM中的4K個(gè)數(shù)據(jù)可以看作是一個(gè)數(shù)據(jù)集),以及當(dāng)HALF FLAG標(biāo)志已出現(xiàn),一個(gè)線程正在往SRAM中寫數(shù)據(jù)時(shí),另一個(gè)線程要讀取SRAM的數(shù)據(jù),該如何處理,是保證數(shù)據(jù)完整性和連續(xù)性的關(guān)鍵。有四種使線程編程更安全的線程同步對象,保證多個(gè)線程能在一起適當(dāng)?shù)貐f(xié)調(diào)工作:Critical Section(臨界區(qū))、Mutexe(互斥)、Semaphore(信號量)以及Event(事件)。其中Critical Section是保證在某一個(gè)時(shí)刻只有一個(gè)線程能訪問SRAM的簡易方法,通過對鄰界區(qū)對象的Locking(加鎖)和Unlocking(解鎖)來使得任何線程都可以調(diào)用訪問SRAM中的數(shù)據(jù)集,同時(shí)每個(gè)線程都必須禮貌地等待他們訪問受保護(hù)的SRAM中數(shù)據(jù)的機(jī)會(huì);Mutexe與Critical Section很相似,只是使用起來稍復(fù)雜一點(diǎn);Semaphore與前兩者也很相似,但Semaphore允許多個(gè)線程同時(shí)訪問同一資源。這與前兩者在同一時(shí)刻只允許一個(gè)線程訪問一個(gè)資源的限制不同。在創(chuàng)建Semaphore時(shí),需要指出允許同時(shí)訪問同一資源的最大線程數(shù)目。在本系統(tǒng)中,主要有數(shù)據(jù)采集、標(biāo)志位辨別、數(shù)據(jù)傳輸、信號處理等線程,使用Semaphore方法已足以滿足要求。但是在設(shè)計(jì)線程時(shí),要合理規(guī)劃多個(gè)線程對同一資源的使用順序,這可以通過設(shè)定每個(gè)線程的優(yōu)先級別來實(shí)現(xiàn)。在本系統(tǒng)中數(shù)據(jù)采集具有最高的優(yōu)先級,其次為數(shù)據(jù)傳輸。線程優(yōu)先級常量設(shè)定如下:?

THREAD_PRIORITY_ABOVE_NORMAL?? 設(shè)定一個(gè)比普通級高一級的優(yōu)先級?

THREAD_PRIORITY_BELOW_NORMAL?? 設(shè)定一個(gè)比普通級低一級的優(yōu)先級?

THREAD_PRIORITY_HIGHEST????????設(shè)定一個(gè)比普通級高二級的優(yōu)先級?

THREAD_PRIORITY_LOWEST?????????設(shè)定一個(gè)比普通級低二級的優(yōu)先級?

THREAD_PRIORITY_NORMAL?????????設(shè)定為正常優(yōu)先級?

應(yīng)用程序?yàn)??

UNIT THREADSAMPLE(LPVOID param)?

{?? Csemaphore? Semaphore(2,6);?

??? someResource.UseResource();?

??? ::MessageBox(HWND) param;?

??? _outp(BaseAdr+2,0x34);? //選擇Pacer觸發(fā)A/D?

??? _outp(BaseAdr+4,0x01);? //啟動(dòng)Pacer ……}?

UNIT THREADTRANSDATA(LPVOID param)?

{?? float data1,data2;?

??? ?

??? someResource.UseResource();?

??? ::MessageBox(HWND) param;?

??? _fmemmove(data1,data2,Samplen); ……}?

1.4 高速數(shù)據(jù)鎖存技術(shù)?

??? 在高速連續(xù)數(shù)據(jù)采樣系統(tǒng)設(shè)計(jì)時(shí),高速數(shù)據(jù)的鎖存一直是個(gè)難點(diǎn)。A/D轉(zhuǎn)換的速率越快,數(shù)據(jù)鎖存的難度越大。為確保數(shù)據(jù)的完整性,采用將數(shù)據(jù)輸出端口的數(shù)據(jù)分成四路輸出,為了補(bǔ)償數(shù)據(jù)的傳輸延時(shí)以及SRAM的建立時(shí)間,在進(jìn)行四分頻時(shí)要推遲1~2個(gè)時(shí)鐘,數(shù)據(jù)進(jìn)入SRAM后,便可以將數(shù)據(jù)分組打包傳輸給計(jì)算機(jī)進(jìn)行處理。?

1.5 板卡的抗干擾措施?

??? 在高速連續(xù)數(shù)據(jù)采樣系統(tǒng)設(shè)計(jì)時(shí),應(yīng)避免各個(gè)信號之間的共模干擾以及信號的完整性。在本PCB設(shè)計(jì)時(shí),采用了六層板設(shè)計(jì)技術(shù),分別為布線和元件層、模擬地和±12V電源層、數(shù)字地以及ECL的VCC信號層、模擬+5V和數(shù)字+5V和+3.3V層、模擬-5V和數(shù)字-5V和+2.5V層、布線和元件層,并且使用了大面積的電源和地層可以使各信號線與地或電源平面之間形成一個(gè)緊偶合以達(dá)到減少信號線之間的共模干擾。模擬信號與數(shù)字信號相互隔離,并單獨(dú)供電。這些措施的采用,有效地抑制了信號間的共模干擾。?

2 實(shí)際應(yīng)用?

??? 筆者設(shè)計(jì)的基于PCI總線協(xié)議的板卡已應(yīng)用于某國防項(xiàng)目,由于篇幅的原因,省略硬件結(jié)構(gòu)圖,程序框圖如圖1所示。為了加快數(shù)據(jù)的讀寫速度,采用了16Bits寄存器,在讀取A/D轉(zhuǎn)換結(jié)果時(shí)可一次讀入16Bits數(shù)據(jù)。16Bits數(shù)據(jù)格式如下:?

?

?

?

??? 部分關(guān)鍵源代碼如下:

??? #include ″CtrsysDoc.h″? #include ″afx.h″? #include ″afxmt.h″? //VC++頭文件?

??? _outp(BaseAdr+4,0x01);??? //enable pacer to trig A/D?convert ?

??? while ( (_inp( BaseAdr+20 ) & 0x08 ) == 0 ) ;?

??? _outp(BaseAdr+7,0x20);?????????? ?

??? for(i=0; i < FSIZE/2; i++)?

??? {?

??? ?? wData = _inpw(BaseAdr);???? ??? //得到FIF0數(shù)據(jù)?

??? ?? *fData++=(wData>>4)*9.98/0xfff; //轉(zhuǎn)化為實(shí)際的浮點(diǎn)數(shù)?

???? ? *ICH++=wData & 0x000f; ????? //得到自動(dòng)掃描的通道數(shù)?

??? }?

??? 隨著計(jì)算機(jī)工業(yè)控制技術(shù)的發(fā)展,具有高可靠性的高速且連續(xù)數(shù)據(jù)采集系統(tǒng)或板卡是一種發(fā)展趨勢。本文探討了基于PCI總線的高速數(shù)據(jù)采集卡設(shè)計(jì)的一些方法,具有一定的參考價(jià)值,經(jīng)實(shí)踐證實(shí)實(shí)用可靠。其中還有許多相關(guān)技術(shù)有待于研究和開發(fā),特別是DSP技術(shù)的發(fā)展,會(huì)更加促進(jìn)這一技術(shù)的完善和發(fā)展。?

參考文獻(xiàn)?

1 于海生.計(jì)算機(jī)控制技術(shù),北京:清華大學(xué)出版社,1999.7?

2 齊文.用VC++實(shí)現(xiàn)工控設(shè)備多線程控制程序.電子技術(shù)應(yīng)用,2001;27(3)?

3 龐麗萍.操作系統(tǒng)原理.武漢:武漢華中理工大學(xué)出版社,1996.6

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品视频免费观看| 午夜精品久久99蜜桃的功能介绍| 亚洲精品一级| 亚洲国产精品一区二区尤物区| 国产婷婷色综合av蜜臀av| 国产精品视频九色porn| 欧美少妇一区| 欧美日韩一区免费| 欧美三级日本三级少妇99| 欧美区国产区| 欧美日韩国产综合一区二区| 欧美日韩精品综合在线| 欧美日韩国产一区| 欧美日韩亚洲综合一区| 欧美性jizz18性欧美| 国产精品久久综合| 国产麻豆一精品一av一免费| 国产欧美69| 国产精品午夜久久| 国产亚洲欧美一区在线观看| 韩国一区二区在线观看| 黄色亚洲免费| 亚洲国产欧美久久| 亚洲毛片视频| 亚洲视频中文字幕| 亚洲欧美日韩国产精品| 久久成人综合视频| 亚洲欧洲久久| 亚洲网友自拍| 久久av资源网| 猛干欧美女孩| 欧美日本精品| 国产精品入口66mio| 国内成人精品一区| 亚洲韩国青草视频| 亚洲色无码播放| 欧美亚洲免费电影| 91久久精品美女| 一区二区三区免费看| 亚洲欧美日韩成人| 久久久久久综合| 欧美激情性爽国产精品17p| 国产精品v欧美精品v日本精品动漫| 国产精品丝袜白浆摸在线| 国产一二三精品| 亚洲人成绝费网站色www| 亚洲视频一区二区| 久久国产精品免费一区| 99国产精品视频免费观看一公开 | 99re热这里只有精品视频| 亚洲一区bb| 久久久久女教师免费一区| 女生裸体视频一区二区三区| 欧美午夜欧美| 激情综合网址| 一本久道久久综合狠狠爱| 欧美影院成年免费版| 夜夜嗨一区二区| 久久国产主播| 欧美日本一区二区三区| 国产一区二区三区无遮挡| 亚洲伦理在线观看| 欧美在线看片a免费观看| 一本色道久久综合狠狠躁篇怎么玩 | 久久久成人网| 欧美日韩一区二区国产| 黄色成人在线网址| 亚洲深夜福利视频| 亚洲精品在线电影| 久久国产精品久久久| 欧美日韩精品在线视频| 伊人久久婷婷色综合98网| 亚洲综合首页| 在线亚洲精品| 欧美成人免费视频| 国产香蕉久久精品综合网| 亚洲美女尤物影院| 91久久精品国产| 久久国产精品99精品国产| 欧美性视频网站| 亚洲日韩第九十九页| 久久国产乱子精品免费女| 亚洲欧美日韩国产一区二区| 欧美高清一区| 狠狠综合久久av一区二区老牛| 国产精品99久久久久久www| 日韩视频一区二区三区在线播放免费观看| 久久精品视频在线看| 国产精品黄页免费高清在线观看| 亚洲大胆女人| 久久国产婷婷国产香蕉| 欧美亚洲视频一区二区| 国产精品v片在线观看不卡| 亚洲黄色av一区| 亚洲国产日韩欧美在线99| 欧美一区二区三区免费视频| 欧美系列精品| 夜夜嗨av一区二区三区四区| av成人动漫| 欧美精品一区二区三区很污很色的 | 伊人天天综合| 久久精品视频免费| 久久精品综合网| 国产麻豆日韩欧美久久| 中文欧美字幕免费| 亚洲午夜电影网| 欧美视频第二页| 一本色道久久精品| 亚洲视频精品| 欧美三日本三级少妇三99 | 中文高清一区| 亚洲亚洲精品三区日韩精品在线视频| 欧美精品国产精品| 亚洲人妖在线| 一区二区不卡在线视频 午夜欧美不卡在 | 影音先锋亚洲电影| 亚洲国产精品一区| 男女精品网站| 亚洲国产天堂网精品网站| 91久久夜色精品国产网站| 免费日韩精品中文字幕视频在线| 今天的高清视频免费播放成人 | 久久夜色精品国产亚洲aⅴ| 国内精品久久久久影院色| 久久精品国产一区二区三区免费看| 久久www成人_看片免费不卡| 国产女同一区二区| 欧美在线视频一区| 免费不卡在线观看| 亚洲七七久久综合桃花剧情介绍| 99热免费精品| 欧美四级电影网站| 亚洲午夜在线| 久久精品人人做人人综合| 精品成人国产| 99v久久综合狠狠综合久久| 欧美日韩综合另类| 亚洲尤物精选| 久久久久一区| 亚洲经典在线| 亚洲免费一在线| 国产一区二区三区奇米久涩| 亚洲国产天堂久久综合| 欧美极品影院| 亚洲一区二区三区四区中文 | 国产精品毛片高清在线完整版| 午夜精品视频在线观看一区二区| 久久久精品国产免大香伊| 在线免费高清一区二区三区| 日韩视频一区二区| 国产精品乱子久久久久| 久久精品99国产精品日本| 欧美精品激情在线观看| 亚洲午夜免费福利视频| 久久久999成人| 亚洲欧洲日本mm| 新片速递亚洲合集欧美合集| 狠狠色狠狠色综合人人| 一本色道久久88综合亚洲精品ⅰ| 国产精品久久中文| 亚洲国产另类久久精品| 欧美小视频在线| 久久er99精品| 欧美日韩中字| 亚洲第一黄网| 欧美午夜宅男影院在线观看| 欧美一区二区三区四区在线观看| 好吊视频一区二区三区四区| 亚洲国产精品www| 欧美激情综合| 亚洲欧美国产另类| 嫩草成人www欧美| 亚洲综合激情| 欧美国产精品久久| 午夜日韩av| 欧美日韩高清在线观看| 性xx色xx综合久久久xx| 欧美日韩喷水| 亚洲国产精品毛片| 国产精品美女在线观看| 亚洲精品国产欧美| 国产麻豆日韩| 在线视频日韩| 国内激情久久| 午夜精品久久久久久久白皮肤| 亚洲第一色在线| 久久爱另类一区二区小说| 亚洲精品字幕| 免费精品视频| 销魂美女一区二区三区视频在线| 欧美日韩你懂的| 亚洲欧洲一二三| 国产亚洲精品久久久久久| 亚洲视频中文字幕| 亚洲国产成人久久综合| 久久精品人人做人人爽| 亚洲午夜极品| 欧美日韩视频一区二区| 亚洲破处大片| 精品成人在线观看|