可編程 USB 轉(zhuǎn)串口適配器開發(fā)板芯片驅(qū)動文件說明
可編程USB轉(zhuǎn) UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S 芯片驅(qū)動文件說明
芯片選擇下拉框內(nèi)列出的每一個備選芯片的驅(qū)動文件和數(shù)據(jù)手冊位于S2STool 工具文件夾中的chips 文件夾內(nèi),每一個芯片需要 1 個驅(qū)動文件和 1 個數(shù)據(jù)手冊文件,用戶可自行打開編輯,或者創(chuàng)建新的芯片驅(qū)動文件。
芯片驅(qū)動文件為 xml 格式,需要手工修改或者創(chuàng)建,芯片數(shù)據(jù)手冊一般來自于網(wǎng)絡(luò),下載后復(fù)制到 chips 文件夾內(nèi)即可。
Xml 文件為文本文件,建議使用“Notepad++”編輯器。
1.芯片驅(qū)動結(jié)構(gòu)說明
下圖所示為芯片驅(qū)動的模板文件“template.xml”。
芯片驅(qū)動文件的結(jié)構(gòu)較為簡單,分為芯片說明、描述部分和測試指令部分,芯片描述部分包括作者信息、芯片說明、數(shù)據(jù)手冊名稱等,按照實際情況修改即可,下面重點說明測試指令部分。
在驅(qū)動文件中的 COMMANDS 節(jié)點內(nèi),每一對尖括號節(jié)點段(< />,下文稱“指令節(jié)點”)稱為一個命令,每個命令對應(yīng)主界面上芯片操作區(qū)的一個按鈕,按鈕由程序根據(jù)驅(qū)動文件動態(tài)生成。 指令中的屬性
caption 屬性:顯示于按鈕上的文字內(nèi)容
hint 屬性:此指令的提示信息(當(dāng)鼠標(biāo)移動到此按鈕上時會顯示此提示)
cmdStr 屬性:此指令的具體指令內(nèi)容(符合S2S 協(xié)議的字符串指令),支
用“|”分隔的多條
字符串指令,例如:指令字符串 1|DELAY100|指令字符串 2|DELAY100|……
指令的子節(jié)點-返回數(shù)據(jù)計算項
對于有返回數(shù)據(jù)的指令,若希望對返回數(shù)據(jù)進(jìn)行一些運算并將運算結(jié)果顯示于主界面的數(shù)據(jù)表格中,則應(yīng)為此指令添加若干子節(jié)點,即“返回數(shù)據(jù)計算項”,返回數(shù)據(jù)計算項的數(shù)量(行數(shù))沒有任何限制,可以沒有,也可以任意多個。
數(shù)據(jù)計算項的屬性
caption 屬性:顯示于數(shù)據(jù)表格中的第一列,即:名稱列。
formula 屬性:此數(shù)據(jù)項的計算公式,計算公式的運算結(jié)果會更新到數(shù)據(jù)表格的第二列,即: 數(shù)值列。
startBit 和 endBit 屬性:若是“-1”則表示計算公式結(jié)果直接顯示于界面表格中,否則將指定的某些位(bit)截取后顯示于表格中。要取出的二進(jìn)制數(shù)據(jù)可以指定開始位值和結(jié)束位值, 分別用 startBit 和endBit 來定義。
關(guān)于計算公式
計算公式為一段字符串,支持常用的四則運算符號和初等數(shù)學(xué)函數(shù)、邏輯函數(shù)等。在公式中, 可使用“dat[0]”表示執(zhí)行當(dāng)前指令后芯片返回的首個字節(jié),“dat[1]”表示返回的第第 2 個字節(jié),以此類推。
2.新建芯片驅(qū)動
(1)創(chuàng)建芯片驅(qū)動文件
打開“template.xml”文件,根據(jù)芯片接口類型,將文件另存到 chips 文件夾內(nèi)的 I2S、SPI
或者 Wire 文件夾內(nèi),文件名稱必須使用芯片名稱,方便在主界面芯片備選框中識別此芯片。
(2)添加數(shù)據(jù)手冊
將下載的數(shù)據(jù)手冊文件復(fù)制到與上述芯片驅(qū)動文件相同的文件夾內(nèi)。
(3)修改芯片驅(qū)動內(nèi)容
按照 9.1 中的驅(qū)動文件結(jié)構(gòu)和各部分含義、功能和注意事項,對照芯片數(shù)據(jù)手冊完成驅(qū)動文件內(nèi)容的修改,最后保存驅(qū)動文件。
(4)運行程序并驗證驅(qū)動文件
將芯片連接到 USB2S 的對外管腳上,運行 S2STool 工具,選擇剛剛創(chuàng)建的芯片名稱,驗證各個命令及返回的數(shù)據(jù)計算項是否正確。