旅客列車全自動報站多媒體系統
3 軟件設計
3.1 底層軟件設計
列車每行駛1km單片機產生一次計數器溢出中斷,每次到站車門打開時,產生一次外部中斷,單片機響應中斷后,通過串口向上層PC機發送一次信息。程序流程圖見圖4。
3.2 上層軟件設計
3.2.1 上層軟件組成
上層軟件按功能不同可分為5個子模塊(見圖5)。
1)通信模塊:負責與底層硬件系統的通信,接收上傳數據,下傳控制指令;
2)數據庫訪問模塊:完成對數據庫的訪問,調用各個站點的相關信息;
3)多媒體播放模塊:負責播放多媒體文件,通過視頻和音頻向旅客播報信息;
4)控制臺管理模塊:接受管理人員的輸入,負責對系統軟、硬件的管理;
5)事務處理與調度模塊:處理數據并協調各個子模塊的相互進程。
當底層有數據上傳時,由通信模塊接收后將數據交給事務處理與調度模塊,在分析出數據的含義后(如判定列車到達車站),事務處理與調度模塊調用數據庫訪問模塊,在數據庫中查找相關信息并讀入后,調用多媒體播放模塊播放視頻及音頻文件,以聲圖并茂的形式向旅客介紹將要到達的站點信息,并時時報告列車運行情況。
3.2.2 數據庫設計
為了便于組織和管理數據,將站點信息存放在數據庫中,并通過ADO技術訪問數據庫,它易于使用、速度快、內存支出少和磁盤遺跡小。利用Access建立一個關系型數據庫,包括列車時刻表和站點信息表。列車時刻表(見表1)記錄列車的車次、經停的站名、到站時間、開車時間和里程信息。由于不同的車次可能經過相同的車站,所以將各個車站的視頻文件和音頻文件存放到站點信息表(見表2)中。其中視頻文件在列車快要到站時播放,主要介紹站點的旅游景點、交通和住宿情況等信息,音頻文件為站名的播報。
當列車到達某一車站時,事務處理與調度模塊首先通過對列車行駛里程與數據庫中表1的里程進行比較,來判斷列車所到達的站名,再從表2中檢索該站名所對應的視頻和音頻文件進行播放。
評論