日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探索Adafruit FT232H Breakout:多功能串口協(xié)議擴展板的使用指南

chencui ? 2026-05-11 09:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

探索Adafruit FT232H Breakout:多功能串口協(xié)議擴展板的使用指南

在電子設(shè)計領(lǐng)域,我們常常希望計算機能夠直接與各種設(shè)備和傳感器進行通信,而Adafruit FT232H Breakout擴展板為我們實現(xiàn)這一目標(biāo)提供了一個強大且靈活的解決方案。下面將詳細(xì)介紹該擴展板的特點、組裝、配置及使用方法。

文件下載:2264.pdf

一、概述

Adafruit FT232H Breakout擴展板是一款功能強大的工具,它就像是計算機的一個“串口協(xié)議瑞士軍刀”。自2020年2月12日起,該擴展板進行了升級,采用了現(xiàn)代的USB C連接器,新增了I2C開關(guān)以便于I2C接口連接,還有3V電源輸出引腳(最大500mA)以及Stemma QT連接器,可實現(xiàn)即插即用連接各種Stemma QT或Qwiic設(shè)備、傳感器和顯示器,并且在尺寸、安裝孔和引腳排列上完全向后兼容。

FT232H芯片來自FTDI,與常見的USB轉(zhuǎn)串口轉(zhuǎn)換器芯片類似,但它增加了“多協(xié)議同步串行引擎”(MPSSE),能夠支持SPI、I2C、串行UART、JTAG等多種常見協(xié)議。此外,它還有幾個數(shù)字GPIO引腳,可用于讀取和寫入,實現(xiàn)諸如閃爍LED、讀取開關(guān)或按鈕等功能。

二、組裝與接線

1. 組裝

組裝FT232H Breakout擴展板需要將附帶的引腳頭焊接到擴展板上。如果你是焊接新手,建議先閱讀優(yōu)秀焊接指南并進行一些廢料練習(xí)。具體步驟如下:

  • 修剪公引腳頭,使其長度與擴展板上的引腳孔相匹配,通常是兩排各10個引腳。
  • 將引腳頭的長引腳插入面包板,使FT232H擴展板的引腳孔能夠完美穿過面包板頂部伸出的引腳頭。
  • 使用烙鐵和焊錫,小心地將所有引腳焊接到FT232H擴展板上。
  • 焊接完成后,將微型USB電纜插入FT232H擴展板的端口,再將電纜連接到計算機或筆記本電腦。如果擴展板上5V引腳旁邊的綠色LED亮起,說明組裝成功。

2. 接線

FT232H擴展板的引腳功能如下:

  • 5V:這是直接連接到USB總線的5伏電源,不要從該引腳吸取超過400 - 500mA的電流,以免損壞計算機的USB端口。
  • GND:這是FT232H擴展板的接地引腳。
  • D0 - D7:這些是FT232H芯片上的ADBUS引腳,用于串行UART和其他串行協(xié)議,也可作為GPIO引腳用于數(shù)字輸入和輸出。
  • C0 - C9:這些是FT232H芯片上的ACBUS引腳,主要用作GPIO引腳進行數(shù)字輸入和輸出。需要注意的是,C8和C9引腳不能通過軟件控制,只能通過更改芯片的EEPROM來分配功能。

三、串行UART使用

1. 基本功能

FT232H開箱即用,可作為FTDI的USB轉(zhuǎn)串行UART轉(zhuǎn)換器,適用于與Arduino等串行設(shè)備通信。它能安全處理3.3伏和5伏信號,可連接Arduino的5伏串行端口以及樹莓派BeagleBone Black的3.3伏串行端口。

2. 引腳功能

  • D0:TX或發(fā)送引腳,是FT232H芯片的串行數(shù)據(jù)輸出,應(yīng)連接到串行設(shè)備的RX或接收引腳。
  • D1:RX或接收引腳,是FT232H芯片的串行數(shù)據(jù)輸入,應(yīng)連接到串行設(shè)備的TX或發(fā)送引腳。
  • D2:RTS或準(zhǔn)備發(fā)送引腳,用于串行連接的流控制。
  • D3:CTS或清除發(fā)送引腳,與RTS類似,用于流控制。
  • D4:DTR或數(shù)據(jù)終端準(zhǔn)備好引腳,用于RS - 232串行連接的流控制。
  • D5:DSR或數(shù)據(jù)集準(zhǔn)備好引腳,與DTR類似,用于RS - 232串行連接的流控制。
  • D6DCD或數(shù)據(jù)載波檢測引腳,有時用于RS - 232串行通信。

3. USB串行驅(qū)動程序安裝

大多數(shù)操作系統(tǒng)都包含F(xiàn)TDI的串行UART驅(qū)動程序,通常無需額外安裝。具體情況如下:

  • Mac OSX Mavericks或更高版本:自動包含F(xiàn)TDI串行驅(qū)動程序。
  • Linux內(nèi)核版本約2.6及以上:也包含F(xiàn)TDI串行驅(qū)動程序,如Ubuntu 12.04或14.04等現(xiàn)代Linux發(fā)行版無需安裝驅(qū)動。
  • Windows:通??梢栽诰€自動搜索驅(qū)動程序,如果失敗,可以手動從FTDI網(wǎng)站下載并安裝。

4. 串行使用測試

安裝必要的串行端口驅(qū)動程序后,可以進行簡單的回環(huán)測試來確認(rèn)能夠通過UART讀寫數(shù)據(jù)。將D0(TX)引腳連接到D1(RX)引腳,使用串行控制臺輸入數(shù)據(jù),若輸入的數(shù)據(jù)能被立即回顯,則測試成功。不同操作系統(tǒng)的操作方法如下:

  • Windows:可以使用PuTTY作為串行控制臺,配置連接類型為串行,設(shè)置串行線為設(shè)備管理器中找到的COM端口,速度設(shè)置為9600波特。
  • Mac OSX:使用終端命令ls /dev/tty.*列出所有串行端口,連接FT232H擴展板后再次運行該命令,找到新出現(xiàn)的設(shè)備,使用screen命令打開串行連接。
  • Linux:使用ls /dev/tty*命令列出串行設(shè)備,連接FT232H擴展板后找到新設(shè)備的路徑,使用screen命令打開串行端口。

四、Python設(shè)置與使用

1. MPSSE模式概述

MPSSE(多協(xié)議同步串行引擎)是FT232H芯片的核心,它允許芯片支持I2C、SPI等多種協(xié)議。在MPSSE模式下,D0 - D3引腳具有特殊的串行協(xié)議功能:

  • D0時鐘信號輸出,可配置為運行速度在約450Hz至30MHz之間的時鐘。
  • D1:串行數(shù)據(jù)輸出,用于輸出串行信號,如SPI連接中的MOSI線。
  • D2:串行數(shù)據(jù)輸入,用于讀取串行信號,如SPI連接中的MISO線。
  • D3:串行選擇信號,用于告訴連接的設(shè)備FT232H準(zhǔn)備與之通信。

此外,MPSSE模式還允許將D4 - D7和C0 - C7共12個引腳作為通用數(shù)字輸入或輸出控制。

2. 軟件選項

使用MPSSE模式需要使用一些特殊的軟件和編程庫,以下是一些可選的軟件:

  • FTDI的官方D2XX驅(qū)動程序和庫:由FTDI生產(chǎn),提供對FTDI芯片功能的底層訪問,有適用于Windows、Mac OSX和Linux的二進制版本。
  • FTDI的LibMPSSE - I2C和LibMPSSE - SPI庫:基于D2XX驅(qū)動程序構(gòu)建,為與FT232H的MPSSE組件進行I2C和SPI通信提供更簡單的接口。
  • libFTDI庫:開源庫,類似于D2XX庫,提供對FTDI芯片功能的底層接口,還有Python接口,使用起來相對簡單。
  • libmpsse庫:基于libFTDI庫構(gòu)建,為使用MPSSE組件的I2C和SPI協(xié)議提供更簡單的接口,目前僅支持Mac OSX和Linux。
  • Adafruit Python GPIO庫:為簡化FT232H的使用,該庫提供了一個簡單的接口,可通過Python編程語言訪問FT232H的GPIO、SPI和I2C功能,支持Windows、Mac OSX和Linux平臺。

3. 不同平臺的MPSSE設(shè)置

由于MPSSE相關(guān)內(nèi)容已被棄用,這里僅作歷史參考。在使用MPSSE模式時,串行UART模式將被禁用。不同平臺的設(shè)置步驟如下:

  • Windows:需要使用Zadig工具將FT232H的FTDI驅(qū)動程序替換為基于libusb的驅(qū)動程序,下載并安裝libftdi二進制文件,最后安裝Adafruit Python GPIO庫。
  • Mac OSX:需要安裝Xcode和Xcode命令行工具,安裝Homebrew包管理器,使用brew命令安裝libftdi及其依賴項,下載并安裝Adafruit Python GPIO庫。
  • Linux:在Debian/Ubuntu/Raspbian系統(tǒng)上,使用apt - get命令安裝libftdi及其依賴項,下載并安裝Adafruit Python GPIO庫。

4. MPSSE使用示例

(1)GPIO使用

使用FT232H的GPIO引腳非常簡單,以下是一個閃爍LED和讀取數(shù)字輸入的示例:

  • 連接硬件:將FT232H的C0引腳連接到LED的陽極,LED的陰極通過一個330 - 1000歐姆的電阻連接到FT232H的GND引腳;將FT232H的D7引腳連接到GND,通過將跳線在GND和5V之間切換來讀取D7輸入的高低值。
  • 編寫Python代碼:創(chuàng)建一個名為gpio_test.py的文件,代碼如下:
    
    import time
    import Adafruit_GPIO as GPIO
    import Adafruit_GPIO.FT232H as FT232H

FT232H.use_FT232H() ft232h = FT232H.FT232H() ft232h.setup(7, GPIO.IN) ft232h.setup(8, GPIO.OUT)

print 'Press Ctrl - C to quit.' while True: ft232h.output(8, GPIO.HIGH) time.sleep(1) ft232h.output(8, GPIO.LOW) level = ft232h.input(7) if level == GPIO.LOW: print 'Pin D7 is LOW!' else: print 'Pin D7 is HIGH!' time.sleep(1)

 - 運行代碼:在Windows上運行`python gpio_test.py`,在Mac OSX或Linux上運行`sudo python gpio_test.py`,可以看到LED每秒閃爍一次,并打印D7輸入的狀態(tài)。

#### (2)SPI使用
FT232H的MPSSE非常適合使用SPI協(xié)議進行通信,以下是一個使用SPI協(xié)議發(fā)送和接收數(shù)據(jù)的示例:
```python
import Adafruit_GPIO.FT232H as FT232H

FT232H.use_FT232H()
ft232h = FT232H.FT232H()
spi = FT232H.SPI(ft232h, cs = 8, max_speed_hz = 3000000, mode = 0, bitorder = FT232H.MSBFIRST)
spi.write([0x01, 0x02, 0x03])

response = spi.read(3)
print 'Received {0}'.format(response)

response = spi.transfer([0x01, 0x02, 0x03])
print 'Received {0}'.format(response)

(3)驅(qū)動NeoPixels

使用SPI協(xié)議驅(qū)動WS2811/WS2812 NeoPixel可尋址RGB LED是一個有趣的應(yīng)用。通過使用6MHz的高速SPI信號對NeoPixel控制信號進行“過采樣”,可以從FT232H的D1(MOSI)線生成近似的控制信號。需要注意的是,這種方法一次最多只能點亮約340個像素。以下是一個驅(qū)動NeoPixels的示例代碼:

import time
import Adafruit_GPIO as GPIO
import Adafruit_GPIO.FT232H as FT232H

class NeoPixel_FT232H(object):
    def __init__(self, n):
        self.ft232h = FT232H.FT232H()
        self.spi = FT232H.SPI(self.ft232h, max_speed_hz = 6000000)
        self.buffer = bytearray(n * 24)
        self.lookup = self.build_byte_lookup()

    def build_byte_lookup(self):
        lookup = {}
        for i in range(256):
            value = bytearray()
            for j in range(7, -1, -1):
                if ((i >> j) & 1) == 0:
                    value.append(0b11100000)
                else:
                    value.append(0b11111000)
            lookup[i] = value
        return lookup

    def set_pixel_color(self, n, r, g, b):
        index = n * 24
        self.buffer[index:index + 8] = self.lookup[int(g)]
        self.buffer[index + 8:index + 16] = self.lookup[int(r)]
        self.buffer[index + 16:index + 24] = self.lookup[int(b)]

    def show(self):
        self.spi.write(self.buffer)

if __name__ == '__main__':
    pixel_count = 16
    pixels = NeoPixel_FT232H(pixel_count)
    for i in range(pixel_count):
        pixels.set_pixel_color(i, 255, 0, 0)
        pixels.show()
        time.sleep(0.25)
    for i in range(pixel_count):
        pixels.set_pixel_color(i, 0, 255, 0)
        pixels.show()
        time.sleep(0.25)
    for i in range(pixel_count):
        pixels.set_pixel_color(i, 0, 0, 255)
        pixels.show()
        time.sleep(0.25)
    colors = [(255, 0, 0), (255, 255, 0), (0, 255, 0), (0, 255, 255), (0, 0, 255), (255, 0, 255)]
    offset = 0
    print 'Press Ctrl - C to quit.'
    while True:
        for i in range(pixel_count):
            color = colors[(i + offset) % len(colors)]
            pixels.set_pixel_color(i, color[0], color[1], color[2])
        pixels.show()
        offset += 1
        time.sleep(0.25)

(4)I2C使用

I2C協(xié)議是與傳感器和設(shè)備通信的另一種流行協(xié)議,F(xiàn)T232H的MPSSE組件可以實現(xiàn)I2C協(xié)議。使用I2C時,需要將D1和D2引腳用跳線連接在一起,形成I2C的SDA數(shù)據(jù)線,D0引腳作為I2C的SCL時鐘線,并添加4.7千歐姆的上拉電阻。以下是一個使用I2C的示例代碼:

import Adafruit_GPIO.FT232H as FT232H

FT232H.use_FT232H()
ft232h = FT232H.FT232H()
i2c = FT232H.I2CDevice(ft232h, 0x70)

response = i2c.readU16(0x01)
i2c.write8(0x02, 0xAB)

五、更多信息與資源

1. 參考資料

  • 官方FT232H數(shù)據(jù)手冊:這是了解FT232H所有信息的參考資料,建議至少瀏覽一遍,以便全面了解芯片的功能。
  • MPSSE命令參考:詳細(xì)介紹了控制FT232H芯片MPSSE組件的底層命令。
  • FTDI實用工具:如FT PROG工具,可用于寫入FT232H擴展板的EEPROM并控制C8和C9引腳的功能,但該工具僅支持Windows。
  • FTDI應(yīng)用筆記:在該頁面搜索FT232H或MPSSE,可找到許多使用FT232H與不同串行協(xié)議進行接口的有用應(yīng)用筆記。
  • libftdi:開源庫,是FTDI二進制驅(qū)動程序的不錯替代方案,可用于與FT232H進行底層交互。
  • libmpsse:用于訪問FT232H的MPSSE功能,是本指南中Python GPIO庫的替代方案。
  • OpenOCD硬件:對于ARM芯片開發(fā),OpenOCD調(diào)試工具對于使用JTAG協(xié)議進行芯片調(diào)試非常有價值,具有MPSSE的FTDI芯片(如FT232H)甚至可以支持JTAG并與OpenOCD配合使用。

2. 擦除EEPROM以使用FT_PROG

如果要使用FTDI的FT_PROG編程工具,可能需要擦除FT232H的EEPROM。具體步驟如下:

  • 連接FT232H板到計算機,使用Zadig工具啟用基于libusb的驅(qū)動程序。
  • 下載libftdi Windows二進制文件,解壓后在命令行終端中運行eeprom -e -p 0x6014 -v 0x0403命令擦除EEPROM。
  • 卸載libusb驅(qū)動程序,重新插拔FT232
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 串口協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    8461
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board - 電子工程師的實用之選

    Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board - 電子工程師的實用之選 在電子工程領(lǐng)域,電機驅(qū)動是一個重要的研究方向。今天,我們要
    的頭像 發(fā)表于 05-11 10:15 ?46次閱讀

    Adafruit Silicon MEMS Microphone Breakout - SPW2430:小巧而強大的音頻利器

    Adafruit Silicon MEMS Microphone Breakout - SPW2430:小巧而強大的音頻利器 在電子設(shè)計領(lǐng)域,音頻采集是一個常見且重要的應(yīng)用場景。今天要給大家介紹一款
    的頭像 發(fā)表于 05-11 09:40 ?134次閱讀

    Adafruit FONA 3G Cellular + GPS Breakout功能強大的一體化模塊

    Adafruit FONA 3G Cellular + GPS Breakout功能強大的一體化模塊 在物聯(lián)網(wǎng)和嵌入式系統(tǒng)開發(fā)中,一款功能強大且易于集成的通信與定位模塊至關(guān)重要。
    的頭像 發(fā)表于 05-11 09:30 ?128次閱讀

    Adafruit FONA 3G Cellular + GPS Breakout 模塊深度解析

    Adafruit FONA 3G Cellular + GPS Breakout 模塊深度解析 在物聯(lián)網(wǎng)和嵌入式系統(tǒng)的開發(fā)中,通信和定位功能至關(guān)重要。Adafruit FONA 3G
    的頭像 發(fā)表于 05-11 09:30 ?122次閱讀

    Adafruit FONA 808 Cellular + GPS Breakout:小身材大功能的物聯(lián)網(wǎng)利器

    Adafruit FONA 808 Cellular + GPS Breakout:小身材大功能的物聯(lián)網(wǎng)利器 在物聯(lián)網(wǎng)應(yīng)用日益廣泛的今天,集成多種功能的設(shè)備變得越來越重要。
    的頭像 發(fā)表于 05-11 09:20 ?143次閱讀

    Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board使用指南

    Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board使用指南 在電子工程領(lǐng)域,電機驅(qū)動是一個常見且重要的應(yīng)用場景。今天我們來詳細(xì)介紹
    的頭像 發(fā)表于 05-11 09:20 ?139次閱讀

    Adafruit MicroLipo 和 MiniLipo 電池充電器使用指南

    Adafruit MicroLipo 和 MiniLipo 電池充電器使用指南 在電子項目中,擺脫電源束縛,使用電池供電是常見需求。而鋰聚合物(LiPo)和鋰離子(LiIon)電池憑借高能量密度
    的頭像 發(fā)表于 05-11 09:05 ?114次閱讀

    Adafruit Si5351時鐘發(fā)生器開發(fā)板:設(shè)計與使用指南

    Adafruit Si5351時鐘發(fā)生器開發(fā)板:設(shè)計與使用指南 在電子設(shè)計領(lǐng)域,時鐘發(fā)生器是一個關(guān)鍵組件,它為各種電路提供穩(wěn)定的時鐘信號。今天,我們來深入了解一下Adafruit Si5351
    的頭像 發(fā)表于 05-10 16:55 ?717次閱讀

    探索Adafruit FONA MiniGSM:小巧模塊的強大功能

    探索Adafruit FONA MiniGSM:小巧模塊的強大功能 一、引言 在電子設(shè)計的世界里,我們常常追求小巧、多功能的模塊,以滿足各種項目的需求。
    的頭像 發(fā)表于 05-10 16:40 ?721次閱讀

    Adafruit AGC Electret Microphone Amplifier - MAX9814 評測與使用指南

    Adafruit AGC Electret Microphone Amplifier - MAX9814 評測與使用指南 一、概述 在音頻領(lǐng)域,自動增益控制(AGC)是極為重要的特性,它能顯著提升
    的頭像 發(fā)表于 05-10 16:15 ?631次閱讀

    Adafruit 1-Wire GPIO Breakout - DS2413 開發(fā)板使用指南

    Adafruit 1-Wire GPIO Breakout - DS2413 開發(fā)板使用指南 在微控制器的世界里,引腳資源常常十分寶貴。有時候,我們僅僅需要一兩個額外的引腳,但又不想更換更大的開發(fā)板
    的頭像 發(fā)表于 05-10 16:05 ?240次閱讀

    Adafruit MicroLipo和MiniLipo電池充電器使用指南

    Adafruit MicroLipo和MiniLipo電池充電器使用指南 在電子項目中,擺脫電源束縛,使用電池供電是常見需求。而鋰聚合物(LiPo)和鋰離子(LiIon)電池憑借高能量密度、大電流
    的頭像 發(fā)表于 05-10 15:50 ?208次閱讀

    兼容FT232HL的高速USB串口芯片CH9111L

    在嵌入式開發(fā)、工業(yè)控制及消費電子等領(lǐng)域,USB串口芯片作為設(shè)備與主機通信的關(guān)鍵橋梁,其穩(wěn)定性與性能直接影響產(chǎn)品的整體表現(xiàn)。針對市場對高速、高兼容性串口解決方案的需求,我司推出CH9111L高速USB轉(zhuǎn)單串口芯片,該芯片在多項關(guān)鍵
    的頭像 發(fā)表于 03-26 17:26 ?738次閱讀
    兼容<b class='flag-5'>FT232</b>HL的高速USB<b class='flag-5'>串口</b>芯片CH9111L

    ?STM32工業(yè)數(shù)字輸出擴展板X-NUCLEO-OUT05A1技術(shù)解析與應(yīng)用指南

    STMicroelectronics X-NUCLEO-OUT05A1擴展板用于評估IPS1025H的驅(qū)動和診斷功能。IPS1025H是一款單通道高側(cè)智能電源固態(tài)繼電器,采用數(shù)字輸出模
    的頭像 發(fā)表于 10-29 16:19 ?1163次閱讀
    ?STM32工業(yè)數(shù)字輸出<b class='flag-5'>擴展板</b>X-NUCLEO-OUT05A1技術(shù)解析與應(yīng)用<b class='flag-5'>指南</b>

    STEVAL-IFP046V1工業(yè)數(shù)字輸出擴展板技術(shù)解析與應(yīng)用指南

    STMicroelectronics STEVAL-IFP046V1擴展板是用于IPS1025H-32的工業(yè)數(shù)字輸出擴展板。IPS1025H-32單通道高側(cè)智能電源固態(tài)繼電器可在連接5
    的頭像 發(fā)表于 10-28 15:35 ?1142次閱讀
    STEVAL-IFP046V1工業(yè)數(shù)字輸出<b class='flag-5'>擴展板</b>技術(shù)解析與應(yīng)用<b class='flag-5'>指南</b>
    紫金县| 北流市| 黎平县| 靖远县| 东安县| 射阳县| 新田县| 清原| 巴彦淖尔市| 普定县| 集贤县| 澜沧| 盐源县| 新野县| 乌兰浩特市| 天长市| 南宁市| 兰坪| 二连浩特市| 南充市| 凤翔县| 南部县| 扬州市| 苗栗县| 襄樊市| 南康市| 大埔区| 钟山县| 故城县| 贵定县| 静乐县| 文水县| 广宁县| 兴和县| 芦溪县| 德钦县| 天长市| 定兴县| 天柱县| 通辽市| 惠水县|