開發(fā)調(diào)試工具:USB轉(zhuǎn)IIC/I2C/SPI/UART適配器模塊可編程開發(fā)板
開發(fā)調(diào)試工具:USB轉(zhuǎn)IIC/I2C/SPI/UART適配器模塊可編程開發(fā)板
發(fā)個方便測試I2C、SPI、1Wire接口的工具模塊
總的思路是通過USB或者UART接口發(fā)送一些協(xié)議字符串,由模塊轉(zhuǎn)換成上面幾種接口的硬件時序電信號,實現(xiàn)與這幾種接口芯片、設(shè)備的快速測試。
首先聲明一下,大家都是搞硬件開發(fā)的,這幾種接口當(dāng)然是很簡單的事,但有些時候?qū)τ谝粋€新的設(shè)備或者芯片的測試,有個現(xiàn)成的工具當(dāng)然更順手,節(jié)省時間,也更可靠嘛。
直接說用法
I2C應(yīng)用的例子:
字符串指令:[IIC][START][WT6H]A0 00 30 31 32 33[STOP]
表示從IIC接口依次發(fā)出開始信號、寫6個Hex字節(jié)、發(fā)送停止信號
字符串指令:[IIC][START][WT2H]A0 00[START][WT1H]A1[RD4N][STOP]
表示從IIC接口依次發(fā)出開始信號、寫2個Hex字節(jié)、開始信號、寫1個Hex字節(jié)、讀取4個字節(jié)并發(fā)送非應(yīng)答信號、發(fā)送停止信號
上面的時序大家可能已經(jīng)想到了,是AT24C02的讀寫時序,地址0寫入“1234”然后再讀取出來。
SPI接口也是類似的,只是字符串開始換成[SPI]而已,例如:
字符串指令:[SPI][SSL][WT14H]02 00 00 00 30 31 32 33 34 35 36 37 38 39[SSH]
上面的指令是向GD25QFlash芯片寫入“0123456789”
再來一個1Wire的例子:
字符串指令:[WIRE][START][WT2H]CC BE[RD2N]
表示向DS18B20發(fā)送2個字節(jié),并讀取2字節(jié)返回值
另外,這個模塊還提供了幾個GPIO,使用[IO2L]、[IO3H]這樣的字符串指令可以控制電平高低。
使用任何一個串口助手就能實現(xiàn)測試,對一個芯片的測試,估計幾分鐘就能測完(看完芯片手冊的前提下)。
既然是個成品,對應(yīng)的更加友好的專用工具是不能少的,模塊有PC端和手機(jī)端的專用工具,用起來更順手,甚至不需要輸入只需要點點鼠標(biāo)就能完成芯片測試。
下面的圖就是用這個工具自帶的SHT3x溫濕度指令集的測試。
工具自帶的某些芯片的指令集是一個個的xml文件,每個人都可以編寫自己的xml,放到chips文件夾里就會出現(xiàn)在界面的下拉框里,這對于需要頻繁的測試某個芯片來說特別方便。
先上張模塊圖
USB供電,即插即用。
電平兼容:用跳線切換工作電平,可調(diào)試3.3V和5V芯片。
板載AT24C02、GD25Q64、SHT3溫濕度傳感器、DS18B20,方便快速演示。
UART通訊速率1200~921600bps、I2C/SMBus通訊速率0.33kHz~1.8MHz、SPI通訊速率2.75kHz~5.5MHz。
可設(shè)置時鐘極性和相位。
可設(shè)置MSB或者LSB。
公開PCB原理圖及Keil工程測試源碼
主打透明、靈活、可控、通用、兼容,所以不會有其它同類轉(zhuǎn)換方案黑盒子一樣的兼容性問題。
實測UART921600bps,SPI5.5MHz時,通訊、讀寫正確(GD25Qxx芯片)。
5.5MHz確實要超出單片機(jī)的處理能力了,理論上的方波已經(jīng)變成了“正弦波”,不過通訊還是正常的。
下面是比較700kHz時的方波。
模塊套件可編程的含義
(1)自由輸入字符串指令控制不同接口數(shù)據(jù)交互,指令時序的編程。
(2)通訊速率、管腳相位可通過參數(shù)控制。
(2)公開原理圖和測試源碼,可以Keil編寫自己的固件程序。
模塊手冊里里有比較詳細(xì)的說明。
上面寫的東西不少,其實這個模塊用法特別簡單,拿到套件和專門的工具軟件后一分鐘都不需要就完全明白了,如果想編寫自己的xml驅(qū)動,隨便打開一個照葫蘆畫瓢,然后另存就行。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。