首先,需要理解什么是CAN線的負載率。一般業(yè)內的對負載率的定義為實際數(shù)據(jù)傳輸速率和理論上能達到的數(shù)據(jù)傳輸速率的比值。
可以類比景區(qū)的負載率,每個景區(qū)都有一個負荷上限,比如說10000人,如果此時景區(qū)內只有1000人,那么這時的景區(qū)負載率是10%。景區(qū)負載率是一個在空間上定義的概念,它說明了在空間上資源的被使用情況,而總線負載率則不然,其是在時間上定義的一個概念,說明了在時間上資源被使用的情況。因為傳輸速率一般是按秒來計算,數(shù)據(jù)傳輸速率既為每秒鐘傳輸了多少個BIT,負載率也默認為在一秒的時間范圍內位資源的使用情況。理論上波特率為500K的總線上每秒鐘能夠傳輸500000個BIT,如果在某一秒中總線上只傳輸了100000個BIT,則總線負載率為20%。如果按照空間上負載率的概念做簡單類比,CAN總線上一般要求負載率不大于30%似乎不能被理解,畢竟物盡其用這個觀念是被大家廣為接受的。要深入系統(tǒng)的理解為什么30%成為目前業(yè)內普遍遵守的負載率高壓線,就不得的不引入CAN理論中另外幾個重要的概念:ID仲裁、閑時發(fā)送和反應時間。
CAN總線本質上是一種串口通訊,靠在時間線上對每一位的電壓值進行調制來搭載不同的信號。因為各節(jié)點共用總線介質,對總線的使用權界定就至關重要。先說結論:只有在總線空閑時,發(fā)送節(jié)點才能向總線上發(fā)送幀起始及后續(xù)幀ID,只有在幀ID贏得仲裁時,發(fā)送節(jié)點擁有總線控制權進而向總線發(fā)送報文剩余部分,在仲裁中失敗的節(jié)點讓出總線控制權等待下次總線空閑時繼續(xù)嘗試發(fā)送。我們可以看到如果某一個節(jié)點需要發(fā)送一幀報文,它需要同時滿足兩個條件:1、總線是空閑的,即目前沒有節(jié)點在發(fā)送報文,在總線上表示為節(jié)點監(jiān)測到11個連續(xù)的隱性位;2、所需發(fā)送的報文贏得ID仲裁,即報文優(yōu)先級較高。
一個報文在試圖發(fā)送時,需要滿足上述兩個條件才能完成發(fā)送。這里的問題就是:如果一個優(yōu)先級相對較低的節(jié)點向外發(fā)報文時,會因為不斷地在仲裁中失敗而導致發(fā)送延遲。如果延遲過大會引起通訊失敗。
負載率越高,代表需要發(fā)送的數(shù)據(jù)越多,相對來說低優(yōu)先級節(jié)點發(fā)生通訊延遲的概率越大。
CANWeb總線對CAN通信負載及通信丟包的顯示、檢測:
下圖為從站(SIO)總覽Web頁面能實時顯示實際CAN速度及丟包累計數(shù):
50KBPS 為設定CAN速度,(7.0)KBPS為總線實際CAN速度,實際CAN速度需小于設定CAN速度的30%?。。。?!
為實時通信正常讀上來的數(shù)值:
MXPD_從站發(fā)送較大周期,單位ms;
MNPD_從站變化觸發(fā)發(fā)送較小周期,單位ms;
AIDB_從站AI發(fā)送 變化觸發(fā)死區(qū)值,DI無效;
DevSNo_從站設備編號;
OtTmp:從站設備的溫度;
DltRcv_從站發(fā)送的包數(shù)量與 主站 接收的從站包數(shù)量的差值,即主站的丟包累計數(shù)量,DltRcv通信正常應保持不變,不變即不丟包!?。?/span>
RcvCnt為主站接收從站的累計包數(shù)量,正常時會不斷增加;
RcvGap_主站接收從站包的時間間隔(mS),如“cm_ok”,表示此從站與MST的CAN通信正常,為“cm_nok”表示通信斷開,正常應為“cm_ok”。
冗余雙CAN_STM32F105Keil開發(fā)板及源程序說明:
您還在用RS485或232通信嗎?那就落伍了!開發(fā)板套件20天免費測試,不好用、搞不定可退貨!
CANweb是結合CAN和以太網(wǎng)優(yōu)點的CAN現(xiàn)場總線高層協(xié)議,比CANOpen\DeviceNet\iCAN簡易、好用;
CANWeb通信可靠(可選冗余)、節(jié)點多(98個CAN節(jié)點)、速度快(1Mbps)、通信距離遠(10公里);
通過CANWeb,可Web網(wǎng)頁瀏覽監(jiān)控、調試、配置您的每個CAN節(jié)點內部變量和硬件接口DIDOAIAO;
通過CANWeb,可用以太網(wǎng)、RS485、PROFIBUS、CAN、I2C、SPI與每個CAN節(jié)點實時快速通信;
CANWeb接口成本低,和增加一個RS485接口成本一樣,雙CAN的STM32F105RBT6芯片僅8元左右!
CANWeb技術全面開源,無授權費,免費提供CANWeb協(xié)議C++Keil源程序(可為用戶芯片定制);
用戶可在此冗余雙CAN開發(fā)板(含4個DI/4個DO/1個AI/1個AO)的PCB文件及Keil源程序基礎上,
輕松、快捷開發(fā)自己的CANWeb總線產(chǎn)品,如多通道DI、DO、AI、AO模塊、溫度、壓力現(xiàn)場智能
儀表、電動調節(jié)閥、變頻器、電磁閥、電量表、RS485網(wǎng)關(可與RS485的設備通信) 等設備。
** 通過MST模塊的Web頁面,用戶可實時監(jiān)視、控制開發(fā)板從站上的DI\DO\AI\AO硬件接口;
** 通過MST模塊的Web頁面,用戶可實時監(jiān)視、控制48個開發(fā)板從站內部WORD變量;
** 通過MST模塊的Web頁面,用戶可配置72個開發(fā)板從站內部WORD配置參數(shù),配置參數(shù)可掉電保存;
** 通過MST模塊的以太網(wǎng)或RS485 Modbus協(xié)議,用戶可與98個開發(fā)板從站實時交換數(shù)據(jù)。
02CANWeb現(xiàn)場總線協(xié)議詳細介紹180108.doc
04冗余雙CAN_STM32F105Keil開發(fā)板及源程序說明80501.doc
06冗余雙CANWebSTMF105KeilC++源程序80131.zip
詳細資料:請加 QQ群204408503自行下載資料