唔知大家 DIY 會唔會用到 RS485 有線通訊咁嘅嘢呢。。。

本帖最後由 dukelec 於 2018-4-11 15:37 編輯

小弟我有少少嘢想同大家分享,我整嘅開源嘅超簡單嘅 CDBUS Protocol / Controller 可以賦予 RS485 好似 CAN 嘅仲裁功能,即係話以後用 RS485 各節點都可以自由收發數據,唔使擔心衝突問題,而且效率之高可以傳輸 Camera 視頻畫面,呢度唔畀擺超出 150K 嘅貼圖,所以大家去我 GitHub 頁面查閱細節及觀賞使用樹莓派整嘅視覺識別 + 傳輸系統 demo  之「RS-485 阻止假貓入侵」:
https://github.com/dukelec/cdbus_doc/blob/master/intro_zh.md

由開始整到而家就來接近十年,希望可以引發討論

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

你d鬍鬚都好長(誤)

TOP

本帖最後由 dukelec 於 2018-4-11 23:40 編輯

回覆 2# Joe_Black
有申請,不過如我文章所提及,協議及 IP Core 開放畀大家免費使用,淨係希望設計生產晶片嘅廠家可以畀少少版權費,如果受歡迎,自己亦有計劃投產芯片。

回覆 3# Cm.Lui
好眼力,半年前辭工全心投入呢個項目,嗰陣時開始留鬚,以及頭髮,諗住一日唔完成上線衆籌(kickstarter indiegogo 嗰啲),就一日唔剃鬚髮,不過到咗今日,係國內外論壇測試,反響普遍唔大,而家都冇乜信心上線衆籌。。。

TOP

師兄,我有興趣呀

TOP

小弟我有少少嘢想同大家分享,我整嘅開源嘅超簡單嘅 CDBUS Protocol / Controller 可以賦予 RS485 好似 CAN ...
dukelec 發表於 2018-4-11 15:13



    預算的成本有多少

TOP

本帖最後由 dsscss 於 2018-4-14 12:26 編輯

但485本身唔係wired-and 設計,canbus同i2c都係wired-and。
換句話說,要support multi master,應該用token passing機制而唔係用csma/cd做法(搶先式發出,master 同時detect first rx byte collision 再決定發送)。

More Info about RS485 protocol 同工業級做法:
http://modbus.control.com/thread/1026189604
https://en.wikipedia.org/wiki/Profibus

TOP

建議d verilog code 行一行nLint
有d Non-blocking assignment assign 左兩次

TOP

本帖最後由 dukelec 於 2018-5-6 17:51 編輯

回覆 6# xiao

如果你嘅項目已經用開 FPGA, 咁就唔使額外增加成本,我提供嘅 module 其實都係用 FPGA 整,所以暫時成本都唔算太少,好耐之前嘅成品定價(僅供參考,暫時應該變化唔大):
Price Break        Unit Price (in USD, without tax)
1:                       3.00
100:                   2.00
1,000:                1.50
5,000:                1.23

(希望有朝一日 MCU 公司可以內置此功能,咁就會超平嘅了)


回覆 7# dsscss

RS485 淨系電氣規範,無話規定協議點用,就算佢當初唔係咁設計,但理論上用無問題吖,而且 CDBUS 協議本身就兼容現存 RS485 硬件,即使對方唔用硬件控制器,亦可以正常交流。
CAN 初面世嗰陣用嘅就系 RS485 PHY, 後尾爲咗慳成本,先至出自己嘅 PHY, 不過到咗 CAN FD, 由於協議本身無辦法支援 push-pull 輸出,所以高速部分通常唔會超過 5Mbps.
Token passing 複雜、時效差、做唔到完全對等。

譬如,我上間公司有個產品系 7 axis 工業機械臂,內部使用我嘅產品,雖然系單主系統,但主機可以連續下發命令至所有關節,唔使發一個等收到回覆再發下一個,幾乎降低 7 倍時延。系統亦用到廣播數據、主動上報數據,效率大升。
如果使用 token passing, 效率只會不升反降。


回覆 8# 燕飛

多謝提點;我之前鍾意用覆蓋式嘅寫法,當某一條件成立則覆蓋默認 assignment, 可能系個壞習慣。

TOP

本帖最後由 dsscss 於 2018-4-14 15:46 編輯

回覆 9# dukelec

就係因為佢唔SUPPORT WIRED-AND,所以無人咁用。
因為有機會損壞 / logic 方面出現undetermined state。

所以你見工業方面,尤其係安全性方面唔會咁做。
若果係汽車同工業用層面+485+multiple master,佢地用PROFIBUS / DF1。
你見佢地咁多款PROTOCOL 都唔係用CSMA/CD而係用token passing / time slot 既方法就係咁既原因。

恕我講得唔好聽,其實一開始條路已經走錯左。
我唔知你個7軸係咪真係工業用,
業餘用/細公司唔CARE 安全性同穩定性可能無問題,
但真係工業用既RS485 PROTOCOL一定唔係咁設計。

TOP