• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      USB讀數(shù)裝置及上位機(jī)的設(shè)計(jì)*

      2012-07-17 07:37:38李文燕徐香菊
      山西電子技術(shù) 2012年1期
      關(guān)鍵詞:固件存儲(chǔ)器上位

      李文燕,郭 濤,徐香菊

      (中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,中北大學(xué)電子科學(xué)與技術(shù)系,山西太原030051)

      數(shù)據(jù)采集在信息處理系統(tǒng)中占有不可替代的地位,它是以傳感器、信號(hào)測(cè)量與處理、微型計(jì)算機(jī)等技術(shù)為基礎(chǔ)而形成的,主要研究信息數(shù)據(jù)的采集、存儲(chǔ)、處理以及控制等作業(yè),具有很強(qiáng)的實(shí)用性。數(shù)據(jù)采集技術(shù)已經(jīng)在雷達(dá)、通信、水聲、遙感、語(yǔ)音處理、智能儀器、工業(yè)自動(dòng)化以及生物醫(yī)學(xué)工程等眾多領(lǐng)域得到廣泛的應(yīng)用。數(shù)據(jù)采集器一般包括數(shù)據(jù)采集部分和數(shù)據(jù)處理傳輸部分。前者包括信號(hào)的濾波、放大、采樣、保持、轉(zhuǎn)換、存儲(chǔ)等部分,后者包括數(shù)據(jù)讀取、傳輸及微機(jī)接口部分。

      1 系統(tǒng)結(jié)構(gòu)及硬件電路設(shè)計(jì)

      1.1 系統(tǒng)的結(jié)構(gòu)框圖及工作原理

      本系統(tǒng)主要由四個(gè)模塊構(gòu)成:FLASH存儲(chǔ)器模塊、FPGA控制模塊、USB接口控制模塊及電源模塊。如圖1所示。

      其工作原理是:FLASH模塊存儲(chǔ)數(shù)據(jù),作為記錄器的數(shù)據(jù)源;FPGA模塊作為讀數(shù)裝置的控制器,讀取FLASH的數(shù)據(jù)并傳輸給USB控制接口模塊;USB控制芯片接收來(lái)自上位機(jī)的命令[1],并與FPGA通信來(lái)執(zhí)行用戶需要的操作;電源模塊為各模塊提供穩(wěn)定電源。

      圖1 系統(tǒng)總體結(jié)構(gòu)框圖

      1.2 電源管理模塊

      本系統(tǒng)中芯片的工作電壓有5 V、3.3 V、2.5 V。由于計(jì)算機(jī)的USB接口可以提供5 V電源,最大為500 mA的電流,對(duì)于此系統(tǒng)已足夠,所以本系統(tǒng)的5 V電源直接由USB供電,并利用5 V電源經(jīng)過(guò)電壓調(diào)節(jié)器AMS1117調(diào)整出3.3 V 和2.5 V 電源。

      1.3 FPGA 模塊

      本設(shè)計(jì)的FPGA采用XILINX公司的Spartan-2系列的XC2S50,包括FPGA配置電路和FPGA時(shí)鐘電路及接口配置。

      FPGA的配置方式靈活多樣,本設(shè)計(jì)根據(jù)芯片是否能夠自己主動(dòng)加載配置數(shù)據(jù)以及比特流的位寬,利用主串模式進(jìn)行配置FPGA,如圖2所示。在FPGA的輸出端口上為每個(gè)端口連接了一個(gè)電阻,起到耦合限流的作用,使外部接口與FPGA進(jìn)行匹配,防止電流過(guò)大等不良影響而燒壞芯片。

      1.4 USB 接口模塊

      一般USB的接口芯片種類大致可分為:主控制器、根集線器、接口芯片以及具有USB接口的微控制器。本設(shè)計(jì)利用的是EZ-USB FX2LP系列的CY7C68013A-128PIN芯片。

      本設(shè)計(jì)采用0XC0的EEPROM啟動(dòng)方式。即在EEPROM中首字節(jié)寫入0XC0,并將VID、PID、DID和配置字節(jié)寫入EEPROM。芯片上電后,將這些數(shù)據(jù)復(fù)制到片內(nèi)存儲(chǔ)器,并將其發(fā)送給主機(jī),由主機(jī)根據(jù)ID數(shù)據(jù)選擇合適的固件程序下載到USB芯片內(nèi)。本設(shè)計(jì)使用具有I2C總線接口的串行EEPROM芯片AT24C64。AT24C64具有8192 x 8位容量,可重復(fù)擦除100萬(wàn)次。

      1.5 FLASH存儲(chǔ)器模塊

      FLASH存儲(chǔ)器存儲(chǔ)著記錄器的數(shù)據(jù),本設(shè)計(jì)的目的就是從FLASH中讀取數(shù)據(jù)并傳入計(jì)算機(jī)進(jìn)行保存。本設(shè)計(jì)采用SAMSUNG公司的K9F5608U0D NAND FLASH存儲(chǔ)器[2]。其特點(diǎn)如下:存儲(chǔ)單元陣列為(32M+1024k)bit×8bit;總共64k的塊,每塊含32頁(yè),每頁(yè)為512+16字節(jié);以頁(yè)為單位編程(200μs典型編程時(shí)間),以塊為單位擦除(2ms典型擦除時(shí)間);命令、地址、數(shù)據(jù)復(fù)用端口;提供硬件數(shù)據(jù)保護(hù)功能。

      本設(shè)計(jì)的硬件連接電路如圖3所示。其中MAX1658為K9F5608U0D提供電源,排阻起到耦合限流作用。

      圖2 FPGA配置電路

      圖3 FLASH存儲(chǔ)器連接電路

      2 軟件程序設(shè)計(jì)

      2.1 FPGA各模塊程序設(shè)計(jì)

      本設(shè)計(jì)的FPGA程序采用Xilinx公司的ISE軟件。它提供給用戶一個(gè)從設(shè)計(jì)輸入到綜合、布線、仿真、下載的全套解決方案,并可以很方便的與其他EDA工具接口。

      本設(shè)計(jì)中原理圖輸入采用其中的第三方軟件ECS,HDL綜合使用XST,測(cè)試臺(tái)輸入是圖形化的HDL Bencher,仿真使用Modelsim SE。簡(jiǎn)要的流程如下:

      建立工程項(xiàng)目;綜合;仿真;定義輸入輸出管腳約束;布局布線;下載配置。

      FLASH模塊程序設(shè)計(jì)中FLASH控制模塊對(duì)FLASH存儲(chǔ)器K9F5608U0D執(zhí)行各種操作。K9F5608U0D芯片提供了8種命令,即8種操作:①讀1操作;②讀2操作;③讀ID操作;④復(fù)位操作;⑤頁(yè)編程操作;⑥復(fù)制回讀操作;⑦塊擦除操作;⑧讀狀態(tài)操作。

      2.2 CY7C68013[3]固件程序開發(fā)

      USB功能設(shè)備的硬件功能主要由硬件上的微處理器來(lái)實(shí)現(xiàn),因此需要為USB設(shè)備編寫固件程序。本設(shè)計(jì)的USB固件程序開發(fā)中,使用Keil Software公司推出的51系列兼容單片機(jī)軟件開發(fā)系統(tǒng)Keil μVision3。

      圖4所示為68013A的固件程序流程圖,下面介紹如何編程。本設(shè)計(jì)采用固件框架中的Dscr.a51文件,修改設(shè)備描述符中的ID碼和字符串描述符,并修改相應(yīng)的端口配置,其余保持默認(rèn)狀態(tài)。主機(jī)發(fā)送8字節(jié)的SETUPDAT數(shù)據(jù)包后[4],68013A將其進(jìn)行解碼存入 SETUPDAT寄存器中。SETUPDAT[1]中存儲(chǔ)著USB發(fā)出的請(qǐng)求碼。在固件程序中使用switch-case語(yǔ)句對(duì)不同的請(qǐng)求碼進(jìn)行分析,分別進(jìn)行相應(yīng)的響應(yīng)。

      圖4 固件程序流程圖

      對(duì)于標(biāo)準(zhǔn)USB請(qǐng)求,在CY3684開發(fā)包內(nèi)已有完善的函數(shù)框架,本設(shè)計(jì)在保持其默認(rèn)狀態(tài)下,修改其中的處理函數(shù),使其符合本設(shè)計(jì)的要求。在Fw.c文件中,最主要的兩個(gè)函數(shù)為Main( )函數(shù)和SetupCommand( ),其中Main( )函數(shù)控制整個(gè)68013A的程序流程,SetupCommand( )則對(duì)不同的設(shè)備請(qǐng)求進(jìn)行分析,并調(diào)用響應(yīng)的執(zhí)行程序。

      SetupCommand( )程序框架如下:

      Void SetupCommand(void)

      { void*dscr_ptr; //指針變量

      Switch(SETUPDAT[1]) //根據(jù)請(qǐng)求包類型分別處理

      {//協(xié)議及請(qǐng)求處理代碼

      }

      EP0CS|=bmHSNAK;

      //握手

      }

      在本設(shè)計(jì)需要使用自定義請(qǐng)求來(lái)介紹上位機(jī)的FLASH操作命令,因此需要在USB固件程序中聲明自定義請(qǐng)求。自定義請(qǐng)求和標(biāo)準(zhǔn)USB請(qǐng)求放在一起,但不能和已有的請(qǐng)求號(hào)相沖突。同時(shí)還需要編寫自定義請(qǐng)求對(duì)應(yīng)的處理函數(shù)。程序框架如下:

      #define SC_SetData 0xa1 //自定義請(qǐng)求A1

      此宏定義與標(biāo)準(zhǔn)USB請(qǐng)求的宏定義放在一起。

      Switch(SETUPDAT[1]) //根據(jù)請(qǐng)求包類型分別處理

      { case SC_SetData: //協(xié)議請(qǐng)求代碼

      SC_SetData( ); //協(xié)議處理函數(shù)

      }

      此請(qǐng)求包處理放在SetupCommand(void)函數(shù)內(nèi)。

      對(duì)于對(duì)應(yīng)的處理函數(shù)則在Periph.c文件中進(jìn)行定義。所有的USB設(shè)備請(qǐng)求響應(yīng)函數(shù),中斷函數(shù)都在此文件中定義。同時(shí)設(shè)備初始化函數(shù)TD_Init( ),用戶功能函數(shù)TD_Poll( ),掛起函數(shù)TD_Suspend( )和USB復(fù)位函數(shù)( )也都在此文件中定義。

      本設(shè)計(jì)采用在上位機(jī)發(fā)送自定義請(qǐng)求A1,并在自定義請(qǐng)求中包含對(duì)FLASH操作的命令字,68013A在分析得到自定義請(qǐng)求A1后,在自定義請(qǐng)求A1中把命令字保存入一個(gè)全局變量[5],在用戶功能函數(shù)TD_Poll( )中執(zhí)行對(duì)命令字的分析并調(diào)用相應(yīng)的FLASH操作函數(shù)。對(duì)于傳輸?shù)缴衔粰C(jī)上的數(shù)據(jù)通過(guò)自定義請(qǐng)求A2、A3來(lái)執(zhí)行。

      3 結(jié)論

      本設(shè)計(jì)根據(jù)USB總線技術(shù)、FPGA技術(shù)及面向?qū)ο蟪绦蛟O(shè)計(jì)方法,對(duì)電路的組成原理、接口電路設(shè)計(jì)、系統(tǒng)控制信號(hào)的設(shè)計(jì)及USB上位機(jī)程序的設(shè)計(jì)做出詳細(xì)的說(shuō)明,設(shè)計(jì)出基本符合課題要求的USB讀數(shù)裝置及上位機(jī)程序,基本完成了工作要求。當(dāng)然本設(shè)計(jì)在USB接口的速度方面還需考慮更完善的方案。希望在以后的學(xué)習(xí)工作中能夠改進(jìn)。

      [1]潘建兵.基于USB總線的數(shù)據(jù)采集器的研制[D].重慶大學(xué),2006.

      [2]錢峰.EZ-USB FX2單片機(jī)原理、編程及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.

      [3]Cypress Semiconductor Corporation.CY7C68013 EZ-USB FX2 USB Microcont-roller Highspeed USB Peripheral Controller[Z].2001 .

      [4]孫航.Xilinx可編程邏輯器件應(yīng)用與系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.

      [5]徐鈞.基于USB和FPGA技術(shù)的高性能數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].南京理工大學(xué),2007.

      猜你喜歡
      固件存儲(chǔ)器上位
      靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
      特斯拉 風(fēng)云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
      基于固件的遠(yuǎn)程身份認(rèn)證
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      提取ROM固件中的APP
      存儲(chǔ)器——安格爾(墨西哥)▲
      一種通過(guò)USB接口的可靠固件升級(jí)技術(shù)
      基于Nand Flash的高速存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)
      商丘市| 宣武区| 佛冈县| 桦甸市| 内黄县| 麟游县| 丘北县| 肃南| 金昌市| 天长市| 澳门| 德令哈市| 定安县| 于都县| 肇州县| 长兴县| 城固县| 旌德县| 汽车| 弋阳县| 丰台区| 三明市| 饶河县| 南岸区| 靖安县| 内江市| 长泰县| 乃东县| 河南省| 尉氏县| 通河县| 石河子市| 吉木萨尔县| 科技| 德昌县| 旌德县| 杭锦旗| 米脂县| 平和县| 紫阳县| 银川市|