一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
四、軟硬件的聯(lián)調(diào)和集成
下面,以一個(gè)簡單的例子來說明mvb系統(tǒng)的軟硬件的集成和驗(yàn)證。
過程數(shù)據(jù)在mvb系統(tǒng)中是周期性發(fā)送的數(shù)據(jù),其在本系統(tǒng)中的通訊機(jī)制如下:對于發(fā)送方,用戶應(yīng)用模塊將一個(gè)端口的過程變量發(fā)送給過程數(shù)據(jù)處理模塊,過程數(shù)據(jù)處理模塊按照邏輯端口的設(shè)置定時(shí)通過鏈路層接口模塊更新traffic memory當(dāng)中的相應(yīng)邏輯端口的數(shù)據(jù),此時(shí)發(fā)送方軟件的任務(wù)完成。發(fā)送方的mvbc硬件接收總線管理器ba定時(shí)發(fā)出的主幀,通過譯碼器解碼得到相應(yīng)的邏輯端口的值,通過查詢traffic memory相關(guān)的邏輯端口發(fā)送設(shè)置后將mvbc自動(dòng)設(shè)置為發(fā)送狀態(tài),將邏輯端口的數(shù)據(jù)作為過程數(shù)據(jù)從幀通過編碼器發(fā)出,如圖7所示:
圖7:過程數(shù)據(jù)通訊示例。
對于接收方,其接收過程與發(fā)送方相逆,接收方的mvbc硬件接收總線管理器ba定時(shí)發(fā)出的主幀,通過譯碼器解碼得到相應(yīng)的邏輯端口的值,通過查詢traffic memory相關(guān)的邏輯端口接收設(shè)置后將mvbc自動(dòng)設(shè)置為接收狀態(tài)將,在收到發(fā)送方發(fā)出的從幀后更新相應(yīng)邏輯端口在traffic memory的數(shù)據(jù)并發(fā)出中斷信號從而完成硬件的接收過程。接收方的軟件可以用中斷或定時(shí)查詢的方式通過過程數(shù)據(jù)處理模塊得到更新后的邏輯端口的過程數(shù)據(jù)
五、系統(tǒng)的測試
在本系統(tǒng)中,系統(tǒng)的測試即包括了軟件的測試,也包括了硬件,fgpa的測試,在本文中不再贅述。
結(jié)束語
上述的mvb系統(tǒng)現(xiàn)已運(yùn)行在列車控制系統(tǒng)中,成功實(shí)現(xiàn)對列車的運(yùn)行控制、機(jī)車控制、車輛控制、狀態(tài)監(jiān)測、故障診斷。當(dāng)然,如有需要,本文中的mvb系統(tǒng)可以轉(zhuǎn)化成為asic設(shè)計(jì),從而成為一個(gè)soc的嵌入式系統(tǒng)。
參考文獻(xiàn):
[1].RS485datasheethttp://www.dzsc.com/datasheet/RS485_585289.html.
[2].ARM7TDMIdatasheethttp://www.dzsc.com/datasheet/ARM7TDMI_139812.html.
[3].AT91M40800datasheethttp://www.dzsc.com/datasheet/AT91M40800_143876.html.
[4].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.
[5]. International Standard IEC-61371-1
[6]. AT91M40800 datasheet
評論