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