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