工控板 STM32F407 / 24-bit ADC / 乙太網路介面

        意法 STM32 系列晶片在工業或控制領域使用是非常廣泛的,這裡介紹一塊 F407 的控制板,板子將晶片的周邊電路已經拉出來,並接到歐式端子頭,如圖一所示。簡單介紹 STM32F407 核心是 ARM Cortex-M4F,晶片最高工作頻率 168MHz,底下列出這塊控制板的周邊介面:

        1) 16 路光耦合隔離 GPI
        2) 16 路光耦合隔離 GPO (有帶+24V電源的接點)
        3) 4 路光耦合隔離 GPO (無電源的接點)
        4) 2 路 DAC (12-bit, 0-10V)
        5) 8 路 ADC (24-bit, 0~10V, 7500 samples/sec) : 接 ADS1256 晶片
        6) RS-485(兩組), RS-232(一組), CAN-bus(兩組)
        7) Ethernet RJ-45 接口:接 LAN8720 PHY 晶片
        8) 8 路高速 PWM 輸出
        9) 2 路高速 PWM 輸入
圖一:工控板系統圖示

        下圖二是控制板的實體圖片,左下角是總電源 +24V 供電,右下角有一個 USB 接口 (UART to USB),用來接到電腦,當做終端機可以查看 debug 訊息,也可以當做系統參數配置的通訊介面,像是設定網路 IP 參數或系統參數....等,如下圖四所示。下方的 GPO 的數位輸出端子都會對應一個 LED 燈,當 GPO 輸出為 1 時,燈號就會亮起,反之,燈號會熄滅。
圖二:工控板實物圖示

        控制板上面用了一顆 ADS1256 ADC 晶片,具有八個通道,解析度為 24-bit,總取樣率最高為 30k samples/sec。由於 F407 對於中斷處理的速度還不夠快,不足以滿足最高取樣率 30K 的條件。實測下來,如果系統只用到單一通道,則取樣率可高達到 15K samples/sec,如果系統要多個通道掃描的話,則取樣率最多只能做到 7.5K 或者甚至更低 3.75K。
        下圖三是 ADC 取樣到的點 (24-bit) 利用網路傳送到電腦上,並在電腦上將取樣點描繪出來,像是一個示波器的顯示一樣。圖中的橫軸代表取樣的點數,縱軸代表取樣點的電壓。測試過程,利用控制板上面的 DAC 輸出一個三角波型的電壓訊號,然後將此訊號接到 ADC 通道上,於是我們就能看到圖三所呈現的樣貌。
圖三:ADC訊號示波圖

圖四:板子的參數配置

留言

此網誌的熱門文章

[筆記] Raspberry Pi 樹莓派的軟體開發

[應用] 在 ESP32 Audio 開發板的 VoIP 範例

[筆記] Android APP 藍芽範例說明 -- BluetoothChat

[筆記] ESP32 在 VS Code 開發環境的編譯與除錯

[筆記] Visual Studio 遠端偵錯的設定步驟

[筆記] Android APP BLE範例程式 -- BluetoothLeGatt

[應用] 藍芽 BLE client/server 架構:BLE remote controller