首先,需要理解什么是CAN線的負載率。一般業(yè)內的對負載率的定義為實際數據傳輸速率和理論上能達到的數據傳輸速率的比值。
可以類比景區(qū)的負載率,每個景區(qū)都有一個負荷上限,比如說10000人,如果此時景區(qū)內只有1000人,那么這時的景區(qū)負載率是10%。景區(qū)負載率是一個在空間上定義的概念,它說明了在空間上資源的被使用情況,而總線負載率則不然,其是在時間上定義的一個概念,說明了在時間上資源被使用的情況。因為傳輸速率一般是按秒來計算,數據傳輸速率既為每秒鐘傳輸了多少個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ā)送的數據越多,相對來說低優(yōu)先級節(jié)點發(fā)生通訊延遲的概率越大。
CANWeb總線對CAN通信負載及通信丟包的顯示、檢測:
下圖為從站(SIO)總覽Web頁面能實時顯示實際CAN速度及丟包累計數:
50KBPS 為設定CAN速度,(7.0)KBPS為總線實際CAN速度,實際CAN速度需小于設定CAN速度的30%?。。。?!
為實時通信正常讀上來的數值:
MXPD_從站發(fā)送較大周期,單位ms;
MNPD_從站變化觸發(fā)發(fā)送較小周期,單位ms;
AIDB_從站AI發(fā)送 變化觸發(fā)死區(qū)值,DI無效;
DevSNo_從站設備編號;
OtTmp:從站設備的溫度;
DltRcv_從站發(fā)送的包數量與 主站 接收的從站包數量的差值,即主站的丟包累計數量,DltRcv通信正常應保持不變,不變即不丟包?。?!
RcvCnt為主站接收從站的累計包數量,正常時會不斷增加;
RcvGap_主站接收從站包的時間間隔(mS),如“cm_ok”,表示此從站與MST的CAN通信正常,為“cm_nok”表示通信斷開,正常應為“cm_ok”。
冗余雙CAN_STM32F105Keil開發(fā)板及源程序說明:
您還在用RS485或232通信嗎?那就落伍了!開發(fā)板套件20天免費測試,不好用、搞不定可退貨!
CANweb是結合CAN和以太網優(yōu)點的CAN現(xiàn)場總線高層協(xié)議,比CANOpen\DeviceNet\iCAN簡易、好用;
CANWeb通信可靠(可選冗余)、節(jié)點多(98個CAN節(jié)點)、速度快(1Mbps)、通信距離遠(10公里);
通過CANWeb,可Web網頁瀏覽監(jiān)控、調試、配置您的每個CAN節(jié)點內部變量和硬件接口DIDOAIAO;
通過CANWeb,可用以太網、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總線產品,如多通道DI、DO、AI、AO模塊、溫度、壓力現(xiàn)場智能
儀表、電動調節(jié)閥、變頻器、電磁閥、電量表、RS485網關(可與RS485的設備通信) 等設備。
** 通過MST模塊的Web頁面,用戶可實時監(jiān)視、控制開發(fā)板從站上的DI\DO\AI\AO硬件接口;
** 通過MST模塊的Web頁面,用戶可實時監(jiān)視、控制48個開發(fā)板從站內部WORD變量;
** 通過MST模塊的Web頁面,用戶可配置72個開發(fā)板從站內部WORD配置參數,配置參數可掉電保存;
** 通過MST模塊的以太網或RS485 Modbus協(xié)議,用戶可與98個開發(fā)板從站實時交換數據。
02CANWeb現(xiàn)場總線協(xié)議詳細介紹180108.doc
04冗余雙CAN_STM32F105Keil開發(fā)板及源程序說明80501.doc
06冗余雙CANWebSTMF105KeilC++源程序80131.zip
詳細資料:請加 QQ群204408503自行下載資料