您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
技術(shù)百科
>
一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
時(shí)間:2007-12-03 16:54:00來(lái)源:shixiang
圖1:MVB的OSI模型和MVB系統(tǒng)軟硬件劃分[/align]
1、嵌入式操作系統(tǒng)選擇:
●通常而言,為一個(gè)嵌入式系統(tǒng)選擇操作系統(tǒng)要考慮如下幾個(gè)因素:
●操作系統(tǒng)支持的微處理器
●操作系統(tǒng)的性能
●操作系統(tǒng)的軟件組件和設(shè)備驅(qū)動(dòng)程序
●操作系統(tǒng)的調(diào)試工具,開(kāi)發(fā)環(huán)境、在線(xiàn)仿真器(ICE)、編譯器、匯編器、連接器、調(diào)試器以及模擬器等等
●操作系統(tǒng)的標(biāo)準(zhǔn)兼容性
●操作系統(tǒng)的技術(shù)支持程度
●操作系統(tǒng)是提供源代碼還是目標(biāo)代碼
●操作系統(tǒng)的許可使用情況
●操作系統(tǒng)的開(kāi)發(fā)者聲譽(yù)狀況
根據(jù)系統(tǒng)的需求和以上的原則,在MVB系統(tǒng)中采用了Vxworks實(shí)時(shí)操作系統(tǒng),VxWorks是風(fēng)河公司(Windriver)開(kāi)發(fā)的實(shí)時(shí)操作系統(tǒng)之一,以其優(yōu)秀的可靠性、實(shí)時(shí)性及內(nèi)核的可裁減性,被廣泛應(yīng)用于通信、軍事、航天、航空、工業(yè)控制等關(guān)鍵行業(yè)領(lǐng)域,其開(kāi)發(fā)環(huán)境為T(mén)ornado。
2、處理器的選擇:
●在為嵌入式系統(tǒng)選擇處理器時(shí)需要考慮以下幾個(gè)方面:
●性能:處理器必須有足夠的性能執(zhí)行任務(wù)和支持產(chǎn)品生命周期。
●工具支持:支持軟件創(chuàng)建、調(diào)試、系統(tǒng)集成、代碼調(diào)整和優(yōu)化工具對(duì)整體項(xiàng)目成功與否非常關(guān)鍵。
●操作系統(tǒng)支持:嵌入式系統(tǒng)應(yīng)用需要使用有幫助的抽象來(lái)減少其復(fù)雜性。
●開(kāi)發(fā)人員過(guò)去的處理器經(jīng)驗(yàn):擁有處理器或處理器系列產(chǎn)品的開(kāi)發(fā)經(jīng)驗(yàn)可以減少可觀的學(xué)習(xí)新處理器、工具和技術(shù)的時(shí)間。
●成本,功耗,產(chǎn)品上市時(shí)間,技術(shù)支持等等
在本系統(tǒng)的設(shè)計(jì)中,綜合以上各方面的因素,考慮到處理器性能,操作系統(tǒng)支持以及列車(chē)上嚴(yán)酷的工業(yè)環(huán)境等等,在MVB系統(tǒng)中選用了ATMEL用于工業(yè)控制領(lǐng)域的工業(yè)級(jí)的AT91系列ARM處理器AT91M40800,它是基于ARM7TDMI內(nèi)核,內(nèi)含高性能的32位RISC處理器、16位高集成度指令集、8KB片上SRAM、可編程外部總線(xiàn)接口(EBI)、3通道16位計(jì)數(shù)器/定時(shí)器、32個(gè)可編程I/O口、中斷控制器、2個(gè)USART、可編程看門(mén)狗定時(shí)器、主時(shí)鐘電路和DRAM時(shí)序控制電路,并配有高級(jí)節(jié)能電路;同時(shí),可支持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)是一個(gè)MVB電路和實(shí)際的物理設(shè)備之間的接口控制器,它的主要功能是實(shí)現(xiàn)MVB總線(xiàn)信號(hào)與數(shù)據(jù)幀的編解碼,糾錯(cuò)等功能,是本系統(tǒng)中要實(shí)現(xiàn)的關(guān)鍵的硬件模塊。由于系統(tǒng)規(guī)模,上市時(shí)間等方面的要求,系統(tǒng)暫時(shí)不考慮ASIC實(shí)現(xiàn),因此在MVB系統(tǒng)中用FPGA來(lái)實(shí)現(xiàn)這個(gè)關(guān)鍵模塊,F(xiàn)PGA是ASIC最靈活和最合算的替代方案??紤]到系統(tǒng)需求與FPGA資源,成本,供貨情況等因素,最終選擇了Altera公司的Cyclone系列FPGA,其開(kāi)發(fā)工具是Quartus II。
4、MVB系統(tǒng)架構(gòu)
由以上的需求分析和選型,完整的系統(tǒng)硬件架構(gòu)和軟件架構(gòu)如圖2圖3所示
[align=center]
圖2:MVB系統(tǒng)的硬件架構(gòu)
圖3:MVB系統(tǒng)的軟件架構(gòu)[/align]
其中,處理器和 MVBC通過(guò)Traffic Memory(TM)進(jìn)行通訊數(shù)據(jù)交換,所有軟件和MVBC要交換的控制信息和數(shù)據(jù)都可以在TM地址空間中找到,這個(gè)地址空間對(duì)處理器和MVBC都是可訪(fǎng)問(wèn)的。其示意圖4如下
[align=center]
圖4:Traffic Memory[/align]
三、步驟3:詳細(xì)的軟硬件設(shè)計(jì)和RTL代碼、軟件代碼開(kāi)發(fā)
在系統(tǒng)架構(gòu)確定的基礎(chǔ)上,詳細(xì)的軟硬件設(shè)計(jì)就可以開(kāi)始了。
1、硬件設(shè)計(jì)
硬件設(shè)計(jì)設(shè)計(jì)包括了MVB控制器的FPGA設(shè)計(jì)和MVB總線(xiàn)系統(tǒng)的板級(jí)設(shè)計(jì),其中關(guān)鍵的MVB控制器的設(shè)計(jì)如圖5
[align=center]
圖5:MVB控制器的框圖[/align]
如圖所示,MVB控制器包含以下功能模塊:
●編碼器:產(chǎn)生曼徹斯特編碼,傳送數(shù)據(jù)幀
●發(fā)送緩沖區(qū):作為要發(fā)送的數(shù)據(jù)和CRC檢測(cè)值的緩沖區(qū)
●譯碼器:接收、曼徹斯特譯碼,數(shù)據(jù)提取、數(shù)據(jù)錯(cuò)誤檢測(cè)
●接收緩沖區(qū):作為接收端數(shù)據(jù)和CRC結(jié)果的緩沖區(qū)
●報(bào)文分析單元:檢測(cè)主幀和從幀超時(shí),幀誤檢測(cè)、錯(cuò)誤狀態(tài)報(bào)告
●狀態(tài)控制寄存器:MVBC配置
●主控單元:支持MVBC作為主設(shè)備或者從設(shè)備工作,支持隊(duì)列消息傳送
●設(shè)備地址讀取和儲(chǔ)存單元:硬件定義的設(shè)備地址可以被不同的值覆蓋
●地址邏輯:把CPU對(duì)MVBC內(nèi)部寄存器進(jìn)行訪(fǎng)問(wèn)的輸入地址進(jìn)行解析;產(chǎn)生MVBC訪(fǎng)問(wèn)TM的輸出地址
●總線(xiàn)復(fù)用、轉(zhuǎn)換單元:處理MVBC內(nèi)部的數(shù)據(jù)傳送
●中斷邏輯:支持16種中斷源;
●通用定時(shí)器:兩個(gè)定時(shí)輸出信號(hào),可提供給系統(tǒng)同步使用
●時(shí)鐘產(chǎn)生電路:產(chǎn)生所有MVBC工作的時(shí)鐘和計(jì)數(shù)器
2、軟件設(shè)計(jì)
由于在MVB系統(tǒng)中,過(guò)程數(shù)據(jù),消息數(shù)據(jù),監(jiān)視數(shù)據(jù)是三種不同的通訊機(jī)制,因此,MVB系統(tǒng)軟件的模塊設(shè)計(jì)如圖6。
[align=center]
圖6:MVB系統(tǒng)軟件模塊[/align]
四、軟硬件的聯(lián)調(diào)和集成
下面,以一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明MVB系統(tǒng)的軟硬件的集成和驗(yàn)證。
過(guò)程數(shù)據(jù)在MVB系統(tǒng)中是周期性發(fā)送的數(shù)據(jù),其在本系統(tǒng)中的通訊機(jī)制如下:對(duì)于發(fā)送方,用戶(hù)應(yīng)用模塊將一個(gè)端口的過(guò)程變量發(fā)送給過(guò)程數(shù)據(jù)處理模塊,過(guò)程數(shù)據(jù)處理模塊按照邏輯端口的設(shè)置定時(shí)通過(guò)鏈路層接口模塊更新Traffic Memory當(dāng)中的相應(yīng)邏輯端口的數(shù)據(jù),此時(shí)發(fā)送方軟件的任務(wù)完成。發(fā)送方的MVBC硬件接收總線(xiàn)管理器BA定時(shí)發(fā)出的主幀,通過(guò)譯碼器解碼得到相應(yīng)的邏輯端口的值,通過(guò)查詢(xún)Traffic Memory相關(guān)的邏輯端口發(fā)送設(shè)置后將MVBC自動(dòng)設(shè)置為發(fā)送狀態(tài),將邏輯端口的數(shù)據(jù)作為過(guò)程數(shù)據(jù)從幀通過(guò)編碼器發(fā)出,如圖7所示:
[align=center]
圖7:過(guò)程數(shù)據(jù)通訊示例[/align]
對(duì)于接收方,其接收過(guò)程與發(fā)送方相逆,接收方的MVBC硬件接收總線(xiàn)管理器BA定時(shí)發(fā)出的主幀,通過(guò)譯碼器解碼得到相應(yīng)的邏輯端口的值,通過(guò)查詢(xún)Traffic Memory相關(guān)的邏輯端口接收設(shè)置后將MVBC自動(dòng)設(shè)置為接收狀態(tài)將,在收到發(fā)送方發(fā)出的從幀后更新相應(yīng)邏輯端口在Traffic Memory的數(shù)據(jù)并發(fā)出中斷信號(hào)從而完成硬件的接收過(guò)程。接收方的軟件可以用中斷或定時(shí)查詢(xún)的方式通過(guò)過(guò)程數(shù)據(jù)處理模塊得到更新后的邏輯端口的過(guò)程數(shù)據(jù)
五、系統(tǒng)的測(cè)試
在本系統(tǒng)中,系統(tǒng)的測(cè)試即包括了軟件的測(cè)試,也包括了硬件,F(xiàn)GPA的測(cè)試,在本文中不再贅述。
結(jié)束語(yǔ)
上述的MVB系統(tǒng)現(xiàn)已運(yùn)行在列車(chē)控制系統(tǒng)中,成功實(shí)現(xiàn)對(duì)列車(chē)的運(yùn)行控制、機(jī)車(chē)控制、車(chē)輛控制、狀態(tài)監(jiān)測(cè)、故障診斷。當(dāng)然,如有需要,本文中的MVB系統(tǒng)可以轉(zhuǎn)化成為ASIC設(shè)計(jì),從而成為一個(gè)SOC的嵌入式系統(tǒng)。
參考文獻(xiàn):
1、International Standard IEC-61371-1
2、AT91M40800 datasheet標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(www.connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>勇梅機(jī)械液壓閘門(mén)給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無(wú)鹵扁平電纜13*4+2*(2...
2025-09-23
推薦專(zhuān)題
更多>