image

讓我來告訴你如何實現有效利用 W5500 和 FreeRTOS 以太網來轉接到 DMX512。

第1步:需要準備的東西。

image
image

1. 任何包含 MCU 和 W5500 的電路板。

我準備我的定制電路板有STM32f103VC(Cortex M3)和 WIZnet W5500 TCP/IP 晶片。

如果你想要全部材料,請電郵筆者。 (焊盤原理圖,圖形文件和 Gerber 文件)

筆者的電子郵件地址:[email protected]

2. IDE。

無論哪一個也可以,只需要適合你的平台(板​​)。 我用 CoIDE。

3. 源代碼

github.com/bangbh81/EthernetDMX512

第2步:編譯並下載到閃存。

1.也許我的源代碼是不能與你的平台(板​​)兼容。 所以,你必須更改源代碼。 我的源代碼僅供參考。

源代碼,有3個任務。 DMX512 任務,TCP 任務和時間任務(時間的任務是沒有意義的。)

2.編譯和下載。

步驟3:測試

1. 實際上,DMX512 協議速度只有 250kbps,2 個停止位元(Stop Bit)單向UART 通信。 而硬件接口是 RS-485。 因此你必須檢查 UART TX 引腳的波形。

2. 不可能的檢查 DMX512 的全波形,因為 DMX512 一包是 513 字節(bytes)。 只是檢查數據包的開始。

3. 以太網協議是很簡單的。 TCP 任務運行作為 TCP 服務器和 TCP 數據只是 5 字節(bytes)。

STX(1) – DMX512 地址(2) – DMX512 數據(1) – ETX(1)

EX)地址:5,數據:0xff => 0x02|0x00|0x05|0xff|0x03

您可以使用任何 TCP 工具如 Hercules 來測試。

4. 如果你想完美的實現 DMX512,請在電路加上 RS485 晶片。