《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于ARM7與FPGA組成的可編程控制器
基于ARM7與FPGA組成的可編程控制器
微計算機信息
摘要: 基于CAN現場總線、嵌入式微處理器S3C44B0X+FPGA設計的可編程控制器,采用了32位集成度高的嵌入式微處理器S3C44B0X為核心,簡化了電路的設計,提高了系統的可靠性及運行速度;通過FPGA配置I/O口,解決了眾多芯片I/O口不足的問題,滿足了工業控制領域的需求。同時在FPGA中實現的智能控制算法作為功能模塊嵌入PLC梯形圖程序中,主機執行程序的同時,FPGA也在并行完成智能控制算法的運算,即不影響系統執行的速度,又解決了傳統小型PLC不能嵌入智能算法的問題。
Abstract:
Key words :

1 引言

可編程控制器(Programmable Logic Controller)具有抗干擾強、可靠性高、編程簡單的特點,被廣泛應用于工業控制領域。但是傳統小型可編程控制器難以將智能控制算法嵌入到控制系統中。本文以嵌入式微處理器S3C44B0XFPGA為核心設計通用小型的可編程控制器,論述了PLC主機各功能模塊通過CAN總線與S3C44B0X連接的接口電路和主機程序設計及執行過程。通過FPGA配置I/O口和嵌入先進的智能控制算法,如PID、模糊控制、神經網絡算法等,這些控制算法作為控制模塊嵌入PLC的梯形圖程序中作為功能模塊調用,各個模塊之間通過CAN總線連接,用戶根據被控對象現場的需求可以選擇多個人機界面裝置,提供監控控制系統運行狀態的便利。

2 PLC系統的總體設計

系統采用32位嵌入式微處理器S3C44B0X作為可編程控制器的CPU,以此為核心擴展系統需要的存儲器;通過FPGA擴展PLC所需要的I/O口,完成相應輸入輸出模塊的設計;系統通過微處理器的SPI接口擴展CAN總線,用于連接上位機、主控機、編程器、以及液晶顯示與觸摸屏等功能模塊進行通信,用戶根據被控對象現場需求可以選擇多個人機界面裝置,這些裝置作為擴展模塊掛接在CAN總線上;實現智能控制算法的FPGA與主機微處理器S3C44B0X的I/O口連接。用戶使用手持編程器編寫指令表程序后,通過CAN總線傳輸到控制主機的存儲器中,以便CPU執行這些程序;系統運行的狀態參數通過CAN總線傳輸到監控系統中,在監控系統中顯示系統運行的狀態;FPGA實現的智能控制算法作為控制模塊嵌入PLC梯形圖程序中作為功能模塊調用。系統的結構框圖如圖1所示:

3 PLC主控器的設計

3.1系統存儲器的擴展

3.1.1 存儲器Nor Flash 的擴展

可編程控制器需要掉電保存系統啟動的引導程序、梯形圖或指令表程序,以及解釋梯形圖或指令表的解釋程序,而S3C44B0X微處理器內部沒有存儲器。閃速存儲器(Flash Memory)具有非易失性,并且可輕易擦寫,在嵌入式系統中得到廣泛的應用。所以本課題采用了2MB的SST39VF1601存儲器來存儲上面提到的引導程序、解釋程序及用戶程序。該存儲器采用標準的總線接口與處理器交互,對它的讀取不需要任何特殊的代碼。由于系統啟動的引導程序儲存在Flash ROM,要把其映射在處理器的Bank0地址空間,這樣系統上電復位后,處理器就自動從0x00000000地址處開始取得指令運行。Flash與S3C44B0X的接口電路圖如圖2所示。處理器ADDR20~1對應著Flash ROM的A19~0,偏移了1位,這是由于S3C44B0X是按照字節編址的,而Flash ROM是以16位為一個存儲單元。

 

圖1 系統結構框圖

3.1.2 SDRAM 的擴展

隨機存取存儲器RAM(Random Access Memory)是易失性的存儲器,在掉電后數據即消失。但與ROM器件不同的是,它的隨機讀寫速度非常快,寫入數據之前也不需要進行擦寫,這些特性使它成為嵌入式系統中必不可少的存儲設備之一。為了提高系統執行的速度,在系統啟動時,把梯形圖或指令表程序復制到讀寫更快的RAM中,這樣系統執行程序的過程在RAM中完成,提高了可編程控制器掃描程序的周期。

常用的RAM分為SRAM和DRAM兩種類型,其中DRAM又分為DRAM和SDRAM。S3C44B0X芯片本身提供了與DRAM與SDRAM直接接口的解決方案,因此只需對與存儲器控制器相關的寄存器進行的適當的配置。本系統采用的同步動態存儲器SDRAM為8MB的HY57V641620,映射在Bank6地址空間。接口電路圖如3所示。這里的BA即A22~21。由于HY57V641620的存儲結構為:1Mbⅹ16ⅹ4 Bank,在電路上以A22~21作為bank地址選擇線。

 

圖2  程序存儲器Nor Flash的擴展 圖3  SDRAM的擴展

3.1.3 EEPROM的擴展

在可編程控制器中,一些編程軟元件的數據內容需要掉電保存,如:D數據存儲器、部分特殊輔助繼電器M等。系統通過S3C44B0X自帶的IIC接口擴展EEPROM,用來保存這些掉電需要保存數據的編程軟元件,在系統啟動時,首先把這些軟元件的值從EEPROM拷貝到SDRAM中,以便提高系統執行速度。采用的EEPROM型號為:AT24C512,系統擴展原理圖如下。系統擴展只需要兩根線,一根數據線,一根時鐘線,這兩根線加上拉電阻是因為IIC總線是開漏輸出。

 圖4  IIC接口擴展EEPROM

3.2 I/O口擴展

在嵌入式微處理器S3C44B0X中總共有71個普通的I/O口,這些I/O引腳大多都是多功能引腳,其中一些I/O口已經作為專門的應用。系統實現的目標需要128個I/O口,即可編程控制器具備128個點,這樣微處理器本身的I/O口無法滿足系統的需要,需要通過FPGA擴展。

采用的FPGA型號為EP1K30TC208-3。該芯片具有208個引腳,可配置的I/O口最多達到147個。系統通過S3C44B0X總線進行擴展,這樣操作FPGA的I/O口就像操作ARM本身的I/O口一樣,操作起來非常的方便。FPGA與S3C44B0X的連接框圖如圖5:

ARM地址線、數據線與FPGA的地址線、數據線連接,由于FPGA每個存儲單元是16位,而ARM微處理器每次處理的是8位,因此地址線要偏離一位;FPGA的存儲單元映射到ARM中的Bank2;nOE、nWE分別是讀寫信號線;TxD0用來下載FPGA工作需要的配置文件;PF2、PF3、TxD0共三根線提供FPGA啟動工作需要的時序;SCLK是ARM與FPGA工作(讀、寫)需要的時鐘。

3.3 輸入輸出模塊的擴展

可編程控制器輸入輸出模塊主要有數字量和模擬量輸入輸出。模擬量的輸入輸出即A/D、D/A是對象過程參數和PLC主機之間的接口。對象過程參數經過傳感器轉換成標準的電量后,經過A/D轉換器進入PLC主機中;PLC主機經過D/A數模轉換把數字量轉換成模擬量輸出。由于S3C44B0X微處理器內部帶有了8路10位的A/D轉換器,在一些要求不是很高的控制領域,該轉換器可以滿足要求,因此不需擴展。S3C44B0X內部沒有D/A轉換器,所以采用的D/A轉換器為MAX5741進行擴展,該轉換器是4路10位,使用SPI接口進行擴展,其與微處理器的連接原理圖如圖6:

 

圖5  FPGA配置I/O口   圖6  D/A轉換器的擴展

3.4 CAN總線擴展

系統使用CAN現場總線在各個模塊之間交換數據、通信,如:用戶使用手持編程器或PC機編寫梯形圖或指令表程序后,通過CAN總線把程序傳輸到PLC主機中。由于微處理器S3C44B0X本身沒集成CAN控制器,需要單獨擴展CAN控制器,采用的CAN控制器為MCP2510,收發器為PCA82C250。MCP2510工作電壓為3.3V,能夠直接與S3C44B0X微處理器I/O口相連。為進一步提高系統抗干擾性,可在CAN控制器和收發器之間加光耦隔離6N137,原理圖如圖7:

 

圖7  CAN總線的擴展

4程序設計及執行過程

程序設計一個關鍵技術是編寫梯形圖或指令表程序的解釋程序。根據指令的邏輯關系,分別給每條指令編寫其對應的子程序,當CPU掃描到某條指令的編碼時,就調用其子程序,進行邏輯運算,并把結果送到映像寄存器中。

程序執行過程分為三個階段:輸入處理階段、程序執行階段、輸出處理階段。如圖8所示。系統上電后,完成堆棧、存儲器、中斷等的初始化;把D數據寄存器值、部分M特殊輔助寄存器值等一些需要掉電保持的數據,從EEPROM拷貝到SDRAM指定的地址中;把用戶編寫的梯形圖或指令表程序從Nor Flash拷貝到SDRAM中以便提高系統的運行速度。最后系統才真正開始掃描用戶編寫的梯形圖或指令表程序。

在輸入處理階段,CPU讀取所有輸入端子的狀態,并把這些狀態內容保存在輸入映像寄存器中;在程序執行階段,CPU根據輸入狀態的信息,從梯形圖或指令表程序的第一步開始執行,當CPU掃描到有關智能控制模塊時,把智能控制模塊的一些設置值、參數送到FPGA中, FPGA在主機掃描程序的同時,并行處理智能控制算法,并不斷的把運算的結果送到控制參數存儲器中;在輸出處理階段,把輸出映像寄存器中的內容送到輸出鎖存寄存器中,使輸出端口電平發生變化,執行機構動作驅動要控制的對象,最后把指針指向程序的第一步,使程序周而復始的工作,直到收到停止工作信號為止。

 

圖8  程序執行過程

5 結論

本文創新點:基于CAN現場總線、嵌入式微處理器S3C44B0X+FPGA設計的可編程控制器,采用了32位集成度高的嵌入式微處理器S3C44B0X為核心,簡化了電路的設計,提高了系統的可靠性及運行速度;通過FPGA配置I/O口,解決了眾多芯片I/O口不足的問題,滿足了工業控制領域的需求。同時在FPGA中實現的智能控制算法作為功能模塊嵌入PLC梯形圖程序中,主機執行程序的同時,FPGA也在并行完成智能控制算法的運算,即不影響系統執行的速度,又解決了傳統小型PLC不能嵌入智能算法的問題。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 狼群影院www| 韩国美女主播免费的网站| 岛国大片免费观看| 久久九九国产精品怡红院| 欧美人妻一区二区三区| 亚洲精品456在线播放| 笨蛋英子未删1至925下载| 四虎最新免费观看网址| 高清一级淫片a级中文字幕| 国产精品四虎在线观看免费| 99久久人妻无码精品系列蜜桃 | 精品国产欧美一区二区| 国产一级特黄在线播放| 麻豆安全免费网址入口| 国产精品一区二区久久国产| 4hu四虎永久免在线视| 在线观看国产日本| www.尤物在线| 宅男视频网站无需下载| 中国一级毛片在线观看| 拍摄直播play文h| 久久久精品2019中文字幕之3| 日韩精品久久不卡中文字幕| 亚洲av乱码一区二区三区香蕉| 欧美一级免费看| 亚洲人成影院在线观看| 欧美日韩国产不卡在线观看| 亚洲熟妇久久精品| 水蜜桃亚洲一二三四在线| 亚洲精品视频免费| 波多野结衣日本电影| 亚洲美女色在线欧洲美女| 男人扒开添女人下部免费视频| 伊人久久综合影院| 男男gay做爽爽的视频免费| 免费精品99久久国产综合精品 | 亚洲国产精品福利片在线观看| 欧美疯狂ⅹbbbb另类| 亚洲欧美精品伊人久久| 欧美视频在线观| 亚洲日韩av无码中文|