国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于 STM32+FPGA 的通用工業(yè)控制器設(shè)計(jì)(一)系統(tǒng)方案設(shè)計(jì)

這篇具有很好參考價(jià)值的文章主要介紹了基于 STM32+FPGA 的通用工業(yè)控制器設(shè)計(jì)(一)系統(tǒng)方案設(shè)計(jì)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

本章首先介紹了現(xiàn)有 PLC 系統(tǒng)的概況,然后提出了本文設(shè)計(jì)的通用工業(yè)控制器的
整體方案架構(gòu),分析了硬件和軟件上需要實(shí)現(xiàn)的功能,最后對(duì)各部分功能進(jìn)行分析并提
出具體的實(shí)現(xiàn)方案。
2.1 PLC 系統(tǒng)簡(jiǎn)介
可編程邏輯控制器( Programmable Logic Controller , PLC )是以微處理器為基礎(chǔ),
綜合了計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)和通訊技術(shù)而發(fā)展起來(lái)的一種新型、通用的自動(dòng)控制
裝置 [14] 。它采用一類可編程的存儲(chǔ)器,用于其內(nèi)部存儲(chǔ)程序、執(zhí)行邏輯運(yùn)算、順序控制、
定時(shí)、計(jì)數(shù)與算術(shù)操作等面向用戶的指令,并通過(guò)數(shù)字或模擬式輸入 / 輸出控制各種類型
的機(jī)械或生產(chǎn)過(guò)程,是工業(yè)控制的核心部分 [15] 。
基于 STM32+FPGA 的通用工業(yè)控制器設(shè)計(jì)(一)系統(tǒng)方案設(shè)計(jì),STM32+FPGA,運(yùn)動(dòng)控制,fpga開(kāi)發(fā)
西門子 S7-200 系列的 PLC 就是整體式 PLC ,圖 2-4 是其中一款 PLC 基本單元內(nèi)部
結(jié)構(gòu)圖,其結(jié)構(gòu)由三部分組成:上面部分是核心板即 CPU ,其中包含撥碼開(kāi)關(guān)、擴(kuò)展單
元接口;中間部分是接口板,包括 I/O 接口、 RS485 通訊接口、 220V 交流電源輸入接口、
24V 直流電源輸出接口等;下面部分是開(kāi)關(guān)電源板, 220V 交流輸入,24V 直流輸出。 基于 STM32+FPGA 的通用工業(yè)控制器設(shè)計(jì)(一)系統(tǒng)方案設(shè)計(jì),STM32+FPGA,運(yùn)動(dòng)控制,fpga開(kāi)發(fā)
2.1.3 PLC 的軟件系統(tǒng)
PLC 的軟件包括系統(tǒng)程序和用戶程序。系統(tǒng)程序是固化在中央處理器芯片內(nèi)部的的
程序,用戶不能直接對(duì)其進(jìn)行更改操作,系統(tǒng)程序包含異常狀態(tài)的檢測(cè)、 I/O 單元的操
作、用戶程序的執(zhí)行、與外界的通信等功能。用戶程序是用戶使用與 PLC 控制器配套
的開(kāi)發(fā)軟件所開(kāi)發(fā)的程序,最常用的開(kāi)發(fā)語(yǔ)言為梯形圖語(yǔ)言( LD ),此外還有指令表語(yǔ)
言( IL )、功能模塊圖語(yǔ)言( FBD )、順序功能流程圖語(yǔ)言( SFC )、結(jié)構(gòu)化文本語(yǔ)言( ST )。
對(duì)于用戶來(lái)講,不必詳細(xì)了解系統(tǒng)程序,只需根據(jù)實(shí)際生產(chǎn)需求編寫(xiě)用戶程序,實(shí)現(xiàn)邏
輯控制即可 [28] 。
在編輯梯形圖時(shí)會(huì)經(jīng)常用到許多現(xiàn)成的功能塊,如定時(shí)器模塊、計(jì)數(shù)器模塊、高速
計(jì)數(shù)器模塊、模擬量輸入模塊、模擬量輸出模塊、 PID 模塊、通信模塊等功能塊,這些
功能塊的實(shí)現(xiàn)過(guò)程都包含在系統(tǒng)程序內(nèi),用戶程序在使用這些功能塊時(shí)只是調(diào)用了這些
實(shí)現(xiàn)過(guò)程 [29] 。
2.2 整體方案架構(gòu)
本文采用整體式 PLC 結(jié)構(gòu),如圖 2-7 所示,整體結(jié)構(gòu)分為主控制器和遠(yuǎn)程模塊,主
控制器由核心板、接口板、開(kāi)關(guān)電源構(gòu)成,集成中央處理單元( CPU )、 I/O 單元、電源
于一體。遠(yuǎn)程模塊作為擴(kuò)展模塊,作用于面積大、范圍廣的工業(yè)現(xiàn)場(chǎng),以便主控制器需
要控制距離較遠(yuǎn)的現(xiàn)場(chǎng)設(shè)備,同時(shí)能夠?yàn)橹骺刂破髟黾? I/O 點(diǎn)數(shù),使控制器能夠向大型
化、多功能方向靠攏。遠(yuǎn)程模塊主要包括數(shù)字量輸入模塊( DI )、數(shù)字量輸出模塊( DO )、
模擬量輸入模塊( AI )、模擬量輸出模塊( AO )和以太網(wǎng)通信模塊( EN ),其中以太網(wǎng)
通信模塊主要負(fù)責(zé)與主控制器通信,將各個(gè)遠(yuǎn)程模塊的狀態(tài)與數(shù)據(jù)發(fā)送給主控制器以及
接收主控制器發(fā)來(lái)的控制命令。
基于 STM32+FPGA 的通用工業(yè)控制器設(shè)計(jì)(一)系統(tǒng)方案設(shè)計(jì),STM32+FPGA,運(yùn)動(dòng)控制,fpga開(kāi)發(fā)
本文設(shè)計(jì)的控制器主要實(shí)現(xiàn)以下結(jié)構(gòu)和功能:
硬件方面:硬件 PCB 板需包含核心板、接口板、開(kāi)關(guān)電源、以太網(wǎng)通信模塊、數(shù)
字量輸入模塊、數(shù)字量輸出模塊、模擬量輸入模塊、模擬量輸出模塊。接口板上需要包
含數(shù)字量輸入輸出接口、模擬量輸入輸出接口、數(shù)字量高速輸入輸出接口、高速 USB
通信接口、 RS485 通信接口、以太網(wǎng)通信接口等。
軟件方面: modbus 通信協(xié)議,作為主控制器與遠(yuǎn)程模塊通信時(shí)的數(shù)據(jù)協(xié)議;遠(yuǎn)程
模塊內(nèi)部通信協(xié)議,作為各個(gè)遠(yuǎn)程模塊之間通信時(shí)的數(shù)據(jù)協(xié)議。設(shè)計(jì)模塊化控制功能,
包括工業(yè)現(xiàn)場(chǎng)經(jīng)常使用到的運(yùn)動(dòng)控制和過(guò)程控制,同時(shí)會(huì)用到 PID 控制算法,如果需要
驅(qū)動(dòng)變頻器或者逆變器,還會(huì)需要用到 SPWM 算法、 SVPWM 算法。設(shè)計(jì)高速計(jì)數(shù)器
模塊,用于采集旋轉(zhuǎn)編碼器之類的傳感器信號(hào)。設(shè)計(jì)人機(jī)交互界面,便于現(xiàn)場(chǎng)工人操作
控制器。設(shè)計(jì)用戶程序的編程語(yǔ)言,作為人類自然語(yǔ)言與底層芯片編程語(yǔ)言之間的橋梁,
方便沒(méi)有任何編程語(yǔ)言基礎(chǔ)的普通工人進(jìn)行現(xiàn)場(chǎng)編程和測(cè)試工作。
2.3 主控制器方案設(shè)計(jì)
主控制器的總體方案設(shè)計(jì)如圖 2-8 所示,分為核心板、接口板、開(kāi)關(guān)電源。
基于 STM32+FPGA 的通用工業(yè)控制器設(shè)計(jì)(一)系統(tǒng)方案設(shè)計(jì),STM32+FPGA,運(yùn)動(dòng)控制,fpga開(kāi)發(fā)
信邁提供STM32+FPGA的運(yùn)動(dòng)控制解決方案。
主控制器幾乎所有的對(duì)外接口都設(shè)計(jì)在接口板上,只有連接本地?cái)U(kuò)展模塊的接口設(shè)
計(jì)在核心板上。 由于主控制器的體積有限,因此所包含的接口數(shù)量、 I/O 點(diǎn)數(shù)有限,如
需更多的 I/O 點(diǎn)數(shù)需要以太網(wǎng)接口連接遠(yuǎn)程模塊來(lái)使用。主控制器上對(duì)外接口包含 16
路數(shù)字量輸入接口、 16 路數(shù)字量輸出接口(繼電器輸出)、 8 路數(shù)字量高速輸出接口(晶
體管輸出)、 220V 交流電源輸入接口、 24V 直流電源輸出接口、高速 USB 通信接口、
RS485 通信接口、以太網(wǎng)通信接口。在主控制器內(nèi)部,開(kāi)關(guān)電源與接口板相連,接口板
將從外界輸入進(jìn)來(lái)的 220V 交流電源輸入到開(kāi)關(guān)電源板,然后經(jīng)過(guò)開(kāi)關(guān)電源后會(huì)得到穩(wěn)
定的 24V 直流電源。接口板與核心板相連,一是將 24V 經(jīng)過(guò) DC/DC 降壓后得到的 5V
電源傳遞到核心板,二是與核心板上的控制芯片進(jìn)行 I/O 信號(hào)的傳遞以及串口通信。
2.3.1 核心板方案設(shè)計(jì)
核心板的硬件結(jié)構(gòu)包括控制芯片電路、下載電路、晶振電路、復(fù)位電路、芯片電源
電路、 RS485 通信電路、狀態(tài)選擇電路、狀態(tài)指示電路、 I/O 指示電路、電平轉(zhuǎn)換電路
等。
控制芯片采用目前較為流行的“ MCU+FPGA ”的方式進(jìn)行控制 [32] 。 MCU 是微控制
單元( Micro Controller Unit ),又稱單片微型計(jì)算機(jī)或單片機(jī),是將中央處理器、內(nèi)存、
計(jì)數(shù)器、 USB 、 A/D 轉(zhuǎn)換、 UART 、 PWM 、 DMA 等周邊接口集成到一片芯片上,形成
芯片級(jí)計(jì)算機(jī),應(yīng)用于手機(jī)、遙控器、汽車、機(jī)械臂等控制領(lǐng)域。 FPGA 是現(xiàn)場(chǎng)可編程
門陣列( Field Programmable Gate Array ),它是專用集成電路中的一種半定制電路,通
過(guò)編程對(duì)底層邏輯門陣列進(jìn)行組合,從而實(shí)現(xiàn)內(nèi)部各模塊之間以及 I/O 之間的連接方式。
FPGA 具有以下優(yōu)點(diǎn):并行度高,可以支持多個(gè)模塊同時(shí)進(jìn)行獨(dú)立的計(jì)算;可定制,即
通過(guò)編程實(shí)現(xiàn)自己的邏輯電路,并且可以無(wú)限次編程;運(yùn)算速度快,通常情況下任務(wù)在
硬件上跑比軟件上跑得要快,比如比較一個(gè) 64 位數(shù)高 32 位和低 32 位的大小,在 CPU
下需要 2 條區(qū)數(shù)指令,兩條位與指令,一條移位指令一條比較指令和一條寫(xiě)回指令,而
FPGA 下只要一個(gè)比較器就行了。 FPGA 同時(shí)也存在著缺點(diǎn),所有功能均依靠硬件實(shí)
現(xiàn),無(wú)法實(shí)現(xiàn)分支條件跳轉(zhuǎn)等操作,同時(shí)諸如 A/D 轉(zhuǎn)換、 flash 等外設(shè)很少,這正好能
夠靠 MCU 來(lái)彌補(bǔ)。因此本文利用 MCU FPGA 組合的方式,能夠最大的發(fā)揮兩者各
自的優(yōu)勢(shì) [33] 。
MCU 選擇意法半導(dǎo)體集團(tuán)開(kāi)發(fā)的 32 STM32 微控制器,該芯片是基于 ARM
Cortex-M 處理器內(nèi)核的嵌入式單片機(jī),有著集成度高、低功耗等特點(diǎn)。 FPGA 選擇
ALTERA Cyclone IV 系列芯片,該系列芯片在 Cyclone CycloneII 、 CycloneIII 的基
礎(chǔ)上提升了性能并降低成本。 STM32 利用其自身豐富的外設(shè)作為主控芯片,使用 UART
與外界通信; FPGA 利用運(yùn)算速度快、并發(fā)性好的特點(diǎn),對(duì) I/O 信號(hào)進(jìn)行處理。 STM32
FPGA 之間的通信方式有串行通信、并行通信以及共用存儲(chǔ)器通信。串行通信所需引
腳少,但是速率沒(méi)有另外兩種通信方式快;共用存儲(chǔ)器通信方式在硬件線路上較為復(fù)雜,
一般用在數(shù)據(jù)交換量較大的場(chǎng)合,用在這里有點(diǎn)大材小用;并行通信雖然占用引腳較多,
但是通信效率高 [34] 。綜合來(lái)看選擇并行通信方式。
電源電路需要根據(jù)控制芯片所需電壓來(lái)決定,核心板上選擇的控制芯片 STM32
具體型號(hào)為 STM32F103ZET6 ,工作電壓為 3.3V , FPGA 的具體型號(hào)是 EP4CE6E22C8 ,
工作電壓為 3.3V 、 2.5V 1.2V 。
STM32 的下載方式包括 SWD JTAG 方式, SWD 模式比 JTAG 在高速模式下面更
加可靠,在大數(shù)據(jù)量的情況下面 JTAG 下載程序會(huì)失敗,但是 SWD 發(fā)生的幾率會(huì)小很
多,并且 SWD 需要的引腳數(shù)量少,可以節(jié)省 PCB 空間。 STM32 雖然有 8MHz 內(nèi)部晶
振,但是精度沒(méi)有外部配置的高速晶振精度高。外部晶振有高速晶振和低速晶振兩種,
典型的低速晶振為 32.768KHz ,高速晶振可選擇 4~32MHz ,然后可以經(jīng)過(guò)鎖相環(huán)設(shè)置將
主頻升至 72MHz 。核心板上需要預(yù)留的擴(kuò)展模塊接口用于連接多個(gè)擴(kuò)展模塊,而與擴(kuò)
展模塊之間的通信方式這里選擇 RS485 通信,因?yàn)? RS485 支持一主多從模式。同時(shí)
STM32 周圍需要設(shè)計(jì)狀態(tài)選擇電路和狀態(tài)指示電路,狀態(tài)選擇電路是用撥碼開(kāi)關(guān)作為
STM32 的引腳輸入,狀態(tài)指示電路是用 LED 作為 STM32 的引腳輸出。
FPGA 沒(méi)有片內(nèi) flash ,因此 FPGA 的程序需要存儲(chǔ)到片外 flash 中,這里選擇
EPCS4SI8N 作為 FPGA 的片外 flash FPGA 的下載方式有 JTAG 模式、 AS 模式和 PS
模式。 AS 模式是將程序燒入到配置芯片 EPCS 中, FPGA 每次上電時(shí),作為控制器從配
置芯片 EPCS 中讀取數(shù)據(jù); PS 模式是將 EPCS 作為控制器件,將 FPGA 作為存儲(chǔ)器, FPGA
上電時(shí), EPCS 會(huì)主動(dòng)將數(shù)據(jù)寫(xiě)入到 FPGA 中,此模式可以實(shí)現(xiàn)對(duì) FPGA 的在線編程;
JTAG 模式是最常用的一種模式,直接把程序燒錄到 FPGA SRAM 中,所以掉電后程
序會(huì)消失。 FPGA 在正常工作時(shí),它的配置數(shù)據(jù)存儲(chǔ)在 SRAM 中,加電時(shí)須重新下載。
在實(shí)驗(yàn)系統(tǒng)中,通常用計(jì)算機(jī)或控制器進(jìn)行調(diào)試,因此可以使用 PS 。但是在實(shí)用系統(tǒng)
中,多數(shù)情況下必須由 FPGA 主動(dòng)引導(dǎo)配置操作過(guò)程,這時(shí) FPGA 將主動(dòng)從外圍專用存
儲(chǔ)芯片中獲得配置數(shù)據(jù),而此芯片中 FPGA 配置信息是用普通編程器將設(shè)計(jì)所得的 .pof
格式的文件通過(guò) AS 燒錄進(jìn)去。通過(guò) JTAG 模式燒錄 .sof 文件會(huì)將程序燒錄到 SRAM 中,
但是通過(guò)文件轉(zhuǎn)換,將 .sof 文件轉(zhuǎn)換成 .jic 文件,通過(guò) JTAG 模式燒錄會(huì)將程序通過(guò) FPGA
固化到配置芯片 EPCS 中,這樣 FPGA 重新上電是會(huì)從 EPCS 中讀取程序。本文最終考
慮到調(diào)試的方便性,所以選擇了 JTAG 模式。
FPGA 的主頻需要用到外部晶振, STM32 內(nèi)部有晶振的起振電路故可以用無(wú)源晶振,
FPGA 沒(méi)有,所以 FPGA 外部只能接有源晶振,這里選擇 50MHz 作為 FPGA 時(shí)鐘源,
通過(guò)鎖相環(huán)的倍頻后可以得到高達(dá) 300MHz 的時(shí)鐘。
FPGA 的引腳既可以配置為輸入模式,也可以配置為輸出模式,都是 3.3VTTL 信號(hào),
FPGA 輸入輸出引腳直接控制 LED ,作為 I/O 指示燈,共 40 個(gè), 16 個(gè)輸入點(diǎn)、 16 個(gè)輸
出點(diǎn)、 8 個(gè)高速輸出點(diǎn)。核心板與接口板通過(guò)接插件接在一起,用來(lái)傳遞 I/O 點(diǎn)數(shù)據(jù)信
號(hào),在 FPGA 與接插件之間還要接入電平轉(zhuǎn)換芯片,在 3.3VTTL 信號(hào)與 5VTTL 信號(hào)之
間轉(zhuǎn)換,并且電平轉(zhuǎn)換芯片能夠起到保護(hù)作用,避免 FPGA 引腳直接與外部連接 [35] 。
2.3.2 接口板方案設(shè)計(jì)
接口板的硬件結(jié)構(gòu)包括光耦輸入電路、繼電器輸出電路、晶體管輸出電路、 RS485
通信電路、 USB 通信電路、以太網(wǎng)通信模塊、 DC/DC 降壓電路、與核心板和電源板的
接口電路等。
光耦輸入電路用于對(duì)外部開(kāi)關(guān)量信號(hào)的輸入,一般 PLC 的輸入模塊由若干輸入點(diǎn)
和一個(gè)公共端組成。如圖 2-9 a) b) PLC 直流輸入電路的兩種不同形式,區(qū)別在于
當(dāng)外部開(kāi)關(guān)閉合時(shí), a) 中的電流從公共端 M 流出 PLC (源型輸入), b) 中的電流從公共
M 流入 PLC (漏型輸入)。當(dāng)開(kāi)關(guān)閉合時(shí), PLC 內(nèi)部光耦的發(fā)光二極管點(diǎn)亮,光敏三
極管飽和導(dǎo)通,再將該信號(hào)傳送至中央處理器,認(rèn)為有輸入信號(hào)。 c) d) 分別是 a) b)
的多路信號(hào)結(jié)構(gòu)。為了適應(yīng)更多的現(xiàn)場(chǎng)設(shè)備,本文使用 e) 所示的混合型輸入電路,光耦
選擇雙向輸入型光耦,外部接線形式既能源型輸入也能漏型輸入。
基于 STM32+FPGA 的通用工業(yè)控制器設(shè)計(jì)(一)系統(tǒng)方案設(shè)計(jì),STM32+FPGA,運(yùn)動(dòng)控制,fpga開(kāi)發(fā)
2.5 軟件方案設(shè)計(jì)
2.5.1 嵌入式操作系統(tǒng)
雖然嵌入式應(yīng)用程序能夠在芯片上直接運(yùn)行,但是為了能夠更加合理的調(diào)用多任務(wù)、
充分利用系統(tǒng)資源,本文采用在 STM32 上移植嵌入式操作系統(tǒng)的方案。目前常用的嵌
入式操作系統(tǒng)有 μClinux 、 μC/OS-II 、 eCos FreeRTOS
μClinux micro-control Linux )是微控制 Linux ,同標(biāo)準(zhǔn) Linux 相比, μClinux 內(nèi)核
小,但仍然繼承了 Linux 良好的穩(wěn)定性、可移植性,并具有強(qiáng)大的網(wǎng)絡(luò)功能、出色的文
件系統(tǒng)、標(biāo)準(zhǔn)豐富的 API 以及 TCP/IP 網(wǎng)絡(luò)協(xié)議等。在移植方面,由于 μClinux Linux
針對(duì)嵌入式系統(tǒng)的一種改良,所以其結(jié)構(gòu)比較復(fù)雜,目標(biāo)處理器需要足夠容量的外部
ROM RAM ,對(duì)于 STM32F103 來(lái)說(shuō),移植此系統(tǒng)需要至少 512KB RAM 空間, 1MB
ROM/FLASH 空間,而 STM32F103 僅有 256KB FLASH ,所以需要外接存儲(chǔ)器,
這就增加了硬件成本。并且 μClinux 結(jié)構(gòu)復(fù)雜,移植難度大,實(shí)時(shí)性也差,不適合作為
本系統(tǒng)的移植方案。
μC/OS-II 是用 C 語(yǔ)言編寫(xiě)的一個(gè)結(jié)構(gòu)小巧、搶占式的多任務(wù)實(shí)時(shí)內(nèi)核。 μC/OS-II
最多支持 64 個(gè)任務(wù),分別對(duì)應(yīng)優(yōu)先級(jí) 0~63 ,其中 0 代表優(yōu)先級(jí)最高, 63 為最低,系統(tǒng)
保留了 4 個(gè)最高優(yōu)先級(jí)和 4 個(gè)最低優(yōu)先級(jí),所以用戶可以使用的任務(wù)數(shù)有 56 個(gè)。
μC/OS-II
能夠提供任務(wù)調(diào)度與管理、內(nèi)存管理、任務(wù)間同步與通信、時(shí)間管理和中斷服務(wù)等功能,
具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和擴(kuò)展性強(qiáng)等特點(diǎn)。在移植方面, μC/OS-II
支持當(dāng)前流行的大部分 CPU ,由于其本身內(nèi)核小,最小代碼僅有 2KB ,需要數(shù)據(jù)空間
僅有 4KB RAM ,所以移植相對(duì)簡(jiǎn)單,只需要修改與處理器相關(guān)的代碼即可,比較適
合在本系統(tǒng)上移植。
eCos embedded Configurable operating system )是嵌入式可配置操作系統(tǒng),是一種
源代碼開(kāi)元的能夠配置、可移植、面向深度嵌入式應(yīng)用的實(shí)時(shí)操作系統(tǒng)。其最大的特點(diǎn)
就是內(nèi)核可配置,采用模塊化的設(shè)計(jì)方式帶來(lái)的靈活的配置,核心部分由小同的組件構(gòu)
成,通過(guò) eCos 配置工具能夠方便的配置內(nèi)核、 C 語(yǔ)言庫(kù)和底層運(yùn)行包等組件,能夠很
好的滿足不同嵌入式應(yīng)用需求。在移植方面, eCos 內(nèi)核小,最小代碼僅有 10KB ,所需
數(shù)據(jù)空間僅有 10KB RAM ,可移植性好,比 μClinux μC/OS-II 都更加容易,但是
其應(yīng)用并不廣泛,資料沒(méi)有 μC/OS-II 多,更適用于例如消費(fèi)電子領(lǐng)域中的應(yīng)用。
FreeRTOS 是一款完全免費(fèi)并能夠在小 RAM 單片機(jī)上運(yùn)行的實(shí)時(shí)操作系統(tǒng),具有源
代碼開(kāi)元、可移植性強(qiáng)、可裁剪、調(diào)度策略靈活等特點(diǎn)。 FreeRTOS 操作系統(tǒng)能夠完成
任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄等功能,可以滿足一個(gè)最小
操作系統(tǒng)的基本需求。在移植方面, FreeRTOS 能夠方便的移植到不同處理器上,例如
ARM 、 MSP430 、 PIC 、 AVR 、 C8051F 等, STM32 的內(nèi)核就是 ARM ,所以 FreeRTOS
適合本系統(tǒng)移植,也是本文所采用嵌入式操作系統(tǒng)。
2.5.2 軟件系統(tǒng)
軟件系統(tǒng)由系統(tǒng)程序和用戶程序組成。系統(tǒng)程序是固化在控制芯片中的程序,本控
制器由主控制器和遠(yuǎn)程模塊構(gòu)成,主控制器上有 STM32 FPGA 兩個(gè)控制芯片, 5
遠(yuǎn)程模塊為實(shí)現(xiàn)各自功能分別有一個(gè) STM32 作為控制芯片,因此需要設(shè)計(jì) 7 套不同的
系統(tǒng)程序,編程語(yǔ)言包含 STM32 所需的 C 語(yǔ)言和 FPGA 所需的 Verilog HDL 語(yǔ)言。用
戶程序的編輯本文設(shè)計(jì)了兩套方案,一是設(shè)計(jì)一款 PC 端編程軟件,通過(guò) USB 端口下載
到主控制器 STM32 上的 flash 中,另一種是現(xiàn)場(chǎng)編程功能,即通過(guò)人機(jī)交互界面,利用
關(guān)鍵詞讓沒(méi)有編程基礎(chǔ)的普通用戶能夠編寫(xiě)簡(jiǎn)單的測(cè)試程序,方便現(xiàn)場(chǎng)調(diào)試 [36][37] 。
2.5.3 模塊化功能
本文設(shè)計(jì)了模塊化功能,運(yùn)動(dòng)控制和過(guò)程控制。運(yùn)動(dòng)控制經(jīng)常用于機(jī)械、機(jī)床、機(jī)
器人、電梯控制等場(chǎng)合,用于驅(qū)動(dòng)步進(jìn)電機(jī)、伺服電機(jī)或交流電動(dòng)機(jī),此時(shí)需要控制器
產(chǎn)生相應(yīng)的驅(qū)動(dòng)信號(hào),如驅(qū)動(dòng)異步交流電動(dòng)機(jī)需要用 SPWM 、 SVPWM 算法,同時(shí)運(yùn)動(dòng)
控制還會(huì)經(jīng)常用到編碼器來(lái)測(cè)量速度和位置,本文在軟件上設(shè)計(jì)高數(shù)計(jì)數(shù)器功能。過(guò)程
控制經(jīng)常用于冶金、化工、鍋爐控制等場(chǎng)合,用于對(duì)溫度、壓力、流量等模擬量的閉環(huán)
控制,此時(shí)需要控制器實(shí)現(xiàn) PID 算法。
2.5.4 通信協(xié)議
各個(gè) PLC 廠商一般都有自己的通信協(xié)議,比如羅克韋爾的 PLC 都支持 DF1 協(xié)議,
GE 90-70 90-30 系列 PLC 支持 SNP 協(xié)議,西門子 S-200 系列 PLC 支持 MPI 、 PPI
等協(xié)議,施耐德 PLC 支持 Modbus Modbus Plus 協(xié)議,歐姆龍 PLC 支持 Host Link 協(xié)
議,三菱 PLC 支持 CC-Link 協(xié)議,松下 PLC 支持 MEWTOCOL-COM 協(xié)議。這其中Modbus
已經(jīng)不僅僅是 PLC 的通信協(xié)議,在許多智能儀表、變頻器中也有應(yīng)用,已經(jīng)在工控領(lǐng)
域中得到廣泛的應(yīng)用 [38] 。本文選擇 Modbus 作為主控制器與遠(yuǎn)程模塊之間通信的數(shù)據(jù)協(xié)
議,上述的協(xié)議中 MEWTOCOL-COM 協(xié)議對(duì)外開(kāi)放且簡(jiǎn)單,本文在其基礎(chǔ)上做些更改
作為 RMEN I/O 模塊之間通信的數(shù)據(jù)協(xié)議,后稱為 RM-COM 協(xié)議。

信邁提供STM32+FPGA的運(yùn)動(dòng)控制解決方案。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-611888.html

到了這里,關(guān)于基于 STM32+FPGA 的通用工業(yè)控制器設(shè)計(jì)(一)系統(tǒng)方案設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 開(kāi)放式高實(shí)時(shí)高性能PLC控制器解決方案-基于米爾電子STM32MP135

    開(kāi)放式高實(shí)時(shí)高性能PLC控制器解決方案-基于米爾電子STM32MP135

    隨著工業(yè)數(shù)字化進(jìn)程加速與IT/OT深入融合,不斷增加的OT核心數(shù)據(jù)已經(jīng)逐步成為工業(yè)自動(dòng)化行業(yè)的核心資產(chǎn),而OT層數(shù)據(jù)具備高實(shí)時(shí)、高精度、冗余度高、數(shù)據(jù)量大等等特點(diǎn),如何獲取更加精準(zhǔn)的OT數(shù)據(jù)對(duì)數(shù)字化進(jìn)程起到至關(guān)重要的作用,同時(shí)隨著國(guó)內(nèi)工業(yè)控制系統(tǒng)逐步進(jìn)入中

    2024年03月24日
    瀏覽(14)
  • 9-基于STM32無(wú)刷直流電機(jī)控制器的設(shè)計(jì)仿真與實(shí)現(xiàn)(原理圖+源碼+仿真工程+論文+PPT+參考英文文獻(xiàn))

    9-基于STM32無(wú)刷直流電機(jī)控制器的設(shè)計(jì)仿真與實(shí)現(xiàn)(原理圖+源碼+仿真工程+論文+PPT+參考英文文獻(xiàn))

    包含此題目畢業(yè)設(shè)計(jì)全套資料: 原理圖工程文件 原理圖截圖 仿真模型工程文件 仿真截圖 低重復(fù)率文檔(22642字) 英文文獻(xiàn)及翻譯 資料鏈接 1.基于單片機(jī)實(shí)現(xiàn)無(wú)刷直流電機(jī)控制器的設(shè)計(jì),完成系統(tǒng)芯片選型; 2.確定無(wú)刷直流電機(jī)控制器的總體設(shè)計(jì)方案; 3.給出系統(tǒng)的硬件設(shè)計(jì)

    2024年02月07日
    瀏覽(21)
  • 基于FPGA 的SDRAM控制器

    基于FPGA 的SDRAM控制器

    4X16X4=256(Mbit),注意不是MByte sdram包含兩個(gè)部分:sdram_ctrl、fifo_ctrl。 sdram_ctrl:其頂層為SDRAM的控制模塊內(nèi)部實(shí)例化了5個(gè)模塊,有初始化、自刷新、寫(xiě)和讀模塊,還有一個(gè)仲裁模塊對(duì)這四個(gè)不同操作進(jìn)行分配; fifo_ctrl:其頂層為SDRAM的數(shù)據(jù)輸入輸出,內(nèi)部實(shí)例化了兩個(gè)用于連

    2024年02月08日
    瀏覽(29)
  • 【進(jìn)口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

    【進(jìn)口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

    667 MHz雙核CPU,512 MB DRAM,1 GB存儲(chǔ)容量,Zynq-7020 FPGA,更寬工作溫度范圍,8槽CompactRIO控制器 cRIO-9068是一款堅(jiān)固耐用的無(wú)風(fēng)扇嵌入式控制器,可用于高級(jí)控制和監(jiān)測(cè)應(yīng)用。這款軟件設(shè)計(jì)控制器搭載FPGA、運(yùn)行NI Linux Real-Time操作系統(tǒng)的實(shí)時(shí)處理器以及嵌入式用戶界面功能。cRIO-906

    2024年01月25日
    瀏覽(39)
  • 基于FPGA的PID控制器設(shè)計(jì)

    基于FPGA的PID控制器設(shè)計(jì)

    PID控制應(yīng)該算是應(yīng)用非常廣泛的控制算法了。常見(jiàn)的比如控制環(huán)境溫度,控制無(wú)人機(jī)飛行高度速度等。PID我們將其分成三個(gè)參數(shù),如下: P-比例控制,基本作用就是控制對(duì)象以線性的方式增加,在一個(gè)常量比例下,動(dòng)態(tài)輸出,缺點(diǎn)是會(huì)產(chǎn)生一個(gè)穩(wěn)態(tài)誤差。 I-積分控制,基本作

    2024年02月03日
    瀏覽(22)
  • (STM32H5系列)STM32H573RIT6、STM32H573RIV6、STM32H573ZIT6嵌入式微控制器基于Cortex?-M33內(nèi)核

    (STM32H5系列)STM32H573RIT6、STM32H573RIV6、STM32H573ZIT6嵌入式微控制器基于Cortex?-M33內(nèi)核

    工業(yè)(PLC、工業(yè)電機(jī)控制、泵和壓縮機(jī)) 智能家居(空調(diào)、冰箱、冰柜、中央警報(bào)系統(tǒng)、洗衣機(jī)) 個(gè)人電子產(chǎn)品(鍵盤、智能手機(jī)、物聯(lián)網(wǎng)標(biāo)簽、跟蹤設(shè)備) 智能城市(工業(yè)通信、照明控制、數(shù)字電源) 醫(yī)療和保?。–PAP和呼吸器、透析機(jī)、藥丸分配器、電動(dòng)病床) 1、ST

    2024年02月09日
    瀏覽(24)
  • CAN學(xué)習(xí)筆記3:STM32 CAN控制器介紹

    CAN學(xué)習(xí)筆記3:STM32 CAN控制器介紹

    STM32 CAN控制器(bxCAN),支持CAN 2.0A 和 CAN 2.0B Active版本協(xié)議。CAN 2.0A 只能處理標(biāo)準(zhǔn)數(shù)據(jù)幀且擴(kuò)展幀的內(nèi)容會(huì)識(shí)別錯(cuò)誤,而CAN 2.0B Active 可以處理標(biāo)準(zhǔn)數(shù)據(jù)幀和擴(kuò)展數(shù)據(jù)幀。 波特率最高可達(dá)1M bps 支持時(shí)間觸發(fā)通信(CAN的硬件內(nèi)部定時(shí)器可以在TX/RX的幀起始位的采樣點(diǎn)位置生成時(shí)

    2024年02月15日
    瀏覽(31)
  • 基于FPGA的電風(fēng)扇控制器verilog,視頻/代碼

    基于FPGA的電風(fēng)扇控制器verilog,視頻/代碼

    名稱:基于FPGA的電風(fēng)扇控制器verilog 軟件:QuartusII 語(yǔ)言:Verilog 代碼功能: 基于FPGA的電風(fēng)扇控制器 ?運(yùn)用 EDA SOPO實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)設(shè)計(jì)一個(gè)基于FPGA的電風(fēng)扇定時(shí)開(kāi)關(guān)控制器,能實(shí)現(xiàn)手動(dòng)和自動(dòng)模式之間的切換。要求:? (1)KI為電源開(kāi)關(guān)由電源開(kāi)關(guān)控制電風(fēng)扇的開(kāi)關(guān),即當(dāng)K1為高電平“

    2024年02月07日
    瀏覽(22)
  • STM32F4X SDIO(四) SDIO控制器

    STM32F4X SDIO(四) SDIO控制器

    STM32F4X內(nèi)部有一個(gè)SDIO控制器,開(kāi)發(fā)者可以使用這個(gè)控制器跟SD卡進(jìn)行通信,下面就來(lái)簡(jiǎn)單了解一下STM32F4X的SDIO控制器的使用。 下圖為STM32F4X的SDIO控制器框圖,框圖可以分為以下5部分, 適配器寄存器 、 FIFO 、 控制單元 、 命令路徑 、 數(shù)據(jù)路徑 。 SDIO控制器時(shí)鐘 STM32F4X的所有

    2024年02月07日
    瀏覽(39)
  • CAN總線基礎(chǔ)詳解以及stm32的CAN控制器

    CAN總線基礎(chǔ)詳解以及stm32的CAN控制器

    目錄 CAN簡(jiǎn)介 CAN總線拓?fù)鋱D CAN總線特定 CAN應(yīng)用場(chǎng)景 CAN的物理層 CAN的協(xié)議層 CAN數(shù)據(jù)幀介紹 CAN位時(shí)序介紹 數(shù)據(jù)同步過(guò)程 硬件同步 再同步 CAN總線仲裁 stm32的CAN控制器 CAN控制器介紹 CAN控制器模式 CAN控制器框圖 接收過(guò)濾器 CAN控制器波特率計(jì)算 CAN相關(guān)寄存器 CAN主控制寄存器(

    2024年01月25日
    瀏覽(52)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包