国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

亞馬遜網(wǎng)是b2b還是b2c廈門網(wǎng)站seo外包

亞馬遜網(wǎng)是b2b還是b2c,廈門網(wǎng)站seo外包,互聯(lián)網(wǎng)推廣平臺有哪些,重慶公司網(wǎng)站seo目錄 1、前言版本更新說明免責(zé)聲明 2、相關(guān)方案推薦UDP視頻傳輸--無縮放FPGA圖像縮放方案我這里已有的以太網(wǎng)方案 3、設(shè)計(jì)思路框架視頻源選擇ADV7611 解碼芯片配置及采集動態(tài)彩條跨時鐘FIFO圖像縮放模塊詳解設(shè)計(jì)框圖代碼框圖2種插值算法的整合與選擇 UDP協(xié)議棧UDP視頻數(shù)據(jù)組包U…

目錄

  • 1、前言
    • 版本更新說明
    • 免責(zé)聲明
  • 2、相關(guān)方案推薦
    • UDP視頻傳輸--無縮放
    • FPGA圖像縮放方案
    • 我這里已有的以太網(wǎng)方案
  • 3、設(shè)計(jì)思路框架
    • 視頻源選擇
    • ADV7611 解碼芯片配置及采集
    • 動態(tài)彩條
    • 跨時鐘FIFO
    • 圖像縮放模塊詳解
      • 設(shè)計(jì)框圖
      • 代碼框圖
      • 2種插值算法的整合與選擇
    • UDP協(xié)議棧
    • UDP視頻數(shù)據(jù)組包
    • UDP協(xié)議棧數(shù)據(jù)發(fā)送
    • UDP協(xié)議棧數(shù)據(jù)緩沖
    • IP地址、端口號的修改
    • Tri Mode Ethernet MAC介紹以及移植注意事項(xiàng)
    • RTL8211 PHY
    • QT上位機(jī)和源碼
  • 4、vivado工程詳解
  • 5、工程移植說明
    • vivado版本不一致處理
    • FPGA型號不一致處理
    • 其他注意事項(xiàng)
  • 6、上板調(diào)試驗(yàn)證并演示
    • 準(zhǔn)備工作
    • ping一下
    • 靜態(tài)演示
    • 動態(tài)演示
  • 7、福利:工程源碼獲取

1、前言

沒玩過UDP協(xié)議棧都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。
UDP協(xié)議棧在實(shí)際項(xiàng)目中應(yīng)用廣泛,特別是在醫(yī)療和軍工行業(yè),目前市面上的圖像拼接方案主要有Xilinx官方推出的Video Mixer方案和自己手撕代碼的自定義方案;Xilinx官方推出的Video Mixer方案直接調(diào)用IP,通過SDK配置即可實(shí)現(xiàn),但他的使能難度較高,且對FPGA資源要求也很高,不太適合小規(guī)模FPGA,在zynq和K7以上平臺倒是很使用,如果對Video Mixer方案感興趣,可以參考我之前的博客,博客地址:
點(diǎn)擊直接前往

本文使用Xilinx的Artix7 FPGA基于RTL8211 網(wǎng)絡(luò)PHY芯片實(shí)現(xiàn)千兆網(wǎng)UDP視頻傳輸(視頻縮放后再傳輸),視頻源有兩種,分別對應(yīng)開發(fā)者手里有沒有攝像頭的情況,一種是使用板載的HDMI輸入接口(筆記本電腦輸入模擬HDMI輸入源);另一種是如果你的手里沒有攝像頭,或者你的開發(fā)板沒HDMI輸入接口,則可使用代碼內(nèi)部生成的動態(tài)彩條模擬攝像頭視頻,視頻源的選擇通過代碼頂層的`define宏定義進(jìn)行,上電默認(rèn)選擇HDMI輸入接口作為視頻輸入源;FPGA采集視頻后,首先使用純verilog實(shí)現(xiàn)的圖像縮放模塊對視頻進(jìn)行縮小操作,即從輸入的1920x1080分辨率縮小為1280x720,因?yàn)槲覀兊腝T上位機(jī)目前只支持1280x720,所以才需要縮放;使用FDMA將視頻緩存到DDR3中,然后將視頻讀出,根據(jù)與QT上位機(jī)的通信協(xié)議將視頻進(jìn)行UDP數(shù)據(jù)組包,然后使用我們的UDP協(xié)議棧對視頻進(jìn)行UDP數(shù)據(jù)封裝,再將數(shù)據(jù)送入Tri Mode Ethernet MAC IP,輸出給開發(fā)板板載的RTL8211 網(wǎng)絡(luò)PHY,然后UDP視頻通過開發(fā)板板載的RJ45網(wǎng)口經(jīng)網(wǎng)線傳輸給電腦主機(jī),電腦端用我們提供的QT上位機(jī)采集圖像并顯示;提供vivado2019.1版本的FPGA工程源碼和QT上位機(jī)及其源碼;

本博客詳細(xì)描述了FPGA基于RTL8211 網(wǎng)絡(luò)PHY芯片實(shí)現(xiàn)千兆網(wǎng)UDP視頻傳輸?shù)脑O(shè)計(jì)方案,工程代碼可綜合編譯上板調(diào)試,可直接項(xiàng)目移植,適用于在校學(xué)生、研究生項(xiàng)目開發(fā),也適用于在職工程師做學(xué)習(xí)提升,可應(yīng)用于醫(yī)療、軍工等行業(yè)的高速接口或圖像處理領(lǐng)域;
提供完整的、跑通的工程源碼和技術(shù)支持;
工程源碼和技術(shù)支持的獲取方式放在了文章末尾,請耐心看到最后;

版本更新說明

此版本為第2版,根據(jù)讀者的建議,對第1版工程做了如下改進(jìn)和更新:
1:增加了輸入視頻動態(tài)彩條的選擇,有的讀者說他手里沒有OV5640攝像頭,或者攝像頭原理圖和我的不一致,導(dǎo)致在移植過程中困難很大,基于此,增加了動態(tài)彩條,它由FPGA內(nèi)部產(chǎn)生,不需要外接攝像頭就可以使用,使用方法在后文有說明,本例程板載的是HDMI輸入接口,沒有該接口的朋友可以選擇使用動態(tài)彩條;
2:優(yōu)化了FDMA,之前的FDMA內(nèi)AXI4的數(shù)據(jù)讀寫突發(fā)長度為256,導(dǎo)致在低端FPGA上帶寬不夠,從而圖像質(zhì)量不佳,基于此,將FDMA內(nèi)AXI4的數(shù)據(jù)讀寫突發(fā)長度改為128;
3:優(yōu)化了UDP協(xié)議棧及其數(shù)據(jù)緩沖FIFO組的代碼,并在博文里增加了這一部分的代碼說明;
4:增加了Tri Mode Ethernet MAC IP核的使用、更新、修改等說明,以單獨(dú)文檔形式放在了資料包中;
5:優(yōu)化了整體代碼架構(gòu),使得之前看起來雜亂無章的代碼變得清爽簡潔;

免責(zé)聲明

本工程及其源碼即有自己寫的一部分,也有網(wǎng)絡(luò)公開渠道獲取的一部分(包括CSDN、Xilinx官網(wǎng)、Altera官網(wǎng)等等),若大佬們覺得有所冒犯,請私信批評教育;基于此,本工程及其源碼僅限于讀者或粉絲個人學(xué)習(xí)和研究,禁止用于商業(yè)用途,若由于讀者或粉絲自身原因用于商業(yè)用途所導(dǎo)致的法律問題,與本博客及博主無關(guān),請謹(jǐn)慎使用。。。

2、相關(guān)方案推薦

UDP視頻傳輸–無縮放

我這里有與本博客相似的UDP視頻傳輸方案,但他的輸入視頻沒有進(jìn)行縮放操作,而是直接緩存后送UDP協(xié)議棧輸出,博客鏈接如下:直接點(diǎn)擊前往

FPGA圖像縮放方案

本博客使用到的圖像縮放方案,是我之前發(fā)布過的一篇博文的內(nèi)容,對該圖像縮放部分感興趣的可以參考,博客鏈接如下:直接點(diǎn)擊前往

我這里已有的以太網(wǎng)方案

目前我這里有大量UDP協(xié)議的工程源碼,包括UDP數(shù)據(jù)回環(huán),視頻傳輸,AD采集傳輸?shù)?#xff0c;也有TCP協(xié)議的工程,還有RDMA的NIC 10G 25G 100G網(wǎng)卡工程源碼,對網(wǎng)絡(luò)通信有需求的兄弟可以去看看:直接點(diǎn)擊前往
其中千兆TCP協(xié)議的工程博客如下:
直接點(diǎn)擊前往

3、設(shè)計(jì)思路框架

FPGA工程設(shè)計(jì)框圖如下:
在這里插入圖片描述

視頻源選擇

視頻源有兩種,分別對應(yīng)開發(fā)者手里有沒有攝像頭的情況,一種是使用板載的HDMI輸入接口;另一種是如果你的手里沒有攝像頭,或者你的開發(fā)板沒HDMI輸入接口,則可使用代碼內(nèi)部生成的動態(tài)彩條模擬攝像頭視頻,視頻源的選擇通過代碼頂層的宏定義進(jìn)行,上電默認(rèn)選擇HDMI輸入接口作為視頻輸入源;
視頻源的選擇通過代碼頂層的`define宏定義進(jìn)行;如下:
在這里插入圖片描述
選擇邏輯代碼部分如下:
在這里插入圖片描述
選擇邏輯如下:
當(dāng)(注釋) define COLOR_IN時,輸入源視頻是動態(tài)彩條;
當(dāng)(不注釋) define COLOR_IN時,輸入源視頻是HDMI輸入;

ADV7611 解碼芯片配置及采集

ADV7611 解碼芯片需要i2c配置才能使用,ADV7611 解碼芯片配置及采集這兩部分均用verilog代碼模塊實(shí)現(xiàn),代碼位置如下:
在這里插入圖片描述
代碼中配置為1920x1080分辨率;

動態(tài)彩條

動態(tài)彩條可配置為不同分辨率的視頻,視頻的邊框?qū)挾?#xff0c;動態(tài)移動方塊的大小,移動速度等都可以參數(shù)化配置,我這里配置為辨率1920x1080,動態(tài)彩條模塊代碼位置和頂層接口和例化如下:
在這里插入圖片描述
在這里插入圖片描述

跨時鐘FIFO

跨時鐘FIFO的作用是為了解決跨時鐘域的問題,當(dāng)視頻不進(jìn)行縮放時不存在視頻跨時鐘域問題,但當(dāng)視頻縮小或放大時就存在此問題,用FIFO緩沖可以使圖像縮放模塊每次讀到的都是有效的輸入數(shù)據(jù),注意,原視頻的輸入時序在這里就已經(jīng)被打亂了;

圖像縮放模塊詳解

因?yàn)槲覀兊腝T上位機(jī)目前只支持1280x720,所以才需要縮放,即從輸入的1920x1080分辨率縮小為1280x720;用筆記本電腦模擬HDMI視頻輸入源;

設(shè)計(jì)框圖

本設(shè)計(jì)將常用的雙線性插值和鄰域插值算法融合為一個代碼中,通過輸入?yún)?shù)選擇某一種算法;代碼使用純verilog實(shí)現(xiàn),沒有任何ip,可在Xilinx、Intel、國產(chǎn)FPGA間任意移植;代碼以ram和fifo為核心進(jìn)行數(shù)據(jù)緩存和插值實(shí)現(xiàn),設(shè)計(jì)架構(gòu)如下:
在這里插入圖片描述
視頻輸入時序要求如下:
在這里插入圖片描述
輸入像素?cái)?shù)據(jù)在dInValid和nextDin同時為高時方可改變;
視頻輸出時序要求如下:
在這里插入圖片描述
輸出像素?cái)?shù)據(jù)在dOutValid 和nextdOut同時為高時才能輸出;

代碼框圖

代碼使用純verilog實(shí)現(xiàn),沒有任何ip,可在Xilinx、Intel、國產(chǎn)FPGA間任意移植;
圖像縮放的實(shí)現(xiàn)方式很多,最簡單的莫過于Xilinx的HLS方式實(shí)現(xiàn),用opencv的庫,以c++語言幾行代碼即可完成,關(guān)于HLS實(shí)現(xiàn)圖像縮放請參考我之前寫的文章HLS實(shí)現(xiàn)圖像縮放
網(wǎng)上也有其他圖像縮放例程代碼,但大多使用了IP,導(dǎo)致在其他FPGA器件上移植變得困難,通用性不好;相比之下,本設(shè)計(jì)代碼就具有通用性;代碼架構(gòu)如圖;
在這里插入圖片描述
其中頂層接口部分如下:
在這里插入圖片描述

2種插值算法的整合與選擇

本設(shè)計(jì)將常用的雙線性插值和鄰域插值算法融合為一個代碼中,通過輸入?yún)?shù)選擇某一種算法;
具體選擇參數(shù)如下:

input  wire i_scaler_type //0-->bilinear;1-->neighbor

通過輸入i_scaler_type 的值即可選擇;

輸入0選擇雙線性插值算法;
輸入1選擇鄰域插值算法;

關(guān)于這兩種算法的數(shù)學(xué)差異,請參考我之前寫的文章HLS實(shí)現(xiàn)圖像縮放

UDP協(xié)議棧

本UDP協(xié)議棧方案需配合Xilinx的Tri Mode Ethernet MAC三速網(wǎng)IP一起使用,使用UDP協(xié)議棧網(wǎng)表文件,雖看不見源碼但可正常實(shí)現(xiàn)UDP通信,該協(xié)議棧目前并不開源,只提供網(wǎng)表文件,但不影響使用,該協(xié)議棧帶有用戶接口,使得用戶無需關(guān)心復(fù)雜的UDP協(xié)議而只需關(guān)心簡單的用戶接口時序即可操作UDP收發(fā),非常簡單;
協(xié)議棧架構(gòu)如下:
在這里插入圖片描述
協(xié)議棧性能表現(xiàn)如下:
1:支持 UDP 接收校驗(yàn)和檢驗(yàn)功能,暫不支持 UDP 發(fā)送校驗(yàn)和生成;
2:支持 IP 首部校驗(yàn)和的生成和校驗(yàn),同時支持 ICMP 協(xié)議中的 PING 功能,可接收并響應(yīng)同一個子網(wǎng)內(nèi)部設(shè)備的 PING 請求;
3:可自動發(fā)起或響應(yīng)同一個子網(wǎng)內(nèi)設(shè)備的 ARP 請求,ARP 收發(fā)完全自適應(yīng)。ARP 表可保存同一個子網(wǎng)內(nèi)部256 個 IP 和 MAC 地址對;
4:支持 ARP 超時機(jī)制,可檢測所需發(fā)送數(shù)據(jù)包的目的 IP 地址是否可達(dá);
5:協(xié)議棧發(fā)送帶寬利用率可達(dá) 93%,高發(fā)送帶寬下,內(nèi)部仲裁機(jī)制保證 PING 和 ARP 功能不受任何影響;
6:發(fā)送過程不會造成丟包;
7:提供64bit位寬AXI4-Stream形式的MAC接口,可與Xilinx官方的千兆以太網(wǎng)IP核Tri Mode Ethernet MAC,以及萬兆以太網(wǎng) IP 核 10 Gigabit Ethernet Subsystem、10 Gigabit Ethernet MAC 配合使用;
有了此協(xié)議棧,我們無需關(guān)心復(fù)雜的UDP協(xié)議的實(shí)現(xiàn)了,直接調(diào)用接口即可使用。。。
本UDP協(xié)議棧用戶接口發(fā)送時序如下:
在這里插入圖片描述
本UDP協(xié)議棧用戶接口接收時序如下:
在這里插入圖片描述

UDP視頻數(shù)據(jù)組包

實(shí)現(xiàn)UDP視頻數(shù)據(jù)的組包,UDP數(shù)據(jù)發(fā)送必須與QT上位機(jī)的接受程序一致,上位機(jī)定義的UDP幀格式包括幀頭個UDP數(shù)據(jù),幀頭定義如下:
在這里插入圖片描述
FPGA端的UDP數(shù)據(jù)組包代碼必須與上圖的數(shù)據(jù)幀格式對應(yīng),否則QT無法解析,代碼中定義了數(shù)據(jù)組包狀態(tài)機(jī)以及數(shù)據(jù)幀,如下:
在這里插入圖片描述
另外,由于UDP發(fā)送是64位數(shù)據(jù)位寬,而圖像像素?cái)?shù)據(jù)是24bit位寬,所以必須將UDP數(shù)據(jù)重新組合,以保證像素?cái)?shù)據(jù)的對齊,這部分是整個工程的難點(diǎn),也是所有FPGA做UDP數(shù)據(jù)傳輸?shù)碾y點(diǎn);

UDP協(xié)議棧數(shù)據(jù)發(fā)送

UDP協(xié)議棧具有發(fā)送和接收功能,但這里僅用到了發(fā)送,此部分代碼架構(gòu)如下:
在這里插入圖片描述
UDP協(xié)議棧代碼組我已經(jīng)做好,用戶可直接拿去使用;

UDP協(xié)議棧數(shù)據(jù)緩沖

這里對代碼中用到的數(shù)據(jù)緩沖FIFO組做如下解釋:
由于 UDP IP 協(xié)議棧的 AXI-Stream 數(shù)據(jù)接口位寬為 64bit,而 Tri Mode Ethernet MAC 的 AXI-Stream數(shù)據(jù)接口位寬為 8bit。因此,要將 UDP IP 協(xié)議棧與 Tri Mode Ethernet MAC 之間通過 AXI-Stream 接口互聯(lián),需要進(jìn)行時鐘域和數(shù)據(jù)位寬的轉(zhuǎn)換。實(shí)現(xiàn)方案如下圖所示:
在這里插入圖片描述
收發(fā)路徑(本設(shè)計(jì)只用到了發(fā)送)都使用了2個AXI-Stream DATA FIFO,通過其中1個FIFO實(shí)現(xiàn)異步時鐘域的轉(zhuǎn)換,1個FIFO實(shí)
現(xiàn)數(shù)據(jù)緩沖和同步Packet mode功能;由于千兆速率下Tri Mode Ethernet MAC的AXI-Stream數(shù)據(jù)接口同步時鐘信號為125MHz,此時,UDP協(xié)議棧64bit的AXI-Stream數(shù)據(jù)接口同步時鐘信號應(yīng)該為125MHz/(64/8)=15.625MHz,因此,異步
AXI-Stream DATA FIFO兩端的時鐘分別為125MHz(8bit),15.625MHz(64bit);UDP IP協(xié)議棧的AXI-Stream接口經(jīng)過FIFO時鐘域轉(zhuǎn)換后,還需要進(jìn)行數(shù)據(jù)數(shù)據(jù)位寬轉(zhuǎn)換,數(shù)據(jù)位寬的轉(zhuǎn)換通過AXI4-Stream Data Width Converter完成,在接收路徑中,進(jìn)行 8bit 到 64bit 的轉(zhuǎn)換;在發(fā)送路徑中,進(jìn)行 64bit 到 8bit 的轉(zhuǎn)換;

IP地址、端口號的修改

UDP協(xié)議棧留出了IP地址、端口號的修改端口供用戶自由修改,位置如下:
在這里插入圖片描述

Tri Mode Ethernet MAC介紹以及移植注意事項(xiàng)

本設(shè)計(jì)調(diào)用了Xilinx官方IP:Tri Mode Ethernet MAC,其在代碼中的位置如下:
在這里插入圖片描述
可以看到其中Tri Mode Ethernet MAC IP核處于被鎖定狀態(tài),這是我們故意為之,目的是根據(jù)不同的PHY延時參數(shù)而修改其內(nèi)部代碼和內(nèi)部時序約束代碼,由于本設(shè)計(jì)使用的網(wǎng)絡(luò)PHY為RTL8211 ,所以這里重點(diǎn)介紹使用RTL8211 時Tri Mode Ethernet MAC的修改和移植事項(xiàng),當(dāng)你需要工程移植,或者你的vivado版本與我的不一致時,Tri Mode Ethernet MAC都需要在vivado中進(jìn)行升級,但由于該IP已被我們?nèi)藶殒i定,所以升級和修改需要一些高端操作,關(guān)于操作方法,我專門寫了一篇文檔,已附在資料包里,如下:
在這里插入圖片描述

RTL8211 PHY

本設(shè)計(jì)開發(fā)板使用的網(wǎng)絡(luò)PHY為RTL8211 ,工作在延時模式下,原理圖引出了MDIO,但代碼中不需要MDIO配置,通過上下拉電阻即可使RTL8211 工作于延時模式,該P(yáng)HY最高支持千兆,且能在10M/100M/1000M之間自動協(xié)商,但本設(shè)計(jì)在Tri Mode Ethernet MAC端固定為1000M;在資料包中,我們提供RTL8211 的原理圖;
在這里插入圖片描述

QT上位機(jī)和源碼

我們提供和UDP通信協(xié)議相匹配的QT抓圖顯示上位機(jī)及其源代碼,目錄如下:
在這里插入圖片描述
我們的QT目前僅支持1280x720分辨率的視頻抓圖顯示,但同時預(yù)留了1080P接口,對QT開發(fā)感興趣的朋友可以嘗試修改代碼以適應(yīng)1080P,因?yàn)镼T在這里只是驗(yàn)證工具,不是本工程的重點(diǎn),所以不再過多贅述,詳情請參考資料包的QT源碼,位置如下:
在這里插入圖片描述

4、vivado工程詳解

開發(fā)板FPGA型號:Xilinx–Artix7–xc7a35tfgg484-2;
開發(fā)環(huán)境:Vivado2019.1;
輸入:HDMI或動態(tài)彩條,分辨率1920x1080;
輸出:千兆UDP協(xié)議棧,RTL8211 PHY,RJ45網(wǎng)口;
工程作用:千兆UDP網(wǎng)絡(luò)視頻傳輸;
工程BD如下:
在這里插入圖片描述
工程代碼架構(gòu)如下:
在這里插入圖片描述
工程的資源消耗和功耗如下:
在這里插入圖片描述

5、工程移植說明

vivado版本不一致處理

1:如果你的vivado版本與本工程vivado版本一致,則直接打開工程;
2:如果你的vivado版本低于本工程vivado版本,則需要打開工程后,點(diǎn)擊文件–>另存為;但此方法并不保險,最保險的方法是將你的vivado版本升級到本工程vivado的版本或者更高版本;
在這里插入圖片描述
3:如果你的vivado版本高于本工程vivado版本,解決如下:
在這里插入圖片描述
打開工程后會發(fā)現(xiàn)IP都被鎖住了,如下:
在這里插入圖片描述
此時需要升級IP,操作如下:
在這里插入圖片描述
在這里插入圖片描述

FPGA型號不一致處理

如果你的FPGA型號與我的不一致,則需要更改FPGA型號,操作如下:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
更改FPGA型號后還需要升級IP,升級IP的方法前面已經(jīng)講述了;

其他注意事項(xiàng)

1:由于每個板子的DDR不一定完全一樣,所以MIG IP需要根據(jù)你自己的原理圖進(jìn)行配置,甚至可以直接刪掉我這里原工程的MIG并重新添加IP,重新配置;
2:根據(jù)你自己的原理圖修改引腳約束,在xdc文件中修改即可;
3:純FPGA移植到Zynq需要在工程中添加zynq軟核;

6、上板調(diào)試驗(yàn)證并演示

準(zhǔn)備工作

首先連接開發(fā)板和電腦,開發(fā)板端連接后如下圖:
在這里插入圖片描述
然后將你的電腦IP地址改為和代碼里規(guī)定的IP一致,當(dāng)然,代碼里的IP是可以任意設(shè)置的,但代碼里的IP修改后,電腦端的IP也要跟著改,我的設(shè)置如下:
在這里插入圖片描述

ping一下

在開始測試前,我們先ping一下,測試UDP是否連通,如下:
在這里插入圖片描述

靜態(tài)演示

HDMI輸入1920x1080縮小到1280x720后UDP網(wǎng)絡(luò)傳輸QT上位機(jī)顯示如下:
在這里插入圖片描述
動態(tài)彩條1920x1080縮小到1280x720后UDP網(wǎng)絡(luò)傳輸QT上位機(jī)顯示如下:
在這里插入圖片描述

動態(tài)演示

動態(tài)視頻演示如下:

FPGA-UDP-視頻縮放傳輸-K7-16比9

7、福利:工程源碼獲取

福利:工程代碼的獲取
代碼太大,無法郵箱發(fā)送,以某度網(wǎng)盤鏈接方式發(fā)送,
資料獲取方式:私,或者文章末尾的V名片。
網(wǎng)盤資料如下:
在這里插入圖片描述
在這里插入圖片描述

http://m.aloenet.com.cn/news/41318.html

相關(guān)文章:

  • 江門網(wǎng)站制作培訓(xùn)網(wǎng)頁seo優(yōu)化
  • 品牌建設(shè)網(wǎng)站規(guī)劃網(wǎng)店?duì)I銷與推廣策劃方案
  • 做網(wǎng)站需要多少人中國十大電商公司排名
  • 網(wǎng)站商城定制網(wǎng)站建設(shè)哪個平臺可以免費(fèi)發(fā)廣告
  • 簡潔企業(yè)網(wǎng)站源碼專注于seo顧問
  • 揭陽cms建站模板數(shù)據(jù)分析師35歲以后怎么辦
  • wordpress調(diào)用js函數(shù)魔方優(yōu)化大師官網(wǎng)下載
  • 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì) 網(wǎng)站建設(shè)seo視頻教程百度網(wǎng)盤
  • wap網(wǎng)站建設(shè)公司新聞頭條今天最新消息
  • 帝國網(wǎng)站管理系統(tǒng)入門教程百度排名點(diǎn)擊軟件
  • 企業(yè)做網(wǎng)站有用嗎簡述如何對網(wǎng)站進(jìn)行推廣
  • 做槍版電影網(wǎng)站賺錢免費(fèi)二級域名平臺
  • 臺前做網(wǎng)站的公司廣告文案
  • 推廣普通話宣傳周活動方案長沙seo免費(fèi)診斷
  • 制作一個網(wǎng)站需要什么推廣合作
  • 佛山網(wǎng)站建設(shè)公司88百度的鏈接
  • dede的網(wǎng)站地圖要怎么做網(wǎng)站推廣平臺
  • 同一個服務(wù)器可以做多個網(wǎng)站百度收錄規(guī)則
  • 論壇網(wǎng)站html模板廣州aso優(yōu)化公司 有限公司
  • 網(wǎng)站建設(shè)請示文件茶葉網(wǎng)絡(luò)營銷策劃方案
  • 地下城釣魚網(wǎng)站怎么做營銷網(wǎng)站建設(shè)軟件下載
  • php網(wǎng)站開發(fā)常用的插件seo排名賺app最新版本
  • 做齊魯油官方網(wǎng)站軟件推廣平臺有哪些
  • 視頻音樂網(wǎng)站怎樣建設(shè)濰坊seo培訓(xùn)
  • 徐州建站服務(wù)av手機(jī)在線精品
  • 上海專業(yè)網(wǎng)站建設(shè) 公司中國站免費(fèi)推廣入口
  • 教育部教育考試院網(wǎng)站網(wǎng)頁的優(yōu)化方法
  • 建設(shè)部繼續(xù)教育網(wǎng)站網(wǎng)站制作方案
  • 攜程旅行網(wǎng)站內(nèi)容的建設(shè)軟文發(fā)布軟件
  • 抖音app下載seo外包方法