基于ARM和FPGA的多功能車輛總線嵌入式系統(tǒng)設(shè)計
???oo 基于ARM 和FPGA 的多功能車輛總線嵌入式系統(tǒng)設(shè)計 來源:作者: 發(fā)布時間:2007-06-21 08:00:00 域名驚喜價格 cn 域名1元注冊 com 域名39.9元虛
?
?
?
o
o 基于ARM 和FPGA 的多功能車輛總線嵌入式系統(tǒng)設(shè)計 來源:作者: 發(fā)布時間:2007-06-21 08:00:00 域名驚喜價格 cn 域名1元注冊 com 域名39.9元
虛擬主機
o
o 主機按月支付, 低至19元/月 超大流量, 可開子站點
o
o 特惠VPS 168元/月,4-8M 獨享帶寬保證 獨立操作系統(tǒng), 無限開站點
在計算機、互連網(wǎng)和通信技術(shù)高速發(fā)展的同時,嵌入式系統(tǒng)研發(fā)技術(shù)也取得迅速發(fā)展,嵌入式技術(shù)應(yīng)用范圍的急劇擴大。本文介紹了一種基于ARM 和FPGA ,從軟件到硬件完全自主研發(fā)多功能車輛總線
(Multifunction Vehicle Bus)MVB嵌入式系統(tǒng)的設(shè)計和實現(xiàn)。
系統(tǒng)設(shè)計和實現(xiàn)
通常來說,一個嵌入式系統(tǒng)的研發(fā)過程如下:
7. 確定嵌入式系統(tǒng)的需求;
8. 設(shè)計系統(tǒng)的體系結(jié)構(gòu):選擇處理器和相關(guān)外部設(shè)備,操作系統(tǒng),研發(fā)平臺及軟硬件的分割和總體系統(tǒng)集成;
9. 周詳?shù)能浻布O(shè)計和RTL 代碼、軟件代碼研發(fā);
10. 軟硬件的聯(lián)調(diào)和集成;
11. 系統(tǒng)的測試。
一、步驟1:確定系統(tǒng)的需求:
嵌入式系統(tǒng)的典型特征是面向用戶、面向產(chǎn)品、面向應(yīng)用的,市場應(yīng)用是嵌入式系統(tǒng)研發(fā)的導(dǎo)向和前提。一個嵌入式系統(tǒng)的設(shè)計取決于系統(tǒng)的需求。
1、MVB 總線簡介
列車通信網(wǎng)(Train Communication Network,簡稱TCN) 是個集整列列車內(nèi)部測控任務(wù)和信息處理任務(wù)于一體的列車數(shù)據(jù)通訊的IEC 國際標(biāo)準(zhǔn)(IEC -61375-1), 他包括兩種總線類型絞線式列車總線(WTB)和多功能車廂總線(MVB)。
TCN 在列車控制系統(tǒng)中的地位相當(dāng)和CAN 總線在汽車電子中的地位。多功能車輛總線MVB 是用于在列車上設(shè)備之間傳送和交換數(shù)據(jù)的標(biāo)準(zhǔn)通信介質(zhì)。附加在總線上的設(shè)備可能在功能、大小、性能上互不相同,不過他們都和MVB 總線相連,通過MVB 總線來交換信息,形成一個完整的通信網(wǎng)絡(luò)。在MVB 系統(tǒng)中,根據(jù)IEC - 61375-1列車通信網(wǎng)標(biāo)準(zhǔn), MVB 總線有如下的一些特點:
,拓?fù)浣Y(jié)構(gòu):MVB 總線的結(jié)構(gòu)遵循OSI 模式,吸取了ISO 的標(biāo)準(zhǔn)。支持最多4095個設(shè)備,由一個中心總線管理器控制。簡單的傳感器和智能站共存于同一總線上。
數(shù)據(jù)類型:MVB 總線支持三種數(shù)據(jù)類型:
a. 過程數(shù)據(jù):過程變量表示列車的狀態(tài),如速度、電機電流、操作員的命令。過程變量的值叫過程數(shù)據(jù)。他們的傳輸時間是確定的和有界的。為確保這一延遲時間,這些數(shù)據(jù)被周期性地傳送。
b. 消息數(shù)據(jù):消息被分成小的包,這些包分別被編號并由目的站確認(rèn)。消息包及和之相關(guān)的控制數(shù)據(jù)形成消息數(shù)據(jù)。消息數(shù)據(jù)以命令方式傳輸。功能消息被應(yīng)用層所使用;服務(wù)消息用于列車通信系統(tǒng)自身的管理等。
c. 監(jiān)視數(shù)據(jù):是短的幀,主設(shè)備用他作同一總線內(nèi)設(shè)備的狀態(tài)校驗、聯(lián)機設(shè)備的檢測、主權(quán)傳輸、列車初運行和其他管理功能。
介質(zhì)訪問形式:MVB 總線支持RS485銅介質(zhì)和光纖。其物理層的數(shù)據(jù)格式為1.5Mbps 串行曼徹斯特編碼數(shù)據(jù)。
MVB 的介質(zhì)訪問是由總線管理器BA 進(jìn)行管理的,總線管理器BA 是唯一的總線主設(shè)備,所有其他設(shè)備都是從設(shè)備。主設(shè)備按照某種預(yù)定的順序?qū)Χ丝谶M(jìn)行周期性輪詢,在周期的間隔中,主設(shè)備轉(zhuǎn)而處理偶發(fā)性請求。
可靠性措施:MVB 容錯措施包括
發(fā)送的完整性:鏈路層有擴充的檢錯機制,該機制提供的漢明碼距為8,可檢測位、幀和同步錯誤。 故障的獨立性:通常對銅介質(zhì)進(jìn)行完全雙份設(shè)置,以確保設(shè)備故障的獨立性。
發(fā)送的可用性:可用性能通過介質(zhì)冗余、電源冗余、管理器冗余等措施得以提高。
2、MVB 系統(tǒng)的基本需求如下:
a. 完全和IEC-61375-1(TCN) 國際標(biāo)準(zhǔn)兼容,支持MVB 總線定義的三種數(shù)據(jù)類型過程數(shù)據(jù),消息數(shù)據(jù),監(jiān)視數(shù)據(jù)。
b. 系統(tǒng)可設(shè)置成為:
i. 總線管理器(BA )功能
ii. 總線管理器(BA )功能和通信功能
iii. 獨立的通信功能
c. 采用ARM7TDMI 的處理器
d. 采用實時操作系統(tǒng)
e. 供TCN 的實時協(xié)議棧協(xié)議(RTP )
f. 支持 4096 邏輯端口的過程數(shù)據(jù)
g. 支持和上位PC104主機的雙口RAM 接口
h. 輸入電壓5V
i. 工作環(huán)境溫度:-40℃?75℃
3、其他需求
多功能車輛總線MVB 系統(tǒng)和用戶的列車控制系統(tǒng)同步設(shè)計,有著嚴(yán)格的時間限制。
二、步驟2:設(shè)計系統(tǒng)的體系結(jié)構(gòu),協(xié)同分配硬件/軟件方面的需求
嵌入式系統(tǒng)包含硬件和軟件兩部分:硬件架構(gòu)上以嵌入式處理器為中心,設(shè)置存儲器、I/O設(shè)備、通信模塊等必要的外設(shè);軟件部分以軟件研發(fā)平臺為核心,向上提供給用編程接口(API ),向下屏蔽具體硬件
,特性的板級支持包BSP 。嵌入式系統(tǒng)中,軟硬件緊密配合,協(xié)調(diào)工作,一起完成系統(tǒng)預(yù)定的功能。根據(jù)OSI 的七層模型能確定鏈路層和物理層由硬件實現(xiàn),其他各層由軟件實現(xiàn),如圖1。
圖1:MVB 的OSI 模型和MVB
系統(tǒng)軟硬件劃分。
1、嵌入式操作系統(tǒng)選擇:
o
o
o
o
o 通常而言,為一個嵌入式系統(tǒng)選擇操作系統(tǒng)要考慮如下幾個因素: 操作系統(tǒng)支持的微處理器 操作系統(tǒng)的性能 操作系統(tǒng)的軟件組件和設(shè)備驅(qū)動程式 操作系統(tǒng)的調(diào)試工具,研發(fā)環(huán)境、在線仿真器(ICE )、編譯器、匯編器、連接器、調(diào)
試器及模擬器等等
o
o
o
o
o 操作系統(tǒng)的標(biāo)準(zhǔn)兼容性 操作系統(tǒng)的技術(shù)支持程度 操作系統(tǒng)是提供原始碼還是目標(biāo)代碼 操作系統(tǒng)的許可使用情況 操作系統(tǒng)的研發(fā)者聲譽狀況
根據(jù)系統(tǒng)的需求和以上的原則,在MVB 系統(tǒng)中采用了Vxworks 實時操作系統(tǒng),VxWorks 是風(fēng)河公司(Windriver )研發(fā)的實時操作系統(tǒng)之一,以其優(yōu)秀的可靠性、實時性及內(nèi)核的可裁減性,被廣泛應(yīng)用于通信、軍事、航天、航空、工業(yè)控制等關(guān)鍵行業(yè)領(lǐng)域,其研發(fā)環(huán)境為Tornado 。
2、處理器的選擇:
在為嵌入式系統(tǒng)選擇處理器時需要考慮以下幾個方面:
o
o
非常關(guān)鍵。 性能:處理器必須有足夠的性能執(zhí)行任務(wù)和支持產(chǎn)品生命周期。 工具支持:支持軟件創(chuàng)建、調(diào)試、系統(tǒng)集成、代碼調(diào)整和優(yōu)化工具對整體項目成功和否
o
o 操作系統(tǒng)支持:嵌入式系統(tǒng)應(yīng)用需要使用有幫助的抽象來減少其復(fù)雜性。 研發(fā)人員過去的處理器經(jīng)驗:擁有處理器或處理器系列產(chǎn)品的研發(fā)經(jīng)驗?zāi)軠p少可觀的學(xué)
習(xí)新處理器、工具和技術(shù)的時間。
o 成本,功耗,產(chǎn)品上市時間,技術(shù)支持等等
在本系統(tǒng)的設(shè)計中,綜合以上各方面的因素,考慮到處理器性能,操作系統(tǒng)支持及列車上嚴(yán)酷的工業(yè)環(huán)境等等,在MVB 系統(tǒng)中選用了ATMEL 用于工業(yè)控制領(lǐng)域的工業(yè)級的AT91系列ARM 處理器
AT91M40800,他是基于ARM7TDMI 內(nèi)核,內(nèi)含高性能的32位RISC 處理器、16位高集成度指令集、8KB 片上SRAM 、可編程外部總線接口(EBI )、3通道16位計數(shù)器/定時器、32個可編程I/O口、中斷
,控制器、2個USART 、可編程看門狗定時器、主時鐘電路和DRAM 時序控制電路,并配有高級節(jié)能電路;同時,可支持JTAG 調(diào)試,主頻可達(dá)到40MHz 。
3、相關(guān)外部設(shè)備的選擇:
在確定操作系統(tǒng)和處理器之后,就能確定相關(guān)的外部設(shè)備,如FLASH ,RAM ,串口等等。在MVB 系統(tǒng)中,MVB 控制器MVBC (Multifunction Vehicle Bus Controller)是個MVB 電路和實際的物理設(shè)備之間的接口控制器,他的主要功能是實現(xiàn)MVB 總線信號和數(shù)據(jù)幀的編解碼,糾錯等功能,是本系統(tǒng)中要實現(xiàn)的關(guān)鍵的硬件模塊。由于系統(tǒng)規(guī)模,上市時間等方面的需求,系統(tǒng)暫時不考慮ASIC 實現(xiàn),因此在MVB 系統(tǒng)中用FPGA 來實現(xiàn)這個關(guān)鍵模塊,F(xiàn)PGA 是ASIC 最靈活和最合算的替代方案??紤]到系統(tǒng)需求和FPGA 資源,成本,供貨情況等因素,最終選擇了Altera 公司的Cyclone 系列FPGA, 其研發(fā)工具是Quartus II。
4、MVB 系統(tǒng)架構(gòu)
由以上的需求分析和選型,完整的系統(tǒng)硬件架構(gòu)和軟件架構(gòu)如圖2圖3所示
圖2:MVB 系統(tǒng)的硬件架構(gòu)。
圖3:MVB 系統(tǒng)的軟件架構(gòu)。
,其中,處理器和 MVBC 通過Traffic Memory (TM )進(jìn)行通訊數(shù)據(jù)交換,所有軟件和MVBC 要交換的控制信息和數(shù)據(jù)都能在TM 地址空間中找到,這個地址空間對處理器和MVBC 都是可訪問的。其示意圖4如下
圖4:Traffic Memory。
三、步驟3:周詳?shù)能浻布O(shè)計和RTL 代碼、軟件代碼研發(fā)
在系統(tǒng)架構(gòu)確定的基礎(chǔ)上,周詳?shù)能浻布O(shè)計就能開始了。
1、硬件設(shè)計
硬件設(shè)計設(shè)計包括了MVB 控制器的FPGA 設(shè)計和MVB 總線系統(tǒng)的板級設(shè)計,其中關(guān)鍵的MVB 控制器的設(shè)計如圖5
如圖所示,MVB 控制器包含以下功能模塊: 圖5:MVB 控制器的框圖。(點擊放大該圖)
o
o
o
o
o
o
o
o
o 編碼器:產(chǎn)生曼徹斯特編碼,傳送數(shù)據(jù)幀 發(fā)送緩沖區(qū):作為要發(fā)送的數(shù)據(jù)和CRC 檢測值的緩沖區(qū) 譯碼器:接收、曼徹斯特譯碼,數(shù)據(jù)提取、數(shù)據(jù)錯誤檢測 接收緩沖區(qū):作為接收端數(shù)據(jù)和CRC 結(jié)果的緩沖區(qū) 報文分析單元:檢測主幀和從幀超時,幀誤檢測、錯誤狀態(tài)報告 狀態(tài)控制寄存器:MVBC 設(shè)置 主控單元:支持MVBC 作為主設(shè)備或從設(shè)備工作,支持隊列消息傳送 設(shè)備地址讀取和儲存單元:硬件定義的設(shè)備地址能被不同的值覆蓋 地址邏輯:把CPU 對MVBC 內(nèi)部寄存器進(jìn)行訪問的輸入地址進(jìn)行解析;產(chǎn)生MVBC 訪
問TM 的輸出地址
o
o
o
o
2、軟件設(shè)計 總線復(fù)用、轉(zhuǎn)換單元:處理MVBC 內(nèi)部的數(shù)據(jù)傳送 中斷邏輯:支持16種中斷源; 通用定時器:兩個定時輸出信號,可提供給系統(tǒng)同步使用 時鐘產(chǎn)生電路:產(chǎn)生所有MVBC 工作的時鐘和計數(shù)器
由于在MVB 系統(tǒng)中,過程數(shù)據(jù),消息數(shù)據(jù),監(jiān)視數(shù)據(jù)是三種不同的通訊機制,因此,MVB 系統(tǒng)軟件的模塊設(shè)計如圖6。
,四、軟硬件的聯(lián)調(diào)和集成
下面,以一個簡單的例子來說明MVB 系統(tǒng)的軟硬件的集成和驗證。
過程數(shù)據(jù)在MVB 系統(tǒng)中是周期性發(fā)送的數(shù)據(jù),其在本系統(tǒng)中的通訊機制如下:對于發(fā)送方,用戶應(yīng)用模塊將一個端口的過程變量發(fā)送給過程數(shù)據(jù)處理模塊,過程數(shù)據(jù)處理模塊按照邏輯端口的設(shè)置定時通過鏈路層接口模塊更新Traffic Memory 當(dāng)中的相應(yīng)邏輯端口的數(shù)據(jù),此時發(fā)送方軟件的任務(wù)完成。發(fā)送方的MVBC 硬件接收總線管理器BA 定時發(fā)出的主幀,通過譯碼器解碼得到相應(yīng)的邏輯端口的值,通過查詢Traffic Memory相關(guān)的邏輯端口發(fā)送設(shè)置后將MVBC 自動設(shè)置為發(fā)送狀態(tài),將邏輯端口的數(shù)據(jù)作為過程數(shù)據(jù)從幀通過編碼器發(fā)出,如圖7所示:
對于接收方,其接收過程和發(fā)送方相逆,接收方的MVBC 硬件接收總線管理器BA 定時發(fā)出的主幀,通過譯碼器解碼得到相應(yīng)的邏輯端口的值,通過查詢Traffic Memory相關(guān)的邏輯端口接收設(shè)置后將MVBC 自動設(shè)置為接收狀態(tài)將,在收到發(fā)送方發(fā)出的從幀后更新相應(yīng)邏輯端口在Traffic Memory的數(shù)據(jù)并發(fā)出中斷信號從而完成硬件的接收過程。接收方的軟件能用中斷或定時查詢的方式通過過程數(shù)據(jù)處理模塊得到更新后的邏輯端口的過程數(shù)據(jù)
五、系統(tǒng)的測試
在本系統(tǒng)中,系統(tǒng)的測試即包括了軟件的測試,也包括了硬件,F(xiàn)GPA 的測試,在本文中不再贅述。 結(jié)束語
上述的MVB 系統(tǒng)現(xiàn)已運行在列車控制系統(tǒng)中,成功實現(xiàn)對列車的運行控制、機車控制、車輛控制、狀態(tài)監(jiān)測、故障診斷。當(dāng)然,如有需要,本文中的MVB 系統(tǒng)能轉(zhuǎn)化成為ASIC 設(shè)計,從而成為一個SOC 的嵌入式系統(tǒng)。
參考文獻(xiàn):
1、International Standard IEC-61371-1
2、AT91M40800 datasheet
圖6:MVB 系統(tǒng)軟件模塊。 圖7:過程數(shù)據(jù)通訊示例。

華夏名網(wǎng)網(wǎng)址導(dǎo)航: 虛擬主機 雙線主機 主機 域名注冊 cn 域名 域名 服務(wù)器租用 酷睿服務(wù)器 vps vps 主機