《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > EPA主控卡的硬件設(shè)計(jì)與驅(qū)動(dòng)開發(fā)
EPA主控卡的硬件設(shè)計(jì)與驅(qū)動(dòng)開發(fā)
摘要: EPA(Ethernet for Plant Automation)系統(tǒng)包括工作站,、控制站,、網(wǎng)絡(luò)設(shè)備、現(xiàn)場設(shè)備以及通信介質(zhì)等部分,,而控制站是整個(gè)系統(tǒng)的核心,。最主要的硬件平臺(tái),,由EPA主控卡、I/O子系統(tǒng),、電源以及附屬設(shè)備等構(gòu)成,。EPA主控卡是控制站中的主要設(shè)備,它連接在整個(gè)以太網(wǎng),與上層組態(tài)軟件,、網(wǎng)絡(luò)設(shè)備進(jìn)行信息交互,,實(shí)現(xiàn)控制系統(tǒng)的開放性和可互操作性;與下層各種協(xié)議模塊連接,、通信,,并實(shí)現(xiàn)對模塊的控制策略。EPA主控卡是依據(jù)EPA標(biāo)準(zhǔn)設(shè)計(jì)的,,對EPA的應(yīng)用推廣具有重要作用,。
Abstract:
Key words :
  EPA(Ethernet for Plant Automation)系統(tǒng)包括工作站、控制站,、網(wǎng)絡(luò)設(shè)備,、現(xiàn)場設(shè)備以及通信介質(zhì)等部分,而控制站是整個(gè)系統(tǒng)的核心,。最主要的硬件平臺(tái),,由EPA主控卡、I/O子系統(tǒng),、電源以及附屬設(shè)備等構(gòu)成,。EPA主控卡是控制站中的主要設(shè)備,它連接在整個(gè)以太網(wǎng),,與上層組態(tài)軟件,、網(wǎng)絡(luò)設(shè)備進(jìn)行信息交互,實(shí)現(xiàn)控制系統(tǒng)的開放性和可互操作性,;與下層各種協(xié)議模塊連接,、通信,并實(shí)現(xiàn)對模塊的控制策略,。EPA主控卡是依據(jù)EPA標(biāo)準(zhǔn)設(shè)計(jì)的,,對EPA的應(yīng)用推廣具有重要作用,。

  1 EPA主控卡功能介紹

  根據(jù)圖1所示的EPA系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)圖可知,,EPA主控卡是一個(gè)符合EPA協(xié)議的現(xiàn)場設(shè)備,它將和其他的EPA現(xiàn)場設(shè)備一樣,,參與整個(gè)EPA網(wǎng)絡(luò)組態(tài),、互操作、確定性調(diào)度等,。EPA主控卡是連接各種協(xié)議的底層設(shè)備,、I/O模塊與上層軟件的平臺(tái)。模塊和主控卡之間通過自定義的接口進(jìn)行數(shù)據(jù)交換,。因此,,主控卡需要實(shí)現(xiàn)以下基本功能:

a.JPG

  ①信息轉(zhuǎn)發(fā)功能。通過組態(tài)工作站完成信息的上載,、顯示,、處理、發(fā)布以及下載,。

 ?、谶^程測量與控制。主控卡向I/O,、總線模塊傳遞數(shù)據(jù)采集命令/控制信息,、這些模塊作為應(yīng)答向主控卡傳送的過程變量測量數(shù)據(jù)以及其狀態(tài)(好/壞)、設(shè)備狀態(tài)信息等,,并報(bào)告給監(jiān)控層網(wǎng)絡(luò),。

  ③管理功能,。實(shí)現(xiàn)對現(xiàn)場總線模塊,、I/O模塊的控制、管理,。在系統(tǒng)運(yùn)行過程中,,對控制區(qū)域的模塊進(jìn)行自動(dòng)識(shí)別、管理,,并為其分配地址,、空間,同時(shí)將新模塊設(shè)備描述信息向上層組態(tài)軟件報(bào)告,。

 ?、芸偩€供電。主控卡總線供電功能,,保證主控卡穩(wěn)定工作,。接入主控卡的線纜不僅能傳送數(shù)據(jù)信號(hào),還能給主控卡提供工作電源,。

  2 EPA主控卡硬件總體方案

  根據(jù)主控卡功能需求分析,,硬件部分主要有5大模塊:CPU控制模塊、以太網(wǎng)通信模塊,、USB主機(jī)模塊,、總線供電模塊以及存儲(chǔ)模塊。圖2為EPA主控卡硬件設(shè)計(jì)原理框圖,。其中CPU控制模塊主要實(shí)現(xiàn)特定網(wǎng)絡(luò)接口功能及執(zhí)行相關(guān)控制信息,;以太網(wǎng)PHY收發(fā)器KSZ8041NL和CPU內(nèi)部集成的以太網(wǎng)控制器一起組成以太網(wǎng)通信模塊,實(shí)現(xiàn)EPA主控卡的以太網(wǎng)接入和網(wǎng)絡(luò)信息數(shù)據(jù)傳輸,;

b.JPG

  USB模塊由CPU內(nèi)部集成的USB主機(jī)控制器和外圍電路構(gòu)成,,實(shí)現(xiàn)USB設(shè)備的熱插拔,、即插即用以及信息交換;總線供電模塊RJ45接口在提供數(shù)據(jù)通信的同時(shí)還為現(xiàn)場設(shè)備提供總線供電,;存儲(chǔ)模塊主要作為程序存儲(chǔ)空間和內(nèi)存,。結(jié)合CPU特性,以太網(wǎng)PHY收發(fā)器采用RMII連接,,存儲(chǔ)模塊通過總線連接,。

  2.1 ARM微處理器

  CPU選用基于ARM7TDMI—S核的微處理器LPC2478,其運(yùn)行頻率高達(dá)72 MHz,,具有高性能的32位RISC結(jié)構(gòu),、16位的指令集,具有低功耗等特點(diǎn),。它的內(nèi)部資源豐富,,包括1個(gè)10/100M以太網(wǎng)媒體訪問控制器(MAC)、1個(gè)帶4 KB終端RAM的USB全速設(shè)備/主機(jī)/OTG控制器,、4個(gè)U1AR-T,、1個(gè)SPI接口、512KB片上Flash程序存儲(chǔ)器,。同時(shí)還帶有1個(gè)4 MHz的片內(nèi)振蕩器,、98 KB RAM(包括64 KB局部SRAM、16 KB以太網(wǎng)SRAM)以及1個(gè)外部存儲(chǔ)器控制器(EMC)來支持上述的各種串行通信接口,。這些特性使得它非常適用于通信網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換器,,為多種類型的通信應(yīng)用提供了理想的解決方案。

  2.2 以太網(wǎng)PHY收發(fā)器

  KSZ8041NL是Micrel公司推出的第6代PHY(局域網(wǎng)接口)解決方案,。它具有功耗低,、體積小、波形穩(wěn)定,、價(jià)格便宜等特點(diǎn),。該芯片擁有150 mW的低電耗,以及6kV的針對快速以太網(wǎng)收發(fā)器的高靜電放電(Electro Static Discharge,,ESD)保護(hù)功能,。

  2.3 存儲(chǔ)模塊

  外部存儲(chǔ)器采用美國SST公司的SST39VF1601。這是一個(gè)1M×16位的CMOS多功能Flash(MPF)器件,,尤其適用于要求程序,、配置或數(shù)據(jù)存儲(chǔ)器方便和低成本的應(yīng)用,。對于所有的系統(tǒng),,SST39VF1601可以顯著增強(qiáng)系統(tǒng)的性能和可靠性,降低功耗,。

  內(nèi)存芯片(RAM)HY57V561620CLT—HI是一個(gè)32MB,、16位的CMOS同步DRAM,,它用于高帶寬大容量的主存儲(chǔ)器。HY57V561620CLT—HI的運(yùn)行與時(shí)鐘的高電平同步,,所有數(shù)據(jù)的輸入和輸出都與輸入時(shí)鐘的上升沿相同步,。數(shù)據(jù)通過內(nèi)部的管道來達(dá)到非常高的數(shù)據(jù)帶寬。所有的輸入和輸出電壓電平都和LVTTL電平相匹配,。

  2.4 USB主機(jī)模塊

  LPC2478內(nèi)部具有一個(gè)嵌入式USB主機(jī)控制器,,遵循OHCI(Open Host Controller Interface,開放式主機(jī)控制器接口)規(guī)范,。LPC2478的USB主機(jī)控制器結(jié)構(gòu)如圖3所示,。

c.JPG

  如圖3所示,整個(gè)USB主機(jī)控制器都掛接在AHB總線上,,內(nèi)核與USB主機(jī)控制器的數(shù)據(jù)交換通過DMA接口完成,,與USB寄存器的通信則通過寄存器接口來實(shí)現(xiàn)。該主機(jī)控制器具有兩路端口,,分別對應(yīng)著兩路LPC2478內(nèi)置的模擬收發(fā)器(ATX),。這兩路端口是完全一樣的,可以根據(jù)實(shí)際情況自由選擇,。

  2.5 電源模塊

  EPA控制器的電源通過以太網(wǎng)供電,,即以太網(wǎng)在數(shù)據(jù)傳輸?shù)耐瑫r(shí)輸送電源,避免系統(tǒng)因電源不穩(wěn)出現(xiàn)掉電的情況,。采用RJ45接口的4/5,、7/8作為電源和地傳輸線,數(shù)據(jù)收發(fā)1/2,、3/6一起構(gòu)成兩個(gè)雙絞線對,,存在同一網(wǎng)線內(nèi),減少了擾動(dòng),,增強(qiáng)了系統(tǒng)穩(wěn)定性,。供電輸入電壓DC-24 V,由于CPU內(nèi)核和以太網(wǎng)PHY收發(fā)器,、存儲(chǔ)器的工作電壓為3.3 V,,所以需要對輸入電壓進(jìn)行DC—DC轉(zhuǎn)換,以滿足系統(tǒng)需求,。

  2.6 調(diào)試模塊

  通過JTAG調(diào)試接口,,可以很方便對程序進(jìn)行跟蹤調(diào)試。通過通用的串口,,可以將調(diào)試信息打印到屏幕上,,給調(diào)試帶來了極大的方便。

  3 EPA主控卡驅(qū)動(dòng)軟件設(shè)計(jì)

  作為工業(yè)應(yīng)用產(chǎn)品,,需具有可靠性,、準(zhǔn)確性,、實(shí)時(shí)性要求。在EPA主控卡軟件開發(fā)過程中,,采用模塊化設(shè)計(jì)思想,,以減少程序間耦合,增強(qiáng)代碼的可移植性,、可讀性和可靠性,,同時(shí)也方便測試、維護(hù)和升級,。主控卡中軟件功能模塊的劃分如圖4所示,。圖中淺灰色模塊為待移植或待開發(fā)的模塊,深灰色模塊為已經(jīng)存在的模塊,,白色部分是本文將要實(shí)現(xiàn)的模塊,。

d.JPG

  3.1 以太網(wǎng)驅(qū)動(dòng)模塊

  此模塊包含3個(gè)部分:

  ①以太網(wǎng)模塊初始化,。此模塊主要完成PHY讀寫,、以太網(wǎng)SRAM分配、接收和發(fā)送緩沖區(qū)初始化,,以太網(wǎng)MAC的硬件設(shè)置,、寄存器設(shè)置、工作模式配置以及中斷配置等,。

 ?、谝蕴W(wǎng)接收數(shù)據(jù)。此模塊主要將緩沖區(qū)中數(shù)據(jù)讀取并保存到接收緩沖區(qū),,并通知上層協(xié)議軟件進(jìn)行處理,。數(shù)據(jù)包的接收由硬件自動(dòng)完成,在接收數(shù)據(jù)完成后產(chǎn)生中斷觸發(fā)接收任務(wù),。

 ?、垡蕴W(wǎng)發(fā)送數(shù)據(jù)。此模塊將上層協(xié)議(EPA協(xié)議,、UDP/IP協(xié)議)數(shù)據(jù)包封裝并拷貝到發(fā)送緩沖區(qū)中,,然后由以太網(wǎng)PHY收發(fā)器自動(dòng)完成數(shù)據(jù)發(fā)送。

  3.2 USB HOST驅(qū)動(dòng)模塊

  USB HOST驅(qū)動(dòng)設(shè)計(jì)是基于LPC2478內(nèi)部集成的嵌入式USB主機(jī)控制器的基礎(chǔ)上的,,該主機(jī)遵循OHCI規(guī)范,。USB HOST設(shè)計(jì)包含以下兩部分:

  ①OHCI規(guī)范的介紹,。此模塊介紹了OHCI工作范圍——HCD(主機(jī)控制器驅(qū)動(dòng))和HC(主機(jī)控制器),、數(shù)據(jù)傳輸類型、HCD和HC各自的任務(wù)以及HCD和HC之間接口HCCA。

 ?、赨SB HOST驅(qū)動(dòng)設(shè)計(jì)模塊,。此模塊實(shí)現(xiàn)硬件配置,、中斷配置和USB HOST協(xié)議設(shè)計(jì),。分為PDD(Plat-form-Dependent Driver,與硬件平臺(tái)相關(guān))層和MDD(Model Device Driver,,與硬件平臺(tái)無關(guān))層,。MDD主要包括HCD實(shí)現(xiàn)對HC的管理、根集線器的管理,、OHCI規(guī)范的數(shù)據(jù)結(jié)構(gòu)(ED/ TD/HCCA),、USB SRAM管理分配,USBD(USB核心驅(qū)動(dòng))實(shí)現(xiàn)USB協(xié)議的標(biāo)準(zhǔn)請求以及檢測到設(shè)備插入后完成設(shè)備的枚舉,。

  3.3 時(shí)鐘模塊

  實(shí)時(shí)時(shí)鐘是實(shí)時(shí)操作系統(tǒng)的時(shí)間基準(zhǔn),,沒有實(shí)時(shí)時(shí)鐘,也就不可能有實(shí)時(shí)系統(tǒng)的一切活動(dòng),。此模塊包含兩個(gè)部分:

 ?、傧到y(tǒng)時(shí)鐘模塊。對定時(shí)器0的寄存器進(jìn)行配置以及中斷配置,,使定時(shí)器0作為系統(tǒng)時(shí)鐘,。

  ②USB時(shí)鐘模塊,。對LPC2478內(nèi)部PLL(鎖相環(huán))寄存器和USB時(shí)鐘寄存器配置,,設(shè)置USB時(shí)鐘頻率,使LPC2478的USB主機(jī)控制器可以正常運(yùn)行,。

  3.4 操作系統(tǒng)

  嵌入式實(shí)時(shí)操作系統(tǒng)將復(fù)雜的軟件工程分解成多任務(wù),,簡化了軟件設(shè)計(jì),有助于提高系統(tǒng)穩(wěn)定性和可靠性,,也使系統(tǒng)實(shí)時(shí)性得到了保證,。考慮EPA主控卡中較多模塊實(shí)現(xiàn),,簡化主控卡軟件的設(shè)計(jì),,所以在EPA主控卡的軟件開發(fā)中使用μC/OS-II系統(tǒng)。μC/OS-II操作系統(tǒng)有著優(yōu)秀的穩(wěn)定性和可靠性,,它基于優(yōu)先級調(diào)度的多任務(wù),,絕大多數(shù)的函數(shù)調(diào)用和系統(tǒng)服務(wù)具有可確定性、獨(dú)立的任務(wù)棧等特點(diǎn),。

  4 主控卡以太網(wǎng)通信與USB驗(yàn)證

  4.1 以太網(wǎng)通信驗(yàn)證

  為測試和驗(yàn)證主控卡硬件電路和以太網(wǎng)驅(qū)動(dòng)的功能正確性,,搭建了測試平臺(tái),如圖5所示,。上位機(jī)起到監(jiān)控作用,,EPA集線器一端通過網(wǎng)絡(luò)和PC機(jī)相連,,一端連接若干EPA標(biāo)準(zhǔn)設(shè)備和EPA主控卡。

e.JPG

  以太網(wǎng)通信驗(yàn)證設(shè)備主要有:一臺(tái)PC機(jī),、一根9針的串口線,、一個(gè)帶總線供電的EPA集線器、一個(gè)JTAG調(diào)試器,、EPA主控卡,。EPA主控卡與PC機(jī)通過EPA集線器連接在同一局域網(wǎng)內(nèi),EPA主控卡的IP地址為192.168.1.2,,PC機(jī)的IP地址為192.168.1.161,。

  ICMP是Internet控制報(bào)文協(xié)議,它是TCP/IP協(xié)議簇的一個(gè)子協(xié)議,,用于在IP主機(jī),、路由器之間傳遞控制消息??刂葡⑹侵妇W(wǎng)絡(luò)通不通,、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息,。ICMP是一個(gè)“錯(cuò)誤偵測與回報(bào)機(jī)制”,,其目的就是檢測網(wǎng)路的連線狀況,也能確保連線的準(zhǔn)確性,。通過ICMP的回顯請求和回顯應(yīng)答報(bào)文組合可以確定PC機(jī)和EPA主控卡能否彼此通信,。

  4.2 USB Host驅(qū)動(dòng)驗(yàn)證

  USB Host驅(qū)動(dòng)驗(yàn)證設(shè)備主要有:1臺(tái)PC機(jī)、1根9針的串口線,、1個(gè)JTAG調(diào)試器,、EPA主控卡、USB設(shè)備(U盤),。

  為驗(yàn)證硬件USB接口和軟件USB Host的正確性,,需要選定USB設(shè)備,并為這個(gè)設(shè)備編寫USB主機(jī)驅(qū)動(dòng)程序,。本文中選用了常用移動(dòng)存儲(chǔ)設(shè)備——U盤,。在編寫好U盤驅(qū)動(dòng)后,通過JTAG調(diào)試器將USB Host下載到主控卡中,,并將主控卡串口0與PC機(jī)串口相連,,開啟超級終端,然后將U盤插入主控卡主機(jī)端口,。在U盤插入主控卡以后,,開始對U盤枚舉。枚舉成功以后,往U盤內(nèi)寫入數(shù)據(jù),,然后從U盤讀出數(shù)據(jù)并對讀寫數(shù)據(jù)進(jìn)行比較,,所有的枚舉信息、讀寫信息都通過超級終端打印出來,。在U盤讀寫完成以后,,將U盤插入電腦,在電腦上讀出U盤數(shù)據(jù),,再次驗(yàn)證主控卡USB主機(jī)的功能正確性,。

  結(jié)語

  EPA標(biāo)準(zhǔn)成功進(jìn)入國際標(biāo)準(zhǔn),,為我國工業(yè)自動(dòng)化發(fā)展帶來新的際遇,,產(chǎn)生了巨大的社會(huì)效益。本文提出針對EPA主控卡的系統(tǒng)結(jié)構(gòu),,并對主控卡進(jìn)行功能需求分析,,然后對主控卡硬件和軟件進(jìn)行了總體設(shè)計(jì)以及軟件功能模塊劃分,為EPA的推廣與應(yīng)用打下堅(jiān)實(shí)基礎(chǔ),。



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。