基于串行口-以太網(wǎng)橋的車速傳感器測試平臺
3 串行口-以太網(wǎng)橋設(shè)計(jì)
通過新舊測試平臺對比,可以看到測試設(shè)備和后臺管理計(jì)算機(jī)兩大部件在性能和成本上基本相同。所以新測試平臺的性能好壞和成本高低很大程度上取決于新引入的嵌入式串行口-以太網(wǎng)橋的性能和成本。目前嵌入式產(chǎn)品市場上此類網(wǎng)絡(luò)設(shè)備大多是基于高檔微處理器和實(shí)時(shí)操作系統(tǒng)開發(fā)的,其價(jià)格昂貴,且提供的串行口也只有1~2個(gè),不適合需將多個(gè)串行口設(shè)備集中接入以太網(wǎng),同時(shí)又要控制成本的應(yīng)用場合。本文根據(jù)這類具體的應(yīng)用需求在8位微控制器平臺上設(shè)計(jì)了一種提供多個(gè)串行口的低成本嵌入式串行口-以太網(wǎng)橋。下面對其硬件和軟件系統(tǒng)設(shè)計(jì)進(jìn)行介紹。
3.1 硬件系統(tǒng)設(shè)計(jì)
實(shí)現(xiàn)本系統(tǒng)所用串行口-以太網(wǎng)橋的功能,需要進(jìn)行多個(gè)串行口設(shè)備的以太網(wǎng)接入,以及串行通信協(xié)議和以太網(wǎng)通信協(xié)議的相互轉(zhuǎn)換。所以硬件電路設(shè)計(jì)主要包括多路串行口電路模塊和以太網(wǎng)接口電路模塊設(shè)計(jì)。本文硬件系統(tǒng)方案選用ST公司的工業(yè)級SoC型微控制器uPSD3254和Realtek公司的高性能以太網(wǎng)控制器RTL8019AS兩大核心器件進(jìn)行電路設(shè)計(jì)。硬件系統(tǒng)設(shè)計(jì)如圖3所示。
其中是一款由8051內(nèi)核模塊和PSD模塊構(gòu)成的具有SoC特征的增強(qiáng)型高速微控制器。晶振頻率最高可達(dá)40MHz,芯片內(nèi)的PSD模塊為用戶提供了豐富的可配置存儲器資源(256KB主Flash、32KB次Flash及32KB的SRAM)、靈活的DPLD地址譯碼電路以及3000門的CPLD模塊電路,片內(nèi)硬件看門狗大大提高了系統(tǒng)可靠性,芯片自帶JTAG接口支持ISP在系統(tǒng)編程,方便了程序調(diào)試和下載;而RTL8019AS是一款非常成熟的基于ISA總線、NE2000兼容的高性價(jià)比10M以太網(wǎng)控制器,其本身能完成以太網(wǎng)協(xié)議處理,只需和微控制器進(jìn)行簡單連接即可實(shí)現(xiàn)以太網(wǎng)通信;另外硬件電路還包括MAX232電平轉(zhuǎn)換器和20F001N網(wǎng)絡(luò)濾波器等少數(shù)外圍器件。整個(gè)硬件系統(tǒng)僅由4、5個(gè)芯片構(gòu)成,結(jié)構(gòu)簡單緊湊,可靠性高,成本低廉。下面從三方面給出硬件電路的具體設(shè)計(jì)。
3.1.1 PSD模塊配置設(shè)計(jì)
微控制器uPSD3254的PSD模塊使得硬件電路的設(shè)計(jì)大為簡化。它本身提供的兩塊大容量Flash以及SRAM(支持后備電池)使用戶無需再進(jìn)行外部程序/數(shù)據(jù)存儲器擴(kuò)展。同時(shí)PSD模塊中的DPLD子模塊為Flash和SRAM提供了靈活的地址譯碼, CPLD子模塊可供用戶設(shè)計(jì)一些簡單的組合/時(shí)序邏輯電路。本設(shè)計(jì)根據(jù)具體應(yīng)用需求,對PSD模塊配置如下:
(1)主Flash扇區(qū)0(fs0)配置在程序存儲器的0000H~FFFFH空間;
(2)主Flash扇區(qū)1(fs1)配置在程序存儲器的8000H~7FFFH空間;
(3)SRAM(rs0)配置在外部數(shù)據(jù)存儲器的0000H~7FFFH空間;
(4)CPLD的PA口和PB口被分別設(shè)計(jì)為兩個(gè)多路轉(zhuǎn)換器,以供串行通信時(shí)進(jìn)行信道切換。
3.1.2 串行口擴(kuò)展設(shè)計(jì)
由圖2可知,車速傳感器性能測試平臺中四個(gè)僅支持串行口的測試設(shè)備(分別負(fù)責(zé)耐溫、轉(zhuǎn)速、傳感器靜態(tài)特性和動態(tài)特性的測試)要同時(shí)接入嵌入式串行口-以太網(wǎng)橋,而微控制器?滋PSD3254本身只提供兩個(gè)串行口(uart0、uart1),所以必須進(jìn)行串行口擴(kuò)展。一種簡單的擴(kuò)展方法是利用單片機(jī)I/O端口控制多路轉(zhuǎn)換器(如CD4052)進(jìn)行串行口擴(kuò)展(圖3),實(shí)現(xiàn)了一點(diǎn)對多點(diǎn)分時(shí)串行口通信。根據(jù)微控制器的I/O端口資源情況,依此方法系統(tǒng)最多可擴(kuò)展32個(gè)串行口。根據(jù)此思路并結(jié)合測試平臺的具體應(yīng)用需求,利用uPSD3254的CPLD模塊設(shè)計(jì)了兩個(gè)二選一的多路轉(zhuǎn)換器,從而不僅將兩個(gè)串行口擴(kuò)展為四個(gè)(uart00、uart01和uart10、uart11),而且省去了多路轉(zhuǎn)換器芯片。另外,電平轉(zhuǎn)換器實(shí)現(xiàn)TTL—RS232電平轉(zhuǎn)換,這樣就為四個(gè)測試設(shè)備提供了四個(gè)標(biāo)準(zhǔn)RS-232串行口供其接入串行口-以太網(wǎng)橋。
3.1.3 以太網(wǎng)接口設(shè)計(jì)
以太網(wǎng)接口是硬件電路設(shè)計(jì)的關(guān)鍵。因?yàn)镽TL8019AS是基于ISA總線PC主板的以太網(wǎng)控制器,所以在和8位微控制器進(jìn)行接口(見圖3)時(shí)其硬件電路與通用方式有很大不同。下面從RTL8019AS以太網(wǎng)控制器[1]自身功能配置、與微控制器之間的總線接口及與網(wǎng)絡(luò)介質(zhì)的接口等三方面給出具體電路設(shè)計(jì)。
(1)RTL8019AS功能管腳設(shè)置
RTL8019AS提供3種工作方式:PnP即插即用方式、免跳線方式和跳線方式。由于8位微控制器無法支持PnP工作方式,而免跳線方式又需外加專用串行E2PROM 93C46以存放相應(yīng)的工作參數(shù),因此選擇跳線工作方式。在這種方式下RTL8019AS的中斷、I/O端口地址、網(wǎng)絡(luò)接口類型選擇等就完全取決于表1所示功能管腳的狀態(tài)。
JP腳接高電平使芯片工作于跳線方式,IOCS16B腳接低電平選8位數(shù)據(jù)總線,IRQS0~I(xiàn)RQS2接低電平選INT0為中斷請求源,IOS0~I(xiàn)OS3接低電平選芯片I/O端口基地址為300H,AUI、PL0、PL1接低電平分別選BNC網(wǎng)絡(luò)接口和10Base-T雙絞線傳輸介質(zhì),SMEMRB/SMEMWB接高電平屏蔽BROM讀寫操作。
(2)RTL8019AS與微控制器的總線接口
RTL8019AS與微控制器的接口連接如圖4所示。
針對以上總線接口還有幾點(diǎn)說明:①由于在8位微處理器系統(tǒng)中,只需操作RTL8019AS的32個(gè)I/O端口地址,所以只需5根地址線進(jìn)行譯碼,其余15根地址線要根據(jù)I/O端口基地址接固定電平。②AEN使能端為低電平有效,而PC7的內(nèi)部邏輯方程為PC7=,所以RTL8019AS映射到外部數(shù)據(jù)區(qū)的地址范圍是8000H~FFFFH,這樣通過讀寫外部數(shù)據(jù)區(qū)的此地址范圍就能實(shí)現(xiàn)對RTL8019AS的讀寫。③由于RTL8019AS的處理速度比快很多,其內(nèi)部數(shù)據(jù)緩沖區(qū)也相對較大,為了避免RTL8019AS每收到一幀數(shù)據(jù)就發(fā)出中斷請求,從而頻繁地打斷處理器,所以以查詢而非中斷方式讀寫RTL8019AS以太網(wǎng)控制器。④RTL8019AS在復(fù)位時(shí)要進(jìn)行一系列內(nèi)部寄存器操作,所以用單片機(jī)的P3.7端口控制其復(fù)位,以保證有足夠的復(fù)位時(shí)間。
(3)網(wǎng)絡(luò)介質(zhì)接口連接
由于RTL8019AS內(nèi)部已集成以太網(wǎng)收發(fā)器,而且對外提供AUI(支持粗同軸電纜)和BNC(支持細(xì)同軸電纜和雙絞線)兩種網(wǎng)絡(luò)介質(zhì)接口,所以本方案選擇較常用的BNC接口,這樣就只需再外加一個(gè)網(wǎng)絡(luò)變壓器20F001N和RJ45水晶頭插座即可解決網(wǎng)絡(luò)介質(zhì)接口問題。
評論