1 EPA主控卡功能介紹
根據(jù)圖1所示的EPA系統(tǒng)網(wǎng)絡(luò)拓撲結(jié)圖可知,EPA主控卡是一個符合EPA協(xié)議的現(xiàn)場設(shè)備,,它將和其他的EPA現(xiàn)場設(shè)備一樣,,參與整個EPA網(wǎng)絡(luò)組態(tài)、互操作,、確定性調(diào)度等,。EPA主控卡是連接各種協(xié)議的底層設(shè)備、I/O模塊與上層軟件的平臺,。模塊和主控卡之間通過自定義的接口進行數(shù)據(jù)交換,。因此,主控卡需要實現(xiàn)以下基本功能:
?、傩畔⑥D(zhuǎn)發(fā)功能,。通過組態(tài)工作站完成信息的上載、顯示,、處理,、發(fā)布以及下載。
?、谶^程測量與控制,。主控卡向I/O、總線模塊傳遞數(shù)據(jù)采集命令/控制信息,、這些模塊作為應答向主控卡傳送的過程變量測量數(shù)據(jù)以及其狀態(tài)(好/壞),、設(shè)備狀態(tài)信息等,并報告給監(jiān)控層網(wǎng)絡(luò),。
?、酃芾砉δ堋崿F(xiàn)對現(xiàn)場總線模塊,、I/O模塊的控制、管理,。在系統(tǒng)運行過程中,,對控制區(qū)域的模塊進行自動識別、管理,,并為其分配地址,、空間,同時將新模塊設(shè)備描述信息向上層組態(tài)軟件報告,。
?、芸偩€供電,。主控卡總線供電功能,保證主控卡穩(wěn)定工作,。接入主控卡的線纜不僅能傳送數(shù)據(jù)信號,,還能給主控卡提供工作電源。
2 EPA主控卡硬件總體方案
根據(jù)主控卡功能需求分析,,硬件部分主要有5大模塊:CPU控制模塊,、以太網(wǎng)通信模塊、USB主機模塊,、總線供電模塊以及存儲模塊,。圖2為EPA主控卡硬件設(shè)計原理框圖。其中CPU控制模塊主要實現(xiàn)特定網(wǎng)絡(luò)接口功能及執(zhí)行相關(guān)控制信息,;以太網(wǎng)PHY收發(fā)器KSZ8041NL和CPU內(nèi)部集成的以太網(wǎng)控制器一起組成以太網(wǎng)通信模塊,,實現(xiàn)EPA主控卡的以太網(wǎng)接入和網(wǎng)絡(luò)信息數(shù)據(jù)傳輸;
USB模塊由CPU內(nèi)部集成的USB主機控制器和外圍電路構(gòu)成,,實現(xiàn)USB設(shè)備的熱插拔,、即插即用以及信息交換;總線供電模塊RJ45接口在提供數(shù)據(jù)通信的同時還為現(xiàn)場設(shè)備提供總線供電,;存儲模塊主要作為程序存儲空間和內(nèi)存,。結(jié)合CPU特性,以太網(wǎng)PHY收發(fā)器采用RMII連接,,存儲模塊通過總線連接,。
2.1 ARM微處理器
CPU選用基于ARM7TDMI—S核的微處理器LPC2478,其運行頻率高達72 MHz,,具有高性能的32位RISC結(jié)構(gòu),、16位的指令集,具有低功耗等特點,。它的內(nèi)部資源豐富,,包括1個10/100M以太網(wǎng)媒體訪問控制器(MAC)、1個帶4 KB終端RAM的USB全速設(shè)備/主機/OTG控制器,、4個U1AR-T,、1個SPI接口、512KB片上Flash程序存儲器,。同時還帶有1個4 MHz的片內(nèi)振蕩器,、98 KB RAM(包括64 KB局部SRAM、16 KB以太網(wǎng)SRAM)以及1個外部存儲器控制器(EMC)來支持上述的各種串行通信接口,。這些特性使得它非常適用于通信網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換器,,為多種類型的通信應用提供了理想的解決方案。
2.2 以太網(wǎng)PHY收發(fā)器
KSZ8041NL是Micrel公司推出的第6代PHY(局域網(wǎng)接口)解決方案,。它具有功耗低,、體積小,、波形穩(wěn)定、價格便宜等特點,。該芯片擁有150 mW的低電耗,,以及6kV的針對快速以太網(wǎng)收發(fā)器的高靜電放電(Electro Static Discharge,ESD)保護功能,。
2.3 存儲模塊
外部存儲器采用美國SST公司的SST39VF1601,。這是一個1M×16位的CMOS多功能Flash(MPF)器件,尤其適用于要求程序,、配置或數(shù)據(jù)存儲器方便和低成本的應用,。對于所有的系統(tǒng),SST39VF1601可以顯著增強系統(tǒng)的性能和可靠性,,降低功耗,。
內(nèi)存芯片(RAM)HY57V561620CLT—HI是一個32MB、16位的CMOS同步DRAM,,它用于高帶寬大容量的主存儲器,。HY57V561620CLT—HI的運行與時鐘的高電平同步,所有數(shù)據(jù)的輸入和輸出都與輸入時鐘的上升沿相同步,。數(shù)據(jù)通過內(nèi)部的管道來達到非常高的數(shù)據(jù)帶寬,。所有的輸入和輸出電壓電平都和LVTTL電平相匹配。
2.4 USB主機模塊
LPC2478內(nèi)部具有一個嵌入式USB主機控制器,,遵循OHCI(Open Host Controller Interface,,開放式主機控制器接口)規(guī)范。LPC2478的USB主機控制器結(jié)構(gòu)如圖3所示,。
如圖3所示,,整個USB主機控制器都掛接在AHB總線上,內(nèi)核與USB主機控制器的數(shù)據(jù)交換通過DMA接口完成,,與USB寄存器的通信則通過寄存器接口來實現(xiàn),。該主機控制器具有兩路端口,分別對應著兩路LPC2478內(nèi)置的模擬收發(fā)器(ATX),。這兩路端口是完全一樣的,,可以根據(jù)實際情況自由選擇。
2.5 電源模塊
EPA控制器的電源通過以太網(wǎng)供電,,即以太網(wǎng)在數(shù)據(jù)傳輸?shù)耐瑫r輸送電源,,避免系統(tǒng)因電源不穩(wěn)出現(xiàn)掉電的情況。采用RJ45接口的4/5,、7/8作為電源和地傳輸線,數(shù)據(jù)收發(fā)1/2,、3/6一起構(gòu)成兩個雙絞線對,,存在同一網(wǎng)線內(nèi),,減少了擾動,增強了系統(tǒng)穩(wěn)定性,。供電輸入電壓DC-24 V,,由于CPU內(nèi)核和以太網(wǎng)PHY收發(fā)器、存儲器的工作電壓為3.3 V,,所以需要對輸入電壓進行DC—DC轉(zhuǎn)換,,以滿足系統(tǒng)需求。
2.6 調(diào)試模塊
通過JTAG調(diào)試接口,,可以很方便對程序進行跟蹤調(diào)試,。通過通用的串口,可以將調(diào)試信息打印到屏幕上,,給調(diào)試帶來了極大的方便,。
3 EPA主控卡驅(qū)動軟件設(shè)計
作為工業(yè)應用產(chǎn)品,需具有可靠性,、準確性,、實時性要求。在EPA主控卡軟件開發(fā)過程中,,采用模塊化設(shè)計思想,,以減少程序間耦合,增強代碼的可移植性,、可讀性和可靠性,,同時也方便測試、維護和升級,。主控卡中軟件功能模塊的劃分如圖4所示,。圖中淺灰色模塊為待移植或待開發(fā)的模塊,深灰色模塊為已經(jīng)存在的模塊,,白色部分是本文將要實現(xiàn)的模塊,。
3.1 以太網(wǎng)驅(qū)動模塊
此模塊包含3個部分:
①以太網(wǎng)模塊初始化,。此模塊主要完成PHY讀寫,、以太網(wǎng)SRAM分配、接收和發(fā)送緩沖區(qū)初始化,,以太網(wǎng)MAC的硬件設(shè)置,、寄存器設(shè)置、工作模式配置以及中斷配置等,。
?、谝蕴W(wǎng)接收數(shù)據(jù)。此模塊主要將緩沖區(qū)中數(shù)據(jù)讀取并保存到接收緩沖區(qū),并通知上層協(xié)議軟件進行處理,。數(shù)據(jù)包的接收由硬件自動完成,,在接收數(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ā)器自動完成數(shù)據(jù)發(fā)送,。
3.2 USB HOST驅(qū)動模塊
USB HOST驅(qū)動設(shè)計是基于LPC2478內(nèi)部集成的嵌入式USB主機控制器的基礎(chǔ)上的,該主機遵循OHCI規(guī)范,。USB HOST設(shè)計包含以下兩部分:
?、貽HCI規(guī)范的介紹。此模塊介紹了OHCI工作范圍——HCD(主機控制器驅(qū)動)和HC(主機控制器),、數(shù)據(jù)傳輸類型,、HCD和HC各自的任務(wù)以及HCD和HC之間接口HCCA。
?、赨SB HOST驅(qū)動設(shè)計模塊,。此模塊實現(xiàn)硬件配置、中斷配置和USB HOST協(xié)議設(shè)計,。分為PDD(Plat-form-Dependent Driver,,與硬件平臺相關(guān))層和MDD(Model Device Driver,與硬件平臺無關(guān))層,。MDD主要包括HCD實現(xiàn)對HC的管理,、根集線器的管理、OHCI規(guī)范的數(shù)據(jù)結(jié)構(gòu)(ED/ TD/HCCA),、USB SRAM管理分配,,USBD(USB核心驅(qū)動)實現(xiàn)USB協(xié)議的標準請求以及檢測到設(shè)備插入后完成設(shè)備的枚舉。
3.3 時鐘模塊
實時時鐘是實時操作系統(tǒng)的時間基準,,沒有實時時鐘,,也就不可能有實時系統(tǒng)的一切活動。此模塊包含兩個部分:
?、傧到y(tǒng)時鐘模塊,。對定時器0的寄存器進行配置以及中斷配置,使定時器0作為系統(tǒng)時鐘,。
?、赨SB時鐘模塊。對LPC2478內(nèi)部PLL(鎖相環(huán))寄存器和USB時鐘寄存器配置,,設(shè)置USB時鐘頻率,,使LPC2478的USB主機控制器可以正常運行,。
3.4 操作系統(tǒng)
嵌入式實時操作系統(tǒng)將復雜的軟件工程分解成多任務(wù),簡化了軟件設(shè)計,,有助于提高系統(tǒng)穩(wěn)定性和可靠性,,也使系統(tǒng)實時性得到了保證??紤]EPA主控卡中較多模塊實現(xiàn),簡化主控卡軟件的設(shè)計,,所以在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ù)具有可確定性,、獨立的任務(wù)棧等特點。
4 主控卡以太網(wǎng)通信與USB驗證
4.1 以太網(wǎng)通信驗證
為測試和驗證主控卡硬件電路和以太網(wǎng)驅(qū)動的功能正確性,,搭建了測試平臺,,如圖5所示。上位機起到監(jiān)控作用,,EPA集線器一端通過網(wǎng)絡(luò)和PC機相連,,一端連接若干EPA標準設(shè)備和EPA主控卡。
以太網(wǎng)通信驗證設(shè)備主要有:一臺PC機,、一根9針的串口線,、一個帶總線供電的EPA集線器、一個JTAG調(diào)試器,、EPA主控卡,。EPA主控卡與PC機通過EPA集線器連接在同一局域網(wǎng)內(nèi),EPA主控卡的IP地址為192.168.1.2,,PC機的IP地址為192.168.1.161,。
ICMP是Internet控制報文協(xié)議,它是TCP/IP協(xié)議簇的一個子協(xié)議,,用于在IP主機,、路由器之間傳遞控制消息??刂葡⑹侵妇W(wǎng)絡(luò)通不通,、主機是否可達、路由是否可用等網(wǎng)絡(luò)本身的消息,。ICMP是一個“錯誤偵測與回報機制”,,其目的就是檢測網(wǎng)路的連線狀況,也能確保連線的準確性,。通過ICMP的回顯請求和回顯應答報文組合可以確定PC機和EPA主控卡能否彼此通信,。
4.2 USB Host驅(qū)動驗證
USB Host驅(qū)動驗證設(shè)備主要有:1臺PC機,、1根9針的串口線、1個JTAG調(diào)試器,、EPA主控卡,、USB設(shè)備(U盤)。
為驗證硬件USB接口和軟件USB Host的正確性,,需要選定USB設(shè)備,,并為這個設(shè)備編寫USB主機驅(qū)動程序。本文中選用了常用移動存儲設(shè)備——U盤,。在編寫好U盤驅(qū)動后,,通過JTAG調(diào)試器將USB Host下載到主控卡中,并將主控卡串口0與PC機串口相連,,開啟超級終端,,然后將U盤插入主控卡主機端口。在U盤插入主控卡以后,,開始對U盤枚舉,。枚舉成功以后,往U盤內(nèi)寫入數(shù)據(jù),,然后從U盤讀出數(shù)據(jù)并對讀寫數(shù)據(jù)進行比較,,所有的枚舉信息、讀寫信息都通過超級終端打印出來,。在U盤讀寫完成以后,,將U盤插入電腦,在電腦上讀出U盤數(shù)據(jù),,再次驗證主控卡USB主機的功能正確性,。
結(jié)語
EPA標準成功進入國際標準,為我國工業(yè)自動化發(fā)展帶來新的際遇,,產(chǎn)生了巨大的社會效益,。本文提出針對EPA主控卡的系統(tǒng)結(jié)構(gòu),并對主控卡進行功能需求分析,,然后對主控卡硬件和軟件進行了總體設(shè)計以及軟件功能模塊劃分,,為EPA的推廣與應用打下堅實基礎(chǔ)。