我手上的一款電源,使用了單片機采集電流、電壓、溫度等參數和一些使能控制,需要通過IPMI和電腦進行通信以控制電流和數據采集.IPMI的總線為IPMB,是基于I2C的總線,IPMB的特點是write only,也就是我可以通過I2C的write命令發(fā)送控制報文,發(fā)送以后主機變?yōu)閟lave接受數據(由之前的從機向現在的從機write),但是chroma8000只有I2C的讀寫命令,并沒有slave receive的模式和相關的命令,這樣的話我只可以通過I2C向我的電源發(fā)write命令,假如我發(fā)read命令其實還是把電源當成slave.這里請教chroma是否有對IPMI熟悉的人,chroma8000是否能夠基于IPMI進行通信.
謝謝!
chroma8000 I2C 功能(請教chroma工程師)
全部回復(14)
正序查看
倒序查看
@kiko
能否提供更詳細的資料給我們,或者您的規(guī)格書,我請我們R&D分析看看怎麼解決您的問題
謝謝kiko的回復.IPMI的問題我已經解決,不過我還有點關于COM口(串口)的命令想請教.我發(fā)送的string需要用回車作為結束標志,但是chroma8000的write string 的命令里的string是單行的,我不能敲回車表示結束.我有注意到chroma8000里面有個settemination的命令,設置為0就為CR,就表示以回車結束,我想知道是不是我設置了termination為0(CR),我發(fā)送的每個string都會自動加上CR來作為結束標識?另外,我希望通過把我所有的string寫在一個外面的文件里面(.txt),通過發(fā)送文件的方式來調用外部的文件來發(fā)送我要發(fā)送的string,這樣,不管我的string需要什么格式我都可以自己在外面寫.我手上有個串口調試精靈,這個工具就具有發(fā)送文件的功能,我相信實現這個功能是容易的,不知道chroma是否有意將此功能完善.
0
回復
@ringhuang
這位哥們,能否發(fā)到我的郵箱:ringhuang213@tom.com或huangwc@watt.com.cn謝謝!方便的話留個電話大家討論一下,我現在已經在chroma8000上實現了,但是我覺得實現得不好.
現沒搞8000了,不知新版支不支持調用自編Dll.
下圖模擬調用dll的Item, 也就是突破8000的功能限制了,遇到復雜的問題,不用深探8000的命令,用外部自編程式搞定,實現真正意義上的隻你想不到,沒有做不到的,當然自己要能寫.
好像圖要點最大才能看清.
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/67/2349801215320387.gif');}" onmousewheel="return imgzoom(this);">
下圖模擬調用dll的Item, 也就是突破8000的功能限制了,遇到復雜的問題,不用深探8000的命令,用外部自編程式搞定,實現真正意義上的隻你想不到,沒有做不到的,當然自己要能寫.
好像圖要點最大才能看清.

0
回復
@owen.zhao
現沒搞8000了,不知新版支不支持調用自編Dll.下圖模擬調用dll的Item,也就是突破8000的功能限制了,遇到復雜的問題,不用深探8000的命令,用外部自編程式搞定,實現真正意義上的隻你想不到,沒有做不到的,當然自己要能寫.好像圖要點最大才能看清.[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/67/2349801215320387.gif');}"onmousewheel="returnimgzoom(this);">
你圖里面的調用外部函數我之前做在線燒錄的時候用過.我非常想知道你使用的IPMI的函數.方不方便發(fā)給我參考一下?
0
回復
@owen.zhao
現沒搞8000了,不知新版支不支持調用自編Dll.下圖模擬調用dll的Item,也就是突破8000的功能限制了,遇到復雜的問題,不用深探8000的命令,用外部自編程式搞定,實現真正意義上的隻你想不到,沒有做不到的,當然自己要能寫.好像圖要點最大才能看清.[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/67/2349801215320387.gif');}"onmousewheel="returnimgzoom(this);">
兄弟,那你現在在忙什麼? Diry,DP都離職了,你們的系統就都要靠你了;
David昨天要我?guī)退麑慣I,TP;我現在讓我的一個兄弟來寫這些TI,TP,但是通訊電源這一塊他不是很熟悉,到時現場調試還要你的幫忙呀!
David昨天要我?guī)退麑慣I,TP;我現在讓我的一個兄弟來寫這些TI,TP,但是通訊電源這一塊他不是很熟悉,到時現場調試還要你的幫忙呀!
0
回復
@ringhuang
謝謝kiko的回復.IPMI的問題我已經解決,不過我還有點關于COM口(串口)的命令想請教.我發(fā)送的string需要用回車作為結束標志,但是chroma8000的writestring的命令里的string是單行的,我不能敲回車表示結束.我有注意到chroma8000里面有個settemination的命令,設置為0就為CR,就表示以回車結束,我想知道是不是我設置了termination為0(CR),我發(fā)送的每個string都會自動加上CR來作為結束標識?另外,我希望通過把我所有的string寫在一個外面的文件里面(.txt),通過發(fā)送文件的方式來調用外部的文件來發(fā)送我要發(fā)送的string,這樣,不管我的string需要什么格式我都可以自己在外面寫.我手上有個串口調試精靈,這個工具就具有發(fā)送文件的功能,我相信實現這個功能是容易的,不知道chroma是否有意將此功能完善.
你是上次打電話給我的watt的小黃是吧!
聽到你的問題問題解決了說明你的功力很強呀;
你想用TXT檔案與C8000交換資料,想法是很好,不過我們目前還不支持這個功能,但是我們目前支持INI檔案格式,如果你想實現你的功能也可以使用INI文件實現,不知道關於在C8000中INI文件的控制這一塊你是否需要幫忙?以你現在的功力你看看就應該能解決這個問題!
聽到你的問題問題解決了說明你的功力很強呀;
你想用TXT檔案與C8000交換資料,想法是很好,不過我們目前還不支持這個功能,但是我們目前支持INI檔案格式,如果你想實現你的功能也可以使用INI文件實現,不知道關於在C8000中INI文件的控制這一塊你是否需要幫忙?以你現在的功力你看看就應該能解決這個問題!
0
回復
@kiko
你是上次打電話給我的watt的小黃是吧!聽到你的問題問題解決了說明你的功力很強呀;你想用TXT檔案與C8000交換資料,想法是很好,不過我們目前還不支持這個功能,但是我們目前支持INI檔案格式,如果你想實現你的功能也可以使用INI文件實現,不知道關於在C8000中INI文件的控制這一塊你是否需要幫忙?以你現在的功力你看看就應該能解決這個問題!
對,我是小黃,很感謝您的回復.你說的使用INI文件的方式我以前使用外部燒錄軟件的時候已經使用過了,使用這個方法是執(zhí)行外部程序的時候調用INI文件.我是想我執(zhí)行writers232command的時候調用外部的文件,這樣不管我的string是什么格式的,我都可以通過外部的文件實現.現在我已經在chroma8000上實現了IPMI的測試,但是感覺chroma8000還是有一些局限性,比如我的IPMI有很多函數,而且存在內嵌的,但是我在寫ITME的時候對于內嵌的函數還是要重復編寫,而不能直接調用.我不知道是不是我對chroma8000的了解不夠.
0
回復
@ringhuang
對,我是小黃,很感謝您的回復.你說的使用INI文件的方式我以前使用外部燒錄軟件的時候已經使用過了,使用這個方法是執(zhí)行外部程序的時候調用INI文件.我是想我執(zhí)行writers232command的時候調用外部的文件,這樣不管我的string是什么格式的,我都可以通過外部的文件實現.現在我已經在chroma8000上實現了IPMI的測試,但是感覺chroma8000還是有一些局限性,比如我的IPMI有很多函數,而且存在內嵌的,但是我在寫ITME的時候對于內嵌的函數還是要重復編寫,而不能直接調用.我不知道是不是我對chroma8000的了解不夠.
Chroma 8000雖然是開放式的測試系統,但是與專業(yè)的開發(fā)工具相比,它的開放性和靈活性確實還不夠,這也是我們要加強的地方;
使用INI文件將你的String 命令保存在電腦上,因為INI文件有Section 和Key word,所以你可以用TI去控制讀取你想要的命令然後發(fā)送出去;
關於有些相同的流程你需要編寫,這個在Chroma 8000中其實你也可以不用重新編寫,(不知道你會不會些匯編?)你要靈活的應用IF_THEN 和GOTO這2個命令,將你需要重復使用流程寫成一個子模塊(類似匯編中的子程序);根據不同的條件返回到不同的LABLE;這樣你就有模塊化的Item的感覺了,而且程序的長度也會縮短;當然這樣的調用隻能局限在同一個TI中,如果跨TI就無法實現了;編寫程序,仁者見仁,智者見智,沒有最好,隻有更好;
使用INI文件將你的String 命令保存在電腦上,因為INI文件有Section 和Key word,所以你可以用TI去控制讀取你想要的命令然後發(fā)送出去;
關於有些相同的流程你需要編寫,這個在Chroma 8000中其實你也可以不用重新編寫,(不知道你會不會些匯編?)你要靈活的應用IF_THEN 和GOTO這2個命令,將你需要重復使用流程寫成一個子模塊(類似匯編中的子程序);根據不同的條件返回到不同的LABLE;這樣你就有模塊化的Item的感覺了,而且程序的長度也會縮短;當然這樣的調用隻能局限在同一個TI中,如果跨TI就無法實現了;編寫程序,仁者見仁,智者見智,沒有最好,隻有更好;
0
回復
@kiko
Chroma8000雖然是開放式的測試系統,但是與專業(yè)的開發(fā)工具相比,它的開放性和靈活性確實還不夠,這也是我們要加強的地方;使用INI文件將你的String命令保存在電腦上,因為INI文件有Section和Keyword,所以你可以用TI去控制讀取你想要的命令然後發(fā)送出去;關於有些相同的流程你需要編寫,這個在Chroma8000中其實你也可以不用重新編寫,(不知道你會不會些匯編?)你要靈活的應用IF_THEN和GOTO這2個命令,將你需要重復使用流程寫成一個子模塊(類似匯編中的子程序);根據不同的條件返回到不同的LABLE;這樣你就有模塊化的Item的感覺了,而且程序的長度也會縮短;當然這樣的調用隻能局限在同一個TI中,如果跨TI就無法實現了;編寫程序,仁者見仁,智者見智,沒有最好,隻有更好;
我想關于重復編寫的問題您有點誤解了.if_then和goto是chroma8000里面很常用的,但是我所知道的好象它們只能用在同一個item里面,我有很多函數,對應很多item,但是我需要這個item里面調用其他item里面我已經編寫過的子函數,不知道chroma8000是不是可以實現?我的想法是對于共用的item我編寫一次,在其他的item里面可以直接調用,其實問題就是能不能寫子item?其實就是匯編和C之類里面的子函數功能.
0
回復