1、車速性能簡介
是電控 的關鍵部件,其性能優劣直接關系到發動機怠速和變速器控制,因此,必須對其各項性能進行全面嚴格的測試。而這一系列的性能測試又有賴于一個穩定、高效的測試平臺。傳統測試平臺通常采用由測試設備、測試操作臺計算機和后臺管理計算機組成的三級系統結構,如圖1所示。
在此測試平臺中,測試設備一般只提供串行通信接口(如RS-232、RS- 等),無法直接接入管理計算機所在局域網(如最常用的Ethernet)。所以,整個系統必須通過一個測試操作臺計算機將上層局域網和底層串行 網絡連接起來以保證實測數據(各項性能指標數據)的順利上傳和測試操作命令(如車速 耐溫測試、動/靜態特性測試)的準確下達。為此不但要增設測試操作臺計算機工作站,同時還必須安裝各種 通信卡、 網卡和相應的板卡驅動程序,開發包含串行口通信模塊和以太網通信模塊的測控軟件。由此可見,由于通信接口和協議的不兼容,使得傳統車速傳感器性能測試平臺不僅軟硬件投資成本高,系統結構復雜,調試和維護工作量大,而且管理計算機和測試設備間的數據傳輸要經過中轉,傳輸過程顯得過于復雜。
2、 基于串行口- 的測試平臺
通過對圖1所示測試平臺的研究,發現造成系統平臺成本高、結構復雜、中間處理過程繁多的根本原因是底層各測試設備和上層局域網通信接口、協議的不兼容。一般來說,底層測試設備需傳輸的數據量很小,大多只提供通信距離短、成本低的串行口(如RS-232、RS-485);而上層的局域網大多采用以太網。所以針對此類應用,可以開發一種基于微處理器的 串行口-以太網橋實現協議轉換,直接將各種僅支持串行口的測試設備接入以太網,實現各測試設備與管理計算機局域網的無縫連接,簡化數據傳輸過程。
引入 串行口-以太網橋后的車速傳感器性能測試平臺結構如圖2所示。
相比圖1所示的傳統測試平臺,新測試平臺下的串行口-以太網橋負責完成串行口測試設備和以太網之間的協議轉換(即在底層完成串行幀數據和以太網幀數據的格式轉換),實現了各測試設備和以太網的無縫連接,簡化了數據傳輸過程。測試人員可以在遠端通過上層管理計算機直接下達各種測試命令來控制各測試設備完成傳感器各項性能指標的測試;而各項實測數據也能從各測試設備直接傳送到后臺管理計算機進行處理;從而使后臺管理計算機能以多任務方式同時完成前臺測試設備控制和后臺數據處理(如數據報表統計分析,圖形曲線顯示和數據庫更新),成為平臺中的管控一體化工作站,省去了原平臺中的測試操作臺計算機工作站,測試人員也不必再親臨現場進行各種測試操作,極大地降低了工作強度。這樣一來,不僅使系統成本大為降低、體積大為縮小、結構更加簡單,同時將前臺測試控制和后臺數據處理集中于一臺計算機,實現了管控一體化,節省了人力資源,使得系統的軟硬件資源得到了最大限度的利用。
3、 串行口-以太網橋設計
通過新舊測試平臺對比,可以看到測試設備和后臺管理計算機兩大部件在性能和成本上基本相同。所以新測試平臺的性能好壞和成本高低很大程度上取決于新引入的嵌入式串行口-以太網橋的性能和成本。目前嵌入式產品市場上此類網絡設備大多是基于高檔微處理器和實時操作系統開發的,其價格昂貴,且提供的串行口也只有1~2個,不適合需將多個串行口設備集中接人以太網,同時又要控制成本的應用場合。本文根據這類具體的應用需求在8位 平臺上設計了一種提供多個串行口的低成本嵌入式串行口-以太網橋。下面對其硬件和軟件系統設計進行介紹。
3.1 硬件系統設計
實現本系統所用串行口-以太網橋的功能,需要進行多個串行口設備的以太網接人,以及串行通信協議和以太網通信協議的相互轉換。所以硬件 設計主要包括多路串行口電路模塊和以太網接口電路模塊設計。本文硬件系統方案選用ST公司的工業級 型微控制器μPSD3254和Realtek公司的高性能以太網控制器RTL8019AS兩大核心器件進行 。硬件系統設計如圖3所示。
其中μPSD3254是一款由8051內核模塊和PSD模塊構成的具有SoC特征的增強型高速微控制器。晶振頻率最高可達40MHz,芯片內的PSD模塊為用戶提供了豐富的可配置存儲器資源(256KB主Flash、32KB次Flash及32KB的SRAM)、靈活的DPLD地址譯碼電路以及3000門的 模塊電路,片內硬件 大大提高了系統可靠性,芯片自帶JTAG接口支持ISP在系統編程,方便了程序調試和下載;而RTL8019AS是一款非常成熟的基于ISA 、NE2000兼容的高性價比10M以太網控制器,其本身能完成以太網協議處理,只需和微控制器進行簡單連接即可實現以太網通信;另外硬件電路還包括MAX232電平轉換器和20F001N網絡 等少數外圍器件。整個硬件系統僅由4、5個芯片構成,結構簡單緊湊,可靠性高,成本低廉。下面從三方面給出硬件電路的具體設計。
3.1.1 PSD模塊配置設計
微控制器μPSD3254的PSD模塊使得硬件電路的設計大為簡化。它本身提供的兩塊大容量Flash以及SRAM(支持后備電池)使用戶無需再進行外部程序/數據存儲器擴展。同時PSD模塊中的DPLD子模塊為Flash和SRAM提供了靈活的地址譯碼,CPLD子模塊可供用戶設計一些簡單的組合/時序邏輯電路。本設計根據具體應用需求,對PSD模塊配置如下:
(1) 主Flash扇區0(fs0)配置在 的0000H~FFFFH空間;
(2) 主Flash扇區1(fsl)配置在程序存儲器的8000H~7FFFH空間;
(3) SRAM(rs0)配置在外部數據存儲器的0000H~7FFFH空間;
(4) CPLD的PA口和PB口被分別設計為兩個多路轉換器,以供串行通信時進行信道切換。
3.1.2 串行口擴展設計
由圖2可知,車速傳感器性能測試平臺中四個僅支持串行口的測試設備(分別負責耐溫、轉速、傳感器靜態特性和動態特性的測試)要同時接人嵌入式串行口-以太網橋,而微控制器μPSD3254本身只提供兩個串行口( 0、uart1),所以必須進行串行口擴展。一種簡單的擴展方法是利用 I/O端口控制多路轉換器(如CD4052)進行串行口擴展(圖3),實現了一點對多點分時串行口通信。根據微控制器μPSD3254的I/O端口資源情況,依此方法系統最多可擴展32個串行口。根據此思路并結合測試平臺的具體應用需求,利用μPSD3254的CPLD模塊設計了兩個二選一的多路轉換器,從而不僅將兩個串行口擴展為四個(uart00、uart01和uart10、uart11),而且省去了多路轉換器芯片。另外,電平轉換器實現TTL—RS232電平轉換,這樣就為四個測試設備提供了四個標準RS-232串行口供其接入串行口-以太網橋。
3.1.3 以太網
以太網接口是硬件電路設計的關鍵。因為RTL8019AS是基于ISA總線PC主板的以太網控制器,所以在和8位微控制器進行接口(見圖3)時其硬件電路與通用方式有很大不同。下面從RTL8019AS以太網控制器自身功能配置、與微控制器μPSD3254之間的總線接口及與網絡介質的接口等三方面給出具體電路設計。
(1) RTL8019AS功能管腳設置
RTL8019AS提供3種工作方式:PnP即插即用方式、免跳線方式和跳線方式。由于8位微控制器μPSD3254無法支持PnP工作方式,而免跳線方式又需外加專用串行E2PROM 93C46以存放相應的工作參數,因此選擇跳線工作方式。在這種方式下RTL8019AS的中斷、I/O端口地址、網絡 選擇等就完全取決于表1所示功能管腳的狀態。
JP腳接高電平使芯片工作于跳線方式,IOCS16B腳接低電平選8位數據總線,IRQS0~IRQS2接低電平選INT0為中斷請求源,IOS0~IOS3接低電平選芯片I/O端口基地址為300H,AUI、PL0、PL1接低電平分別選。BNC網絡接口和10Base-T雙絞線傳輸介質,SMEMRB/SMEMWB接高電平屏蔽BROM讀寫操作。
(2) RTL8019AS與微控制器的總線接口
RTL8019AS與微控制器的接口連接如圖4所示。
針對以上總線接口還有幾點說明:①由于在8位微處理器系統中,只需操作RTL8019AS的32個I/O端口地址,所以只需5根地址線進行譯碼,其余15根地址線要根據I/O端口基地址接固定電平。②AEN使能端為低電平有效,而PC7的內部邏輯方程為PC7=A15,所以RTL8019AS映射到μPSD3254外部數據區的地址范圍是8000H~FFFFH,這樣μPSD3254通過讀寫外部數據區的此地址范圍就能實現對RTL8019AS的讀寫。③由于RTL8019AS的處理速度比μPSD3254快很多,其內部數據緩沖區也相對較大,為了避免RTL8019AS每收到一幀數據就發出中斷請求,從而頻繁地打斷處理器,所以μPSD3254以查詢而非中斷方式讀寫RTL8019AS以太網控制器。④RTL8019AS在復位時要進行一系列內部寄存器操作,所以用 的P3.7端口控制其復位,以保證有足夠的復位時間。
(3) 網絡介質接口連接
由于RTL8019AS內部已集成以太網 ,而且對外提供AUI(支持粗同軸電纜)和BNC(支持細同軸電纜和雙絞線)兩種網絡介質接口,所以本方案選擇較常用的BNC接口,這樣就只需再外加一個網絡 20F001N和RJ45水晶頭插座即可解決網絡介質接口問題。
3.2 軟件系統設計
由于整個網橋的底層功能(如以太網協議實現)已由硬件電路完成(見圖4),所以在軟件上只需完成RTL8019AS驅動、精簡TCP/IP協議棧實現、用戶自定義應用層處理以及串行口通信等功能。為了便于軟件功能的實現和擴充,軟件系統采用模塊化方法進行設計。
3.2.1 RTL8019AS驅動模塊
此模塊設計依賴于RTL8019AS的硬件工作原理,即對RTL8019AS的驅動是通過操作其內部寄存器組來完成的。通常,在進行數據收發前需先向各寄存器寫入相應的控制字,當發送以太網數據幀時,微控制器μPSD3254通過RTL8019AS的I/O端口將打包好的數據以遠程DMA方式寫入到RTL8019AS的內部數據發送緩沖區,然后啟動發送;接收以太網數據幀時,RTL8019AS會自動接收數據并將其存人自己的內部數據接收緩沖區,然后以寄存器標志或中斷請求方式通知μPSD3254,μPSD3254再通過RTL8019AS的I/O端口將數據以遠程DMA方式讀到自己的數據緩沖區并進行下一步的拆包處理?;谝陨戏治觯琑TL8019AS驅動程序分三部分設計,即芯片初始化(設置MAC地址、收發緩沖區大小、中斷等)、發送數據子程序和接收數據子程序。詳細的驅動程序見文獻[3]。
3.2.2 精簡TCP/IP協議棧模塊設計
此模塊負責TCP/IP協議的處理。由于以太網協議只規定了物理層和數據鏈路層,所以要想實現進程間通信還必須實現上層的TCP/IP協議。但此協議非常復雜,而且很多功能都是針對PC平臺的應用,在 中根本用不上;另外,8位微控制器的處理能力和內存空間也使得在其上實現完整的TCP/IP協議根本不可能。因此,在8位機上用軟件實現TCP/IP協議時首先必須根據應用需求對整個協議棧進行裁剪。在本應用中,由于只需要在串行口和以太網間進行簡單的測試數據和測試命令傳輸,所以在應用層采用了自定義協議,在傳輸層選擇了能保證可靠性的TCP協議并進行了有針對性的TCP協議機制裁剪,而在網絡層只實現了不提供分片和路由功能的IP協議、測試網絡連通性所需的ICMP協議(僅支持Ping應答)以及提供IP地址到以太網地址(MAC地址)映射的ARP協議。這樣,就得到了一個能在低檔8位機上實現和運行的精簡TCP/IP協議棧。此協議棧從物理層到應用層的完整結構如圖5所示。
3.2.3 應用程序模塊設計
應用程序模塊直接面向用戶需求提供相應服務。本設計中,根據整個軟件模塊的功能劃分,應用程序需要完成串行口通信處理及串行幀和IP分組的格式轉換。由于嵌入式串行口-以太網橋的TCP/IP協議棧傳輸層選擇了保證數據傳輸可靠性的TCP協議(向應用層提供流式套接字接口),所以應用程序無需再進行超時重發和回傳確認處理,僅需要完成串行口的數據收發操作以及串行數據幀和IP分組的格式轉換。進行串行數據幀和IP分組的格式轉換時使用了共享數據緩沖區和指針技術以避免協議分層間的數據拷貝,不僅節省了內存空間,而且大大提高了打包和拆包的處理速度;另外,由于串行口設備每次需傳輸的數據量很小,所以四個串行口緩沖區的數據采用集中打包、一次發送的方法減少了網絡訪問次數,既提高了通信效率又避免了因頻繁短幀傳輸造成的網絡擁堵;最后應用程序模塊還提供了嵌入式串行口-以太網橋的串行門屬性配置功能,用戶可根據各測試設備串行口的具體屬性,在管控計算機上通過以太網對網橋的各串行口收發數據緩沖區以及波特率進行遠程動態設置,從而極大地提高了網橋的適應性。
實驗證明,本文提出的嵌入式串行口-以太網橋應用于車速傳感器性能測試平臺,不但能完全滿足測試平臺的通信要求,還具有成本低、體積小、可靠性高等優點。同時在此網橋的硬件平臺上,只要針對具體應用需求對應用程序模塊稍作修改就可應用于其他汽車傳感器性能測試平臺(如輪速傳感器性能測試平臺)以及溫室、環保、氣象等需要遠程監測的場合。因而該串行口-以太網橋具有很強的適應性和很高的推廣應用價值。
責任編輯:gt
評論
查看更多