7系列 之 OSERDESE2

背景

《ug471_7Series_SelectIO.pdf》介紹了Xilinx 7 系列 SelectIO 的輸入/輸出特性及邏輯資源的相關內容。

第 1 章《SelectIO Resources》介紹了輸出驅動器和輸入接收器的電氣特性,并通過大量實例解析了各類標準接口的實現。
第 2 章《SelectIO Logic Resources》介紹了輸入輸出數據寄存器及其雙倍數據速率(DDR)操作,以及可編程輸入延(IDELAY)和可編程輸出延遲(ODELAY)。
第 3 章《Advanced SelectIO Logic Resources》介紹了ISERDESE2 、OSERDESE2與IO_FIFO。

了解了這個手冊充分介紹的SelectIO架構和資源,以及所支持的電平標準。就可以利用相應的架構和資源實現與不同電平標準、通信速率間的外設建立起聯系。


系列目錄與傳送門

  • 基于Xilinx的7系列,
  • 筆者學習、研究FPGA的過程、筆記,記錄為:《凡人修FPGA傳》。

說明1:本系列基于文檔文檔《ug471_7Series_SelectIO.pdf》而寫,翻譯和感悟,會出現中英文混合的情況。

說明2:雖然文中會出現一些原文的部分截圖,非常支持并推薦大家去看原汁原味的官方文檔

說明3:在查閱相關資料過程中,發現一些關于相關知識點的介紹零零散散,本系列會對其進行整合,力求詳盡。

說明4:本博客是筆者用來記錄學習過程的一個形式,并非專業論文。因此,在本博客中不會太注重圖文格式的規范。

說明5:如果文章有誤,歡迎諸位道友指出、討論,筆者也會積極改正,希望大家一起進步!


文章目錄

  • 背景
  • 系列目錄與傳送門
  • 前言
  • 1、OSERDESE2 總述
    • 1.1、數據并串轉換器(Data Parallel-to-Serial Converter)
    • 1.2、三態并串轉換器(3-State Parallel-to-Serial Conversion)
  • 2 ··· OSERDESE2 原語
  • 3 ··· OSERDESE2 端口
  • 4 ··· OSERDESE2 屬性
  • 5、OSERDESE2 時鐘配置方法
  • 6、OSERDESE2 位寬擴展
  • 7、輸出反饋(Output Feedback)
  • 8、OSERDESE2 延遲
  • 9、Timing Characteristics
  • 10、OSERDESE2 原語例化
  • 11、參考文獻


前言

輸入串并轉換器 (Input serial-to-parallel converters,ISERDESE2) ,
輸出并串轉換器(output parallel-to-serial converters ,OSERDESE2),
支持極高的 I/O 數據速率,使內部邏輯的運行速度可以到 I/O 速率的1/8。

1、OSERDESE2 總述

  • OSERDESE2是7系列FPGA中專用的并串轉換器,集成特定的時鐘與邏輯資源,專為高速源同步接口設計。

  • 每個 OSERDESE2 模塊都包含:
    一個專用的數據串行器(a dedicated serializer for data)
    和 一個三態控制串行器(3-state control),
    可以被配置成SDR和DDR模式。

在這里插入圖片描述
如圖 3-3 所示,OSERDESE2 的輸入比特順序與 ISERDESE2 的輸出順序互為鏡像。例如:
在這里插入圖片描述
OSERDESE2的輸入:字 FEDCBA 的最低有效位(LSB) A 輸入至 D1 端口。
ISERDESE2 的輸出:同一比特 A 從 Q8 端口輸出。

如果,CLK頻率為200 MHz:
?SDR模式(8-bit)?:并串轉換速率為 200 MHz × 8 = 1.6 Gbps?。
?DDR模式(8-bit)?:并串轉換速率為 200 MHz × 8 × 2 = 3.2 Gbps

  • 數據串行器:串行化比最高8:1(若使用OSERDESE2位寬擴展,則可達10:1和14:1)。

  • 三態控制串行器:支持最高14:1串行化比。

  • OSERDESE2 模塊有一個DDR3專用模式,針對高速存儲器應用。

在這里插入圖片描述

1.1、數據并串轉換器(Data Parallel-to-Serial Converter)

OSERDESE2模塊內的數據并串轉換器接收來自FPGA邏輯的2至8位并行數據(若啟用OSERDESE2位寬擴展,可支持14位),將數據串行化后通過OQ引腳輸出至IOB。并行數據從最低位輸入引腳(D1)開始串行傳輸(即D1引腳數據最先從OQ引腳輸出)。該轉換器支持兩種工作模式:single-data rate (SDR) and double-data rate (DDR)。

OSERDESE2 使用 CLK 和 CLKDIV 這兩個時鐘信號來進行數據速率轉換。CLK 是高速串行時鐘,CLKDIV 是分頻后的并行時鐘。CLK 和 CLKDIV 必須相位對齊。

使用前,必須對OSERDESE2施加復位信號。 OSERDESE2 包含一個控制數據流的內部計數器。 如果未將復位信號的釋放與 CLKDIV 同步,可能會產生意外輸出。

此外OSERDESE2內部還有一個計數器,用來計數當前dout輸出的是輸入信號的第幾位數據了,所以在使用OSERDESE2前,必須對OSERDESE2進行復位,復位信號可以是同步復位,也可以是異步復位,但是復位信號無效邊沿必須與CLKDIV同步(即使用異步復位時,要考慮同步釋放復位)。(《xilinx原語詳解及仿真之OSERDESE2》)

1.2、三態并串轉換器(3-State Parallel-to-Serial Conversion)

OSERDESE2模塊除了具有數據并串轉換功能外,還包括三態控制并串轉換器,用于IOB的三態信號控制。最大支持4位并行三態信號串行化,不可級聯。

2 ··· OSERDESE2 原語

在這里插入圖片描述

3 ··· OSERDESE2 端口

  • 1、Data Path Output - OQ

OQ 是 OSERDESE2 模塊的數據輸出端口。輸入端口 D1 的數據將首先出現在 OQ。此端口將數據并串轉換器的輸出連接至 IOB 的數據輸入端口。OQ 不能直接驅動 ODELAYE2,必須通過 OFB 引腳實現延遲控制。

  • 2、Output Feedback from OSERDESE2 - OFB

OFB 是 OSERDESE2 的串行(高速)數據反饋端口,用途包括:連接至 ODELAYE2 原語實現輸出延遲,或者將串行數據回傳至 ISERDESE2。

  • 3、3-state Control Output - TQ

TQ 是 OSERDESE2 的三態控制輸出端口,用于將三態并串轉換器的輸出連接至 IOB 的三態控制輸入。

  • 4、3-state Control Output - TFB

TFB 是 OSERDESE2 的三態狀態反饋端口,可向 FPGA 邏輯端反饋當前三態狀態(當 IOB 處于高阻態時有效)。

  • 5、High-Speed Clock Input - CLK

CLK 是驅動并串轉換器串行端的高速時鐘信號。

  • 6、Divided Clock Input - CLKDIV

CLKDIV 是驅動并串轉換器并行端的分頻時鐘信號,為 CLK 的分頻信號且與CLK相位對齊。

  • 7、Parallel Data Inputs - D1 to D8

所有并行數據通過 D1-D8 端口輸入 OSERDESE2,支持配置為 2 至 8 位(即 8:1 串行化)。通過從模式 OSERDESE2 級聯可擴展至 10 或 14 位。

  • 8、Reset Input - RST

復位生效(高電平):使 CLK/CLKDIV 域所有數據觸發器異步輸出低電平。

復位釋放(同步要求):需與 CLKDIV 同步釋放,內部邏輯在 CLK 第一次上升沿重新同步。

在多比特輸出結構中的每個 OSERDESE2 應由相同的復位信號驅動,該信號異步斷言,并與 CLKDIV 同步去斷言,以確保所有 OSERDESE2 元素同步退出復位。

復位釋放時,需確保 CLK/CLKDIV 已穩定。

  • 9、Output Data Clock Enable - OCE

OCE 為數據路徑的高電平有效時鐘使能信號。

  • 10、3-state Signal Clock Enable - TCE

TCE 為三態控制路徑的高電平有效時鐘使能信號。

  • 11、Parallel 3-state Inputs - T1 to T4

所有并行三態信號通過 T1 至 T4 端口進入 OSERDESE2 模塊。這些端口連接到 FPGA 內部結構。它們可配置為一位、兩位或四位,或者直通。DATA_RATE_TQ 和 TRISTATE_WIDTH 屬性控制這些端口的行為。

  • 在博客《xilinx原語詳解及仿真之OSERDESE2》中,看到如下一段話。
    在這里插入圖片描述

4 ··· OSERDESE2 屬性

在這里插入圖片描述

  • 1、DATA_RATE_OQ

此屬性定義數據以單數據速率(SDR)或雙數據速率(DDR)處理。允許值為 SDR 或 DDR,默認值為 DDR。

  • 2、DATA_RATE_TQ

此屬性定義三態控制以單數據速率(SDR)、雙數據速率(DDR)或直通模式(BUF)處理。允許值為 SDR、DDR 或 BUF,默認值為 DDR。

SDR/DDR 模式下:使用全部四個三態輸入(T1-T4),其行為由 TRISTATE_WIDTH 屬性配置。

BUF 模式下:
旁路 SDR/DDR 模式寄存器,因此應使用 T1 輸入。T1 輸入信號與所有其他信號異步,因為它僅通過 OSERDESE2 傳遞。

  • 3、DATA_WIDTH

DATA_WIDTH 屬性定義并行轉串行轉換器的并行數據輸入位寬。

當 DATA_RATE_OQ 設置為 SDR 時,DATA_WIDTH 屬性的可能取值為 2、3、4、5、6、7 和 8。當 DATA_RATE_OQ 設置為 DDR 時,DATA_WIDTH 屬性的可能取值為 4、6、8、10 和 14。

當 DATA_WIDTH 設置為大于 8 的位寬時,必須將一對 OSERDESE2 配置為主從模式。

  • 4、SERDES_MODE

此屬性定義位寬擴展時 OSERDESE2 的主從模式,允許值為 MASTER(主)或 SLAVE(從),默認值為 MASTER。

  • 5、TRISTATE_WIDTH

此屬性定義三態并串轉換器的并行輸入位寬,其取值范圍取決于 DATA_RATE_TQ:
DATA_RATE_TQ=SDR 或 BUF,TRISTATE_WIDTH=1;
DATA_RATE_TQ=DDR,TRISTATE_WIDTH=1或4;

在這里插入圖片描述

5、OSERDESE2 時鐘配置方法

理想情況下,CLK與CLKDIV需保持相位對齊(允許一定容差)?。

OSERDESE2模塊的有效時鐘配置方案僅包含以下兩種:
1、由 BUFIO 驅動 CLK , 由 BUFR 驅動 CLKDIV 。
2、CLK和CLKDIV由同一MMCM或PLL的CLKOUT[0:6]驅動。

若使用MMCM驅動OSERDESE2的CLK和CLKDIV,則供給OSERDESE2的緩沖類型不能混用。例如,若CLK由BUFG驅動,則CLKDIV也必須由BUFG驅動。

6、OSERDESE2 位寬擴展

每個I/O單元(I/O tile)有兩個OSERDESE2模塊:一個主模塊和一個從模塊。

將主OSERDESE2的SHIFTIN端口連接到從OSERDESE2的SHIFTOUT端口,可以把并串轉換器擴展到10:1和14:1(僅限DDR模式)。

對于差分輸出,主OSERDESE2必須位于差分輸出對的正端(_P引腳)。

非差分輸出時,與從OSERDESE2相關的輸出緩沖區不可用,位寬擴展也無法使用。

在這里插入圖片描述
使用互補單端標準(例如DIFF_HSTL和DIFF_SSTL)時,可能無法使用位寬擴展。這是因為互補單端標準會使用 I/O單元 內中的兩個OLOGICE2/3模塊(OLOGICE2/3 blocks)來傳輸兩個互補信號,從而沒有可用的OLOGICE2/3模塊用于位寬擴展。

  • 位寬擴展指南:
    • 1、兩個 OSERDESE2 模塊必須是相鄰的主從對。
    • 2、將主 OSERDESE2 的 SERDES_MODE 屬性設置為 MASTER,
      從 OSERDESE2 的 SERDES_MODE 屬性設置為 SLAVE。
    • 3、用戶必須將從模塊的 SHIFTIN 引腳連接到主模塊的 SHIFTOUT 引腳。
    • 4、從模塊使用 Q3 到 Q8 引腳作為輸出。
    • 5、主模塊和從模塊的DATA_WIDTH相等。
    • 6、屬性INTERFACE_TYPE設置為DEFAULT。

在這里插入圖片描述

7、輸出反饋(Output Feedback)

OSERDESE2引腳OFB具有以下兩種功能:
? 作為反饋路徑至ISERDESE2的OFB引腳。。
? 與ODELAYE2連接。OSERDESE2的輸出可以通過OFB引腳路由至ODELAYE2模塊,然后通過ODELAYE2進行延遲。

8、OSERDESE2 延遲

  • DEFAULT Interface Type Latencies(默認接口類型延遲)

OSERDESE2模塊的輸入到輸出延遲取決于DATA_RATE和DATA_WIDTH屬性。

延遲被定義為以下兩個事件之間的時間間隔:
事件(a):CLKDIV的上升沿將數據從輸入端D1-D8時鐘輸入到OSERDESE2。
事件(b):串行流的第一位出現在OQ。

表3-11總結了各種OSERDESE2延遲值。
在這里插入圖片描述

當CLK和CLKDIV的相位對齊時,延遲可能相差一個CLK周期,如果CLK和CLKDIV的相位沒有對齊時,延遲的值取決于DATA_RATE和DATA_WIDTH的值。

9、Timing Characteristics

  • 2:1 SDR Serialization
    在這里插入圖片描述
  • 8:1 DDR Serialization
    在這里插入圖片描述- 4:1 DDR 3-State Controller Serialization
    在這里插入圖片描述

時鐘事件1:
T1、T2和T4被置0以解除三態條件。
T1-T4和D1-D4在OSERDESE2中的串行化路徑相同(包括延遲),因此在時鐘事件1期間,EFGH位始終與T1-T4引腳上呈現的0010對齊。

時鐘事件2:
在EFGH被采入OSERDESE2后的一個時鐘周期,數據位E出現在OQ。
此延遲與表3-11中列出的4:1 DDR模式OSERDESE2延遲一個時鐘周期一致。

在時鐘事件1期間,T1上的三態位0在0010被采入OSERDESE2三態塊后的一個時鐘周期出現在TQ。此延遲與表3-11中列出的 4:1 DDR模式OSERDESE2延遲一個時鐘周期一致。

10、OSERDESE2 原語例化

// OSERDESE2: Output SERial/DESerializer with bitslip
// 7 Series
// Xilinx HDL Libraries Guide, version 13.4
OSERDESE2 #(.DATA_RATE_OQ("DDR"), // DDR, SDR.DATA_RATE_TQ("DDR"), // DDR, BUF, SDR.DATA_WIDTH(4), // Parallel data width (2-8,10,14).INIT_OQ(1'b0), // Initial value of OQ output (1'b0,1'b1).INIT_TQ(1'b0), // Initial value of TQ output (1'b0,1'b1).SERDES_MODE("MASTER"), // MASTER, SLAVE.SRVAL_OQ(1'b0), // OQ output value when SR is used (1'b0,1'b1).SRVAL_TQ(1'b0), // TQ output value when SR is used (1'b0,1'b1).TBYTE_CTL("FALSE"), // Enable tristate byte operation (FALSE, TRUE).TBYTE_SRC("FALSE"), // Tristate byte source (FALSE, TRUE).TRISTATE_WIDTH(4) // 3-state converter width (1,4)
)OSERDESE2_inst (.OFB(OFB), // 1-bit output: Feedback path for data.OQ(OQ), // 1-bit output: Data path output// SHIFTOUT1 / SHIFTOUT2: 1-bit (each) output: Data output expansion (1-bit each).SHIFTOUT1(SHIFTOUT1),.SHIFTOUT2(SHIFTOUT2),.TBYTEOUT(TBYTEOUT), // 1-bit output: Byte group tristate.TFB(TFB), // 1-bit output: 3-state control.TQ(TQ), // 1-bit output: 3-state control.CLK(CLK), // 1-bit input: High speed clock.CLKDIV(CLKDIV), // 1-bit input: Divided clock// D1 - D8: 1-bit (each) input: Parallel data inputs (1-bit each).D1(D1),.D2(D2),.D3(D3),.D4(D4),.D5(D5),.D6(D6),.D7(D7),.D8(D8),.OCE(OCE), // 1-bit input: Output data clock enable.RST(RST), // 1-bit input: Reset// SHIFTIN1 / SHIFTIN2: 1-bit (each) input: Data input expansion (1-bit each).SHIFTIN1(SHIFTIN1),.SHIFTIN2(SHIFTIN2),// T1 - T4: 1-bit (each) input: Parallel 3-state inputs.T1(T1),.T2(T2),.T3(T3),.T4(T4),.TBYTEIN(TBYTEIN), // 1-bit input: Byte group tristate.TCE(TCE) // 1-bit input: 3-state clock enable
);
// End of OSERDESE2_inst instantiation

11、參考文獻

1、《ug471_7Series_SelectIO.pdf》
2、《xilinx原語詳解及仿真之OSERDESE2》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79044.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79044.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79044.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ansible 流程控制

條件語句(判斷) 當滿足什么條件時,就執行那些tasks when 當...時ansible獲取主機名 # 主機名中,不包含.沒有區別 ansible_hostname # 包含.只顯示第一個.前面的名字 ansible_fqdn # 包含.顯示完整的主機名不管是shell還是各大編程語言中&#xf…

git命令積累(個人學習)

如何將docx文件不上傳? 創建或編輯 .gitignore 文件 打開 .gitignore 文件,添加以下內容來忽略所有 .docx 文件: *.docx清除已追蹤的 .docx 文件 git rm --cached "*.docx"這將從 Git 倉庫中刪除 .docx 文件,但不會刪…

springboot應用大批量導出excel產生oom處理措施實踐(適用于poieasyexcel)

一、背景: 在某些信息管理場景中,存在大批量導出需求,例如一次性導出10~100w行excel數據,如果不做特殊的處理,很容易導致Out Of Memory,特別是堆內存溢出。 oom復現 例如修改IDEA運行配置,VM…

谷歌在即將舉行的I/O大會之前,意外泄露了其全新設計語言“Material 3 Expressive”的細節

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…

深入理解負載均衡:傳輸層與應用層的原理與實戰

目錄 前言1. 傳輸層(Layer 4)負載均衡1.1 工作層級與核心機制1.2 實現方式詳解1.3 優缺點分析1.4 典型實現工具 2. 應用層(Layer 7)負載均衡2.1 工作層級與核心機制2.2 實現方式解析2.3 優缺點分析2.4 常用實現工具 3. Layer 4 與…

PyTorch 版本、torchvision 版本和 Python 版本的對應關系

PyTorch 版本、torchvision 版本和 Python 版本的對應關系 在深度學習領域,PyTorch 及其配套庫 torchvision 的使用極為廣泛。但不同版本的 PyTorch、torchvision 與 Python 之間存在嚴格的對應關系,若版本搭配不當,會導致代碼運行出錯…

【hadoop】Hbase java api 案例

代碼實現: HBaseConnection.java package com.peizheng.bigdata;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client…

榮耀A8互動娛樂組件部署實錄(第3部分:控制端結構與房間通信協議)

作者:曾在 WebSocket 超時里泡了七天七夜的苦命人 一、控制端總體架構概述 榮耀A8控制端主要承擔的是“運營支點”功能,也就是開發與運營之間的橋梁。它既不直接參與玩家行為,又控制著玩家的行為邏輯和游戲規則觸發機制。控制端的主要職責包…

Vue3路由模式為history,使用nginx部署上線后刷新404的問題

一、問題 在使用nginx部署vue3的項目后,發現正常時可以訪問的,但是一旦刷新,就是出現404的情況 二、解決方法 1.vite.config.js配置 在vite.config.js中加入以下配置 export default defineConfig(({ mode }) > {const isProduction …

企業級UI測試的“雙保險”:TestComplete的智能對象識別與詳細報告功能

企業級UI測試真是讓人頭疼!界面元素變來變去,測試腳本動不動就報錯,測試工作根本沒法順利推進。而且,測試結果的管理和共享也麻煩得很,團隊協作效率大打折扣。別急!TestComplete的智能對象識別和詳細測試報…

SpringBoot的自動配置和起步依賴原理

關于Spring Boot的自動配置和起步依賴,我想結合最新的實現機制來展開說明。先說自動配置——這是Spring Boot最核心的"約定優于配置"思想的落地體現。舉個例子,當我們創建一個新的Spring Boot項目時,只要在pom.xml里添加了spring-b…

《MATLAB實戰訓練營:從入門到工業級應用》高階挑戰篇-《5G通信速成:MATLAB毫米波信道建模仿真指南》

《MATLAB實戰訓練營:從入門到工業級應用》高階挑戰篇-5G通信速成:MATLAB毫米波信道建模仿真指南 🚀📡 大家好!今天我將帶大家進入5G通信的奇妙世界,我們一起探索5G通信中最激動人心的部分之一——毫米波信…

一、Redis快速入門

Redis的常見命令和客戶端使用 一、初識Redis Redis是一種鍵值型的NoSql數據庫,這里有兩個關鍵字: 鍵值型 NoSql 其中鍵值型,是指Redis中存儲的數據都是以key、value對的形式存儲,而value的形式多種多樣,可以是字符…

gitcode 上傳文件報錯文件太大has exceeded the limited size (10 MiB) in commit

登陸gitcoe,在項目設置->提交設置 ,勾選提交文件限制,修改限制的大小。 修改完后,重新提交代碼。

【運維】構建基于Python的自動化運維平臺:用Flask和Celery打造高效管理工具

《Python OpenCV從菜鳥到高手》帶你進入圖像處理與計算機視覺的大門! 解鎖Python編程的無限可能:《奇妙的Python》帶你漫游代碼世界 隨著企業IT基礎設施的復雜性不斷增加,手動運維已無法滿足高效管理的需求。本文詳細介紹如何基于Python構建一個自動化運維平臺,利用Flask…

基于大模型預測的產鉗助產分娩全方位研究報告

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與方法 二、產鉗助產分娩概述 2.1 產鉗助產定義與歷史 2.2 適用情況與臨床意義 三、大模型預測原理與數據基礎 3.1 大模型技術原理 3.2 數據收集與處理 3.3 模型訓練與驗證 四、術前預測與準備 4.1 大模型術前風險預…

css使用aspect-ratio制作4:3和9:16和1:1等等比例布局

文章目錄 1. 前言2. 用法2.1 基本語法2.2. 與max-width、max-height等屬性結合使用2.3. 動態計算比例 3. 應用場景4. 兼容性和替代方案5. 總結 1. 前言 在網頁制作過程中,有時候我們只知道寬度,或者只知道高度,這時候需要制作一個4:3和9:16這…

【國產化】在銀河麒麟ARM環境下離線安裝docker

1、前言 采用離線安裝的方式。 關于離線安裝的方式官網有介紹,但是說的很簡單,網址:Binaries | Docker Docs 官網介紹的有幾種主流linux系統的安裝方式,但是沒有kylin的,所以在此記錄一下。 在安裝過程中也遇到了些…

從一城一云到AI CITY,智慧城市進入新階段

AI將如何改變城市面貌?AI能否為城市創造新的商業價值?AI的落地應用將對日常生活有什么樣的影響? 幾乎在每一場和城市發展相關的論壇上,都會出現以上幾個問題。城市既是AI技術創新融合應用的綜合性載體,普羅大眾對AI產…

鴻蒙知識總結

判斷題 1、 在http模塊中,多個請求可以使用同一個httpRequest對象,httpRequest對象可以復用。(錯誤) 2、訂閱dataReceiverProgress響應事件是用來接收HTTP流式響應數據。(錯誤) 3、ArkTS中變量聲明時不需要…