“Cynthion 是一款集 USB 設(shè)備構(gòu)建、測試、監(jiān)控和實驗于一身的工具。采用基于 FPGA 的獨特架構(gòu),其數(shù)字硬件可根據(jù)應(yīng)用進行完全定制。因此,它可以充當(dāng)不折不扣的高速 USB 協(xié)議分析儀、USB 黑客多功能工具或 USB 開發(fā)平臺。”
Made with KiCad 系列將支持新的展示方式。直接將以下鏈接復(fù)制到瀏覽器中(或點擊“閱讀原文”打開):
https://www.eda.cn/ecadViewer/viewerPage/?xmlId=991cf998-762d-415f-ac1f-3602afd1b7e6&fileZip=%2Fdata%2Fdesign%2Fdemo%2F991cf998-762d-415f-ac1f-3602afd1b7e6.zip 即可動態(tài)查看設(shè)計的原理圖、PCB、3D 及 BOM,查詢設(shè)計中器件、走線、焊盤的屬性詳情。還可以在原理圖中與AI小助手互動,幫您更高效地學(xué)習(xí)設(shè)計細節(jié):
概覽 Cynthion 是用于構(gòu)建、測試、監(jiān)控和試驗 USB 設(shè)備的一體化工具。Cynthion 采用基于 FPGA 的獨特架構(gòu),其數(shù)字硬件可根據(jù)手頭的應(yīng)用進行完全定制。因此,它可以充當(dāng)高速 USB 協(xié)議分析儀、USB 研究多功能工具或 USB 開發(fā)平臺。 開箱即用的 Cynthion 是一款 USB 協(xié)議分析儀,能夠捕捉和分析主機與任何低速、全速或高速(“USB 2.0”)USB 設(shè)備之間的流量。它可與我們的開源分析軟件無縫配合。
與我們的 LUNA gateware(https://github.com/greatscottgadgets/luna)和 Facedancer (https://github.com/greatscottgadgets/facedancer)庫相結(jié)合,Cynthion 成為了一種多功能 USB 研究和開發(fā)工具。即使您沒有數(shù)字硬件設(shè)計、HDL 或 FPGA 架構(gòu)方面的經(jīng)驗,F(xiàn)acedancer 也能讓您快速輕松地創(chuàng)建或?qū)嶒炚嬲?USB 設(shè)備,而不僅僅是仿真!
核心功能
Cynthion 是一款完全可配置的測試儀器,它提供了掌握 USB 所需的所有硬件、網(wǎng)關(guān)、固件和軟件。以下是 Cynthion 可以應(yīng)對的一些挑戰(zhàn):
低速、全速和高速 USB 的協(xié)議分析。Cynthion 為您提供被動 USB 監(jiān)控所需的一切。通過 Packetry USB 分析軟件,Cynthion 可為您提供被動 USB 監(jiān)控所需的一切。
創(chuàng)建自己的低速、全速或高速 USB 設(shè)備。LUNA 提供的 Amaranth gateware 可讓您在 gateware、固件或兩者的組合中創(chuàng)建 USB 設(shè)備。使用 Facedancer 庫,您可以用高級 Python 創(chuàng)建或模擬真實的 USB 設(shè)備。
對 USB 通信的 “Meddler-in-the-Middle”(MitM)攻擊。Cynthion 硬件可充當(dāng) “USB 代理”,能夠在 USB 數(shù)據(jù)在主機和設(shè)備之間流動時對其進行透明修改。每塊電路板的三個 USB Type-C 接口可同時進行高速代理,并保持與主機的高速連接。因此,無論有無主機幫助,您都可以代理連接。
USB 逆向工程和安全研究。Cynthion 硬件和 LUNA gateware 為 Facedancer 和 USB-fuzzing 庫等研究工具提供了專用后臺,從而簡化了合規(guī)和不合規(guī) USB 設(shè)備的仿真和快速原型開發(fā)。與其他 USB 仿真解決方案不同,基于 Cynthion 的硬件可動態(tài)重新配置,因此您可以靈活地創(chuàng)建任何端點配置并參與任何 USB 行為。
開源 USB 協(xié)議分析儀
Packetry 接口
Cynthion 包括低速、全速或高速 USB 協(xié)議分析所需的所有硬件,這意味著它可以提供與昂貴的商用 USB 分析儀(如 TotalPhase Beagle 480 或 LeCroy Mercury 系列)相同的核心功能。
不過,與現(xiàn)有的 USB 解決方案不同,Cynthion 的分析儀堆棧完全建立在強大的開源工具基礎(chǔ)之上。通過利用 Amaranth 庫和開源的 FPGA 工具。您可以根據(jù)手頭的任務(wù)對 Cynthion 進行定制,從而獲得獨特的功能,如用戶定義的硬件觸發(fā)和同時捕獲額外的外部或內(nèi)部信號。
Cynthion 使用開源 Packetry 分析器前端,這是一款用于捕獲、查看和分析 USB 捕捉信號的快速跨平臺工具。Packetry 有助于使 USB 流量更易于人類讀取,同時還能流暢高效地處理大型高速捕獲。由于 Packetry 完全開源,您可以根據(jù)自己的需要進行定制。
學(xué)習(xí) USB 的教育平臺
一套完全開源的培訓(xùn)材料可幫助您了解 USB 的基本知識,包括 USB 基本要素的說明和示意圖,如圖所示的 USB 傳輸。
Cynthion 團隊在 USB 教育方面有著悠久的歷史。已經(jīng)開發(fā)了許多不同難度的開源 USB 培訓(xùn)課程。Cynthion 的可定制架構(gòu)讓你不僅僅能看到數(shù)據(jù)包的變化,還可以接觸到每個級別的 USB 流量。如果你能將其拆開,探究其中的奧秘,并以巧妙的方式加以操作,那么學(xué)習(xí)其工作原理就會容易得多。Cynthion 為你提供了這種程度的控制。
輕松創(chuàng)建自己的 USB 設(shè)計
Cynthion 從底層開始構(gòu)建,旨在簡化創(chuàng)建新 USB 設(shè)備的過程。無論你是資深的底層硬件設(shè)計人員,還是新人,Cynthion 都能在多個方面讓你的工作變得更輕松。
首先,Cynthion 的 Facedancer 后端允許您使用幾行 Python 語言快速描述整個自定義 USB 設(shè)備,這樣您就可以立即在真實硬件上試用它們。此外,F(xiàn)acedancer 還提供了一系列現(xiàn)有的設(shè)備模板,可幫助您快速入門:
# Using a Facedancer pre-made device, you can create a# "USB rubber ducky" with only a few lines of python!device = USBKeyboardDevice()async def type_letters(): await device.type_string('r', modifiers=KeyboardModifiers.MOD_LEFT_META) await asyncio.sleep(0.5) await device.type_string('calcn')main(device,type_letters())
此外,對于那些對 FPGA 設(shè)計感興趣的人來說,基于 Amaranth 的 LUNA gateware 庫使 USB gateware 的實現(xiàn)變得輕而易舉。
透明地處理 USB 數(shù)據(jù)
Cynthion 在處理現(xiàn)有 USB 設(shè)備和設(shè)計新設(shè)備時同樣有用。Cynthion 能讓你以透明的方式注入或修改 USB 數(shù)據(jù):這讓你可以做一些原本不可能做到的事情。它對 Facedancer 的 USBProxy 的支持意味著,在線路上操作 USB 數(shù)據(jù)就像編寫幾行 Python 代碼一樣簡單:
# USBProxy makes manipulating USB data trivial!# The following few lines are enough to flip the X-axis# on a Nintendo-branded USB game controller:class SwitchControllerInvertXFilter(USBProxyFilter): def filter_in(self, ep_num, data): # The fourth byte of our packets contains the # joystick X position, as a number between 0 and 255. data[3] = 0xff - data[3]returnep_num,data
Cynthion 的 USB 外圍設(shè)備是為每個 USBProxy 應(yīng)用程序定制的,因此您不會受限于特定的 USB 設(shè)備配置。理論上,它可以代理現(xiàn)有的任何 USB 設(shè)備!
逆向工程和安全研究工具
作為Great Scott Gadgets(GSG)公司的產(chǎn)品,Cynthion從一開始就是為創(chuàng)新研究而設(shè)計的,同時也支持多種安全和逆向工程應(yīng)用:
通過實時 USB 分析,您可以觀察協(xié)議的傳輸過程。
創(chuàng)建和仿真 USB 設(shè)備的簡單工具可讓您快速開發(fā)與現(xiàn)有 USB 主機軟件兼容的硬件。
使用 LUNA 靈活的 USB 棧,您可以輕松生成不符合標(biāo)準的流量,從而對各種主機或運行在這些主機上的軟件和驅(qū)動程序進行模糊處理!
USBProxy Meddler-the-Middle(MitM)功能使您能夠操縱在主機和設(shè)備之間傳輸?shù)?USB 數(shù)據(jù),這樣您就能 “看到 ”設(shè)備偏離既定協(xié)議時會發(fā)生什么。
技術(shù)規(guī)格
yosys+nextpnr 開源 FPGA 流程支持的 Lattice LFE5U-12F ECP5 FPGA
三個高速 USB 接口,每個接口都連接到 USB3343 PHY,工作速率高達 480 Mbps。
兩個USB Type-C 連接器(左側(cè)),用于設(shè)備模式通信的
一個 USB Type-C 連接器(右側(cè)),用于主機模式通信、設(shè)備模式通信或 USB 分析
一個 USB Type-A 連接器,用于主機模式通信或 USB 分析(右側(cè),與 Type-C 連接器共用)
Microchip SAMD11 調(diào)試控制器允許用戶對 FPGA 進行配置,并提供多個診斷接口:
完整的用戶可編程 JTAG 控制器,能夠配置 FPGA 并通過 JTAG 與用戶設(shè)計進行通信
用于 FPGA 調(diào)試輸入/輸出的內(nèi)置 USB 轉(zhuǎn)串行通信橋接器
各種簡單的內(nèi)置調(diào)試機制,包括允許您創(chuàng)建簡單、PC 可訪問的寄存器接口的實用程序
三個 USB 電源開關(guān)允許您控制右側(cè) USB 連接器的供電和從 USB 連接器供電,從而為分析中的 USB 供電設(shè)備的受控電源循環(huán)提供便利。
64 Mbit (8 MiB) RAM 用于緩沖 USB 流量或用戶應(yīng)用程序
兩個 Digilent Pmod 兼容 I/O 連接器提供 16 個高速 FPGA 用戶 IO,支持用戶 FPGA 應(yīng)用
32 Mbit (4 MiB) SPI 連接閃存,用于無 PC FPGA 配置
6 個 FPGA 連接的用戶 LED 和 5 個微控制器管理的狀態(tài) LED
一個 PAC1954 4 通道 I2C 電源監(jiān)控器 IC,用于測量所有四個 Cynthion USB 端口的 VBUS 電壓和電流。
兩個 FUSB302B I2C Type-C 端口控制器,用于 AUX 和 TARGET-C 端口,支持 USB Power Delivery 或自定義 Type-C 行為。
同類產(chǎn)品比較
原理圖 & PCB
License CERN-OHL-P-2.0 license
倉庫 & 下載
可以在Github中獲取開源倉庫:
https://github.com/greatscottgadgets/cynthion-hardware
Baidu 下載:
注意:如果想第一時間收到 KiCad 內(nèi)容推送,請點擊下方的名片,按關(guān)注,再設(shè)為星標(biāo)。
常用合集匯總:
和 Dr Peter 一起學(xué) KiCad
KiCad 8 探秘合集
KiCad 使用經(jīng)驗分享
KiCad 設(shè)計項目(Made with KiCad)
常見問題與解決方法
KiCad 開發(fā)筆記
插件應(yīng)用
發(fā)布記錄
審核編輯 黃宇
-
usb
+關(guān)注
關(guān)注
60文章
8072瀏覽量
269989 -
KiCAD
+關(guān)注
關(guān)注
5文章
219瀏覽量
9284
發(fā)布評論請先 登錄
Made with KiCad(九十八):USB-C 的 Raspberry PiCo 2

Made with KiCad:Tangara 便攜式音樂播放器
Made with KiCad(122):ANAVI Miracle Emitter

在 Windows 上編譯 KiCad

KiCad直播活動(三):在 Windows上編譯KiCad 手把手教您編譯/構(gòu)建 KiCad 源碼

Made with KiCad(119):基于 ESP32 的離線便攜式全球?qū)Ш叫l(wèi)星系統(tǒng)設(shè)備

Made with KiCad(118):Inkplate 4 TEMPERA 墨水屏終端

KiCad 直播系列活動預(yù)告(一):KiCad 9 新功能揭秘

Made with KiCad(116):GreatFET One 硬件黑客最佳搭檔

Made with KiCad(115):Yard Stick One 無線測試工具(USB接口)

Made with KiCad(十五):Glasgow調(diào)試工具(數(shù)字接口)

Made with KiCad(九):OtterCast音頻流設(shè)備

Made with KiCad(五):USB轉(zhuǎn)CAN適配器

Made with KiCad(二):Jetson Origin Baseboard

Made with KiCad(106):ScopeFun 多功能開源儀器

評論