技術分析:典型的嵌入式係統設計
發布時間:2016-12-14 責任編輯:sherry
通常來說,一個嵌入式係統的開發過程如下:
確定嵌入式係統的需求;
設計係統的體係結構:選擇處理器和相關外部設備,操作係統,開發平台以及軟硬件的分割和總體係統集成;
詳細的軟硬件設計和RTL代碼、軟件代碼開發;
軟硬件的聯調和集成;
係統的測試。
一、步驟1:確定係統的需求:
嵌入式係統的典型特征是麵向用戶、麵向產品、麵向應用的,市場應用是嵌入式係統開發的導向和前提。一個嵌入式係統的設計取決於係統的需求。
1、MVB總線簡介
列車通信網(Train CommunicaTIon Network,簡稱TCN)是一個集整列列車內部測控任務和信息處理任務於一體的列車數據通訊的IEC國際標準(IEC-61375-1), 它包括兩種總線類型絞線式列車總線(WTB)和多功能車廂總線(MVB)。
TCN在列車控製係統中的地位相當與CAN總線在汽車電子中的地位。多功能車輛總線MVB是用於在列車上設備之間傳送和交換數據的標準通信介質。附加在總線上的設備可能在功能、大小、性能上互不相同,但是它們都和 MVB總線相連,通過MVB總線來交換信息,形成一個完整的通信網絡。在MVB係統中,根據IEC-61375-1列車通信網標準, MVB總線有如下的一些特點:
拓撲結構:MVB總線的結構遵循OSI模式,吸取了ISO的標準。支持最多4095個設備,由一個中心總線管理器控製。簡單的傳感器和智能站共存於同一總線上。
數據類型:MVB總線支持三種數據類型:
a.過程數據:過程變量表示列車的狀態,如速度、電機電流、操作員的命令。過程變量的值叫過程數據。它們的傳輸時間是確定的和有界的。為保證這一延遲時間,這些數據被周期性地傳送。
b.消息數據:消xiao息xi被bei分fen成cheng小xiao的de包bao,這zhe些xie包bao分fen別bie被bei編bian號hao並bing由you目mu的de站zhan確que認ren。消xiao息xi包bao及ji與yu之zhi相xiang關guan的de控kong製zhi數shu據ju形xing成cheng消xiao息xi數shu據ju。消xiao息xi數shu據ju以yi命ming令ling方fang式shi傳chuan輸shu。功gong能neng消xiao息xi被bei應ying用yong層ceng所suo使shi用yong;服務消息用於列車通信係統自身的管理等。
c.監視數據:是短的幀,主設備用它作同一總線內設備的狀態校驗、聯機設備的檢測、主權傳輸、列車初運行和其它管理功能。
介質訪問形式:MVB總線支持RS485銅介質和光纖。其物理層的數據格式為1.5Mbps串行曼徹斯特編碼數據。
MVB的介質訪問是由總線管理器BA進行管理的,總線管理器BA是shi唯wei一yi的de總zong線xian主zhu設she備bei,所suo有you其qi它ta設she備bei都dou是shi從cong設she備bei。主zhu設she備bei按an照zhao某mou種zhong預yu定ding的de順shun序xu對dui端duan口kou進jin行xing周zhou期qi性xing輪lun詢xun,在zai周zhou期qi的de間jian隔ge中zhong,主zhu設she備bei轉zhuan而er處chu理li偶ou發fa性xing請qing求qiu。
可靠性措施:MVB容錯措施包括
發送的完整性:鏈路層有擴充的檢錯機製,該機製提供的漢明碼距為8,可檢測位、幀和同步錯誤。
故障的獨立性:通常對銅介質進行完全雙份配置,以確保設備故障的獨立性。
發送的可用性:可用性可以通過介質冗餘、電源冗餘、管理器冗餘等措施得以提高。
2、MVB係統的基本需求如下:
a. 完全與IEC-61375-1(TCN) 國際標準兼容,支持MVB總線定義的三種數據類型過程數據,消息數據,監視數據。
b. 係統可配置成為:
i. 總線管理器(BA)功能
ii. 總線管理器(BA)功能和通信功能
iii. 獨立的通信功能
c. 采用ARM7TDMI的處理器
d. 采用實時操作係統
e. 供TCN的實時協議棧協議(RTP)
f. 支持 4096 邏輯端口的過程數據
g. 支持與上位PC104主機的雙口RAM接口
h. 輸入電壓5V
i. 工作環境溫度:-40℃~75℃
3、其他需求
多功能車輛總線MVB係統與用戶的列車控製係統同步設計,有著嚴格的時間限製。
二、步驟2:設計係統的體係結構,協同分配硬件/軟件方麵的要求
嵌入式係統包含硬件和軟件兩部分:硬件架構上以嵌入式處理器為中心,配置存儲器、 I/O設備、通信模塊等必要的外設;軟件部分以軟件開發平台為核心,向上提供應用編程接口(API),向下屏蔽具體硬件特性的板級支持包BSP。嵌入式係統中,軟件和硬件緊密配合,協調工作,共同完成係統預定的功能。根據OSI的七層模型可以確定鏈路層和物理層由硬件實現,其他各層由軟件實現,如圖1。

圖1:MVB的OSI模型和MVB係統軟硬件劃分。
1、嵌入式操作係統選擇:
通常而言,為一個嵌入式係統選擇操作係統要考慮如下幾個因素:
操作係統支持的微處理器
操作係統的性能
操作係統的軟件組件和設備驅動程序
操作係統的調試工具,開發環境、在線仿真器(ICE)、編譯器、彙編器、連接器、調試器以及模擬器等等
操作係統的標準兼容性
操作係統的技術支持程度
操作係統是提供源代碼還是目標代碼
操作係統的許可使用情況
操作係統的開發者聲譽狀況
根據係統的需求和以上的原則,在MVB係統中采用了Vxworks實時操作係統,VxWorks 是風河公司(Windriver)開發的實時操作係統之一,以其優秀的可靠性、實時性及內核的可裁減性,被廣泛應用於通信、軍事、航天、航空、工業控製等關鍵行業領域,其開發環境為Tornado。
2、處理器的選擇:
在為嵌入式係統選擇處理器時需要考慮以下幾個方麵:
性能:處理器必須有足夠的性能執行任務和支持產品生命周期。
工具支持:支持軟件創建、調試、係統集成、代碼調整和優化工具對整體項目成功與否非常關鍵。
操作係統支持:嵌入式係統應用需要使用有幫助的抽象來減少其複雜性。
開發人員過去的處理器經驗:擁有處理器或處理器係列產品的開發經驗可以減少可觀的學習新處理器、工具和技術的時間。
成本,功耗,產品上市時間,技術支持等等
在本係統的設計中,綜合以上各方麵的因素,考慮到處理器性能,操作係統支持以及列車上嚴酷的工業環境等等,在MVB係統中選用了ATMEL用於工業控製領域的工業級的AT91係列ARM處理器AT91M40800,它是基於ARM7TDMI內核,內含高性能的32位RISC處理器、16位高集成度指令集、8KB片上SRAM、可編程外部總線接口(EBI)、3通道16位計數器/定時器、32個可編程I/O口、中斷控製器、2個USART、可編程看門狗定時器、主時鍾電路和 DRAM時序控製電路,並配有高級節能電路;同時,可支持JTAG調試,主頻可達到40MHz。
3、相關外部設備的選擇:
在確定操作係統和處理器之後,就可以確定相關的外部設備,如FLASH,RAM,串口等等。在MVB係統中,MVB控製器MVBC(MulTIfuncTIon Vehicle Bus Controller)是一個MVB電路和實際的物理設備之間的接口控製器,它的主要功能是實現MVB總zong線xian信xin號hao與yu數shu據ju幀zhen的de編bian解jie碼ma,糾jiu錯cuo等deng功gong能neng,是shi本ben係xi統tong中zhong要yao實shi現xian的de關guan鍵jian的de硬ying件jian模mo塊kuai。由you於yu係xi統tong規gui模mo,上shang市shi時shi間jian等deng方fang麵mian的de要yao求qiu,係xi統tong暫zan時shi不bu考kao慮lvASIC實現,因此在MVB係統中用FPGA來實現這個關鍵模塊,FPGA 是ASIC最靈活和最合算的替代方案。考慮到係統需求與FPGA資源,成本,供貨情況等因素,最終選擇了Altera公司的Cyclone係列FPGA, 其開發工具是Quartus II。
4、MVB係統架構
由以上的需求分析和選型,完整的係統硬件架構和軟件架構如圖2圖3所示

圖2:MVB係統的硬件架構。

圖3:MVB係統的軟件架構。
其中,處理器和 MVBC通過Traffic Memory(TM)進行通訊數據交換,所有軟件和MVBC要交換的控製信息和數據都可以在TM地址空間中找到,這個地址空間對處理器和MVBC都是可訪問的。其示意圖4如下

圖4:Traffic Memory。
三、步驟3:詳細的軟硬件設計和RTL代碼、軟件代碼開發
在係統架構確定的基礎上,詳細的軟硬件設計就可以開始了。
1、硬件設計
硬件設計設計包括了MVB控製器的FPGA設計和MVB總線係統的板級設計,其中關鍵的MVB控製器的設計如圖5

圖5:MVB控製器的框圖
如圖所示,MVB控製器包含以下功能模塊:
編碼器:產生曼徹斯特編碼,傳送數據幀
發送緩衝區:作為要發送的數據和CRC檢測值的緩衝區
譯碼器:接收、曼徹斯特譯碼,數據提取、數據錯誤檢測
接收緩衝區:作為接收端數據和CRC結果的緩衝區
報文分析單元:檢測主幀和從幀超時,幀誤檢測、錯誤狀態報告
狀態控製寄存器:MVBC配置
主控單元:支持MVBC作為主設備或者從設備工作,支持隊列消息傳送
設備地址讀取和儲存單元:硬件定義的設備地址可以被不同的值覆蓋
地址邏輯:把CPU對MVBC內部寄存器進行訪問的輸入地址進行解析;產生MVBC訪問TM的輸出地址
總線複用、轉換單元:處理MVBC內部的數據傳送
中斷邏輯:支持16種中斷源;
通用定時器:兩個定時輸出信號,可提供給係統同步使用
時鍾產生電路:產生所有MVBC工作的時鍾和計數器
2、軟件設計
由於在MVB係統中,過程數據,消息數據,監視數據是三種不同的通訊機製,因此,MVB係統軟件的模塊設計如圖6。

四、軟硬件的聯調和集成
下麵,以一個簡單的例子來說明MVB係統的軟硬件的集成和驗證。
過程數據在MVB係統中是周期性發送的數據,其在本係統中的通訊機製如下:duiyufasongfang,yonghuyingyongmokuaijiangyigeduankoudeguochengbianliangfasonggeiguochengshujuchulimokuai,guochengshujuchulimokuaianzhaoluojiduankoudeshezhidingshitongguolianlucengjiekoumokuaigengxinTraffic Memory當中的相應邏輯端口的數據,此時發送方軟件的任務完成。發送方的MVBC硬件接收總線管理器BA定時發出的主幀,通過譯碼器解碼得到相應的邏輯端口的值,通過查詢Traffic Memory相關的邏輯端口發送設置後將MVBC自動設置為發送狀態,將邏輯端口的數據作為過程數據從幀通過編碼器發出,如圖7所示:

圖7:過程數據通訊示例。
對於接收方,其接收過程與發送方相逆,接收方的MVBC硬件接收總線管理器BA定時發出的主幀,通過譯碼器解碼得到相應的邏輯端口的值,通過查詢Traffic Memory相關的邏輯端口接收設置後將MVBC自動設置為接收狀態將,在收到發送方發出的從幀後更新相應邏輯端口在Traffic Memory的de數shu據ju並bing發fa出chu中zhong斷duan信xin號hao從cong而er完wan成cheng硬ying件jian的de接jie收shou過guo程cheng。接jie收shou方fang的de軟ruan件jian可ke以yi用yong中zhong斷duan或huo定ding時shi查zha詢xun的de方fang式shi通tong過guo過guo程cheng數shu據ju處chu理li模mo塊kuai得de到dao更geng新xin後hou的de邏luo輯ji端duan口kou的de過guo程cheng數shu據ju
五、係統的測試
在本係統中,係統的測試即包括了軟件的測試,也包括了硬件,FGPA的測試,在本文中不再贅述。
結束語
上述的MVB係統現已運行在列車控製係統中,成功實現對列車的運行控製、機車控製、車輛控製、狀態監測、故障診斷。當然,如有需要,本文中的MVB係統可以轉化成為ASIC設計,從而成為一個SOC的嵌入式係統。
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





