FX10(CYUSB4014)USB3.2(10Gbps)開發筆記分享(1):硬件設計與開發環境搭建

作者:Hello,Panda

大家早上好,中午好,下午好,晚上好,熊貓君又來了。這次計劃做一個連載,大概6期左右,主要介紹英飛凌最新的FX5/10/20的器件應用。目前,熊貓君手上調試的是一個Sensor(IMX586)+Crosslink-NX FPGA(LIFCL-40)+ FX10(CYUSB4014)的一套板子,調試FPGA采集Bayer圖像經USB3.2(10Gbps)傳輸到計算機。

一、器件介紹

因為拿到的是FX10系列的器件,那么介紹就以CYUSB4014為例。(有消息人士傳FX5/10/20都是基于同一個Die,熊貓君這里沒有得到官方信息,不予置評)。

(1)支持USB3.2Gen2,兼容10/5GBps和480Mbps PHY;支持USB Type-C,最高32個USB Endpoint;

(2)SoC內置1個150MHz的Cortex-M4F核和1個100MHz的M0+核;

(3)內部存儲資源如下:

a)512KB的應用程序Flash空間,用于存儲用戶應用程序;

b)128KB SRAM,可以配置為4個32KB區域,在在Deep Sleep模式下,這些區域能夠配置為Retain Data模式;

c)128KB ROM,內置ROM Boot啟動代碼,包含設備初始化、寫Flash、安全、eFuse編程和其他系統級的函數功能。ROM代碼由CM0+ CPU執行;

d)1MB數據緩存SRAM,用做LVSD/LVCMOS到USB的數據緩沖區;

e)1024位的OTP eFuse,其中648bit用于存儲系統的Die ID、設備ID、初始化的Trim設置、設備生命周期和安全設置等。其它區域用于存儲秘鑰、hash值、unique ID等等。在編程eFuse時,VDDD必須是2.5V。

(4)GPIF III接口

支持LVDS/SubLVDS和LVCMOS兩種類型的接口輸入:

??? a)兩組LVDS接口,每組由8對數據、1對時鐘、1對控制和7根單端LVCMOS控制信號構成,兩組可合并為16對數據的鏈路使用。最高LVDS速率為1.25Gbps/Lane(FX10是接收端時);

b)兩個port,每個port由16根數據線,1個時鐘和10根控制線構成,2個port可合并為32bit的數據總線,FX10是接收端時,可支持最高160MHz的DDR/SDR數據,是發送端時,最高100MHz。

(5)外設

支持最高48個GPIO:可用作QSPI,7個可配置的I2C、UART或SPI接口,2通道音頻接口(I2S或PDM轉PCM),一個全速USB2.0 FS用于VCOM通信,8個PWM輸出和1個CAN FD接口。

(6)時鐘資源

內置了8MHz振蕩器,32KHz振蕩器,可接入24MHz的外部晶振;內置PLL和FLL,多個時鐘分頻器。

(7)加密與安全

支持“Secure Boot”,僅允許可執行(execute-only)的代碼安全模式,秘鑰和TRNG功能。

(8)封裝:BGA-169 Ball,10×10mm,0.75mm球間距。

下圖是FX10的體系架構框圖。

圖1 FX10架構框圖

二、硬件設計

硬件設計主要考慮供電、啟動和接口,PCB Layout時重點考慮信號完整性。本例中將FX10的輸入接口設計為LVDS以減少IO使用量。

(1)供電設計

如下圖2所示是FX10的供電系統:

圖2 FX10供電系統

設計電源系統的兩大要點:其一是必須滿足功能性能要求,其二是將系統功耗降到最低。將系統功耗降低有兩層考慮,一層是使用效率高的電源芯片,第二層就是使FX10工作在最佳最省電的狀態。從數據手冊上可以看到,在內核電壓VDDD工作在1.8V使,能效比最高,因此,各路電軌可設計如下:

a)VDDD:內核供電,設計為1.8V。但需要注意的是,在編程efuse時,需要配置為2.5V;

b) VCCD:FX10內部轉換器,將VDDD變為1.1V電壓,外接退耦電容即可;

c)VDDIO_X:給外設IO供電,全部設計為1.8V;

d)USB3V18:給USB3.2物理層供電,1.8V;

e)V33:給USB2 HS PHY供電,3.3V;

f)VDDIO_P0/1:LVDS/LVCMOS接口模塊,因為選擇的是LVDS接口,該處必須使用3.3V供電;

g)VDDIO_Px_CTRL:單端控制信號供電,選擇1.8V。

由上可知:需要3.3V、2.5V和1.8V三組供電,如無需使用efuse功能或3.3V為可在線編程電源,則只需3.3V和1.8V兩組供電即可。

(2)啟動模式

BOOT模式通過GPIO PMODE_13.0選擇,該IO低電平時從內部Flash啟動,高電平時從USB啟動。

(3)Layout設計

FX10器件Layout設計請參見官方文檔AN238422《EZ-USB FX5/FX10 hardware design Guidelines and schematic checklist》。

三、開發環境

(1)開發環境和編譯器

FX10 SoC端開發環境使用Modus ToolBox交叉環境+Visual Studio Code IDE(或IAR、ARM MDK等)編譯器實現。官方提供的SDK基于FreeRTOS(當前基于內核版本version 10.4.6),SDK提供外設驅動庫、LVDS IP驅動、USB協議棧和DMA管理等等。

官方提供了若干個例程,包括UAC、UVC、USB3 Vision等音視頻流協議,使用LVCMOS接口的Slave FIFO協議等。用戶可以基于例程修改開發自己的應用。需要特別注意的是Slave FIFO例程僅支持LVCMOS接口輸入。

根據所選的編譯器IDE,可以支持GUN、ARMCC或IAR。建議用戶選擇自己熟悉的IDE和編譯工具鏈。官方給的例程是基于Modus ToolBox 3.1.0及以上版本+Visual Studio Code IDE+OpenOCD KitProg3調試。

下圖3是Modus ToolBox支持EZ-USB FX10開發框架。

圖3 ModusToolbox For EZ-USB FX10

(2)在線調試

在線調試支持SWD接口和JTAG接口。FX10支持OpenOCD和GDB調試協議,對應的調試器分別是KitProg3和Segger J-Link。所有的官方開發套件都搭載KitProg3調試器,這個調試器原廠的1千多,第三方貳佰來塊。對國內用戶而言,似乎更加熟悉J-LINK。

(3)計算機端

與上一代的CyUSB3014類似,提供了一個EZ-USB Control Center實現一些基本的功能,如編程、查看設備信息。UVC、U3V等協議可以直接使用第三方工具播放,Slave FIFO也是老辦法,自己寫客戶端軟件接收數據和解析、保存、播放。

好了,今天算是起了個頭。對FX10的器件特點、硬件設計和開發調試環境的搭建做了一個簡要介紹。下一期是修改、編譯和調試SDK軟件的內容。各位晚安。Good Night。

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

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

相關文章

前端項目部署

一、本地服務器部署: 解決頁面刷新404問題: 1、使用 hash 模式 2、當路徑不匹配的時候,直接訪問 index.html 3、使用插件:connect-history-api-fallback https://www.npmjs.com/package/connect-history-api-fallback npm ins…

觀測云數據在Grafana展示的最佳實踐

背景 在當今的數據驅動世界中,組織越來越依賴于實時數據來做出決策。數據可視化是理解和分析這些數據的關鍵工具,它幫助用戶將復雜的數據集轉換成直觀的圖表和儀表板,從而更容易識別趨勢、模式和異常。Grafana,作為一個功能強大的…

架構師面試(三十六):廣播消息

題目 在像 IM、短視頻、游戲等實時在線類的業務系統中,一般會有【廣播消息】業務,這類業務具有瞬時高流量的特點。 在對【廣播消息】業務實現時通常需要同時寫 “系統消息庫” 和更新用戶的 “聯系人庫” 的操作,用戶的聯系人表中會有未讀數…

大模型微調 - transformer架構

什么是Transformer Transformer 架構是由 Vaswani 等人在 2017 年提出的一種深度學習模型架構,首次發表于論文《Attention is All You Need》中 Transformer 的結構 Transformer 編碼器(Encoder) 解碼器(Decoder) …

基于華為云 ModelArts 的在線服務應用開發(Requests 模塊)

基于華為云 ModelArts 的在線服務應用開發(Requests 模塊) 一、本節目標 了解并掌握 Requests 模塊的特點與用法學會通過 PythonRequests 訪問華為云 ModelArts 在線推理服務熟悉 JSON 模塊在 Python 中的數據序列化與反序列化掌握 Python 文件 I/O 的基…

python pymysql如何保證數據庫更新成功

python pymysql如何保證數據庫更新成功 在使用Python的PyMySQL庫與MySQL數據庫交互時,確保數據庫更新操作成功執行,可以通過以下幾種方式: 使用execute()和commit() 當執行一個更新(UPDATE)、插入(INSERT)或刪除(DELETE)操作時,你需要調用execute()方法來執行SQL語句…

【數據可視化-30】Netflix電影和電視節目數據集可視化分析

🧑 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

【深度強化學習 DRL 快速實踐】逆向強化學習算法 (IRL)

Inverse Reinforcement Learning (IRL) 詳解 什么是 Inverse Reinforcement Learning? 在傳統的強化學習 (Reinforcement Learning, RL) 中,獎勵函數是已知的,智能體的任務是學習一個策略來最大化獎勵 而在逆向強化學習 (Inverse Reinforc…

入侵檢測系統(IDS)與入侵防御系統(IPS):功能對比與部署實踐

入侵檢測系統(IDS)與入侵防御系統(IPS):功能對比與部署實踐 在網絡安全防御體系中,入侵檢測系統(Intrusion Detection System, IDS)與入侵防御系統(Intrusion Preventio…

P12167 [藍橋杯 2025 省 C/Python A] 倒水

P12167 [藍橋杯 2025 省 C/Python A] 倒水 題目描述 小藍有 n n n 個裝了水的瓶子,從左到右擺放,第 i i i 個瓶子里裝有 a i a_i ai? 單位的水。為了美觀,小藍將水循環染成了 k k k 種顏色,也就是說,第 i i i …

短視頻矩陣系統可視化剪輯功能開發,支持OEM

在短視頻營銷與內容創作競爭日益激烈的當下,矩陣系統中的可視化剪輯功能成為提升內容產出效率與質量的關鍵模塊。它以直觀的操作界面和強大的編輯能力,幫助創作者快速將創意轉化為優質視頻。本文將結合實際開發經驗,從需求分析、技術選型到核…

制作一款打飛機游戲22:表格導出

編輯器功能擴展 今天,我想讓編輯器能夠處理一個數組,這是編輯器將要編輯的東西,它只編輯數組。這些區域在后續的不同版本的編輯器中會有不同的含義,但現在我想創建一個模板,能夠加載一個二維數組,并將二維…

AI數據分析的利器:解鎖BI工具的無限潛力

在數字化浪潮席卷全球的今天,數據已成為企業最寶貴的資產之一。如何高效、準確地分析這些數據,挖掘其中的價值,成為企業決策的關鍵。AI數據分析,作為新時代的數據分析利器,正逐漸改變著企業的決策方式。而BI&#xff0…

【每天一個知識點】IPv4(互聯網協議版本4)和IPv6(互聯網協議版本6)

IPv4(互聯網協議版本4)和IPv6(互聯網協議版本6)是用于在互聯網上標識和定位設備的兩種主要協議。它們的主要區別在于地址空間、結構、以及一些附加功能。以下是兩者的對比: 1. 地址長度 IPv4: 地址長度為32位&#xf…

numpy.random.normal與numpy.random.randn的區別與聯系

先說結論: numpy.random.normal 對應的是 正態分布,numpy.random.randn 對應的是標準正態分布,所以 numpy.random.randn 是 numpy.random.normal 的一個特例。 1. numpy.random.normal 從正態(高斯)分布中抽取隨機樣…

基于 EFISH-SBC-RK3588 的無人機智能巡檢終端方案?

一、硬件架構設計? ?核心算力平臺(EFISH-SBC-RK3588)? ?異構計算能力?:搭載 8 核 ARM 架構(4Cortex-A762.4GHz 4Cortex-A551.8GHz),集成 6 TOPS NPU 與 Mali-G610 GPU,支持多傳感器數據并…

軟測面經(私)

測試流程 分析需求——>制定測試計劃——>設計測試用例——>執行測試——>編寫測試報告 黑盒測試 等價類劃分、邊界值分析法、猜錯法、隨機數法、因果圖。 白盒測試 代碼檢查法、程序變異、靜態結構分析法、靜態質量度量法、符號測試法、邏輯覆蓋法、域測試、…

那些年踩過的坑之Arrays.asList

一、前言 熟悉開發的兄弟都知道,在寫新增和刪除功能的時候,大多數時候會寫成批量的,原因也很簡單,批量既支持單個也支持多個對象的操作,事情也是發生在這個批量方法的調用上,下面我簡單說一下這個事情。 二…

通過VIN車輛識別代碼查詢_精準版API,獲取車輛精準參數

通過17位VIN碼的精準匹配,幫助用戶快速獲取車輛的品牌、型號、出廠日期、排量、外觀、車輛型號等詳細參數。這一API廣泛應用于二手車交易、車輛租賃、配件采購和車輛維修等領域,為用戶提供一個高效、準確的解決方案。 代碼示例 返回格式:js…

Virtuoso ADE采用Spectre仿真中出現MOS管最小長寬比滿足要求依然報錯的情況解決方法

在ADE仿真中錯誤問題如下: ERROR (CMI-2440): "xxx.scs" 46338: I2.M1: The length, width, or area of the instance does not fit the given lmax-lmin, wmax-wmin, or areamax-areamin range for any model in the I2.M3.nch_hvt group. The channel w…