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