久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

嵌入式GPMC總線實戰(zhàn):FPGA連接、時序配置與設備樹驅(qū)動調(diào)試

嵌入式GPMC總線實戰(zhàn):FPGA連接、時序配置與設備樹驅(qū)動調(diào)試 在嵌入式圈子待久了你會發(fā)現(xiàn)一個規(guī)律只要是在TI的Sitara平臺AM335x、AM437x這些Cortex-A8/A9處理器上做過項目基本都繞不開GPMC這個名字。全稱General Purpose Memory Controller翻譯過來就是通用內(nèi)存控制器處理器的并行總線接口。它最典型的應用場景就是用類似SRAM的時序去連接FPGA、并行AD/DA、NOR Flash或者SRAM這類外設。我最早接觸GPMC是被一個項目逼的FPGA和AM335x之間要高速交換數(shù)據(jù)SPI太慢UART更不用說最后只能老老實實把GPMC調(diào)通。這篇文章就把我在實際項目中啃GPMC的筆記整理出來包括硬件連接、設備樹時序參數(shù)、驅(qū)動編寫和排錯經(jīng)驗適合正在調(diào)GPMC的同學也適合準備在TI平臺接并行外設但還沒入門的開發(fā)者。1. GPMC到底是什么嵌入式工程師為什么繞不開它1.1 一句話講清GPMC的定位把GPMC想成處理器對外開放的一扇“內(nèi)存窗口”就好理解了。處理器內(nèi)部有一大片地址空間其中一塊被劃給了GPMC控制器。當CPU訪問這塊地址空間時GPMC會把讀寫的請求自動變成一組并行信號發(fā)送到外部引腳上。外部設備只要按SRAM接口的標準來響應CPU就能用最簡單的方式讀寫它——不需要像I2C那樣先發(fā)設備地址、再發(fā)寄存器地址、再等應答也不需要像SPI那樣一bit一bit地搬運。CPU一條LDR指令下去數(shù)據(jù)就到寄存器里了整個過程對CPU來說是透明的。這也是GPMC和普通低速總線的本質(zhì)區(qū)別它的工作方式接近內(nèi)存總線而不是外設總線。對外部設備來說它像一顆SRAM對CPU來說它就是一塊可以隨機訪問的地址空間。你在代碼里寫*(volatile unsigned short *)0x08000000 0x55AA地址0x08000000正好落在GPMC的片選窗口上這行代碼就會觸發(fā)一次實實在在的并行總線寫周期。能像訪問內(nèi)存一樣訪問外部器件這是GPMC最迷人的地方。1.2 接FPGA為什么優(yōu)先選GPMC一次性把帶寬賬算明白很多人第一次選型時第一反應是“FPGA不就是傳數(shù)據(jù)嗎用SPI不就行了”。這句話在數(shù)據(jù)量小的時候沒毛病但一旦涉及圖像采集、高速ADC采樣、基帶信號處理這類場景SPI立刻就成了瓶頸。算一筆賬假設SPI時鐘40MHz一個時鐘傳1bit8位數(shù)據(jù)就需要8個時鐘周期理論峰值也就5MB/s。再算上片選、命令開銷、軟硬件交互的間隙實際有效帶寬能到3MB/s就不錯了。而GPMC走16位異步讀周期就算每個讀周期100ns理論帶寬已經(jīng)達到20MB/s——這還只是最普通的異步模式完全沒用到指令流水和突發(fā)機制。如果外設支持同步burst模式GPMC_CLK可以跑到100MHz16位總線一個周期傳2字節(jié)理論峰值直接跳到200MB/s的量級。這中間的差距不是一個量級而是幾十倍。當然會有人說為什么不用DDR接口或者EMIF去擴展存儲。這里要澄清一個概念GPMC和DDR控制器是兩套獨立的接口。DDR控制器走專用的DDR PHY時序訓練、刷新管理都很復雜不是拿來隨便接FPGA的。GPMC是專用的并行外設總線時序可配置范圍廣、信號簡單、調(diào)試難度低最重要的是它不占DDR通道不會影響系統(tǒng)的內(nèi)存帶寬。所以在TI的Sitara平臺上接FPGA、并口AD/DA、NOR Flash這些場景GPMC幾乎是不可替代的存在。1.3 GPMC到底能接哪些設備按TI的官方定位GPMC支持以下類型的外設設備類型典型產(chǎn)品使用方式NOR Flash并口NOR、SPI轉(zhuǎn)并口芯片異步/同步讀地址隨機訪問NAND Flash大容量NANDGPMC內(nèi)置ECC/BCH引擎配合軟件做壞塊管理SRAM/PSRAM外部擴展內(nèi)存最標準的異步SRAM時序FPGA/CPLDXilinx、Intel、紫光等把GPMC做成軟核外設的寄存器窗口最常見并行ADC/DAC高速AD/DA轉(zhuǎn)換器采樣數(shù)據(jù)可以直接被CPU信箱式讀取顯示控制器老式TFT LCD并口屏、LCD控制器利用GPMC作為顯示數(shù)據(jù)通道值得一提的是很多人以為GPMC只是拿來接NAND Flash的其實在工業(yè)控制和數(shù)據(jù)采集項目里GPMC接FPGA才是真正的重頭戲。FPGA內(nèi)部可以起一個SRAM接口的時序邏輯把采集到的數(shù)據(jù)放在一塊雙口RAM里CPU通過GPMC直接讀這塊RAM就完成了高帶寬的軟硬數(shù)據(jù)交換。后面要講的設備樹配置也主要以FPGA這個場景為例展開。2. 硬件設計先把引腳信號摸透再寫第一行代碼2.1 關鍵信號與連線原則GPMC的引腳非常多但如果把信號按功能分類其實很好記。地址總線GPMC_A[0:27]、數(shù)據(jù)總線GPMC_AD[0:15]這是最核心的兩組線。然后是控制信號nCS片選、nWE寫使能、nOE讀使能、nADV地址有效、nBE0/nBE1字節(jié)使能、WAIT等待信號。如果走同步burst模式還有一個GPMC_CLK時鐘輸出。連接層面的原則并不復雜片選信號nCS一個GPMC控制器最多支持8個片選CS0~CS7每個片選在地址空間中對應一段獨立的窗口。接FPGA通常只用其中一個片選周圍的其它引腳可以保持懸空。nWE與nOE就是讀和寫的開關。外部設備必須根據(jù)這兩個引腳的時序來驅(qū)動數(shù)據(jù)總線。FPGA側要特別注意三態(tài)控制本設備沒被選中時數(shù)據(jù)引腳必須處于高阻態(tài)否則會跟別的設備打架。nADV地址有效很多老式NOR和SRAM都靠這個信號鎖存地址。它在外設接口上不是必需的但對某些器件來說沒有nADV就沒辦法正常操作。WAIT信號這是GPMC的“剎車”機制。外部設備覺得處理不過來時可以拉低WAIT讓總線周期自動延長。做FPGA連接時如果FPGA內(nèi)部RAM的響應時間可能超過CPU配置的訪問周期建議一定要把WAIT用起來能省很多事。2.2 muxed和non-muxed選錯了就是災難GPMC的地址和數(shù)據(jù)線有兩種組織形式這在TI的寄存器里叫MUXADDDATA位。non-muxed模式下地址線是地址線數(shù)據(jù)線是數(shù)據(jù)線兩組信號完全獨立硬件設計最簡單。而muxed模式下低16位地址和數(shù)據(jù)公用同一組AD[0:15]引腳訪問時先輸出地址再由nADV鎖存然后切換成數(shù)據(jù)通道。這種模式能省引腳但時序復雜、需要外部鎖存對FPGA內(nèi)部邏輯的要求也更高。在我見過的問題里最多的一種就是硬件工程師畫板子時按muxed方式連軟件配置卻按non-muxed方式初始化。結果表現(xiàn)為每次讀寫數(shù)據(jù)都錯位或者讀到的東西是地址信號和數(shù)據(jù)信號的混合體。排錯時如果不先確認軟硬件模式是否一致會繞非常大的彎子。我的建議很簡單項目不是特別缺引腳就一律用non-muxed模式。16位數(shù)據(jù)總線加上足夠多的地址線已經(jīng)能覆蓋絕大多數(shù)場景。muxed模式省下的那十幾個引腳通常會以幾倍的調(diào)試成本還回來。2.3 電平、上拉、走線這些“低級問題”反而最致命GPMC的I/O電壓在不同平臺上有差異AM335x的GPMC引腳電平由對應的VDDS電源域決定可能是1.8V也可能是3.3V。接FPGA時FPGA的Bank電壓必須跟GPMC電平匹配否則輕則讀不到數(shù)據(jù)重則電流倒灌損傷器件。數(shù)據(jù)總線浮空是另一個高頻問題。如果外部設備沒有被使能數(shù)據(jù)線既沒人驅(qū)動也沒人拉高讀回來的內(nèi)容就會是隨機電平反映在CPU眼里通常是一大片0xFF或者亂跳的數(shù)。解決方法是外加10k47k上拉電阻或者在FPGA內(nèi)部給數(shù)據(jù)IO配上弱上拉保證總線空閑時處于確定電平。PCB走線上不要大意。GPMC雖然不像DDR那樣嚴格但高速同步模式下地址線和數(shù)據(jù)線之間最好做等長處理至少不要出現(xiàn)某些線長了十幾厘米、某些線短到貼芯片這種極端不均衡的情況。地平面要連續(xù)別讓數(shù)據(jù)總線跨越分割線。異步模式可以寬松一些同步burst跑到100MHz時信號完整性就變得相當重要了。真到了調(diào)不出來的時候先拿示波器看波形再回來審視板子設計往往比死磕代碼更快。3. 時序才是GPMC的靈魂寄存器與設備樹參數(shù)逐項拆解3.1 從一個具體讀周期看GPMC在干什么GPMC的整個動作過程可以描述成一條嚴格的時間軸。以一次典型的異步讀為例地址和片選先有效。CPU發(fā)出訪問請求后GPMC把目標地址放到地址總線上同時拉低對應的nCS宣告“我要訪問掛在片選上的設備了”。nADV信號產(chǎn)生一個脈沖告訴外部設備“地址已經(jīng)準備好”。對SRAM這類自帶鎖存的設備來說這個沿就是鎖存地址的時刻。nOE拉低讀使能生效。外部設備檢測到nOE有效后把目標地址的數(shù)據(jù)放到數(shù)據(jù)總線上。等待一段固定的時間由access-ns等參數(shù)控制GPMC在某個采樣點把數(shù)據(jù)總線上的值鎖存進內(nèi)部寄存器。nOE拉高nCS釋放一個讀周期結束。這個過程看起來很直觀但每個動作前后的延遲都有對應的可配置參數(shù)。嵌入式工程師做得最多的就是根據(jù)外部設備的數(shù)據(jù)手冊把這些“時間坐標”一個一個填進GPMC的時序寄存器。設備樹方式只是把寄存器換算成了更好讀的納秒單位。3.2 設備樹時序?qū)傩灾饌€說清楚在Linux設備樹里GPMC子節(jié)點的時序參數(shù)全部以gpmc,開頭后綴為納秒。下面這張表是我在實際項目里最常用的一組設備樹屬性作用參考設置原則gpmc,cs-on-ns片選信號建立時間一般設0片選和地址同時有效gpmc,cs-rd-off-ns讀周期片選釋放時間不能小于讀寫周期的外部響應需求gpmc,cs-wr-off-ns寫周期片選釋放時間同上gpmc,adv-on-ns地址有效信號建立時間一般設0或很小gpmc,adv-rd-off-ns讀周期地址有效釋放時間留足地址保持時間gpmc,adv-wr-off-ns寫周期地址有效釋放時間同上gpmc,oe-on-ns讀使能拉低時間地址穩(wěn)定后再拉OEgpmc,oe-off-ns讀使能釋放時間保證OE低電平脈沖寬度gpmc,we-on-ns寫使能拉低時間地址穩(wěn)定后再拉WEgpmc,we-off-ns寫使能釋放時間保證WE低電平脈沖寬度gpmc,rd-cycle-ns讀周期總時間必須大于所有讀時序需求之和要留余量gpmc,wr-cycle-ns寫周期總時間同上寫周期同理gpmc,access-ns數(shù)據(jù)采樣點時間決定GPMC在哪一刻采集數(shù)據(jù)總線最關鍵gpmc,page-burst-access-ns頁/突發(fā)模式下每次額外訪問時間只有burst模式用到需要注意不同內(nèi)核版本對屬性的命名略有差異比如有些版本用gpmc,xxx-off-ns有些地方用ti,min-access-time-ns做輔助限制。以你手頭內(nèi)核Documentation里的omap-gpmc.txt為準。但概念是共通的你要理解的是“這個參數(shù)決定哪個信號在哪個時刻動作”而不是死記某一個字符串。3.3 手把手計算一組可用的時序參數(shù)假設FPGA側的數(shù)據(jù)手冊給了下面這組要求片選有效后地址穩(wěn)定地址建立時間最小10ns讀使能nOE有效后數(shù)據(jù)必須在60ns內(nèi)出現(xiàn)在總線上數(shù)據(jù)保持時間要求nOE釋放后5ns讀脈沖寬度OE低電平要求不低于40ns地址保持時間要求不低于5ns?,F(xiàn)在要配置GPMC的讀周期我會這樣計算片選CS和地址同時有效所以gpmc,cs-on-ns 0。地址穩(wěn)定需要10ns讀使能不要拉得太早所以gpmc,oe-on-ns 10。讀脈沖寬度要40ns那么在OE有效40ns后釋放gpmc,oe-off-ns 50。數(shù)據(jù)從OE有效開始最長60ns出現(xiàn)而OE在50ns處就釋放了GPMC如果也在50ns處采樣就太早了。這里需要把采樣點gpmc,access-ns放到數(shù)據(jù)手冊允許的極限附近也就是60ns附近。但為了安全我通常會把OE釋放時間再往后推一點比如gpmc,oe-off-ns 80這樣采樣點設在gpmc,access-ns 70既能保證數(shù)據(jù)到位又有余量。讀周期總時間必須大于CS釋放時間gpmc,rd-cycle-ns 100留出20%以上的余量。所以初版配置會是gpmc,cs-on-ns 0; gpmc,cs-rd-off-ns 90; gpmc,adv-on-ns 0; gpmc,adv-rd-off-ns 20; gpmc,oe-on-ns 10; gpmc,oe-off-ns 80; gpmc,access-ns 70; gpmc,rd-cycle-ns 100;寫周期也是同理只不過關注的是WE脈沖寬度和數(shù)據(jù)建立時間。最后再強調(diào)一句初版參數(shù)一定不要追求極限。先把所有時間放寬一倍讓系統(tǒng)跑起來確認軟硬件邏輯全部正確之后再拿示波器一點一點壓縮。很多項目調(diào)不出來不是因為方案不行而是一上來就把總線時序壓到了芯片的臨界值。4. 實操把設備樹和驅(qū)動跑起來4.1 設備樹節(jié)點與pinctrl配置在Linux內(nèi)核里GPMC控制器本身是一個節(jié)點每個外部設備則是掛在它下面的子節(jié)點。拿AM335x舉個例子完整配置長這樣am33xx_pinmux { gpmc_pins: gpmc_pins { pinctrl-single,pins 0x30 0x38 /* GPMC_AD0 - MODE0, INPUT */ 0x34 0x38 /* GPMC_AD1 - MODE0, INPUT */ /* ... GPMC_AD2~AD15 同理 ... */ 0x78 0x28 /* GPMC_CSN0 - MODE0, OUTPUT */ 0x7c 0x28 /* GPMC_OEN_REN - MODE0, OUTPUT */ 0x80 0x28 /* GPMC_WEN - MODE0, OUTPUT */ 0x84 0x28 /* GPMC_ADVN_ALE - MODE0, OUTPUT */ ; }; }; gpmc { status okay; pinctrl-names default; pinctrl-0 gpmc_pins; /* CS0映射到CPU地址0x08000000范圍256MB */ ranges 0 0 0x08000000 0x10000000; fpga0,0 { compatible vendor,my-fpga; reg 0 0 0x10000; /* CS0偏移064KB空間 */ bank-width 2; /* 16位數(shù)據(jù)總線 */ gpmc,cs-on-ns 0; gpmc,cs-rd-off-ns 100; gpmc,cs-wr-off-ns 100; gpmc,adv-on-ns 0; gpmc,adv-rd-off-ns 30; gpmc,adv-wr-off-ns 30; gpmc,oe-on-ns 10; gpmc,oe-off-ns 80; gpmc,we-on-ns 10; gpmc,we-off-ns 80; gpmc,rd-cycle-ns 110; gpmc,wr-cycle-ns 110; gpmc,access-ns 80; gpmc,page-burst-access-ns 30; }; };這里ranges的意思是子節(jié)點訪問地址0x0時父總線看到的是0x08000000映射范圍0x10000000即256MB。FPGA子節(jié)點只在CS0窗口內(nèi)占64KB空間reg 0 0 0x10000的三個字段分別是片選號、片選內(nèi)偏移、空間長度。pinctrl的引腳偏移量每個平臺各不相同我給的0x30這類數(shù)值只是示意。實際做板子時必須對照對應芯片的TRM翻出GPMC引腳的具體Pad配置然后再填寫。AM335x上GPMC相關引腳默認就是模式0但有些引腳的上下拉和輸入輸出方向需要手動設置好否則信號根本出不來。4.2 不寫驅(qū)動先devmem驗證硬件通路驅(qū)動開發(fā)最忌諱的就是一上來就寫大段代碼然后出了問題不知道是設備樹錯了、引腳配置錯了還是驅(qū)動邏輯錯了。正確做法是先用devmem工具把整條通路打通。開發(fā)板正常啟動進入Linux后執(zhí)行下面的命令# 讀CS0首地址的16位數(shù)據(jù) devmem 0x08000000 16 # 向CS0首地址寫入0x55AA devmem 0x08000000 16 0x55AA # 再讀回來驗證 devmem 0x08000000 16 # 連續(xù)讀幾個不同偏移驗證地址譯碼 devmem 0x08000010 16 devmem 0x08000020 16驗證的時候有幾點要注意剛上電時讀0x08000000如果讀回0xFFFF且后續(xù)一直不變大概率是數(shù)據(jù)總線浮空或者CS沒有正確映射。寫入0x55AA后再讀回0x55AA只能說明讀寫通路正常。想驗證16根數(shù)據(jù)線是否全部連通建議寫0xAAAA、0x5555、0xF0F0這類交替方波數(shù)據(jù)。如果有某一位固定懸空讀回來的值會出現(xiàn)明顯的位模式異常。地址線是否連對可以間隔寫入不同偏移然后讀回確認FPGA側抓到的地址和CPU發(fā)出去的一致。devmem讀不到數(shù)據(jù)不要急著去懷疑驅(qū)動先用示波器掛在nCS和nOE引腳上看波形。一個正常的訪問周期應該能觸發(fā)一次明確的片選和讀使能脈沖。如果CPU執(zhí)行了讀命令示波器上卻沒有任何波形那就是設備樹映射或引腳復用配置的問題如果波形有但數(shù)據(jù)不對再回頭檢查FPGA時序。4.3 一個最小字符設備驅(qū)動模板devmem驗證通過后基本可以確定硬件側沒大問題了。接下來就可以寫正式的驅(qū)動。下面是我常用的一個最簡單模板直接通過platform_driver匹配設備樹中的FPGA節(jié)點#include linux/module.h #include linux/platform_device.h #include linux/io.h #include linux/of.h #include linux/of_address.h struct fpga_dev { void __iomem *base; }; static int fpga_probe(struct platform_device *pdev) { struct resource *res; struct fpga_dev *priv; priv devm_kzalloc(pdev-dev, sizeof(*priv), GFP_KERNEL); if (!priv) return -ENOMEM; res platform_get_resource(pdev, IORESOURCE_MEM, 0); priv-base devm_ioremap_resource(pdev-dev, res); if (IS_ERR(priv-base)) return PTR_ERR(priv-base); dev_info(pdev-dev, GPMC FPGA base: %pa\n, res-start); /* 測試讀寫 */ writew(0x55AA, priv-base 0x00); dev_info(pdev-dev, read back: 0x%04x\n, readw(priv-base 0x00)); platform_set_drvdata(pdev, priv); return 0; } static const struct of_device_id fpga_of_match[] { { .compatible vendor,my-fpga }, { } }; MODULE_DEVICE_TABLE(of, fpga_of_match); static struct platform_driver fpga_driver { .probe fpga_probe, .driver { .name my-fpga, .of_match_table fpga_of_match, }, }; module_platform_driver(fpga_driver); MODULE_LICENSE(GPL);這里有幾個容易踩的坑第一platform_get_resource(pdev, IORESOURCE_MEM, 0)拿到的資源對應的是設備樹里reg屬性聲明的地址區(qū)間。所以reg描述的范圍一定要和FPGA實際占用的寄存器窗口一致。第二訪問GPMC映射后的地址一定要用readw、writew、readl、writel這一組訪問函數(shù)而不是直接解引用volatile指針。ioremap提供的內(nèi)存通常是strongly-ordered映射直接服用沒問題但用訪問函數(shù)能在不同ARM平臺上獲得更好的移植性和緩存一致性保障。第三讀寫時序上GPMC總線不存在cache一致性問題因為這塊地址是外設內(nèi)存映射不走CPU的DMA一致性協(xié)議。但如果后面引入了DMA傳輸就要用dma_alloc_coherent或dma_map_single來管理緩沖區(qū)不能直接把kmalloc的內(nèi)存丟給DMA。4.4 從異步到同步burst的提速思路異步模式下GPMC的帶寬再高也有上限因為每個周期都在等OE/WE的脈沖序列走完。想進一步提速就要上同步burst模式。這時候GPMC輸出一個GPMC_CLK時鐘外設按照這個時鐘邊沿連續(xù)輸出或接收多個數(shù)據(jù)一次總線訪問就能搬運一大塊數(shù)據(jù)。設備樹中開啟同步burst需要在子節(jié)點增加gpmc,sync-clk-ps等屬性把同步時鐘周期配好同時把gpmc,rd-cycle-ns等異步參數(shù)朝著burst時序方向調(diào)整。FPGA側的改動也不小需要實現(xiàn)一個簡單的狀態(tài)機外部地址在nADV階段被鎖存之后每來一個時鐘沿FPGA內(nèi)部地址自增一次同時把數(shù)據(jù)放到總線或從總線采走。我的經(jīng)驗是burst提速放在最后做。先把異步模式全部調(diào)通數(shù)據(jù)讀回穩(wěn)定然后才引入同步時鐘一次只改動一個變量。這樣就算崩了也能快速定位是時鐘相位問題、burst長度配置問題還是FPGA狀態(tài)機bug。很多團隊把異步和burst一起改出了錯根本無從下手。5. 踩坑記錄與排查技巧5.1 讀回0xFF先查硬件再查軟件GPMC調(diào)試中讀回0xFF占掉了我至少三分之一的時間。這個錯誤看似簡單背后原因卻五花八門。最常見的原因是數(shù)據(jù)總線浮空。外部設備沒有被片選選中或者FPGA內(nèi)部邏輯還沒起來總線上的引腳全部處于高阻態(tài)上拉電阻把電平拉高讀回來自然就是0xFF。排查方法是拿萬用表量GPMC_AD引腳的電平如果全是高電平說明總線空轉(zhuǎn)下一步要查CS信號有沒有確實拉低。第二個高發(fā)原因是設備樹里片選窗口配置錯誤。子節(jié)點的reg和父節(jié)點的ranges對應不上CPU訪問的地址根本沒映射到GPMC的CS上。這時候訪問地址時示波器上看不到任何CS脈沖讀操作實際訪問的是一段空洞內(nèi)存。還有一個容易被忽略的坑是FPGA側的片選譯碼。FPGA內(nèi)部如果只做了部分地址譯碼或者把CS0和CS1的窗口共用了也會出現(xiàn)某些偏移讀回固定值的情況。遇到這種問題我的做法是寫一個循環(huán)把CS0窗口內(nèi)前幾KB每個地址都讀一遍打印出數(shù)據(jù)分布。如果是全0xFF基本就是總線層問題如果有些地址有反應、有些沒有那就是地址譯碼問題。5.2 偶發(fā)錯值與時序余量有一個項目讓我印象特別深。板子正常起來后讀FPGA里的寄存器90%的時候值都是對的但偶爾會冒出一次錯誤數(shù)據(jù)。最初的排錯方向全錯了懷疑FPGA邏輯bug懷疑數(shù)據(jù)線受干擾甚至懷疑電源紋波。最后拿示波器對比波形才發(fā)現(xiàn)問題純屬時序余量不足。當時的gpmc,rd-cycle-ns配置成了80ns表面上看FPGA數(shù)據(jù)手冊寫的最大讀取時間是60ns80ns應該夠。但實際電路里存在PCB走線延遲、FPGA內(nèi)部組合邏輯延遲、芯片溫度漂移所有因素疊加起來80ns就變得非常緊張。某個溫度點或者電壓波動稍微大一點數(shù)據(jù)到達GPMC采樣點的時刻就晚了那么幾納秒于是偶發(fā)錯值就出現(xiàn)了。解決方案很簡單把gpmc,rd-cycle-ns放寬到130nsgpmc,access-ns也同步后移。整條總線速度雖然降了但系統(tǒng)穩(wěn)定了。后來做性能優(yōu)化時才一檔一檔往回壓每壓一檔就做長時間加壓測試。這里有個經(jīng)驗只要發(fā)現(xiàn)數(shù)據(jù)偶發(fā)錯誤第一反應應該是放寬時序而不是去懷疑芯片壞了或者代碼邏輯錯了??偩€時序是物理信號偶發(fā)錯誤絕大多數(shù)是建立時間或保持時間不夠。5.3 muxed模式的幾個翻車點上面提過muxed模式容易踩坑這里展開說幾個具體的翻車現(xiàn)場。第一個是地址鎖存時機不對。muxed模式下低16位地址在總線訪問最開始就出現(xiàn)在AD[0:15]上需要外部設備在合適的邊沿鎖存這個地址。如果FPGA側把鎖存邊沿選錯了比如用了nADV上升沿而GPMC實際下降沿才撤走地址鎖存到的地址就會歪掉。排查時可以固定寫幾個不同的地址偏移讀數(shù)據(jù)看看地址錯亂有沒有規(guī)律性。如果偏移0x00和0x01的數(shù)據(jù)一樣、0x02和0x03一樣那多半是LM位對不齊。第二個是總線方向切換。muxed模式里AD線既要輸出地址又要傳輸數(shù)據(jù)中間存在方向切換。如果切換間隙沒有留足時間地址線剛撤走馬上被外部設備驅(qū)動數(shù)據(jù)兩條驅(qū)動源就會短暫碰撞造成電流尖峰和邏輯混亂。GPMC內(nèi)部有bus turnaround機制但設備樹參數(shù)里要留好這個間隔比如在地址有效撤銷后、數(shù)據(jù)采樣前留出足夠的緩沖區(qū)。第三個是軟件和硬件模式不匹配。這個最無解因為代碼看起來完全正常讀數(shù)據(jù)卻怎么都不對。調(diào)試時先確認設備樹里有沒有顯式配置muxed模式再看原理圖上的接線方式。GPMC寄存器里MUXADDDATA位和原理圖不一致一切分析都白搭。我的習慣是硬件設計評審時就把這個問題當面和硬件工程師確認好寫成會議紀要避免后面互相扯皮。5.4 當FPGA工程師和驅(qū)動工程師互相對峙時做GPMC聯(lián)調(diào)最經(jīng)典的場面就是FPGA工程師和驅(qū)動工程師互相對峙。驅(qū)動工程師拿著設備樹配置說“我這邊時序都是按手冊寫的沒問題?!盕PGA工程師拿著邏輯分析儀抓到的波形說“你看這個OE的下降沿和數(shù)據(jù)變化幾乎同時肯定是你驅(qū)動配置不對?!边@種事我經(jīng)歷了幾輪后總結出一個順手的流程第一步先確認過去的是否是“同一張波形圖”。GPMC時序參數(shù)以納秒為單位兩邊最好坐在一起把示波器的波形截圖放大到同一時間尺度把每個事件打上標簽比如“CS有效”對應時鐘t0“OE有效”對應t1“數(shù)據(jù)出現(xiàn)”對應t2“GPMC采樣點”對應t3。一張圖把所有時間坐標列出來矛盾立即清晰。第二步把驅(qū)動實際的配置參數(shù)打印出來而不是看代碼里寫了什么。代碼里的值可能被內(nèi)核、bootloader或者pinctrl影響實際生效的可能不一樣。在fpga_probe里把讀回的GPMC_CONFIG寄存器全部打印出來和期望值對比一眼就能看出問題。第三步做一個“最小驗證用例”。比如先讓驅(qū)動只讀固定地址一個寄存器讓FPGA側只在那個地址上輸出固定常量0x5A5A。如果這樣都能讀錯那說明總線物理層和時序問題如果固定地址讀對了但隨機地址會錯那就是地址譯碼或bus turnaround問題。一個最小用例可以把聯(lián)調(diào)問題快速隔離。5.5 調(diào)試速查表把上面所有問題收斂成一張表掛在工位上非常管用現(xiàn)象可能原因排查方向讀回數(shù)據(jù)全是0xFF數(shù)據(jù)總線浮空、外部設備未使能量AD引腳電平查nCS是否拉低查上拉電阻讀回數(shù)據(jù)全是0x00數(shù)據(jù)線被強下拉或FPGA輸出驅(qū)動能力不夠查FPGA IO驅(qū)動強度、OE方向、外部下拉讀/寫偶發(fā)出錯時序余量不足、電源波動、信號質(zhì)量差放寬rd-cycle/wr-cycle觀察波形找臨界點寫入后讀回不變WE脈沖過窄、FPGA內(nèi)部鎖存沿不對加寬WE低電平時間核對FPGA握手邊沿地址錯亂muxed/non-muxed模式不匹配、地址鎖存沿錯誤核對原理圖與寄存器配置固定地址讀常量訪問時系統(tǒng)卡死地址映射越界、訪問了不存在的窗口嚴格檢查ranges和reg避免空洞訪問同一地址有時對有時錯總線仲裁/方向切換未留間隔加大bus turnaround檢查FPGA三態(tài)控制與FPGA握手失敗WAIT信號沒接或沒配置啟用WAIT監(jiān)控降低同步時鐘關于調(diào)試習慣最后說兩句在GPMC上栽過跟頭之后我養(yǎng)成了兩個習慣。第一調(diào)GPMC一定先架好邏輯分析儀或者示波器再動代碼不要憑感覺調(diào)參。第二調(diào)試初期所有時序全部放寬等全鏈路通了再一點一點壓。尤其是第一次做GPMC接FPGA的新項目先保證系統(tǒng)可靠再談性能永遠比一開始就追求極限參數(shù)靠譜得多。TI的GPMC手冊內(nèi)容龐雜但核心就是那么幾個時間點把這些時間點吃透剩下的事情都會順利很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美久热| 日韩 欧美 国产 麻豆| 欧美18老人禁| 日韩人人精品| www.AV有限公司一区| 国产中文精品一区二区在线观看| 可乐操亚洲蜜911| 麻豆AV96熟妇人妻| 99久久无色码| 看一级黄色视频| www国产无码| 欧美后入视频| 国产suv精品一区二区四区999| 亚洲欧美自拍偷拍| 日韩黄片影院| av三级电影在线播放| 一二三啪啪专区| 久久社区一区二区三区| 热99这里有精品综合久久 | 丝袜熟女一区二区三区| 久久大黄片| 国产一区二区三区,在线观看观看| 超碰99热| 床上啊啊啊一区二区三区| 日B操| 96精品一区| 久草精品热视| 久久免费老司机精品| 亚洲av影音先锋| 久9re热视频这里只有精品| 清纯唯美综合亚洲| 久久噜| 91色爽欧美| 口爆综合网| 熟女精品一区二区三区| 色五月婷婷网| 欧美性爱五月天| 日本在线视频导航| 亚洲天堂久久| 大香蕉碰| 夜夜高潮夜夜爽高清视频一| 麻豆区99999| 又大又白奶子| caopeng97人妻| oumeisetu综合| 亚洲成人碰碰| 五月久久HDAV| 久久久久久91香蕉国产| 久久久久久久久九九久孕交| 五十路二区在线| 欧美无圣光在线| 绯色AV粉色AV蜜臀AV| 丝袜AV一二三区| 久久麻豆一区二区| 日韩在线人妻网站| 久久久久久久久久久久黄色 | 九九热精品| 欧美色亚洲色| 成年人性爱日韩| 国产成年女人免费视频播放a| 思思热一热婷婷热一热| 国模无码人体一区二区三| 亚洲91射| 精品午夜福利| 亚洲无无码αⅴ每日更新| 91精品久久久| 岛园激情| sss视频华人在线| 伊人国产av| 97色97好| 欧美在线|亚洲| 性色A∨91| 丰满人妻一区二区三区免费| 日韩免费看在线黄色片| 日本中文字幕在线电影| 人妻久久久久久久久久久久久久久| 五月色综合| 日韩中字av一区| 加勒比综合九九99视频在线播放| 9.1小视频| 超碰导航97| 色欧洲| 综合伊人网12色| 人人妻人人爽 97人人看碰人免费公开视频| 久久无码成人| 又大又白奶子| 亚洲图片偷拍欧美| 天堂69亚洲精品中文字| 亚洲精品1区| 色777999综合| 欧美偷拍区| 最新欧洲欧美日本激情网站| 啊啊啊啊啊好大好舒服想要| 久久久夜夜夜| 搡老人老9丨女老熟人| 狠狠色婷婷7777久| 天堂射| 好涩综合| 亚洲超碰在线| 国产熟女一区二区| 嗯啊抽插大香蕉网页| 人妻丝袜无 码视频专区| 一本久久精品中文字| 91成人无码| 一级黄色性爱A级片| 粉嫩国产精品久久粉嫩| 9ⅰ久久久天天| 亚洲av青草久久一区二区| 黄色区免费观看中文字幕| 青青草在线成人视频| 免费超碰97久久| 翔田千里AV无码秘 三区| 美女自卫慰黄网站免费| 国产情色在线| 日本日逼高清| 炮色五月| 99久久久| 婷婷大香蕉| 国产AV天美传媒一区二区三区| 国产女同在线观看视频| 999狠狠综合| 欧美九一精品久久久熟妇| 中文字幕熟女人妻丝袜| 九九久久九九久久| 亚洲黄色AV电影| 偷看洗澡一二三区美女| 国产精品久久久久久照片| 狠狠躁AV| 男插女青青影院| 午夜免费视频1000| 男人天堂2030| 婷婷五月色| 亚洲日韩电影| 天天日老熟妇| 男人的天堂视频精品乱在线| 狠狠狠一区二区三区| 搡老女人老91二区| 少妇一区二区三区在线观看| 国产精品不卡av免费在线观看| 婷婷五月天网| 99re欧美| 91粉芽高清在线一区二区| 东北女人性交| 夜夜爽爽爽| 久久色网| 大香蕉综合久久| 免费αV在线视频| 操美女人妻| 婷婷在线视频在线观看| 国偷自 一区二区| 人妻乱仑一区二区三区| 91欧美情色| www.狠狠干.coom| 亚洲一级黄色毛片| 91欧美巨乳| 欧洲熟妇xxXx欧美老妇裸体| 久操97| 加勒比综合九九99视频在线播放| 青青草亚洲一区| 成人自拍三级在线观看| 日韩有码回春沙龙第一页| 日本精品高清一二区一本到| 久久免费少妇| 欧美在线第五页| 国产 码在线成人网站| 日日夜夜免费| 欧美精品偷拍| 久热大香蕉| 欧美Ⅴ性爱| 9997se| 嗯啊不要啊在线| 97超碰人人模人人拍人人| 神马久久久久久久久久| 婷婷亚洲综合| 强歼乱伦资源网| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 大香蕉伊人网WWWn0n| 久久免费99精品久久久久久| 吊色| 欧美黄色图片| 欧美人妻一区| 思思热免费在线视频| 后入合集| 婷婷15月天青娱乐| 四虎影视在线| 97色冈| 麻花传媒免费网站在线观看| 舔足天天操天天射| 天欧美在线| 亚洲天堂女优在线| 亚洲高潮少妇| 国产97色在线| 国产野战露脸在线播放| 蜜臀无码视频在线观看| 好爽要喷了| 91精品成人| 性感美女啊啊啊在线| 99r九九| 久久老子无码午夜伦不卡| 日韩欧美性爱电影在线观看| 天天爽天天操啊啊啊| 中文字幕一品色图| 欧美熟女丝袜| 精品人妻15区| 性色高清在线| 黄色小说亚洲| 久久精品老司| 日韩专区久久久| 人妻熟妇久草在线| 亚洲中字慕不卡| 亚洲极品| 亚欧高清| 手机在线视频国内精品| 久久AV无码网址| 一级久久性爱视频| 亚洲色诱惑| 亚洲欧美精品一区天堂久久 | 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 欧美淫穴| 色情亚洲日本成人| 97超碰亚洲| 91N综合在线| 日日干男人的天堂| 91激情国产| 亚洲国产天堂| 久久性爱视频免费看| 日本黄大片在线观看视频| 国产精品露脸在线观看| 亚洲第2页| 五月丁香激情综合网| 激情综合97| 亚洲区限制级| 在线视频97| 国产成人 综合亚洲 天堂| 日韩三级在线观看mp4| 人妻精品4K4K4K4K4| 安徽熟妇视频| 久久久久久九九九| 一级@啪啪视频| 免费啪啪一级视频| 狠插 制服 自拍| 亚洲精品黑丝| 青春草莓视频在线观看网址| 十八岁啪啪视频免费看| 日本大片日本一区二区免费高清| 久九干| 97欧美色综合| 日日夜夜精品视频| 探花熟女,姿勢到位,體驗感也到位| 日本国产欧美高清在线| 超碰爽人妻熟女Av| 激情情色五月天| 精品九九九九| 欧美激情综合| 伊人久久亚洲色欲综合网站| 1769一区| 久久久久久久九九九九九九| 久久精品无码熟妇一区二区三区视频导航| 综合国产影视三级| 射 色综合| 天天色踪合| 精品人妻一二三| 日韩激情啪啪| 91AV天美在线视频| 国产美女口爆吞精视频| 男人夜色天堂ss| 久久久96精品| 91在线视频免费播放| 嗯啊啊啊轻点视频 | 在线a v| 日韩精品区二区三区不卡| 国产热av| 日本免费一级AAA大片器| 亚洲精品一区中文字幕乱码| 97碰碰色| 天天日夜夜| 青草伊人久久| 九九性爱网| AV色五月天| 99在线免费公开视频| 天天淫人人妻日日色| 人妻蜜桃臀| 日韩国产成人自拍视频| 亚欧洲一区二区视频| 欧美Aⅴ| 另类亚洲图色| 国产偷拍自拍在线视频| 欧美亚洲涩涩| 性在久久久久久| 综合久欧洲| 四虎精品永久在线播放| 久操视频免费在线观看| 亚洲麻豆av一区二区| 志村玲子视频一区二区| 久久久九九九| 日本天天人人狠狠在线日美女 | 人妻熟女一区二区在线视频| 综合色99| 水滴偷拍| 天天摸夜夜摸| 日本操大逼| 黄色大片免费在线| 天操老女人| 欧美成人A天堂片在线观看| 亚洲成人色情五月天丁香花| 一区二区三区黄色片a| 狠插 制服 自拍| 97在线精品观看视频| 日韩精品99久久久久久中文字幕| 久久亚洲欧美中文字幕国语| 亚洲综合射| 九九黄色视频在线观看| 日本道人妻久久久在线不卡色视频| 免費黃色視頻觀看一| 色97欧美| 婷婷综合在线观看| 亚洲国产高清福利视频| 国产精品久久泡妞网站| 日韩精品第3页| 操人91| av影片在线观看不卡| 97日视频| 五月激情综合网| 超碰精品日韩欧美国产| 91国内外在线| 色综合98| 亚洲一卡2卡3卡4卡乱码网站| 97伦乱| 天天色香欲综合网| 亚洲字幕一区二区| 日韩亚洲欧美中文字幕| 香蕉大久久久| 中文字日本乱码| 大香蕉免费乱伦视频| 综合色好色| 东京热不卡视频| 激情深爱五月天| 精品少妇人妻av久久免费| 亚洲精品九九九九九九| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 男人的天堂日本东京热| 99色综合| 五月婷婷基地| 伦伦成年午夜免费视频| 999久久久免费精品国产牛牛| 激情黄色五月天| 国产91美女高潮| 亚洲一区二区三区AV无码 | 亚洲情色婷婷五月天| 久久久久久久亚洲Av无码| 人人妻人人澡人人爽人人精品浪潮| 东北女人被操| 伊人97超碰| 天天干人妇| 国产中文字幕在线点播| 91亚洲人| 免费视频97| 欧美综合色综合| 精品一区二区麻豆| 毛片17S| 亚洲综合在线视频| 日本九九九九| 五月天激情影院| 91人妻做a观看视频| 亚洲春色一区二区三区| 91久久久亚洲| 91亚洲色图| 丰满少妇一区二区三区免费看| 国产AV线| 老鸭窝成人| 91在线/欧洲| 中文字幕十五区| 美女露胸露屁股| 99热色精品| 制服乱伦| 色综合五月天| 天天操综合网| 中文字幕少妇色| 国产日本熟女顶级一区二区三区视频| 99性爱| 99在线精品观看99| 思思热在线视频精品| 免费观看啪视频| 丁香六月婷婷| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 久操视频资源站公开| 欧美国产欧美在线观看| 日韩性爱毛片操骚逼| 久久久久久久伊人精品| 操逼啊啊啊91| 蜜臀AV网站| 在线国产一区二区av| 国产福利影视| 婷婷五月天影院| 美女黄色一级A视频| 密桃99999| 超碰超碰95| 午夜性| 亚洲精品久久一区二区三区蜜桃臀| 国产第二页| 精品久久久久成人码免| 好吊色综合| 欧美成年人性爱视频免费观看| 天天干天天舔| 精品毛片久久久精品毛片| 丁香九月激情| 精品福利视频| 欧美色图在线视频少妇| 久久国产乱子伦精品免费女,网站| 91丨人妻丨国产丨丝袜| 亚洲 自拍偷拍 欧美| 欧美亚洲另类在线蜜桃| 五月综合色| 欧美精品91| 丰满欧美放荡少妇在线| 五月丁香激情四射| 亚乱色| 天天色综合图片| 国产精品欧美激在线| 超碰在线综合97| 校园春色亚洲| 殴美大黄片| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 蜜臀久久99精品久久久| 亚洲91亚洲| 丰满人妻一区| 亚洲丝袜诱惑| 久久久久成人亚洲国产| AV一二区| 丝袜综合网| 熟女五十路一区二区三| 麻豆60秒| 亚洲熟妇AV日韩熟妇在线| 黄骗免费网站| 欧美日韩中文亚洲v在线综合| 欧插网站| 欧美另类丝袜熟女| 欧美一级黄片视频在线| 啊啊啊 在线观看| 欧美激情一| 浓厚中出中文字幕在线| 另类图片五月| 亚洲资源站| 精品国产乱码久久久久久口爆网站| 91久久国产综合久久| 国内外毛片在线观看| 中文字幕第9页萱萱影音先锋| 精品久久久亚洲AV成人网站| 亚洲日本天堂| 国产一级137片内射麻豆| 97中文天堂| 亚洲狠狠入| 国语国产操逼伊人AV网| 怡红院成人av| 国产精品一级特黄aaa大片在线观看| 国产少妇与亚洲av| 亚洲熟女人妻中文字幕一区二区| 人人看人人摸人人色| 久噜噜| 人妻无一区二区三区| 天天肏美女| 啊啊啊啊操死我| 日韩av乱伦| 亚洲第一页综合在线| 国产精品婬乱一级毛片彝族| 色老牛| Av手机版天堂网| 中文字幕制服欧美久久一区| 韩美日操逼| 韩国三级三级BD在线| 很很操在线| 欧美综合加勒比在线| 狠狠干91| 中文字幕十五区| 欧美一级A片不卡视频。| 秋霞午夜视频一区二区| 天天搞在线综合网| 蜜桃传媒视频第一区入口在线看| 91在线无码精品秘 软件| 欧美偷偷网| 激情视频网址| 好爽视频在线观看视频| 伊人97色天使| 久思思热视频在线观看| 夜夜春夜夜操| 极品色社| 99久久精品无码一区二区毛片免费| 欧美老妇女内射网址| 国产东北女人在线视频| 99操逼| 人人人人人人少妇| 国产精品久久久久久亚洲色欲| 熟女天天干| 日韩 欧美 另类 人妻| 啊啊啊啊啊舒服| 99热这里是精品| 日韩中文字墓| 国产精品国产| 国产怡红院| 久久这里是精品| 色网亚洲人| 亚洲天堂另类小说男人| 日本一本道A级黄色毛片试看60分钟| 99这里只有精品| 九九久久一区二区三区| 无码国产精品久久久久| 中文字幕后石码三区四区| 精品亚州18| 99色在线视频| 国产啊v在线免费播放| 91四海无码日韩欧美| 2025亚洲男人天堂| 五月香婷婷| 91AV入口| 极品少妇久久久| 亚洲天天影视综合网| 久久98| 人人潮人人摸| 中文视频在线观看| 亚洲有薄码区久久在线一区| 久久国产对白激情浪潮| 日韩成人综合网| 色综合av综合久久| 精品少妇99| 日本精品免费一区二区三区四区| 日日日日日| 国产一区二区精品久久99| 天天干嫩逼网| 国产久久天堂资源| 天天干夜夜肏| 国产熟妇一区二区| 久久精品免费| 亚洲精品男人的天堂| 操逼操逼逼操操逼91 | 久久精品人妻一区| 日本三级精品| 爱丝福利| 亚洲熟女乱色一区二区三区久久久| 99这里有精品| 五月丁香综合激情| 亚洲国产激情国产av| 草草影院最新网址| 久久中文字幕一区不卡| 狠狠婷婷亚洲中文综合久久| 97精品一区二区三区免费| 91在线丝袜| 99久在线精品99re8热视频在线| 一区二区三区日韩欧美| 久久理论字幕视频| 精品久久久久,69国产成人精| 亚洲激情在线| 五月天激情国产综合婷婷婷| 狠狠色丁香| 超碰免费人人| 五月综合色| 婷婷五月天激情网| 91亚州日韩高清| 国产超碰国产97| 四虎884| 男人精品天堂一区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 亚洲av性爱电影| 久久久少妇| 国产高清成人免费视频| 成年人黄色视频免费| 2017av无码免费无线播| 欧美18 在线观看| 国产成人 综合亚洲 天堂| 青青青国产手线观看视频2| 人妻无一区二区三区| 日韩乱伦AⅤ| 欧美日韩国产高清在线一二三区| 丰满高潮18xxxx| 亚洲精品无码少妇久久| 久久精品国产精品亚洲艾通辽熟妇 | 欧美一级A片不卡视频。| 亚洲阿v天堂无码z2018| 囯产乱伦一区二区三女| 亚洲激情AV| 亚洲天堂性爱| 在线情色电影 91大| 久久久内射良家| 99999国产| 欧美亚洲自拍另类人妻| 午夜偷拍久久熟女| 一本久道久久综合狠狠爱| 麻豆天美国美国产| 青青草成人视频在线观看二区| 亚洲 欧美 综合 91| 91色夜| 天天影视色香欲综合网小说| 九色精品视频导航1| 99热只有这里有精品| 人妻嗯啊啊在线播放| 在线 亚洲 网爆 自拍| 桃色人妻在线视频| 性色A∨91| 日本不卡高清视频| 国产九月婷婷| 亚洲综合一| 中文字幕一区二区三区50路| 无码精品久久久天天影视| 丁香五月天堂网| 伊人一区二区三区| 欧美日韩亚洲天堂| 久干9操| 精品国产网站| 亚洲黄色a级片| 蜜乳AV色欲AVAV无码| 久久九九网| 欧美中字二区| 97精品免费视频网站| 在线观看黄色电话| 蜜臀AV成人精品蜜臀| 夜夜爽夜夜操| 伊人久久大香大香线蕉中文| 亚洲在高跟鞋自慰久久在色线| 国产日韩怡红院| 404操逼福利视频| 日韩国产品视频中文字| 午夜美女诱惑电源网| 视频黄色国产一级| 大香蕉欧美伊| 国产精品九九九| 欧美性爱另类综合| 国产欧洲精品亚洲午夜拍精品| 秋霞午夜成人福利片片| 人妻少妇久久久| 91美女高潮| 一区操逼日比视频| 亚洲国产精品久久久男人的天堂| 久久精品人妻一区| 91N欧美| 亚洲毛片久久| 色999亚洲人成色| 九草九九九| 国产成年免费大片黄在线观看| 欧美永久激情一区二区| 波多野结衣之双飞调教在线播放 | 日韩欧美偷拍美女视频| 色视频蜜乳| 成人无码专区精品视频| 91夜色| 四虎 精品 WWW| 色综合一区二区三区| 亚 欧 美 综合| 亚洲欧美不卡线| 性色一线| 久久精品国产精品一区| 亚洲 se图 欧美电影| 9国产超碰| 福利一级版子| 亚洲一本色道中文无码aV天美| 亚洲电影91| 96久久精品一二三区色欲| 色网在线视频观看免费| 久久宗合亚洲| 中文字幕在线观看二区三区| 日本免费二区三区| 成人情色一区二区| 国产精品高潮久久久无码| 九久9热| 中文字幕,人妻,日韩| 1204金沙人妻懂旧版免费| 一类无码操逼视频| 国产丝袜一区二区三区| 婷婷性爱| CCYY草草影院地址入口| 亚洲精品美女操逼| 日韩免费性爱视频在线观看| 日本女人久久久| 99啪啪视频| 综合欧美激情网| 亚洲中文字幕av | 人妻天天爽天天爽三区| 日本A级视频| 一级久久性爱视频| 91亚洲网| 中文久久96| 丁香五月社区| 免费久久一级毛片大黄| 97超碰总站| 人妻熟女字幕一区二区| 欧美人人曰人人操人人射射| 亚欧操逼片在线观看 | 天美av在线观看| 老熟女搡BBBB搡BBBB视频| 日本最新1区2区3区| 天天日少妇逼AV| 天天插夜夜操| 色五月av| 97在线观视频免费观看| 色99色| 亚洲三区视频| 青青久久艹| 极品色电影院| 狠肏骚人妻| 亚洲高清无码免费观看视频| 欧美区亚洲区偷拍区| 后入综合久久| 午夜精品久久久久久久99热影院| 婷婷丁香久久| 国产女乱淫真高清免费视频| 丰满人妻一区二区三区色-百度| 国产久久日| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 97色插| 深田咏美亚洲精品福利社| 一级乱伦网站| 97视频播放| 亚洲青青草| 午夜啊啊啊| 亚洲情色第一页| 韩国一级做A片免费的| 日本欧美韩国国产在线| 日韩久久三区| 亚洲 国产 精品一区| 91久久九九精品国产综合| 欧美性夜| 骚货操死你| 九草九九九| 欧美大色交| 玖玖爱一区在线| 九九十八精品| 久久精品免费| 欧美在线官网| 精品国产乱码久久久久久久久1 | 中文久久96| 欧美亚洲日韩16色| 青青草啪啪网| 九九热五区| 国产嫩草精品A88AV在线| 欧美美女啪啪视频| 青青操97| 国产a级精品| 粉嫩国产精品久久久| 香蕉99秘 精品一区丁香| 欧美亚性天堂| 久久国产99精品72福利 | 操一对老熟妇爽上天视频| 超碰 国产熟女精品一区| 美女91色黄18| AV天黑人| 人人操人人摸超碰| 屁股久久久久久| 91美女网站| 蜜臀无码视频在线观看| 人人操人人干xxx| 午夜a成v人电影| 天天弄天天操| 欧美大香蕉专区网| 欧美黄片视频在线观看免费| www.丁香五月| 人人爽天天爽| 亚洲欧美setu| 伊人在线大香蕉视频久久| 大色网久久| 97色综合中文网| 国产又黄又爽| 三级特黄60分钟播放| 亚乱色| 人人操AV| 国产一区二区三区不卡手机在线| 黑人中出21连凳花野真衣| 日韩久久艹| 9九九国产| 97这里只有精品| 国产一级137片内射麻豆| 亞洲久久直播| 这里只有精品久久| 日本A级视频| 久久成人国产| 这里只有精品视频在线| 九九热免费在线国产视频伊人五月| 西西美女视频网| 久肏视频字幕| 性无码专区2020| 日本高清有码网址视频| 嗯嗯啊啊视频在线看| 国内操逼视频二区| 久伊人网78| 久久成人国产精品| 婷婷六月色开| 亚洲免费97免费| 亚洲 欧美 日本 国内 首页| 亚洲乱码精品一区二区| 欧美性爱系列| 久久欧洲| 91熟女丨91老女人| www.黄色在线| 一品道视频一区二区三区| 很很很很操| 极品销魂美女一区二区 | 自拍偷拍2025在线观看| 欧美最婬乱婬爆婬性视频| 国产九九九九九九| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 亚洲老司机123专区| 999热这里只有精品| 乱伦图一区| 亚洲精品一二三四区| 国产suv精品一区| 欧美性爱91| 肉丝网站91| 久久婷婷成人综合色怡春院| 思思热在线cao| 成人AV素股で擦久久| 亚洲九九视频| 丝袜剧情| 日本男人插女人的逼黄色| 欧美一级A一级a爱片久久| 人人透人人操| 欧美在线第五页| 一区二区三区黄片免费观看| 欧美人妻二区三区| 色欧美综合| 国产67194| 精品中文一区二区| 99视频这有这里有精品| 蜜色网色哟哟| 96精品久久久久久久久久| 丁香五月天视频| 久操免费电影| 久久精视频美日韩在线视频| jiujiujiujingpin| 色五天伊人| 西西美女视频网| 国产亚洲欧美每日在线| 久久综合久久综合人久久夜精品| 国产精品成人午夜福利| 亚洲综合五月天| 国内一级精品| h在线看免费版在线看| 男女啊啊啊啊啊| 久久婷五月天| 天啪| 亚洲情色婷婷五月天| 精品亚洲| 亚洲综合113页| 免费久久一级毛片大黄| 99re9这里只有精品| 国产日韩手机视频在线| 操B久久| 日韩无码a片| 伦理日韩国产久久| 国产成人精品日本亚洲语言| 东京热毛片调教| 人妻AV在线| 97干在线| 操一操摸一摸| 九九久久国产精品| 色色福利| 亚洲精品电影| 欧美三级一级| 日本成人A片网站| 亚洲清纯唯美| 嗯嗯啊中文字幕| 日韩AV无码网站| 欧美 亚洲 91| 99在线观看| 欧美亚洲自拍另类人妻| 蜜桃久久精品一区二区三区| 欧美成人一级免费电影| 啊啊啊啊免费视频| 嗯……啊…嗯嗯…啊…好舒服| 免费1级a做爰片观看| 国产精品久久久久999| 九九亚洲视频| 国产中文字幕在线点播| 熟妇高潮二区三区| 欧美日韩夜夜| 亚洲精品无码成人久久久99| 高清无码91| 国产性感在线观看| 一区二区三区精品视频| 国产精品福利视频| 久久久久久久久久精| 久久免费精彩视频| 日本免费一级AAA大片器 | 人人贴人人摸| 78精品在线| 伊人久久亚洲中文字幕不卡| 丁香五月性爱| 亚洲欧洲综合成人av一区| 99在线精品观看视频中文| 97操97色| 第一高清av中文字幕| 日韩av性爱在线播放| 欧美色交| 欧美日本天堂| 天天操狠狠日夜夜干超碰撸com视频在线观看| 日本1区2区不卡视频| 天天躁日日躁狠狠狠躁| 九九九影院| 另类图片五月| 久久精品三级影视| 午夜国产乱伦视频| 欧美超碰97| 亚洲第一视频 欧美风情 日韩| 久久97资源 网| 五月综合激情网| 国产黄色 A 片免费看| 日本性感人妻91| 熟妇色99| 91精品国| 亚洲亚洲亚洲天堂天堂| 亚洲中文电影| 96AV久久久| 东京热激情视频一二三区| 你懂得91| 黄网色一区二区三区四区精品| 人妻干天天| 呦呦影院| 一区二区乱码福利| 91丝袜视频在线观看| 91麻豆天美国产欧美高潮| 青青伊人久久| 国精综合一二三区影视| 久久久久久久久久久97| 国语精品av| 五十路熟女,国产欧美精品区一区二区三区 | 麻豆精品三区视频| 麻豆 亚洲 97| 老汉网| 亚洲美女色图| 玖玖资源中文字幕制服丝袜| 青青草十区九区爱夜| 人妻在线臀日韩| 熟妇女人妻呻吟久久AV| 97精品国产97久久久久久免费| 狠狠干综合| 人妻久久久久久久久久久久久久久 | 97视频网站在线观看| 2020中文字幕| 北条麻妃99精品青青久久| 国产天美欧美| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 成人精品一区二区三区| 97在线无精品| 天美传媒av在线| 激情四射婷婷六月天| 日韩中文字幕精品一二三事国产精品| 超碰久久精品| 97伊人超碰| 少妇熟女一区二区三区| 久久久久久性爱免费视频| 亚洲无992tv| 日韩免费av片高清无码| 日本1区2区不卡视频| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 淫乱图区| 男人的天堂日韩| 天天射天天色成人| 97免费在线观看| 日B操| caoni国产亚洲av| 免费一级视频特黄色大片| 综合五月天| 青苹果影院男人的天堂| 97超碰在线资源网站| 欧美淫乱视频| 天天cao在线| 亚洲欧洲中文日韩女优乱码| 日本精品无码三级网站| 日韩午夜啪啪视频| 熟妇亚洲一区二区三区| 亚洲国内精品成人不卡| 中文字幕青青草| 99婷婷一区二区| 亚洲啪啪视频一区二区| 五月天社区| 亚洲色图加勒比| 日本久久久精品电影| 熟女人妻精品一区二区视频| 久久精品福利影院| 人妻av在线| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 亚洲国产精品成人综合| 在线人人人人人人精品超 | 久久久久久九九九九| 蜜乳av一区二区| 亚洲无码99| 欧美色图 人妻| 欧美 亚洲 在线| 亚洲第一黄色av网站| 东京热激情视频一二三区| 亚洲综合九| 欧美综合天天| 日本精品成人无码| av亚洲天堂资源网站| 九九九九九九精品| 成人乱人伦一区二区| 五月婷婷激情网| 日韩 欧美 国产 麻豆| 五月婷亚洲精品天堂| 天天躁日日躁AAA片李宗瑞| WWW4虎| 久热伊人| 人人做人人妻人人夜视频| 国产精品久久9| 亚洲天天自拍| 无码精品蜜桃一区二区三区ww| 欧美综合97www| 偷拍导航视频网站| 亚洲天堂7777| 天天α片| 欧美亚洲| 欧美亚洲日韩人妻在线观看| 日本高清加勒比| 国产不良强奸视频免费看| 中文字幕人妻丝袜| 91精品婷婷国产综合久久| 人人操肉肉| 日韩二三区| 97干97色| 丝袜 亚洲 偷拍| 成人九九| 蜜臀久久精品久久久久视频| 天天视频黄| 大香蕉在线视频15| 国产精品播放| 桃色五月天| 97人人夜| 国产伦精品一区二区三区在线观| 成人欧美日超碰| 国产精品 久久久精品一牛| 91在线视频免费中出| 欧美少妇色图| 操狠狠| 国产成人久久精品蜜臀| 无码99| 啊啊啊啊好多水| 九99久久| 狠狠婷婷亚洲中文综合久久| 日韩欧美被操黄免费观看| 狠狠色综合网| 中国东北熟女老太婆内谢| 国产一线二线三线av| 操亚州| 91狠狠综合久久久久久| 3PAV乱伦视频| 大屁股熟女一区二区三区| 精品一区二区三区四区女| 激情五月综合| 97神马久久| 色欲人妻一区二区在线| 91黑人无码激情在线| 久久久久亚洲av综合波多野制衣| 欧美熟女激情| 国产精品亚洲美女久久久久| 看全色黄大色大片免费视频| 97中文字幕色| 人人艹亚洲| 欧美综合网1| 久草网站免费在线观看| 91春色| 校园春色五月天| 久久久久女教师免费一区| 青青草在线视频播放器| 久热精品在线| 91操熟女视频 | 欧美日本天堂| 午夜精品久久久99| 亚欧美综合网。| 土豪酒店各种姿势玩弄极品幼稚| 91精品国久久久久久无码| 亚洲色图伊人网| 97操综合| 78久久| 一牛影视成人片免费| 久草福利在线资源站| 丁香六月啪啪| 欲射影视| 大逼色网站| 中文字幕,人妻,日韩| 国产极品99热在线播放69| 五月香婷婷| 91爱做| 亚洲欧美91| 九九热久久99精品re| JULIA一区二区三区在线播放| 青青网三级视频| 欧美色日本| 91色花堂| 丁香五月婷婷基地| 日韩国产十八禁| 五月天伊人网| JIZZJIZZ国产精品喷水| 这里有精品| 成人一级二级| 日韩欧洲操屄视频| 欧洲熟妇xxXx欧美老妇裸体| 亚洲日韩青青草色月| 日本三级精品| 国内毛片国产专区二| 人妻精品综合中文字幕在线 | 免费国产视频| 乱伦图一区| 91亚洲黑人| 九九久久久九九| 中美日韩毛片| 人妻熟女一区二区三区在线| 欧美色图电影| 亚洲另类在线观看| 内射日韩大臀美女| 97超级欧美| 欧美丝袜美女电影一二三四区| 东京热一区二区中文字幕| 亚洲乱色熟女一区| 午夜国产成人福利视频| 天天流夜夜操| 裸体美女久久久| 另类小说综合网| 99热综合在线| 亚洲黄色| 国产九区| 亚洲午夜福利视频| 老司机福利青青草| 精品网站9999| 强奸抽插av| 18精品一二区| 开心激情婷婷| 日韩超碰97| 九九亚洲视频| 黄资源| 一区二区中文| 久久一二三四不卡| 日韩操啪| 亚洲人人夜夜澡人人爽| 人人摸人人入| 殴美性色a级欧美| 蜜桃天美传媒AV一区二区三区| 久操网址| 久久人妻无码毛片A片麻豆| 国产熟女乱论| 91肉丝| 97AV在线免费观看| 丁香七月婷婷| 婷婷五月在线视频| 91色五月俺来也| 99这里只有精品| 亚洲欧洲成人在线电影| 日本丝袜美腿人妻九九| www.av在线观看| 国产乱伦亚洲| 综合久久少妇中文字幕| 亚洲精品久| 日韩人妻一区二区精品| 亚洲av无码成电影在线播放| 大香蕉在线视频重口味毛片在线| 99热精品在线| 日本一级特级毛片视频| 国产美女91| 国产精品另类一区大香蕉| 熟女露脸激情自拍视频| 91九九九小逼| 亚洲精品国产精品乱码不99| 亚洲一区二区av| 男人的天堂2018.| 日韩一级免费性爱|