可編程 USB 轉串口適配器開發(fā)板 USB 轉 UART I2C 應用
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S USB 轉 UART 應用
1.1驅動安裝
USB2S 內置了 USB 轉UART 芯片,可使用CH340/CH341 驅動程序。驅動安裝步驟如下: 雙擊運行“CH341SER\SETUP.exe”,打開驅動安裝窗口。
點擊【安裝】按鈕,稍后會提示“驅動安裝成功”。如下圖示。
驅動安裝成功后,若將 USB2S 插入計算機 USB 接口,在“設備管理器”中會發(fā)現新的 COM 接口, 如下圖示。
可編程 USB 轉串口適配器開發(fā)板驅動安裝后
1.2 USB 轉UART 原理
驅動程序安裝后,計算機通過 COMx 與 MCU 進行通訊,當 USB2S 的 UART 透明傳輸功能為開啟狀態(tài)時(默認),MCU 可將 UART1 與UART2 的雙向數據進行透明轉發(fā),即:實現了計算機的COMx 端口與 USB2S 的對外 UART2 端口的雙向數據傳輸。工作原理示意圖如下:
上面的方法是通過 MCU 固件程序實現UART1 與 UART2 之間數據透明傳輸。
下面的連接方法可實現真正的 USB 轉 UART 功能,方法是通過跳線禁用 MCU,外部UART 設備直接連接到 UART1 接口。
對于絕大部分應用,第一種連接方法即可。
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S UART 轉 I2C 應用
1.1 AT24CxxEEPROM 芯片
1.1.1 芯片介紹
AT24Cxx 是可擦寫 EEPROM 存儲芯片,xx 表示容量,單位為 Kbits。USB2S 板上已有 1 片 AT24Cxx
(默認為 AT24C02),設備地址為 0xA0。
通過 AT24Cxx 的數據手冊可知,讀寫時序如下: 寫時序:
(1) 向 IIC 總線發(fā)送開始信號
(2) 向 IIC 總線發(fā)送芯片寫地址(0xA0)
(3) 向 IIC 總線發(fā)送要操作的 EEPROM 地址
(4) 向 IIC 總線連續(xù)發(fā)送多個要寫入的字節(jié)數據
(5) 向 IIC 總線發(fā)送停止信號,結束本次通訊讀時序:
(1) 向 IIC 總線發(fā)送開始信號
(2) 向 IIC 總線發(fā)送芯片寫地址(0xA0)
(3) 向 IIC 總線發(fā)送要操作的 EEPROM 地址
(4) 向 IIC 總線發(fā)送開始信號
(5) 向 IIC 總線發(fā)送芯片讀地址(0xA1)
(6) 從 IIC 總線連續(xù)讀取芯片輸出的數據
(7) 向 IIC 總線發(fā)送停止信號,結束本次通訊
1.1.2 向 AT24C02 寫入數據
向 AT24C02 的地址 0~3 寫入 4 個字節(jié)(30 31 32 33)
向 UART1 發(fā)送字符串:[IIC][START][WT6H]A0 00 30 31 32 33[STOP]
[IIC] 數據幀的目標是 IIC 接口
[START] 從目標接口輸出開始信號
[WT6H] 從目標接口輸出 6 個字節(jié),后續(xù)數據類型為 16 進制。
A0 00 2 字節(jié)數據,AT24C02 芯片地址+要操作的EEPROM 地址
00 01 02 03 向 AT24C02 寫入的 4 個字節(jié)數據[STOP] 從目標接口輸出停止信號,結束本次通訊
1.1.3 從 AT24C02 讀取數據
從 AT24C02 讀取 4 個字節(jié)數據,數據起始地址為 0。
向 UART1 發(fā)送字符串:[IIC][START][WT2H]A0 00[START][WT1H]A1[RD4N][STOP]
從 UART1 返回 4 個字節(jié)(16 進制):30 31 32 33 [IIC] 數據幀的目標是 IIC 接口
[START] 從目標接口輸出開始信號
[WT2H] 從目標接口輸出 2 個字節(jié),后續(xù)數據類型為 16 進制。
A0 00 2 字節(jié)數據,AT24C02 芯片地址+要操作的EEPROM 地址
[START] 從目標接口輸出開始信號
[WT1H] 從目標接口輸出 1 個字節(jié),后續(xù)數據類型為 16 進制。
A1 AT24C02 芯片的讀地址
[RD4N] 從目標接口連續(xù)讀取 4 個字節(jié)數據 [STOP] 從目標接口輸出停止信號,結束本次通訊
1.1.4 跨頁寫入數據
AT24C02 每頁為 8 字節(jié),EEPROM 地址 0~7 為第 1 頁、8~15 為第 2 頁,以此類推。當向芯片連續(xù)寫入數據時,在寫完每頁最后 1 個字節(jié)后必須向其發(fā)送停止信號,以使芯片對當前頁進行存儲,繼續(xù)寫入后續(xù)數據時需要重新開始寫入時序。
芯片存儲數據需要一定時間,向其發(fā)起新的通訊前應有適當延時。也可以直接向其繼續(xù)寫入若返回了[ERRxxx]表示芯片正忙,重新發(fā)送直到無錯誤返回。
例如:從 EEPROM 地址 0 開始寫入 10 個字節(jié)數據,則應先寫入 0~7,延時,再寫入 8~9。
[IIC][START][WT10H]A0 00 00 01 02 03 04 05 06 07[STOP][DELAY50][IIC][START][WT4H]A0 08 08 09[STOP]
例如:直接向芯片寫入字符串數據
[IIC][START][WT2H]A0 00[WT8S]87654321[STOP][DELAY50][IIC][START][WT4H]A0 08 38 39[STOP]
-
usb
+關注
關注
60文章
7945瀏覽量
264688 -
適配器
+關注
關注
8文章
1953瀏覽量
68029 -
uart
+關注
關注
22文章
1235瀏覽量
101397 -
開發(fā)板
+關注
關注
25文章
5050瀏覽量
97487
發(fā)布評論請先 登錄
相關推薦
評論