可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S結構尺寸及電壓設置
1.1 外形尺寸
外形尺寸:30*45mm(不含 USB 接口)
1.2 結構組成
可編程 USB 轉串口適配器開發板結構尺寸
2.1電源輸入
USB2S 使用USB 接口供電,電壓范圍為 3~10V,若無特殊說明,以下均使用標準的 USB 接口 5.0V,即 VIN=5.0V。
2.2設置工作電壓
通過電壓選擇器跳線可設置 USB2S 的工作電壓,如下圖所示,跳線帽位于 3.3 一側時工作電壓為 3.3V,跳線帽位于 5.0 側時工作電壓為VIN(即USB 供電時的 5.0V)。
設置工作電壓時必須兩個跳線帽同時調整。
本模塊片上芯片均支持 3.0~5.5V 工作電壓,故此當供電 VIN 為 5.5V 以下時可直接使用VIN 或者切換為 3.3V,當使用超過 5.5V 的 VIN 為模塊供電時,必須將跳線切換至 3.3V 工作電壓,否則模塊會損毀。
可編程 USB 轉串口適配器開發板跳帽設置
除 USB 接口中的 D+和 D-外,其它所有數字接口工作電壓均為工作電壓(VCC/VWK),外接設備或芯片時應先用跳線選擇工作電壓VWK 為 3.3 或者 5.0,然后再連接設備或芯片。
2.3電源輸出
對外接口中的管腳 1~4 為電源輸出,可為外接設備供電,4 個管腳依次為:V50、V33、VCC/VWK、GND。
V50:輸出與 VIN 相同的電壓,若使用 USB 供電時為 5.0V。
V33:使用VIN 穩壓 3.3V 后的輸出。
VCC/VWK:工作電壓輸出,電壓值由工作電壓選擇器跳線決定。
V33 穩壓器最大輸出電流為 500mA,不得為超過 300mA 的外部設備供電。
2.4I2C 總線
管腳 7 和 8 分別是 IIC 總線的SCL 和 SDA 通訊線,板上已有 2k 上拉電阻。USB2S 的 IIC 接口通訊速率范圍為 10kHz~400kHz,支持主模式與從模式。
管腳 7 和管腳 8 由I2S 總線與 SPI 總線共用,同一時間只能使用一種接口,切換方法請詳見第 3 章說明。
IIC 總線上已連接有EEPROM 芯片和溫濕度傳感器芯片,可通過跳線設置為強制使能板載IIC 芯片或者設置為程控使能。
可編程 USB 轉串口適配器開發板總線
注:第一排的三個針從左向右依次為:VCC、IIC_POW、IO1,當 1 和 2 通過跳線帽短接時,IIC_POW 管腳被強制為 VCC,為板載 IIC 芯片供電,當 2 和 3 通過跳線帽短接時,IIC_POW 被連接到 IO1,受IO1 控制,通過指令設置IO1 輸出高電平或者低電平來實現是否給板載IIC 芯片供電的功能。
2.5 SPI 總線
管腳 5、6、7、8 分別是SPI 總線的 MOSI、NSS、CLK、MISO 線,CLK 和MISO 已連接有 2k 上拉電阻。
SPI 接口通訊速率最高可達 5MHz,支持主機與從機模式,支持 3 線制和 4 線制標準。
管腳 7 和管腳 8 由I2S 總線與 SPI 總線共用,同一時間只能使用一種接口,切換方法請詳見第 3 章說明。
SPI 總線上已連接有FLASH 芯片,可通過跳線設置為強制使能板載SPI 芯片或者設置為程控使能。
注:第二排的三個針從左向右依次為:VCC、SPI_POW、IO2,當 1 和 2 通過跳線帽短接時,SPI_POW 管腳被強制為 VCC,為板載 SPI 芯片供電,當 2 和 3 通過跳線帽短接時,SPI_POW 被連接到 IO2,受IO2 控制,通過指令設置IO2 輸出高電平或者低電平來實現是否給板載SPI 芯片供電的功能。
注:IO1 和IO2 同時也是板載 SPI 芯片 GD25Qxx 的寫保護 WP 和通訊保持 HOLD 控制管腳,當操作GD25Qxx 時,必須使IO2 為高電平(低電平時此芯片會忽略所有 SPI 信號),當需要向其寫數據時必須使 IO1 為高電平(低電平時僅會執行讀取指令,而寫入指令會被忽略)。
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S接口與功能介紹
可編程 USB 轉串口適配器開發板的詳細接口與功能
可編程 USB 轉 UART/I2C/SMBus/SPI/CAN/1-Wire 適配器 USB2S(USB To Serial ports)是多種數字接口物理層協議轉發器,自帶強大靈活的 S2S 協議固件程序,支持嵌入C 語言程序開發,可實現 Windows/Android/Wince 操作系統USB 接口與串行接口以及串行接口之間的雙向通訊,還可用作脈沖計數、數字示波器、電壓比較器。廣泛應用于電子設備開發、芯片測試、工業數字接口轉換、數字接口學習驗證等領域。
1.UART 接口
本模塊有兩組 UART 接口,分別叫做 UART1 和 UART2,UART1 是指 USB 與計算機連接后計算機上出現的 COMx 串口,計算機通過此串口與 USB2S 通訊,UART2 是指 USB2S 上的對外接口中的UART 接口(TXD 和RXD 管腳)。
管腳 9 和 10 分別是UART2 異步串行口的RXD 和 TXD 通訊線,RXD 為弱上拉輸入,TXD 為強推挽輸出。
UARTx 通訊速率范圍為 1200bps~921600bps,支持數據校驗和停止位設置。默認通訊速率為9600bps。
接口
2. LCD 接口
板上預留有基于 IIC 協議的 LCD 屏幕接口,可選配屏幕(3.3V5.0V 兼容)。
3. MCU
USB2S 使用了 STC 單片機作為可編程載體,具有片上 2kRAM、4kEEPROM 和 16kFLASH,超高速 1T
(1 周期指令)8051 內核,支持休眠和脈沖信號喚醒和定時器喚醒,5 個 16 位定時器,1 路電壓比較器,4 路外部中斷,硬件 I2S、SPI、UART 接口,支持在線仿真調試。
4.固件程序
自帶固件程序可完成不同串行接口之間的數據透明傳輸和預定義通訊協議的數據解析轉發,通過修改內部寄存器參數和使用上位機軟件工具,可進行幾乎所有的串行接口測試應用。
內嵌 MODBUS 通訊協議。
豐富的應用例程,用戶可在例程基礎上開發自己的固件程序。
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S S2S 功能介紹
可編程 USB 轉串口適配器開發板 S2S 功能介紹
USB2S 支持基于 STC 單片機的二次開發,若有需要,可參照原理圖和單片機型號手冊自行開發具有特殊功能的固件程序。
1.自帶固件S2S 功能介紹
默認情況下 USB2S 出廠時自帶廠家固件程序 S2S,并提供固件程序文件,若有需要可以隨時重新下載到 MCU。
S2S 固件不斷升級中,請訪問穩控科技公司下載最新固件程序。
S2S(Serial port To Serial port)固件可實現任意一個串行口的數據轉發到另一個指定的串行口,并自動轉換接口硬件層協議,使用的協議為S2S 串口轉發協議。
S2S 固件支持MODBUS 通訊協議的 03 和 06 指令碼,關于 MODBUS 協議內容請自行參閱標準協議手冊, 或者向我們索要使用說明,MODBUS03 和 06 指令碼所操作的保持寄存器定義見下表。
1.1MODBUS 協議保持寄存器匯總
協議匯總
2.S2S 通訊協議
S2S 通訊協議規則十分簡單,說明如下:
最小收發單位為字符串幀,幀由若干關鍵字和數據組成。 控制關鍵字以‘[’起始,以‘]’結束。連續的數據字符串之間用空格分隔。 關鍵字可單個使用也可以任意多個組合使用。注意事項: UART 接口的接收緩存為 254 字節,指令(關鍵字)數量最多 64 個,數據寫入和讀出緩存分別為 128 字節,超出部分會被舍棄。 10 進制數據可以用 1~3 個字符表示(每個字符必須為‘0’~‘9’),16 進制數據必須用 2 個字符表示(每個字符必須為‘0’~‘9’或大寫‘A’~‘F’)。
3.S2S 協議使用舉例單個關鍵字
[IIC] 設置數據的目標端口為 IIC 接口
[WT3H]A0 A1 A2 向目標端口(IIC)寫 3 個字節 16 進制數據,即:從 IIC 端口輸出 3 個字節數據。[RD05N] 從 IIC 接口讀取 5 字節數據,每讀取 1 個字節后輸出應答信號,最后 1 個字節讀取完成后發送非應答信號。
[HELP]或者[HELPxx] 獲取幫助信息,xx 為信息類別碼(2 位數字)。
連續多個關鍵字
[IIC][START][WT6H]A0 00 00 01 02 03[STOP] 設置目標端口為 IIC,從IIC 發出開始信號,從IIC 輸出 6 字節數據,從IIC 發出停止信號。若之前已經設置過目標端口為IIC,則上面的指令幀可省略[IIC],即可以為:[START][WT6H]A0 00 00 01 02 03[STOP]
[STIIC]40 MSB[SAVE][IIC][START][WT6H]A0 00 00 01 02 03[STOP] 先設置IIC 接口通訊參數,
永久保存,再開始一次通訊。
[IIC][FIND]搜索 IIC 總線上所有從設備,并返回從設備地址值。
4.反饋信息說明
當開啟了調試信息輸出或者數據回顯功能時(默認),每幀關鍵字指令發送后會輸出對指令的解析和執行信息。這些信息僅在關鍵字指令幀執行不正常時需要查看分析錯誤原因,正常使用時無需關心,可使用指令關閉這些功能(3.3.4)。
例如:
向設備發送 [IIC][START][WT6H]A0 00 00 01 02 03[STOP]
設備返回 [IIC][START][WT6H]A0 00 00 01 02 03[STOP] //回顯接收到的內容
S2SCMD 0003 0901 0106 0902 //關鍵字指令碼
S2SDAT A0 00 00 01 02 03 //指令碼數據
解析碼(指令碼) 與本幀數據中每個關鍵字指令一一對應,指令碼為 16 位,高字節表示指令類別,低字節表示本指令的附加參數。
指令碼數據 執行指令碼時所需要的數據,如:要發送的數據,要設置的參數值等。
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S
可編程 USB 轉串口適配器開發板 參數設置與修改
1.參數設置
1.1 UART 通訊參數設置
UART1 和 UART2 默認通訊參數為 9600,N,8,1,可通過以下關鍵字指令進行修改。[STU1]B N D S
B 通訊速率,單位 bps,可以為 1200~921600 之間的任一通訊速率N 校驗位,N 表示無校驗;A 表示寄校驗;E 表示偶校驗
D 數據位,可為 8 或者 9
S 停止位,可為 1 或 2
例如:設置 UART1 的通訊參數為 9600,N,8,1,則應發送指令[STU1]9600 N 8 1 注:除通訊速率外,其它三個參數固定為N81,暫時無法修改。
注:執行此指令后,保持寄存器 BAUD_U1 和 BAUD_U2 的值被同步更新,但未保存。
注:修改任意一個 UART 接口時,另外一個 UART 接口也被同時修改,即:兩個UART 的通訊參數總是相同的。
1.2 I2C 通訊參數設置
I2C 默認通訊參數為:52,MSB,可以通過以下關鍵字指令進行修改。[STIIC]B xSB
B 通訊速率碼,可以為 0~63,對應的通訊速率見下表。
xSB 傳輸數據時高位在前還是低位在前,MSB 表示高位在前,LSB 表示低位在前注:執行此指令后,保持寄存器 BAUD_IIC、ISCW_XSB 的值被同步更新,但未保存。注:系統時鐘分頻系數會影響 IIC 和 SPI 的通訊速率。
下表是時鐘分頻為 1 時 IIC 取值與實測速率
通訊速率
1.3 SPI 默認通訊參數為:700kHz,MSB,L,B,可通過以下關鍵字指令進行修改。[STSPI]baud xSB po ph
Baud 通訊速率,單位 kHz,可以為 5500、2700、1400、700
xSB 傳輸數據時高位在前還是低位在前,MSB 表示高位在前,LSB 表示低位在前
Po 時鐘極性,H 表示空閑時SCK 為高電平,L 表示空閑時 SCK 為低電平Ph 時鐘相位,F 表示在前時鐘沿輸出數據,B 表示在后時鐘沿輸出數據
注:執行此指令后,保持寄存器 BAUD_SPI、ISCW_XSB 的值被同步更新,但未保存。注:系統時鐘分頻系數會影響 IIC 和 SPI 的通訊速率。
1.4 修改系統參數
使用[SYSP]關鍵字可對其它系統參數進行修改。指令格式如下: [SYSP]Addr ECHO DEBUG_MSG UART12_TT CLKDIV
Addr 設備地址
ECHO 是否回顯接收到的數據DEBUG_MSG 是否輸出調試信息
UART12_TT UART1 和 UART2 之間是否透明傳輸
CLKDIV 系統時鐘分頻系數
例如:[SYSP]12 1 0 1 1 表示將設備地址修改為 12,回顯接收到的數據,不輸出調試信息,兩個UART 口透明傳輸,系統時鐘不分頻。
1.5 保存參數
前述各種指令在參數修改完成后僅可當時生效,修改后的參數斷電不保存。使用[SAVE]關鍵字可將當前參數保存至 EEPROM,使參數永久保存。
1.6 參數復位
參數復位有兩種方法,通過 UART 接口向模塊發送[STDEF]指令,或者給模塊上電前,將 FUN 跳線帽連接至 GND,如下圖。參數復位后,請將跳線帽切換至第第 2 和 3 腳,防止重復復位。
AT24Cxx GD25Qxx
注:第三排針從左向右依次為 GND、FUN、空,使用跳線帽將 1 和 2 連接,強制將FUN 拉低,在上電時若檢測到 FUN 的低電平會復位系統參數,使用跳線帽將 2 和 3 連接,使FUN 管腳懸空
(內部弱上拉為高電平)。
可編程 USB 轉串口適配器開發板 USB 轉 UART I2C 應用
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S USB 轉 UART 應用
1.1驅動安裝
USB2S 內置了 USB 轉UART 芯片,可使用CH340/CH341 驅動程序。驅動安裝步驟如下: 雙擊運行“CH341SERSETUP.exe”,打開驅動安裝窗口。
點擊【安裝】按鈕,稍后會提示“驅動安裝成功”。如下圖示。
驅動安裝
驅動安裝成功后,若將 USB2S 插入計算機 USB 接口,在“設備管理器”中會發現新的 COM 接口, 如下圖示。
驅動安裝
1.2 USB 轉UART 原理
驅動程序安裝后,計算機通過 COMx 與 MCU 進行通訊,當 USB2S 的 UART 透明傳輸功能為開啟狀態時(默認),MCU 可將 UART1 與UART2 的雙向數據進行透明轉發,即:實現了計算機的COMx 端口與 USB2S 的對外 UART2 端口的雙向數據傳輸。工作原理示意圖如下:
原理
上面的方法是通過 MCU 固件程序實現UART1 與 UART2 之間數據透明傳輸。
下面的連接方法可實現真正的 USB 轉 UART 功能,方法是通過跳線禁用 MCU,外部UART 設備直接連接到 UART1 接口。
對于絕大部分應用,第一種連接方法即可。
可編程 USB 轉串口適配器開發板原理
可編程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 總線發送開始信號
(2) 向 IIC 總線發送芯片寫地址(0xA0)
(3) 向 IIC 總線發送要操作的 EEPROM 地址
(4) 向 IIC 總線連續發送多個要寫入的字節數據
(5) 向 IIC 總線發送停止信號,結束本次通訊讀時序:
(1) 向 IIC 總線發送開始信號
(2) 向 IIC 總線發送芯片寫地址(0xA0)
(3) 向 IIC 總線發送要操作的 EEPROM 地址
(4) 向 IIC 總線發送開始信號
(5) 向 IIC 總線發送芯片讀地址(0xA1)
(6) 從 IIC 總線連續讀取芯片輸出的數據
(7) 向 IIC 總線發送停止信號,結束本次通訊
1.1.2 向 AT24C02 寫入數據
向 AT24C02 的地址 0~3 寫入 4 個字節(30 31 32 33)
向 UART1 發送字符串:[IIC][START][WT6H]A0 00 30 31 32 33[STOP]
[IIC] 數據幀的目標是 IIC 接口
[START] 從目標接口輸出開始信號
[WT6H] 從目標接口輸出 6 個字節,后續數據類型為 16 進制。
A0 00 2 字節數據,AT24C02 芯片地址+要操作的EEPROM 地址
00 01 02 03 向 AT24C02 寫入的 4 個字節數據[STOP] 從目標接口輸出停止信號,結束本次通訊
1.1.3 從 AT24C02 讀取數據
從 AT24C02 讀取 4 個字節數據,數據起始地址為 0。
向 UART1 發送字符串:[IIC][START][WT2H]A0 00[START][WT1H]A1[RD4N][STOP]
從 UART1 返回 4 個字節(16 進制):30 31 32 33 [IIC] 數據幀的目標是 IIC 接口
[START] 從目標接口輸出開始信號
[WT2H] 從目標接口輸出 2 個字節,后續數據類型為 16 進制。
A0 00 2 字節數據,AT24C02 芯片地址+要操作的EEPROM 地址
[START] 從目標接口輸出開始信號
[WT1H] 從目標接口輸出 1 個字節,后續數據類型為 16 進制。
A1 AT24C02 芯片的讀地址
[RD4N] 從目標接口連續讀取 4 個字節數據 [STOP] 從目標接口輸出停止信號,結束本次通訊
1.1.4 跨頁寫入數據
AT24C02 每頁為 8 字節,EEPROM 地址 0~7 為第 1 頁、8~15 為第 2 頁,以此類推。當向芯片連續寫入數據時,在寫完每頁最后 1 個字節后必須向其發送停止信號,以使芯片對當前頁進行存儲,繼續寫入后續數據時需要重新開始寫入時序。
芯片存儲數據需要一定時間,向其發起新的通訊前應有適當延時。也可以直接向其繼續寫入若返回了[ERRxxx]表示芯片正忙,重新發送直到無錯誤返回。
例如:從 EEPROM 地址 0 開始寫入 10 個字節數據,則應先寫入 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 轉串口適配器開發板 SHT3x-DIS 溫濕度傳感器芯片
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S 的溫濕傳感器
1.2 SHT3x-DIS 溫濕度傳感器芯片
1.2.1 芯片介紹
SHT3x-DIS 是 IIC 接口的溫度、濕度傳感器芯片,可工作于單次測量或連續自動測量模式。USB2S 已有 1 片 SHT31-DIS 芯片,芯片地址為 0x88。
SHT3X-DIS 的輸出溫度和濕度均為 3 字節,前兩字節是溫濕度值,第 3 字節是校驗字節。轉換
公式如下:(數值=第 1 個字節*256+第 2 個字節)。
公式
寫指令時序:
(1) 向 IIC 總線發送開始信號
(2) 向 IIC 總線發送芯片寫地址(0x88)
(3) 向 IIC 總線發送 2 字節命令字
(4) 發送停止信號,結束本次通訊。
讀取溫濕度時序:
(1) 向 IIC 總線發送開始信號
(2) 向 IIC 總線發送芯片寫地址(0x88)
(3) 向 IIC 總線發送 2 字節命令字,延時等待芯片完成測量(工作于單次測量模式時)
(4) 向 IIC 總線發送開始信號
(5) 向 IIC 總線發送芯片讀地址(0x89)
(6) 從 IIC 總線讀取 2 字節溫度和 1 字節 CRC8 校驗
(7) 從 IIC 總線讀取 2 字節濕度和 1 字節 CRC8 校驗
(8) 發送停止信號,結束本次通訊。
1.2.2 單次溫濕度測量并讀取
[IIC][START][WT3H]88 24 00[DELAY100][START][WT1H]89[RD6A][STOP],或者[IIC][START][WT3D]136 36 00[DELAY100][START][WT1H]89[RD6A][STOP]
[IIC] 數據幀的目標是 IIC 接口
[START] 從目標接口輸出開始信號
[WT3H] 從目標接口輸出 3 個字節,后續數據類型為 16 進制。
88 24 00 芯片寫地址+2 字節指令碼 0x2400 表示高速測量并且禁用芯片控制時鐘線的功能
[DELAY100] 延時等待溫濕度測量結束[START] 從目標接口輸出開始信號
[WT1H] 從目標接口輸出 1 個字節,后續數據類型為 16 進制。
89 芯片的讀地址
[RD6N] 從目標接口連續讀取 2 個寄存器(每個寄存器 2 字節,共 4 字節) [STOP] 從目標接口輸出停止信號,結束本次通訊
芯片返回 64 B3 BB 3E E3 CC(25779 16099,即:23.8℃和 24.5%)
1.2.3 連續測量隨時讀取溫濕度
切換為連續測量工作模式:[IIC][START][WT3H]88 20 2F[STOP]
隨時獲取實時溫濕度:[IIC][START][WT3H]88 E0 00[START][WT1H]89[RD6N][STOP]
1.2.4 停止連續測量
向 芯 片 發 送 指 令 碼 0x3093 [IIC][START][WT3H]88 30 93[STOP]
1.2.5 其它常用指令使用指令復位芯片
向 芯 片 發 送 指 令 碼 0x30A2 [IIC][START][WT3H]88 30 A2[STOP]
加熱器的開啟與關閉
發送指令碼 0x306D 開啟加熱器,發送指令碼 0x3066 關閉加熱器。[IIC][START][WT3H]88 30 6D[STOP]
[IIC][START][WT3H]88 30 66[STOP]
讀取狀態寄存器
[IIC][START][WT3H]88 F3 2D[START][WT1H]89[RD3N][STOP]
可編程 USB 轉串口適配器開發板與振弦傳感器測量模塊
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S 與振弦傳感器測量模塊
VM5xx 振弦傳感器測量模塊
1.1 芯片介紹
VM501/511振弦采集模塊 是穩控科技生產的振弦傳感器測量模塊,具有IIC 接口和 UART 接口。IIC 地址可通過UART 任意設置,假設其地址為 0xB0。
VM501/511振弦采集模塊 的 IIC 通訊協議如下: 寫寄存器:
(1) 向 IIC 總線發送開始信號
(2) 向 IIC 總線發送模塊寫地址(0xB0)
(3) 向 IIC 總線發送要操作的寄存器地址
(4) 向 IIC 總線連續發送多個要寫入的寄存器值,每個寄存器需要 2 字節
(5) 向 IIC 總線發送停止信號,結束本次通訊
讀寄存器:
(1) 向 IIC 總線發送開始信號
(2) 向 IIC 總線發送模塊寫地址(0xB0)
(3) 向 IIC 總線發送要操作的寄存器地址
(4) 向 IIC 總線發送開始信號
(5) 向 IIC 總線發送模塊讀地址(0xB1)
(6) 從 IIC 總線連續讀取芯片輸出的數據(每 2 個字節代表 1 個寄存器值)
(7) 向 IIC 總線發送停止信號,結束本次通訊
1.2 修改VM501/511振弦采集模塊寄存器
向 VM5xx 的寄存器 0~1 寫入新值(0x0001 0x0060)
向 UART1 發送字符串:[IIC][START][WT6H]B0 00 00 01 00 60[STOP]
[IIC] 數據幀的目標是 IIC 接口
[START] 從目標接口輸出開始信號
[WT6H] 從目標接口輸出 6 個字節,后續數據類型為 16 進制。
A0 00 2 字節數據,VM5xx 模塊地址+要操作的寄存器地址
00 01 00 60 向 VM5xx 模塊寫入的 2 個寄存器值(每個寄存器 2 字節,共 4 個字節) [STOP] 從目標接口輸出停止信號,結束本次通訊
1.3 讀取VM501/511振弦采集模塊寄存器
從 VM5xx 讀取 2 個寄存器數據,寄存器起始地址為 0。
向 UART1 發送字符串:[IIC][START][WT2H]B0 00[START][WT1H]B1[RD4N][STOP]
從 UART1 返回 4 個字節(16 進制):00 01 00 60 [IIC] 數據幀的目標是 IIC 接口
[START] 從目標接口輸出開始信號
[WT2H] 從目標接口輸出 2 個字節,后續數據類型為 16 進制。
A0 00 2 字節數據,VM5xx 模塊寫地址+要操作的寄存器地址
[START] 從目標接口輸出開始信號
[WT1H] 從目標接口輸出 1 個字節,后續數據類型為 16 進制。
A1 VM5xx 模塊的讀地址
[RD4N] 從目標接口連續讀取 2 個寄存器(每個寄存器 2 字節,共 4 字節) [STOP] 從目標接口輸出停止信號,結束本次通訊
1.4 保存VM501/511振弦采集模塊 寄存器當前值
當通過 IIC 接口修改 VM5xx 單個寄存器后,被修改的寄存器立即保存(斷電不丟失),但連續寄存器的寫入僅當時修改生效,模塊重啟后會自動恢復。為了能夠使寄存器永久保存,可以單獨向功能寄存器 03 寫入指令碼 0x000C 來強制保存所有寄存器。
[IIC][START][WT4H]B0 03 00 0C[STOP]
1.5 讀取全部實時寄存器
VM5xx 測量值和運行狀態全部位于寄存器 32~64,這些寄存器由模塊自動更新,可以被部分讀取或者全部讀取。
[IIC][START][WT2H]B0 20[START][WT1H]B1[RD60N][STOP]
從模塊的寄存器 0x20(32)開始連續讀取 60 個字節(30 個寄存器)。
可編程 USB 轉串口適配器開發板 UART 轉 SPI 應用
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S UART 轉 SPI 應用
1.1 GD25QxxFLASH 芯片
注意:1-Wire 接口與 SPI 接口不可同時連接被測芯片。
1.1 芯片介紹
GD25Qxx 是四線SPI 接口的 FLASH 芯片,最大容量可達 16Mbytes。板上集成有 GD25Q64 芯片, 每頁 256 字節,每扇區 16 頁(4k 字節),每塊區 256 頁(64k),寫入前必須先擦除,本芯片支持扇區擦除、塊區擦除和整片擦除。
讀時序:
(1) 向芯片發送 1 字節指令碼 0x03
(2) 向芯片發送要讀取的起始地址 3 字節 0xaaaaaa
(3) 連續讀取n 字節數據寫時序:
(1) 向芯片發送 1 字節指令碼 0x02
(2) 向芯片發送要寫入的起始地址 3 字節 0xaaaaaa
(3) 連續寫入n 字節數據(不超過 256) 擦除時序:
擦除扇區:
(1) 向芯片發送 1 字節指令碼 0x20
(2) 向芯片發送要擦除扇區的起始地址 3 字節 0xaaaaaa(4096 的整倍數值) 擦除區塊:
(1) 向芯片發送 1 字節指令碼 0xD8
(2) 向芯片發送要擦除區塊的起始地址 3 字節 0xaaaaaa(65536 的整倍數值) 整片擦除:
(1)向芯片發送 1 字節指令碼 0xC7
1.2 讀取芯片ID
[SPI][SSL][WT4H]90 FF FF FF[RD2N][SSH]
返回:C8 16
C8:芯片生產廠商標識碼,GigaDevice(兆易創新) 16:器件容量標識碼,16 表示 64Mbit(8MBytes)
1.3 芯片寫入使能
擦除或者寫入之前需要保證芯片為寫使能狀態,如果已設置過寫使能,則此步驟或省略。[SPI][SSL][WT1H]06[SSH]
1.4 擦除首個扇區
首個扇區的地址為 0~4095,此扇區首地址為 0。[SPI][SSL][WT4H]20 00 00 00[SSH]
注:GD25Qxx 芯片有寫保護功能,在寫操作前最好先發送 06 指令碼,使能擦寫功能。[SPI][SSL][WT1H]06[SSH][SPI][SSL][WT4H]20 00 00 00[SSH]
1.5 寫入數據
從首地址開始寫入 10 個字節:0x30~0x39
[SPI][SSL][WT14H]02 00 00 00 30 31 32 33 34 35 36 37 38 39[SSH]
寫入之前禁用寫保護
[SPI][SSL][WT1H]06[SSH][SPI][SSL][WT14H]02 00 00 00 30 31 32 33 34 35 36 37 38 39[SSH]
1.6 讀取數據
從首地址開始讀取 20 個字節[SPI][SSL][WT4H]03 00 00 00[RD20N][SSH]
可編程 USB 轉串口適配器開發板 DS1302 時鐘芯片參數讀取與修改
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S DS1302 時鐘芯片
DS1302 時鐘芯片
1.芯片介紹
DS1302 是實時時鐘芯片,SPI 接口,可以對年、月、日、周、時、分、秒進行計時,且具有閏年補償等多種功能。DS1302 內部有一個 31×8 的用于臨時性存放數據的 RAM 寄存器。
DS1302 使用 1 個字節的控制字+讀寫時序來完成數據交互,控制字節的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數據寫入 DS1302 中,位 6 如果為 0,則表示存取日歷時鐘數據, 為 1 表示存取 RAM 數據;位 5 至位 1 指示操作單元的地址;最低有效位(位 0)如為 0 表示要進行寫
操作,為 1 表示進行讀操作,控制字節總是從最低位開始輸出。
DS1302 不是標準的四線 SPI,它的發送和接收統一使用 IO 管腳,并且它沒有SPI 協議中的使能控制管腳。另外它有讀寫使能的 CE 控制管腳也是 SPI 協議中沒有的。
使能寫操作[SPI][SSH][WT2H]8E 00[SSL] 上例中,借用了 SPI 接口中的 SS 管腳來實現對 DS1302CE 管腳的控制時序。下同。
2.讀取時間
讀取年讀取周讀取月讀取日讀取時讀取分讀取秒
[SPI][SSH][WT1H]8D[RD1][SSL]
[SPI][SSH][WT1H]8B[RD1][SSL]
[SPI][SSH][WT1H]89[RD1][SSL]
[SPI][SSH][WT1H]87[RD1][SSL]
[SPI][SSH][WT1H]85[RD1N][SSL]
[SPI][SSH][WT1H]83[RD1N][SSL]
[SPI][SSH][WT1H]81[RD1N][SSL]
也可以一次連續讀取:[SPI][SSH][WT1H]81[RD7N][SSL]
3.修改時間
修改年 [SPI][SSH][WT2H]8C 18[SSL] 修改周 [SPI][SSH][WT2H]8A 02[SSL] 修改月 [SPI][SSH][WT2H]88 05[SSL] 修改日 [SPI][SSH][WT2H]86 15[SSL] 修改時 [SPI][SSH][WT2H]84 08[SSL] 修改分 [SPI][SSH][WT2H]82 30[SSL] 修改秒 [SPI][SSH][WT2H]80 00[SSL]
以上實現了修改日期時間為:2018-05-15 08:30:00(星期二),下面的指令可一次性寫入 [SPI][SSH][WT8H]80 00 30 08 15 05 02 18[SSL]
可編程 USB 轉串口適配器開發板如何使用S2STool工具
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S 專用工具 S2STool 介紹
S2STool 是為 S2S 固件開發的測試工具,運行于 Windows 平臺,內置串口調試助手和 S2S 參數配置工具,支持動態解析自定義的芯片驅動,用戶可自行編寫、修改、增加任何芯片的驅動程序, 方便對芯片進行測試和評估。
1.S2STool 主界面
雙擊 S2STool.exe 啟動程序,主界面如下圖所示。
軟件界面
標題欄:顯示工具名稱和版本信息,S2STool 工具與 S2S 固件一一對應,請根據 S2S 固件版本來選擇適用的 S2STool 工具版本。
狀態欄:顯示工具的運行狀態。
計算機端口區:選擇USB2S 與計算機連接的 COM 端口,設置 COM 端口通訊參數。
S2S 參數:S2S 固件的參數讀取和修改操作區。
接口與芯片選擇區:選擇外接芯片(或模塊、設備)的接口類型和芯片型號名稱。
芯片操作區:對選擇的具體芯片的所有預編程測試功能按鈕區。
串口助手:通用串口助手,可收發字符串或者 16 進制數據。
2.連接端口
連接 COM 端口的目的是建立計算機與 USB2S 的通訊鏈路,以完成參數讀寫、芯片測試、串口收發等后續工作。
在計算機端口區選擇與 USB2S 連接的COM 端口名稱(見“4.1 驅動安裝” ,選擇與 USB2S 一致
的通訊速率(默認為 9600bps),點擊【連接端口】按鈕,若連接成功,則連接狀態圖標由黑色變為紅色,狀態欄提示信息為“COMx 已連接”。
3.參數讀取與修改
3.1參數讀取
端口連接成功后,點擊 S2S 參數區的【讀取模塊參數】按鈕,稍候(約 1~2 秒)即可完成 S2S 模塊的參數讀取,狀態欄提示“收到參數寄存器數據,CRC 校驗正確”,參數更新顯示于參數區的各個控件。
3.2參數修改
在 S2S 參數區內修改參數,點擊【寫入模塊參數】按鈕,即可將界面顯示的參數更新到模塊, 狀態欄顯示“參數修改成功”。
3.4 接口類型與芯片選擇
在接口與芯片選擇區,點選接口類型為 UART、I2C、SPI、1-Wire 之一,程序自動檢索已存在的所選接口的驅動文件, 并將備選芯片名稱加載到【芯片名稱下拉框】,在下拉框內選擇需要的芯片即可。芯片選擇后,芯片名稱下方自動顯示此芯片的功能描述,此時點擊右側的【芯片介紹】按鈕可打開芯片介紹窗口,點擊【數據手冊】按鈕可打開此芯片的數據手冊文件。
芯片選擇后,在芯片操作區會自動加載此芯片的功能操作按鈕和數據項目表格,如圖示。
芯片選擇
芯片名稱下拉框中出現的每一個備選芯片均對應一個驅動文件,用戶也可根據驅動文件編寫規則自行編寫新的芯片
文件,也可修改已有芯片的驅動文件內容,詳見“第九章:芯片驅動文件說明”。
3.5 芯片測試
在芯片操作區,列出和多個關于所選芯片相關的操作按鈕,點擊對應按鈕即可完成芯片的讀寫操作。 點擊某個按鈕時,主界面右側的串口助手發送區顯示此按鈕對應的發送的指令內容,接收區顯示了芯片對指令的響應過程和返回數據,在芯片的驅動文件內,對芯片的返回數據做了部分運算定義,可自動根據預定公式完成計算,并將運算結果顯示于操作按鈕右側的表格內。
通過上圖可看出,點擊按鈕后自動從發送區發送的內容實際上就是根據S2S 通訊協議和當前所選芯片數據手冊所生成的S2S 關鍵字指令碼(詳見前述“第三章:通訊協議”和“4.2SHT3x 溫濕度傳感器芯片”),用戶可根據需要,自行編輯修改發送區的內容,然后點擊【發送】按鈕實現自定義指令發送。
可編程 USB 轉串口適配器開發板芯片驅動文件說明
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S 芯片驅動文件說明
芯片選擇下拉框內列出的每一個備選芯片的驅動文件和數據手冊位于S2STool 工具文件夾中的chips 文件夾內,每一個芯片需要 1 個驅動文件和 1 個數據手冊文件,用戶可自行打開編輯,或者創建新的芯片驅動文件。
芯片驅動文件為 xml 格式,需要手工修改或者創建,芯片數據手冊一般來自于網絡,下載后復制到 chips 文件夾內即可。
Xml 文件為文本文件,建議使用“Notepad++”編輯器。
1.芯片驅動結構說明
下圖所示為芯片驅動的模板文件“template.xml”。
驅動
芯片驅動文件的結構較為簡單,分為芯片說明、描述部分和測試指令部分,芯片描述部分包括作者信息、芯片說明、數據手冊名稱等,按照實際情況修改即可,下面重點說明測試指令部分。
在驅動文件中的 COMMANDS 節點內,每一對尖括號節點段(< />,下文稱“指令節點”)稱為一個命令,每個命令對應主界面上芯片操作區的一個按鈕,按鈕由程序根據驅動文件動態生成。 指令中的屬性
caption 屬性:顯示于按鈕上的文字內容
hint 屬性:此指令的提示信息(當鼠標移動到此按鈕上時會顯示此提示)
cmdStr 屬性:此指令的具體指令內容(符合S2S 協議的字符串指令),支
用“|”分隔的多條
字符串指令,例如:指令字符串 1|DELAY100|指令字符串 2|DELAY100|……
指令的子節點-返回數據計算項
對于有返回數據的指令,若希望對返回數據進行一些運算并將運算結果顯示于主界面的數據表格中,則應為此指令添加若干子節點,即“返回數據計算項”,返回數據計算項的數量(行數)沒有任何限制,可以沒有,也可以任意多個。
數據計算項的屬性
caption 屬性:顯示于數據表格中的第一列,即:名稱列。
formula 屬性:此數據項的計算公式,計算公式的運算結果會更新到數據表格的第二列,即: 數值列。
startBit 和 endBit 屬性:若是“-1”則表示計算公式結果直接顯示于界面表格中,否則將指定的某些位(bit)截取后顯示于表格中。要取出的二進制數據可以指定開始位值和結束位值, 分別用 startBit 和endBit 來定義。
關于計算公式
計算公式為一段字符串,支持常用的四則運算符號和初等數學函數、邏輯函數等。在公式中, 可使用“dat[0]”表示執行當前指令后芯片返回的首個字節,“dat[1]”表示返回的第第 2 個字節,以此類推。
2.新建芯片驅動
(1)創建芯片驅動文件
打開“template.xml”文件,根據芯片接口類型,將文件另存到 chips 文件夾內的 I2S、SPI
或者 Wire 文件夾內,文件名稱必須使用芯片名稱,方便在主界面芯片備選框中識別此芯片。
(2)添加數據手冊
將下載的數據手冊文件復制到與上述芯片驅動文件相同的文件夾內。
(3)修改芯片驅動內容
按照 9.1 中的驅動文件結構和各部分含義、功能和注意事項,對照芯片數據手冊完成驅動文件內容的修改,最后保存驅動文件。
(4)運行程序并驗證驅動文件
將芯片連接到 USB2S 的對外管腳上,運行 S2STool 工具,選擇剛剛創建的芯片名稱,驗證各個命令及返回的數據計算項是否正確。
可編程 USB 轉串口適配器開發板
可編程 USB 轉串口適配器開發板 常見問題及注意事項
可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S 常見問題及注意事項
(1)外接引線長度
當使用導線連接外部設備或芯片時,導線不可過長,一般控制在 20CM 以內,IIC、SPI、UART 等數字接口數據線驅動能力有限,過長的導線會導致通訊波形遲緩。當導線確實無法縮短時,可通過降低通訊速率的方法來解決、緩解通訊異常問題。
(2)IC 上拉電阻
IIC 總線的SDA 和 SCL 在板上已經連接了 2k 的上拉電阻,當外接 IIC 設備或者芯片時,無需連接上拉電阻,當重復連接的上拉電阻低于 1k 時會導致無法正常通訊或者本產品永久性損壞。
(3)UART 通訊速率
修改系統時鐘分頻系數會導致 UART 通訊速率上限無法正常工作,UART 通訊速率上限與分頻參數呈反比關系,最高支持的通訊速率=921600bps/ 分頻值( 8 分頻時, UART 最高的通訊速率
=921600/8=115200bps),在修改系統分頻系數時,注意先降低 UART 的通訊速率,以免發生無法通訊的問題。
(4)電壓范圍
USB2S 支持3.0~5.5V 的寬電壓(VCC),每個通訊管腳最高承受電壓下限為-0.3V,上限為(VCC+0.3) V,超過正常電壓范圍會導致模塊永久性損壞。外接測試設備或者芯片時應特別注意。
(5)功耗與突發電流
USB2S 自身功率約為 50mA,使用USB 接口供電時應注意連接的外部芯片或設備總體功耗不得超過 500mA,插撥瞬間的電流突變會導致電壓下降然后自動恢復,在此過程中 USB2S 可能發生復位重啟并且與計算機之間的連接產生短時間斷開屬于正常現象。S2STool 工具具有檢測硬件并自動重新連接的功能。當使用其它第三方調試工具時,一般在插撥操作后重新連接一次即可。
審核編輯:湯梓紅
-
usb
+關注
關注
60文章
7961瀏覽量
265104 -
適配器
+關注
關注
8文章
1960瀏覽量
68099 -
開發板
+關注
關注
25文章
5082瀏覽量
97717
發布評論請先 登錄
相關推薦
評論