“Cynthion 是一款集 USB 設(shè)備構(gòu)建、測試、監(jiān)控和實驗于一身的工具。采用基于 FPGA 的獨特架構(gòu),其數(shù)字硬件可根據(jù)應(yīng)用進(jìn)行完全定制。因此,它可以充當(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è)計細(xì)節(jié):
概覽 Cynthion 是用于構(gòu)建、測試、監(jiān)控和試驗 USB 設(shè)備的一體化工具。Cynthion 采用基于 FPGA 的獨特架構(gòu),其數(shù)字硬件可根據(jù)手頭的應(yīng)用進(jìn)行完全定制。因此,它可以充當(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è)備之間流動時對其進(jìn)行透明修改。每塊電路板的三個 USB Type-C 接口可同時進(jìn)行高速代理,并保持與主機的高速連接。因此,無論有無主機幫助,您都可以代理連接。
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 進(jìn)行定制,從而獲得獨特的功能,如用戶定義的硬件觸發(fā)和同時捕獲額外的外部或內(nèi)部信號。
Cynthion 使用開源 Packetry 分析器前端,這是一款用于捕獲、查看和分析 USB 捕捉信號的快速跨平臺工具。Packetry 有助于使 USB 流量更易于人類讀取,同時還能流暢高效地處理大型高速捕獲。由于 Packetry 完全開源,您可以根據(jù)自己的需要進(jìn)行定制。
學(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)準(zhǔn)的流量,從而對各種主機或運行在這些主機上的軟件和驅(qū)動程序進(jìn)行模糊處理!
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,工作速率高達(dá) 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 進(jìn)行配置,并提供多個診斷接口:
完整的用戶可編程 JTAG 控制器,能夠配置 FPGA 并通過 JTAG 與用戶設(shè)計進(jìn)行通信
用于 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文章
8190瀏覽量
272919 -
KiCAD
+關(guān)注
關(guān)注
5文章
261瀏覽量
9529
發(fā)布評論請先 登錄
開源工具 Made with KiCad(131):BomberCat 安全測試工具

開源 Made with KiCad(129):CatSniffer IoT 多協(xié)議工具

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(118):Inkplate 4 TEMPERA 墨水屏終端

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

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 多功能開源儀器

評論