《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 地鐵列車PIS存儲模塊的設計
地鐵列車PIS存儲模塊的設計
2014年微型機與應用第22期
徐 強,郭秀清
同濟大學 控制科學與工程系,上海 201804)
摘要: 簡要介紹了地鐵列車乘客信息系統的結構和功能,針對上海地鐵部分線路的存儲模塊中存在的容量小和轉存方式復雜等問題,提出了以USB作為通信方式的存儲模塊,用FAT32文件系統作為存儲方式。同時對存儲的過程進行了分析,介紹了存儲模塊的硬件和軟件設計。
Abstract:
Key words :

  摘  要: 簡要介紹了地鐵列車乘客信息系統的結構和功能,針對上海地鐵部分線路的存儲模塊中存在的容量小和轉存方式復雜等問題,提出了以USB作為通信方式的存儲模塊,用FAT32文件系統作為存儲方式。同時對存儲的過程進行了分析,介紹了存儲模塊的硬件和軟件設計。

  關鍵詞PIS;存儲模塊;USB;FAT32文件系統

0 引言

  地鐵是現代城市公共交通中的一種重要的運輸工具,具有方便快捷、節約能源和環境污染小等優點,是重要的城市交通工具。地鐵列車乘客信息系統(Passenger Information System,PIS)為乘客提供站點信息、提示信息和突發信息等,是乘客獲取信息的重要途徑[1]。隨著電子技術的發展,地鐵列車通信設備不斷更新換代,一些早期的列車通信設備已經不能滿足地鐵列車運行的需求。在現有的一些地鐵線路中,PIS的音頻文件存儲在閃存里,現有產品的閃存存儲容量較小,編輯對應的音頻文件的過程較為繁瑣;在從電腦傳輸文件到存儲器的過程中,存取速度較慢,讀取過程中性能不穩定,易出現中斷和誤讀等現象[2]。本文旨在對上述問題進行改進,設計方便穩定的解決方案。

1 地鐵列車PIS

  地鐵列車PIS由音頻系統、LED顯示系統和人工播報系統等組成。地鐵列車PIS接收上位機發出的信號并對該信號進行分析處理,讀取存儲器中對應的數據,將讀出的數據進行音頻播報、LED顯示等。系統控制模塊負責對接收的上位機信號進行處理并控制音視頻信息的播放,系統控制模塊控制MCU各個子模塊。通信模塊負責與上位機進行通信,接收上位機發出的信號,并將系統控制模塊的處理結果反饋給上位機。USB接口模塊進行電腦端與地鐵列車PIS的數據傳輸,電腦端通過該模塊直接對地鐵列車PIS傳輸音視頻文件和文本文件等,將文件存放在存儲模塊中并可對存儲模塊進行讀取以及刪除等操作。音頻播放模塊和屏幕顯示模塊接收并處理MCU模塊發送的音視頻文件,對音視頻文件解碼后進行播放[3]。系統組成如圖1所示。

001.jpg

2 地鐵列車PIS存儲模塊

  2.1 設計方案

  地鐵列車PIS存儲模塊主要對列車播報的語音信息、視頻信息和文本文件等進行存儲,一般需要較大的存儲容量。MCU對接收到的上位機命令進行分析處理,根據分析的結果讀取存儲模塊對應的文件并進行播報。由于地鐵線路的延伸和站點的維護等原因,存儲模塊的文件需要做及時更新。以上因素對存儲模塊的穩定性、精確性和容量等方面都提出了較高的要求。

  USB存儲系統具有存儲速度快、容量大和系統穩定等特點,能夠滿足地鐵列車PIS對存儲模塊的要求。本設計采用USB存儲系統作為地鐵列車存儲模塊的設計方案,以AT90USB1287[4]作為處理芯片,該芯片是8位微處理器,具有USB接口、128 KB的可編程Flash和4 KB的EEPROM;采用K9F4G08U0B作為NAND Flash存儲芯片,該芯片具有512 MB的容量,能夠滿足系統存儲的需要。

  2.2 硬件設計

  硬件設計以電腦為主機,存儲模塊為從機,實現USB接入主機后,主機與設備之間互相通信。AT90USB1287的USB端口既可作為主機又可作為從機,本設計將其作為從機使用。AT90USB1287包括一個64 B的控制端口、一個256 B的數據端口和5個64 B的數據端口。K9F4G08U0B的地址與數據共用同一端口,進行分時復用。在設計中,將AT90USB1287的PF端口與K9F4G08U0B的I/O端口連接,將AT90USB1287的PB端口控制K9F4G08U0B的讀寫等命令引腳。供電模塊電壓設計為3.3 V,硬件連接如圖2所示。

002.jpg

3 軟件設計

  3.1 USB描述

  USB2.0的存儲速度可達到480 Mb/s[5],支持熱插拔。USB設備包括三種類型的端口:控制端口、輸入端口和輸出端口。控制端口負責接收主機的請求信息,并對主機的請求信息做出相應的回答,包括對主機的setup包進行接收和反饋,控制數據的讀寫過程。USB設備的數據端口包括數據輸入端口和數據輸出端口,輸入端口將從主機接收到的數據發送到緩沖器中,輸出端口將緩沖器中的數據發送給主機。

  主機與USB控制端口之間的命令傳輸采用SCSI(Small Computer System Interface)命令集。每個USB設備包括一個或多個接口,主機通過接口確定與哪個USB硬件之間進行通信。每個接口又包括一個或多個端口,端口負責數據的控制、輸入和輸出。

  3.2 系統初始化

  系統初始化主要包括AT90USB1287和K9F4G08U0B的寄存器和相關接口的設置。通過設置寄存器的值來設定芯片的工作狀態。系統初始化后,可通過讀取NAND Flash的地址來驗證AT90USB1287與K9F4G08U0B的連接及通信是否正常。系統初始化對應程序如下:

  void SystemInit()

  {Clear_prescaler();

  MCUCR|=0x80;//不使用JTAG接口功能,使能普通接口

  MCUCR|=0x80;

  uart_init();//串口用于調試

  usb_device_task_init();

  //AT90USB1287初始化為從機模式

  NAND_flash_select();

  nfc_detect();

  nf_test_unit_ready();//測試NAND Flash

  }

  3.3 USB通信過程

  3.3.1 電腦端對USB存儲模塊的識別

  USB存儲設備上電后,首先將AT90USB1287進行初始化,電腦端發送設備描述符命令、配置描述符命令、地址描述符命令和接口描述符命令等對存儲模塊進行識別[6]。USB設備分別對這些命令進行應答,電腦端根據設備的應答信號來判斷設備的型號、容量及是否工作正常等。若設備應答正確,則識別過程完成;若設備應答不正確或無應答,主機將在一段時間之后再次發送識別命令,若進行3次嘗試均無應答,則識別失敗。該識別過程是通過控制端口進行的,對應的程序如下。

  void usb_identification_process(void)

  {U8 bmType;

  U8 bmRequest;//請求描述符

  bmType=Usb_read_byte();//讀取緩沖區,大小為1 KB

  bmRequest=Usb_read_byte();

  switch(bmRequest)

  {case DESCRIPTOR:

  descriptor();

  break;

  case CONFIG://獲取配置描述符

  config();

  break;

  case ADDRESS://設置通信地址

  address();

  break;

  case GET_INTERFACE://獲取接口描述符

  get_interface();

  break;

  case SET_INTERFACE://設置接口描述符

  set_interface();

  break;

  }

  }

  3.3.2 主機和設備的數據傳輸

  主機對USB存儲設備識別之后,便開始對設備的讀寫過程,設備通過數據輸入與輸出端口與主機進行通信,主機通過發送命令塊包(Command Block Wrapper,CBW)與存儲設備通信,設備對接收到的CBW包進行分析,根據分析的結果進行應答,應答的結果通過狀態塊包(Command Status Wrapper,CSW)發送給主機,對主機發送的命令進行回應。該過程使用SCSI命令集,設計程序從CBW命令包中解析出SCSI命令,根據解析的命令做出對應的響應。主機會先后發出INQUIRY、Read Capacity和UFI Mode Sense等SCSI命令[7],若以上命令得到正確的回應,主機會繼續發送READ命令和WRITE命令,對NAND Flash進行識別和內容讀寫等操作;若設備沒有正確的回應,則存儲過程失敗。

  3.3.3 NAND Flash文件系統的設計

  主機對USB設備的操作主要包括讀、寫和刪除等操作,這些操作需要主機能夠定位到NAND Flash的相應地址上。K9F4G08U0B存儲采用FAT32(File Allocation Table)文件系統,FAT32文件系統將存儲區分為MBR區、DBR區、FAT1區、FAT2區、目錄區和數據存儲區等[8]。其中MBR(Master Boot Record)和DBR(Dos Boot Record)區為主機對存儲器的操作提供信息,提供了FAT32文件系統的分區信息。FAT1區是用來表示文件在存儲芯片中存儲位置的存儲區,FAT區是以簇為單位表示文件的大小,簇號對應相應的存儲區域,設計者可以定義簇的大小。在讀寫文件時,主機首先根據FAT區文件占有的簇的情況進行對應數據區的讀寫。FAT2區為FAT1區的備份。FAT區之后為目錄區,目錄區存放文件的目錄,目錄由文件名、擴展名、文件屬性、修改時間和文件長度等組成。FAT文件系統的最后一個分區即為文件的數據存儲區,用以根據FAT區索引的位置存取對應的文件。

  K9F4G08U0B的存儲容量為512 MB,包含4 096個128 KB的塊,每塊包含64個2 KB的頁,FAT32用32位二進制數表示一個簇[9]。主機向存儲設備發送邏輯地址號,由設備將邏輯地址(Logical Block Address,LBA)轉換為物理地址。

  K9F4G08U0B擦除文件時為塊擦除方式,即擦除時必須刪除一整塊的數據,故在設計刪除某塊一個文件的算法時,應將該塊的其他文件先保存到一個公共塊中,在刪除該文件后,再將其他文件復制回該塊。由于文件的大小不同,存儲文件時可能會涉及跨塊操作,在設計存儲和刪除文件時,應將這些情況分別進行處理。

4 結論

  本文設計了以USB作為傳輸方式的存儲模塊,解決了上海地鐵部分線路中存儲模塊存儲容量小和存儲速度慢等問題。USB存儲模塊作為地鐵列車PIS的一部分,為系統性能的提高起到了重大的作用,能夠滿足我國地鐵列車國產化的需要。

參考文獻

  [1] 陳冠群.地鐵PIS系統安全研究[J].信息通信,2011(6):176-177.

  [2] 張少鋒,肖向前.廣州地鐵車輛數字報站器的國產化改進[J].機車電傳動,2005(2):48-49.

  [3] 倉青懷.地鐵廣播系統的集成應用[J].都市快軌交通,2010(1):99-103.

  [4] AT90USB64/128 datasheet [EB/OL].(2012-08-XX)[2014-07-20]. http://www.atmel.com/Images/doc7593.pdf.

  [5] 蔡磊.基于STM32F103芯片的USB接口的研究與實現[D].上海:復旦大學,2009.

  [6] 楊書濤.USB接口技術與應用研究[D].濟南:山東大學,2008.

  [7] 褚曉濱,陸鐵軍,宗宇.USB接口海量存儲指令分析[J].機電產品開發與創新,2008,21(3):103-105.

  [8] 石曉磊.基于FAT32的保護加密U盤的軟件設計[D].大連:大連理工大學,2013.

  [9] 夏昀.基于FAT32文件系統的安全存儲方案[D].上海:上海交通大學,2013.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲视频axxx| 欧美一区午夜视频在线观看| 9l国产精品久久久久麻豆| 韩国一区二区在线观看| 国产精品视频久久一区| 欧美三级日本三级少妇99| 欧美激情一区二区三区| 久久综合导航| 久久免费视频在线观看| 久久成人精品无人区| 午夜精品福利视频| 亚洲综合久久久久| 亚洲一区二区三区精品在线| 9人人澡人人爽人人精品| 日韩一区二区精品葵司在线| 亚洲免费观看高清完整版在线观看熊 | 欧美激情第五页| 美女脱光内衣内裤视频久久影院| 久久精品国产69国产精品亚洲| 欧美怡红院视频| 欧美一区二区在线| 欧美中文字幕第一页| 久久国产直播| 久久天天躁狠狠躁夜夜爽蜜月| 久久视频在线视频| 蜜臀久久99精品久久久画质超高清| 久久久久久久综合色一本| 久久久国产成人精品| 久久婷婷人人澡人人喊人人爽 | 久久久高清一区二区三区| 久久人人97超碰国产公开结果| 久久亚洲欧美| 免费亚洲婷婷| 欧美精品亚洲| 国产精品老女人精品视频| 国产美女在线精品免费观看| 国产日韩一区二区三区| 狠狠综合久久| 亚洲人成网站精品片在线观看| 亚洲精品久久久久久久久| 一片黄亚洲嫩模| 一区二区高清视频| 亚洲欧美日韩精品久久奇米色影视| 午夜国产精品视频| 亚洲国产欧美一区二区三区同亚洲 | 又紧又大又爽精品一区二区| 激情综合视频| **性色生活片久久毛片| 亚洲精品国产系列| 一区二区三区久久久| 亚洲综合视频一区| 亚洲高清免费| 在线亚洲伦理| 欧美在线三级| 免费成人性网站| 欧美日韩久久久久久| 国产精品性做久久久久久| 国产亚洲人成网站在线观看| 1769国产精品| 一本大道久久a久久精二百| 亚洲在线国产日韩欧美| 亚洲高清一区二| 亚洲婷婷综合色高清在线| 欧美一区亚洲一区| 欧美国产成人精品| 国产精品婷婷| 亚洲第一福利社区| 在线中文字幕一区| 亚洲国产成人tv| 久久久国产91| 性色av一区二区三区| 嫩草成人www欧美| 国产精品分类| 尤物视频一区二区| 亚洲性视频h| 91久久国产综合久久| 亚洲欧美中文日韩在线| 久久综合伊人77777麻豆| 国产精品激情电影| 亚洲高清在线精品| 亚洲欧美日韩国产综合在线| 亚洲精品一区二区三区婷婷月| 午夜一区二区三视频在线观看 | 免费成人高清| 国产精品永久免费观看| 亚洲人成在线播放| 欧美在线不卡| 亚洲欧美成人综合| 欧美黑人多人双交| 狠狠入ady亚洲精品经典电影| 在线视频亚洲| 亚洲精品影院| 久久人人97超碰国产公开结果| 国产精品国产亚洲精品看不卡15 | av成人国产| 久久综合中文色婷婷| 国产精品伦一区| 亚洲深夜影院| 日韩视频在线一区二区| 欧美在线视频网站| 香蕉成人啪国产精品视频综合网| 欧美激情一区二区三区成人| 精品福利免费观看| 欧美亚洲免费高清在线观看| 亚洲女ⅴideoshd黑人| 欧美精品在线免费观看| 亚洲二区免费| 亚洲黄色一区| 久久综合一区二区| 激情久久综合| 欧美中文在线观看国产| 欧美在线视频一区二区| 国产精品二区在线观看| 99精品国产在热久久婷婷| 日韩午夜黄色| 欧美精品一级| 亚洲精品日产精品乱码不卡| 亚洲欧洲一区二区天堂久久 | 免费在线一区二区| 尤物精品在线| 亚洲人成高清| 免费高清在线视频一区·| 国内精品嫩模av私拍在线观看| 性色一区二区三区| 欧美一区二区视频观看视频| 国产精品一区二区三区乱码| 亚洲一区二区视频在线| 亚洲欧美日韩综合国产aⅴ| 欧美午夜久久久| 一区二区三区欧美| 亚洲欧美经典视频| 国产精品影音先锋| 欧美一区二区黄| 久久精品国产第一区二区三区最新章节 | 亚洲茄子视频| 一区二区三区产品免费精品久久75 | 欧美一区二区三区四区夜夜大片| 欧美一区二区视频观看视频| 国产日韩在线亚洲字幕中文| 欧美一级夜夜爽| 久久综合影音| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲高清在线观看| 欧美国产日韩一区二区在线观看 | 国产精品入口尤物| 午夜精品久久久久影视 | 欧美在线一级视频| 蜜桃伊人久久| 亚洲精品欧美日韩专区| 亚洲无限乱码一二三四麻| 国产精品捆绑调教| 欧美在线免费视屏| 欧美不卡一卡二卡免费版| 最新亚洲一区| 亚洲在线免费| 国产夜色精品一区二区av| 亚洲国产91精品在线观看| 欧美男人的天堂| 亚洲午夜在线观看视频在线| 午夜一级在线看亚洲| 禁断一区二区三区在线| 99热免费精品| 久久激情五月丁香伊人| 国产视频一区在线观看一区免费| 亚洲在线黄色| 久久青青草原一区二区| 91久久精品视频| 性视频1819p久久| 狠狠色狠狠色综合日日tαg| 9久re热视频在线精品| 国产日韩精品在线播放| 91久久久久| 国产精品三级久久久久久电影| 久久精品久久99精品久久| 欧美激情综合色综合啪啪| 亚洲一区二区三区四区在线观看| 久久综合九色综合久99| 这里只有精品在线播放| 久热re这里精品视频在线6| 99热在这里有精品免费| 久久久久91| 一区二区激情| 久久综合色88| 亚洲素人一区二区| 免费久久99精品国产| 亚洲综合首页| 欧美日韩国产123区| 久久精品视频在线观看| 欧美日韩一级视频| 亚洲黄色成人| 国产欧美日韩亚洲精品| av成人手机在线| 影音欧美亚洲| 欧美在线观看网址综合| 亚洲精选成人| 欧美成人午夜影院| 午夜在线精品偷拍| 欧美视频一区二区| 亚洲欧洲三级电影| 国产在线拍偷自揄拍精品|