Board logo

標題: 唔知大家 DIY 會唔會用到 RS485 有線通訊咁嘅嘢呢。。。 [打印本頁]

作者: dukelec    時間: 2018-4-11 15:13     標題: 唔知大家 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

由開始整到而家就來接近十年,希望可以引發討論
作者: Joe_Black    時間: 2018-4-11 18:36

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Cm.Lui    時間: 2018-4-11 18:50

你d鬍鬚都好長(誤)
作者: dukelec    時間: 2018-4-11 23:25

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

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

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

師兄,我有興趣呀
作者: xiao    時間: 2018-4-13 14:44

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



    預算的成本有多少
作者: dsscss    時間: 2018-4-13 19:28

本帖最後由 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
作者: 燕飛    時間: 2018-4-14 11:39

建議d verilog code 行一行nLint
有d Non-blocking assignment assign 左兩次
作者: dukelec    時間: 2018-4-14 13:16

本帖最後由 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, 可能系個壞習慣。
作者: dsscss    時間: 2018-4-14 15:30

本帖最後由 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一定唔係咁設計。
作者: xiao    時間: 2018-4-14 15:53

回覆 9# dukelec


    工業用的話價格其實並不夠吸引力,而且也有另外的網友指出隱患,技術上的實現是值得肯定,但不是不行這樣做,而是沒有保險可賠。就像多數mcu公司聲明非為醫療系統使用一樣,不是技術卡關,卻是保險和風險的管理。想想看朝民用或者日常消費型產品的方向或許容易些,風險管理也低門檻,出事的話最多賣一個賠一個不會無限上崗要擔待連鎖損失
作者: dukelec    時間: 2018-4-14 15:54

本帖最後由 dukelec 於 2018-4-14 15:56 編輯

回覆 10# dsscss

RS485 SUPPORT WIRED-AND, 至少 CAN 曾經咁用!

第一字節數據,僅 logic 0 啓用 push-pull 輸出,logic 1 不啓用輸出(由線上電阻提供 1 狀態),俗稱半驅輸出,英文即係 WIRED-AND.

(而且,RS485 PHY 標準規定即使雙方使用 push-pull 輸出唔同數據,也必須保證器件不會損壞。)

歷史上有許多人都曾經使用 RS485 WIRED-AND 特性,幾乎都係軟件操控,或乾脆將 TX 輸出取反接駁 PHY DE pin, DI pin 則固定爲 logic 0. 由於無人好似我噉樣實做專用硬件控制器,所以效率都較差。

安全性方面反而是使用專門控制器可以更加安全,避免太多因用戶軟件 bug 所導致嘅問題。
而且 token passing 十分複雜,越複雜越易出錯,更加唔安全。
作者: dsscss    時間: 2018-4-14 16:05

回覆 12# dukelec

你做下RESEARCH先啦,
canbus wired-and就大把RESULT同原理。
485 無人講 wired-and,因為佢跟本就唔係wired-and(你唔信可以上GOOGLE SEARCH 485 wired-and)。

CAN同I2C就真係wired-and了
粒電阻係確保termination同真係分到0同1。

你連個CONCEPT都錯
作者: dukelec    時間: 2018-4-14 16:07

回覆 11# xiao

此價格對工業來講已經低到可以忽略不計,反而係對民用來講格價偏高。

代碼開源也是爲了提高安全可信任級別,譬如有能力嘅公司係使用前可以 review 代碼,確保不會存有隱患。

而且,我嘅協議早在 09 年就已經用於煤礦開採行業,工業應用亦有經過時間考驗。

其實,我反而想批評大多數工業應用唔 care 安全,設備之間使用毫無安全性、實時性可言的 Serial / TCP/IP Converter 咁嘅嘢。
作者: dukelec    時間: 2018-4-14 16:29

回覆 13# dsscss

如果大把人講,咁我就唔會出現喺呢度嘅了。。。
如果「無人講、無人用」就等於「無可以、唔好諗」,咁仲使創新嘅?

就好似帶 push-pull 輸出嘅 GPIO, 點解就要規定佢唔可以工作係 open-drain 模式呢?
就好似 I2C port, 用於 GPIO 時,多數亦可以 push-pull 輸出,係唔係咁就話佢唔支持 wired-and 呢?
作者: dsscss    時間: 2018-4-14 17:49

回覆  dsscss

如果大把人講,咁我就唔會出現喺呢度嘅了。。。
如果「無人講、無人用」就等於「無可以、唔 ...
dukelec 發表於 2018-4-14 16:29


Google咁好用都唔用,
Search i2c push pull第一個result 已經講左個問題
https://www.silabs.com/community ... _i2c_pins_have-w3JL

所以我先講一開始就行錯左,創新係好事,但都要做下research先創新吧
作者: dukelec    時間: 2018-5-6 17:54

回覆 5# mbass


   啱啱系 indiegogo 上線衆籌,希望可以幫襯:https://www.indiegogo.com/projec ... -to-peer-controller

多謝曬。
作者: 亞基拉    時間: 2018-5-6 23:10

Post 去eevblog crowd funded project,不過一般吾like flexible goal
作者: dukelec    時間: 2018-5-7 01:17

回覆 18# 亞基拉

    多謝提點,已 post.
作者: seasky    時間: 2018-5-17 16:26

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





歡迎光臨 電腦領域 HKEPC Hardware (https://h1.hkepc.com/forum/) Powered by Discuz! 7.2